AI:n perusteet

Mikä on syvä vahvistusoppiminen?

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Mikä on syvä vahvistusoppiminen?

Yhdessä ohjattoman koneoppimisen ja valvottujen oppimismenetelmien kanssa yksi yleinen tapa luoda tekoälyä on vahvistusoppiminen. Tavallisen vahvistusoppimisen lisäksi syvä vahvistusoppiminen voi johtaa hämmästyttäviin tuloksiin, kiitos sille, että se yhdistää syvän oppimisen ja vahvistusoppimisen parhaat puolet. Tarkastellaan, miten syvä vahvistusoppiminen toimii.

Ennen kuin tutustumme syväan vahvistusoppimiseen, on hyvä päivittää tietomme siitä, miten tavallinen vahvistusoppiminen toimii. Vahvistusoppimisessa tavoitteelliset algoritmit suunnitellaan kokeiden ja virheiden kautta, optimoimalla toimintaa, joka johtaa parhaaseen tulokseen / toimintaan, joka saa eniten “palkintoa”. Kun vahvistusoppimisalgoritmit koulutetaan, niille annetaan “palkintoja” tai “rangaistuksia”, jotka vaikuttavat siihen, mitä toimia ne tulevat tekemään tulevaisuudessa. Algoritmit yrittävät löytää toimintasarjan, joka antaa järjestelmälle eniten palkintoja, tasapainoen sekä välittömiä että tulevia palkintoja.

Vahvistusoppimisalgoritmit ovat erittäin voimakkaita, koska niitä voidaan soveltaa lähes mihin tahansa tehtävään, ja ne voivat joustavasti ja dynaamisesti oppia ympäristöstä ja löytää mahdollisia toimia.

Syvän vahvistusoppimisen yleiskatsaus

Kuva: Megajuice via Wikimedia Commons, CC 1.0 (https://commons.wikimedia.org/wiki/File:Reinforcement_learning_diagram.svg)

Kun on kyse syvästä vahvistusoppimisesta, ympäristö esitetään tyypillisesti kuvina. Kuva on ympäristön valokuva tiettynä ajankohtana. Agentin on analysoitava kuvat ja poistettava niistä relevantti tieto, jota voidaan käyttää määrittämään, mitä toimia agentti tulisi tehdä. Syvä vahvistusoppiminen tehdään tyypillisesti jommallakummalla kahdesta eri tekniikasta: arvo- ja toimintaperusteisesta oppimisesta.

Arvo-perusteiset oppimistekniikat käyttävät algoritmeja ja arkkitehtuureja, kuten konvoluutioneuroverkkoja ja Deep-Q-Verkkoja. Nämä algoritmit toimivat muuttamalla kuvan mustavalkoiseksi ja leikkaamalla tarpeettomat osat kuvasta. Tämän jälkeen kuva käy läpi useita konvoluutio- ja pooling-operaatioita, joiden avulla poistetaan kuvan tärkeimmät osat. Kuvan tärkeät osat käytetään sitten laskemaan Q-arvoa eri toimille, joita agentti voi tehdä. Q-arvot käytetään määrittämään, mikä on agentin paras toimintatapa. Alkuperäisten Q-arvojen laskemisen jälkeen suoritetaan takaisinennustus, jotta voidaan määrittää tarkin Q-arvo.

Toimintaperusteiset menetelmät käytetään, kun agentin mahdollisten toimien määrä on erittäin suuri, mikä on tyypillistä todellisissa tilanteissa. Tällaisissa tilanteissa vaaditaan erilainen lähestymistapa, koska yksittäisten toimien Q-arvojen laskeminen ei ole käytännöllistä. Toimintaperusteiset lähestymistavat toimivat ilman yksittäisten toimien arvojen laskemista. Sen sijaan ne omaksuvat toimintatavat oppimalla toimintatavan suoraan, usein käyttäen tekniikoita, joita kutsutaan toimintaharjuksi.

Toimintaharjut toimivat vastaanottamalla tilan ja laskemalla toimien todennäköisyyksiä agentin aiempien kokemusten perusteella. Todennäköisin toimintatapa valitaan sitten. Tätä prosessia toistetaan, kunnes arviointijakso on päättynyt ja palkinnot on jaettu agentille. Palkintojen käsittelyn jälkeen verkon parametreja päivitetään takaisinennustuksella.

Mikä on Q-oppiminen?

Koska Q-oppiminen on suuri osa syvän vahvistusoppimisen prosessia, tutustumme tarkemmin siihen, miten Q-oppimisjärjestelmä toimii.

Markovin päätöksenteon prosessi

Markovin päätöksenteon prosessi. Kuva: waldoalvarez via Pixabay, Pixbay-lisenssi (https://commons.wikimedia.org/wiki/File:Markov_Decision_Process.svg)

Jotta tekoälyagentti voi suorittaa sarjan tehtäviä ja saavuttaa tavoitteen, agentin on kyettävä käsittelemään tilojen ja tapahtumien sarja. Agentti aloittaa yhdessä tilassa ja sen on tehtävä sarja toimia päästäkseen lopputilaan, ja alkutilan ja lopputilan välillä voi olla valtava määrä tiloja. Kaikkien tilojen tiedon tallentaminen on käytännössä mahdotonta, joten järjestelmän on löydettävä tapa säilyttää vain tärkein tilatieto. Tämä saavutetaan Markovin päätöksenteon prosessin avulla, joka säilyttää vain tiedon nykyisestä tilasta ja edellisestä tilasta. Jokainen tila noudattaa Markovin ominaisuutta, joka seuraa, miten agentti muuttaa edellisestä tilasta nykyiseen tilaan.

Syvä Q-oppiminen

Kun malli on saanut tiedon oppimisympäristön tiloista, Q-arvot voidaan laskea. Q-arvot ovat yhteispalkinto, joka annetaan agentille toimintasarjan lopussa.

Q-arvot lasketaan palkintosarjan avulla. On välitön palkinto, joka lasketaan nykyisestä tilasta ja riippuu nykyisestä toiminnasta. Seuraavan tilan Q-arvo lasketaan myös, sekä Q-arvo tilalle, joka seuraa sen jälkeen, ja niin edelleen, kunnes kaikki Q-arvot eri tiloille on laskettu. On myös Gamma-parametri, jota käytetään säätelemään, kuinka paljon tulevat palkinnot vaikuttavat agentin toimiin. Käytännöt lasketaan yleensä satunnaisesti alkuarvojen avulla ja malli konvergoi optimaalisiin Q-arvoihin koulutuksen aikana.

Syvät Q-verkkot

Yksi perusongelma, joka liittyy Q-oppimisen käyttöön vahvistusoppimisessa, on se, että tarvittavan muistin määrä kasvaa nopeasti, kun tilojen määrä kasvaa. Syvät Q-verkkot ratkaisevat tämän ongelman yhdistämällä neuroverkkomallit Q-arvoihin, mahdollistaen agentin oppimisen kokemuksesta ja tekemisen järkeviä arvioita parhaista toimista. Syvässä Q-oppimisessa Q-arvofunktiot arvioidaan neuroverkoilla. Neuroverkko ottaa tilan syötteenä ja verkko antaa Q-arvon kaikille mahdollisille toimille, joita agentti voi tehdä.

Syvä Q-oppiminen suoritetaan tallentamalla kaikki aiemmat kokemukset muistiin, laskemalla maksimiarvot Q-verkolle ja käyttämällä virhefunktiota laskea eroa nykyisten arvojen ja teoreettisten korkeimpien mahdollisten arvojen välillä.

Syvä vahvistusoppiminen vs. syvä oppiminen

Yksi tärkeä ero syvän vahvistusoppimisen ja tavallisen syvän oppimisen välillä on, että syvässä vahvistusoppimisessa syötteet muuttuvat jatkuvasti, mikä ei ole tapahtumassa perinteisessä syvässä oppimisessa. Miten oppimismalli voi ottaa huomioon syötteet ja tulosteen, jotka muuttuvat jatkuvasti?

Periaatteessa voidaan ottaa huomioon eroa ennustettujen arvojen ja kohdearvojen välillä käyttämällä kahta neuroverkkoa sen sijaan, että käytettäisiin vain yhtä. Yksi verkko arvioi kohdearvoja, kun taas toinen verkko on vastuussa ennusteista. Kohdeverkon parametreja päivitetään, kun malli oppii, kun valittu määrä koulutusjaksoja on kulunut. Verkkojen tulosteen yhdistämisen avulla voidaan määrittää ero.

Toimintaperusteinen oppiminen

Toimintaperusteinen oppiminen toimii eri tavalla kuin Q-arvo-perusteiset lähestymistavat. Kun Q-arvo-perusteiset lähestymistavat luovat arvo-funktion, joka ennustaa palkinnot tiloille ja toimille, toimintaperusteiset menetelmät määrittävät toimintatavan, joka karttaa tilat toimille. Toisin sanoen toimintafunktiota, joka valitsee toimia, optimoidaan suoraan arvo-funktiota käyttämättä.

Toimintaharjut

Toimintapolitiikka syvässä vahvistusoppimisessa kuuluu jompaan kumpaan kahdesta luokasta: stokastinen tai deterministinen. Deterministinen politiikka on sellainen, jossa tilat kartataan toimille, mikä tarkoittaa, että kun politiikalle annetaan tieto tilasta, toimintatapa palautetaan. Sen sijaan stokastiset politiikat palauttavat toimien todennäköisyysjakauman sen sijaan, että palauttaisivat yksittäisen, diskreetin toiminnan.

Deterministiset politiikat käytetään, kun ei ole epävarmuutta toimien tuloksista. Toisin sanoen, kun ympäristö itsessään on deterministinen. Sen sijaan stokastiset politiikat ovat sovellettavissa ympäristöihin, joissa toimien tulokset ovat epävarmoja. Tyypillisesti vahvistusoppimistilanteissa on jonkin verran epävarmuutta, joten stokastiset politiikat ovat yleisemmin käytettyjä.

Toimintaharjut ovat edullisia Q-oppimiseen verrattuna useilla tavoin. Toimintaperusteiset menetelmät konvergoivat optimaalisiin parametreihin nopeammin ja luotettavammin. Toimintaharjua voidaan seurata, kunnes parhaat parametriarvot on määritetty, kun taas arvo-perusteisissa menetelmissä pienet muutokset arvioiduissa toimien arvoissa voivat johtaa suuriin muutoksiin toimien ja niiden parametreiden suhteen.

Toimintaharjut toimivat myös paremmin korkean dimensionaalisissa toimintatiloissa. Kun on erittäin suuri määrä mahdollisia toimia, syvä Q-oppiminen muodostuu epäkäytännölliseksi, koska se edellyttää jokaisen mahdollisen toiminnan arvon määrittämistä kaikille aikaskorkeuksille, mikä voi olla laskennallisesti mahdotonta. Toimintaperusteisissa menetelmissä parametreja säätellään ajan myötä, ja mahdollisten parhaiden parametreiden määrä supistuu nopeasti, kun malli konvergoi.

Toimintaharjut pystyvät myös toteuttamaan stokastiset politiikat, toisin kuin arvo-perusteiset politiikat. Koska stokastiset politiikat tuottavat todennäköisyysjakauman, ei tarvitse toteuttaa tutkimus-/hyödyntämisjakoa.

Toimintaharjujen huono puoli on, että ne voivat jumiutua optimaalisten parametreiden etsimisessä, keskittyen vain suppeaan, paikalliseen joukkoon optimaalisia arvoja sen sijaan, että etsittäisiin globaaleja optimaalisia arvoja.

Toimintapistemäärien funktio

Toimintapolitiikat, joita käytetään mallin suorituskyvyn optimoimiseen, pyrkivät maksimoimaan pistemäärien funktiota – J(θ). Jos J(θ) on mitattava arvo siitä, miten hyvä politiikkamme on halutun tavoitteen saavuttamiseksi, voimme löytää θ-arvot, jotka antavat parhaan politiikan. Ensinnäkin meidän on laskettava odotettu politiikan palkinto. Arvioimme politiikan palkinnon, jotta meillä on kohde, jota kohti optimoida. Toimintapistemäärien funktio on tapa, jolla lasketaan odotettu politiikan palkinto, ja on olemassa useita yleisesti käytettyjä toimintapistemäärien funktioita, kuten aloitustiedot episodisissa ympäristöissä, keskiarvo jatkuvissa ympäristöissä ja keskimääräinen palkinto aikayksikössä.

Toimintaharjun nousu

Toimintaharjun nousu pyrkii siirtämään parametreja, kunnes ne ovat kohdassa, jossa piste on korkein. Kuva: Public Domain (https://commons.wikimedia.org/wiki/File:Gradient_ascent_(surface).png)

Kun haluttu toimintapistemäärien funktio on valittu ja odotettu politiikan palkinto on laskettu, voimme löytää θ-arvon, joka maksimoi pistemäärien funktion. Jotta voidaan maksimoida pistemäärien funktio J(θ), käytetään tekniikkaa, jota kutsutaan “toimintaharjun nousuksi”. Toimintaharjun nousu on samankaltainen kuin gradientin lasku syvässä oppimisessa, mutta optimoidaan jyrkkäintä nousua sen sijaan, että lasketaan. Tämä johtuu siitä, että pisteemme ei ole “virhe”, kuten monissa syvissä oppimistehtävissä. Pisteemme on jotain, mitä haluamme maksimoida. Toimintaharjun teoreema käytetään arvioimaan gradienttia suhteen toimintaa θ.

Syvän vahvistusoppimisen yhteenveto

Yhteenvetona voidaan sanoa, että syvä vahvistusoppiminen yhdistää vahvistusoppimisen ja syvän neuroverkkotekniikan. Syvä vahvistusoppiminen tehdään kahdella eri tekniikalla: syvällä Q-oppimisella ja toimintaharjuilla.

Syvä Q-oppiminen pyrkii ennustamaan, mitkä palkinnot seuraavat tiettyjä toimia tietyssä tilassa, kun taas toimintaharjut pyrkivät optimoimaan toimintatilaa ennustamalla itse toimia. Toimintaperusteiset lähestymistavat syvässä vahvistusoppimisessa ovat joko deterministisiä tai stokastisia luonteeltaan. Deterministiset politiikat karttaavat tilat suoraan toimille, kun taas stokastiset politiikat tuottavat toimien todennäköisyysjakaumia.

Blogger ja ohjelmoija, jolla on erityisalat Machine Learning ja Deep Learning -aiheissa. Daniel toivoo pystyvänsä auttamaan muita käyttämään tekoälyn voimaa sosiaaliseen hyvään.