Kurssisisältö
Johdatus Vahvistusoppimiseen
Johdatus Vahvistusoppimiseen
Mikä on dynaaminen ohjelmointi?
Dynaaminen ohjelmointi (DP) -menetelmät auttavat ratkaisemaan monimutkaisia ongelmia jakamalla suuret ongelmat pienempiin osatehtäviin ja ratkaisemalla ne rekursiivisesti. Sen sijaan, että sama ongelma ratkaistaisiin toistuvasti, DP hyödyntää aiemmin laskettuja ratkaisuja prosessin nopeuttamiseksi.
Se on erityisen hyödyllinen vahvistusoppimisessa (RL) Markovin päätösprosessien (MDP) tehokkaaseen ratkaisemiseen, kun ympäristöstä on saatavilla täydellinen malli.
Tästä luvusta alkaen oletetaan, että kaikki ympäristöt ovat äärellisiä MDP:itä. Äärellisissä MDP:issä on äärellinen tila-avaruus, äärellinen toimintoavaruus ja äärellinen palkkiojoukko.
DP:n soveltamisen ehdot
Kaikkia ongelmia ei voida ratkaista dynaamisella ohjelmoinnilla (DP). Ongelmalla tulee olla kaksi keskeistä ominaisuutta, jotta DP toimii:
- Optimaalinen osarakenne: Ongelman optimaalinen ratkaisu muodostuu sen osaongelmien optimaalisista ratkaisuista. Markovin päätösprosesseissa (MDP) tämä tarkoittaa, että optimaalinen politiikka missä tahansa tilassa riippuu seuraavien tilojen optimaalisista politiikoista. Koska päätökset MDP:ssä ovat peräkkäisiä, pienempien osaongelmien ratkaiseminen (parhaan toiminnon löytäminen tuleville tiloille) johtaa koko ongelman ratkaisemiseen (parhaan toiminnon löytäminen nykyiselle tilalle);
- Päällekkäiset osaongelmat: Osaongelmien ratkaisuja käytetään uudelleen suurempien ongelmien ratkaisemiseksi. MDP:ssä tämä näkyy siinä, että tilan arvo lasketaan toistuvasti eri päätösjaksoissa. Koska tiloihin palataan usein, aiemmin lasketut arvot voidaan tallentaa ja käyttää uudelleen, mikä vähentää turhaa laskentaa ja parantaa tehokkuutta.
Kuvassa jokainen solmu edustaa rekursiivista kutsua laskea Fib(n), ja puun rakenne havainnollistaa, miten nämä kutsut jaetaan pienempiin osaongelmiin. Huomaa, että osaongelmat kuten Fib(2) ja Fib(1) esiintyvät useita kertoja, mikä osoittaa päällekkäiset osaongelmat, kun taas Fib(5):n ratkaisu rakentuu sen osaongelmien optimaalisista ratkaisuista, mikä osoittaa optimaalisen osarakenteen. Tämä redundanssi on se, jonka dynaaminen ohjelmointi pyrkii poistamaan tallentamalla ja käyttämällä tuloksia uudelleen.
Koska MDP:illä on sekä optimaalinen osarakenne että päällekkäiset osaongelmat, ne soveltuvat hyvin DP-pohjaisiin ratkaisuihin.
Miksi käyttää DP:tä vahvistusoppimisessa?
- Optimaalisuustakuu: DP-menetelmät takaavat konvergenssin optimaaliseen politiikkaan, kun koko malli tunnetaan;
- Tehokkuus yleisratkaisuille: DP:n avulla yleisratkaisut voidaan saavuttaa tehokkaasti, mikä tarkoittaa, että tuloksena oleva politiikka on optimaalinen jokaisessa tilassa;
- Perusta muille menetelmille: DP:n käsitteet toimivat perustana muille RL-menetelmille, kuten Monte Carlo ja aikaisen eron oppiminen.
DP ei kuitenkaan ole soveltuva laajamittaisiin ongelmiin sen täyden mallin vaatimuksen ja laskennallisen kuormituksen vuoksi, mikä johtaa seuraavaksi käsiteltäviin haasteisiin.
Dynaamisen ohjelmoinnin haasteet ja rajoitukset
Vaikka DP tarjoaa elegantin viitekehyksen RL-ongelmien ratkaisemiseen, siihen liittyy merkittäviä haasteita, jotka rajoittavat sen sovellettavuutta todellisissa tilanteissa:
- Laskennallinen monimutkaisuus: DP-menetelmät vaativat laskentaa jokaiselle ympäristön tilalle. Tilojen määrän kasvaessa tarvittavien laskutoimitusten määrä kasvaa huomattavasti, mikä tekee DP:stä epäkäytännöllisen monimutkaisissa ongelmissa;
- Tarve tunnetulle mallille: DP olettaa, että ympäristön siirtymätodennäköisyydet ja palkkiot tunnetaan etukäteen. Monissa todellisissa RL-sovelluksissa tämä tieto ei kuitenkaan ole saatavilla, joten mallittomat lähestymistavat ovat käytännöllisempiä.
Kun tilamuuttujien määrä kasvaa, tila-avaruus laajenee eksponentiaalisesti—haaste, joka tunnetaan nimellä ulottuvuuksien kirous. Tämä tekee optimaalisten ratkaisujen tallentamisesta tai laskemisesta epäkäytännöllistä, mikä rajoittaa DP:n skaalautuvuutta.
Kiitos palautteestasi!