AI-For-Beginners/translations/fi/lessons/6-Other/22-DeepRL
localizeflow[bot] 7a9b37f3b1 chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:07:34 +00:00
..
lab chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:07:34 +00:00
CartPole-RL-PyTorch.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 22:12:36 +00:00
CartPole-RL-TF.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 22:12:36 +00:00
README.md chore(i18n): sync translations with latest source changes (chunk 1/1, 201 changes) 2026-01-30 02:07:34 +00:00
notebook.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 22:12:36 +00:00
tmp.ipynb 🌐 Update translations via Co-op Translator 2025-08-28 22:12:36 +00:00

README.md

SyvÀvahvistusoppiminen

Vahvistusoppiminen (RL) nÀhdÀÀn yhtenÀ koneoppimisen perusparadigmoista, yhdessÀ ohjatun oppimisen ja ohjaamattoman oppimisen kanssa. SiinÀ missÀ ohjatussa oppimisessa tukeudumme tunnettuja tuloksia sisÀltÀvÀÀn aineistoon, RL perustuu oppimiseen tekemÀllÀ. Esimerkiksi, kun nÀemme ensimmÀistÀ kertaa tietokonepelin, alamme pelata sitÀ, vaikka emme tiedÀ sÀÀntöjÀ, ja pian pystymme parantamaan taitojamme pelkÀstÀÀn pelaamalla ja mukauttamalla kÀyttÀytymistÀmme.

Esiluentovisa

RL:n suorittamiseen tarvitsemme:

  • YmpĂ€ristön tai simulaattorin, joka mÀÀrittÀÀ pelin sÀÀnnöt. MeidĂ€n tulisi pystyĂ€ suorittamaan kokeita simulaattorissa ja tarkkailemaan tuloksia.
  • Palkkiofunktion, joka osoittaa, kuinka onnistunut kokeemme oli. Esimerkiksi tietokonepelin pelaamisen oppimisessa palkkio olisi lopullinen pistemÀÀrĂ€mme.

Palkkiofunktion perusteella meidĂ€n tulisi pystyĂ€ mukauttamaan kĂ€yttĂ€ytymistĂ€mme ja parantamaan taitojamme, jotta seuraavalla kerralla pelaamme paremmin. Suurin ero RL:n ja muiden koneoppimisen tyyppien vĂ€lillĂ€ on se, ettĂ€ RL:ssĂ€ emme yleensĂ€ tiedĂ€, voitammeko vai hĂ€viĂ€mme, ennen kuin peli on ohi. NĂ€in ollen emme voi sanoa, onko tietty siirto yksinÀÀn hyvĂ€ vai ei – saamme palkkion vasta pelin lopussa.

RL:n aikana suoritamme tyypillisesti monia kokeita. Jokaisen kokeen aikana meidÀn on tasapainotettava tÀhÀn mennessÀ oppimamme optimaalisen strategian noudattaminen (hyödyntÀminen) ja uusien mahdollisten tilojen tutkiminen (tutkiminen).

OpenAI Gym

Erinomainen työkalu RL:ÀÀn on OpenAI Gym - simulaatioympÀristö, joka voi simuloida monia erilaisia ympÀristöjÀ, alkaen Atari-peleistÀ aina fysiikkaan, kuten tangon tasapainottamiseen. Se on yksi suosituimmista simulaatioympÀristöistÀ vahvistusoppimisalgoritmien kouluttamiseen, ja sitÀ yllÀpitÀÀ OpenAI.

Note: Voit nÀhdÀ kaikki OpenAI Gymin tarjoamat ympÀristöt tÀÀltÀ.

CartPole-tasapainotus

Olette varmasti nĂ€hneet moderneja tasapainolaitteita, kuten Segway tai Gyroscooters. Ne pystyvĂ€t automaattisesti tasapainottamaan itsensĂ€ sÀÀtĂ€mĂ€llĂ€ pyöriÀÀn kiihtyvyysmittarin tai gyroskoopin signaalin perusteella. TĂ€ssĂ€ osiossa opimme ratkaisemaan vastaavan ongelman – tangon tasapainottamisen. Se muistuttaa tilannetta, jossa sirkustaiteilija tasapainottaa tankoa kĂ€dellÀÀn – mutta tĂ€ssĂ€ tapauksessa tasapainotus tapahtuu vain yhdessĂ€ ulottuvuudessa.

Yksinkertaistettu versio tasapainottamisesta tunnetaan nimellÀ CartPole-ongelma. CartPole-maailmassa meillÀ on vaakasuuntainen liukusÀÀdin, joka voi liikkua vasemmalle tai oikealle, ja tavoitteena on tasapainottaa pystysuora tanko liukusÀÀtimen pÀÀllÀ sen liikkuessa.

cartpole

TÀmÀn ympÀristön luomiseen ja kÀyttÀmiseen tarvitsemme muutaman rivin Python-koodia:

import gym
env = gym.make("CartPole-v1")

env.reset()
done = False
total_reward = 0
while not done:
   env.render()
   action = env.action_space.sample()
   observaton, reward, done, info = env.step(action)
   total_reward += reward

print(f"Total reward: {total_reward}")

Jokaiseen ympÀristöön pÀÀsee kÀsiksi samalla tavalla:

  • env.reset aloittaa uuden kokeen
  • env.step suorittaa simulaatioaskeleen. Se vastaanottaa toiminnon toimintatilasta ja palauttaa havainnon (havaintotilasta), sekĂ€ palkkion ja lopetuslipun.

YllÀ olevassa esimerkissÀ suoritamme satunnaisen toiminnon jokaisessa askeleessa, minkÀ vuoksi kokeen kesto on hyvin lyhyt:

tasapainoton cartpole

RL-algoritmin tavoitteena on kouluttaa malli – niin kutsuttu politiikka π – joka palauttaa toiminnon tiettyyn tilaan vastauksena. Voimme myös pitÀÀ politiikkaa todennĂ€köisyyspohjaisena, eli mille tahansa tilalle s ja toiminnolle a se palauttaa todennĂ€köisyyden π(a|s), ettĂ€ meidĂ€n tulisi valita a tilassa s.

Politiikkagradienttialgoritmi

Ilmeisin tapa mallintaa politiikka on luoda neuroverkko, joka ottaa syötteenÀ tilat ja palauttaa vastaavat toiminnot (tai pikemminkin kaikkien toimintojen todennÀköisyydet). TietyssÀ mielessÀ se olisi samanlainen kuin tavallinen luokittelutehtÀvÀ, mutta merkittÀvÀ ero on siinÀ, ettÀ emme tiedÀ etukÀteen, mitÀ toimintoja meidÀn tulisi suorittaa kussakin vaiheessa.

Ajatuksena on arvioida nÀitÀ todennÀköisyyksiÀ. Rakennamme kumulatiivisten palkkioiden vektorin, joka osoittaa kokonaispalkkiomme kussakin kokeen vaiheessa. Sovellamme myös palkkioiden diskonttausta kertomalla aikaisemmat palkkiot kertoimella γ=0.99, jotta aikaisempien palkkioiden merkitys vÀhenee. Sitten vahvistamme niitÀ kokeen vaiheita, jotka tuottavat suurempia palkkioita.

Lue lisÀÀ Politiikkagradienttialgoritmista ja katso se toiminnassa esimerkkivihkossa.

Actor-Critic-algoritmi

Parannettu versio PolitiikkagradienttimenetelmÀstÀ tunnetaan nimellÀ Actor-Critic. Sen perusidea on, ettÀ neuroverkko koulutetaan palauttamaan kaksi asiaa:

  • Politiikka, joka mÀÀrittÀÀ, mikĂ€ toiminto suoritetaan. TĂ€tĂ€ osaa kutsutaan actoriksi.
  • Arvio siitĂ€, kuinka suuren kokonaispalkkion voimme odottaa saavuttavamme tĂ€ssĂ€ tilassa – tĂ€tĂ€ osaa kutsutaan criticiksi.

TietyssÀ mielessÀ tÀmÀ arkkitehtuuri muistuttaa GAN:ia, jossa meillÀ on kaksi verkkoa, jotka koulutetaan toisiaan vastaan. Actor-Critic-mallissa actor ehdottaa toimintoa, joka meidÀn tulisi suorittaa, ja critic yrittÀÀ olla kriittinen ja arvioida tuloksen. Tavoitteenamme on kuitenkin kouluttaa nÀmÀ verkot yhdessÀ.

Koska tiedÀmme sekÀ todelliset kumulatiiviset palkkiot ettÀ criticin kokeen aikana palauttamat tulokset, on suhteellisen helppoa rakentaa hÀviöfunktio, joka minimoi niiden vÀlisen eron. TÀmÀ antaa meille critic-hÀviön. Voimme laskea actor-hÀviön kÀyttÀmÀllÀ samaa lÀhestymistapaa kuin politiikkagradienttialgoritmissa.

Kun olemme suorittaneet jonkin nÀistÀ algoritmeista, voimme odottaa CartPolen kÀyttÀytyvÀn nÀin:

tasapainottava cartpole

✍ Harjoitukset: Politiikkagradientit ja Actor-Critic RL

Jatka oppimista seuraavissa vihkoissa:

Muut RL-tehtÀvÀt

Vahvistusoppiminen on nykyÀÀn nopeasti kasvava tutkimusalue. Joitakin mielenkiintoisia vahvistusoppimisen sovelluksia ovat:

  • Tietokoneen opettaminen pelaamaan Atari-pelejĂ€. TĂ€mĂ€n ongelman haastava osa on, ettĂ€ meillĂ€ ei ole yksinkertaista tilaa, joka olisi esitetty vektorina, vaan pikemminkin kuvakaappaus – ja meidĂ€n on kĂ€ytettĂ€vĂ€ CNN:ÀÀ muuntamaan tĂ€mĂ€ kuvaruutu ominaisuusvektoriksi tai palkkiotiedon poimimiseen. Atari-pelit ovat saatavilla GymissĂ€.
  • Tietokoneen opettaminen pelaamaan lautapelejĂ€, kuten shakkia ja Go:ta. Viime aikoina huipputason ohjelmat, kuten Alpha Zero, on koulutettu alusta alkaen kahden agentin pelatessa toisiaan vastaan ja parantaessa joka askeleella.
  • Teollisuudessa RL:ÀÀ kĂ€ytetÀÀn ohjausjĂ€rjestelmien luomiseen simulaatiosta. Palvelu nimeltĂ€ Bonsai on suunniteltu erityisesti tĂ€hĂ€n tarkoitukseen.

Yhteenveto

Olemme nyt oppineet kouluttamaan agentteja saavuttamaan hyviÀ tuloksia pelkÀstÀÀn tarjoamalla heille palkkiofunktion, joka mÀÀrittÀÀ pelin toivotun tilan, ja antamalla heille mahdollisuuden tutkia ÀlykkÀÀsti hakutilaa. Olemme kokeilleet kahta algoritmia ja saavuttaneet hyviÀ tuloksia suhteellisen lyhyessÀ ajassa. TÀmÀ on kuitenkin vasta alkua matkallesi RL:n parissa, ja sinun kannattaa ehdottomasti harkita erillisen kurssin suorittamista, jos haluat syventyÀ aiheeseen.

🚀 Haaste

Tutustu "Muut RL-tehtÀvÀt" -osiossa lueteltuihin sovelluksiin ja yritÀ toteuttaa yksi niistÀ!

JĂ€lkiluentovisa

Kertaus ja itseopiskelu

Lue lisÀÀ klassisesta vahvistusoppimisesta Koneoppiminen aloittelijoille -opetussuunnitelmastamme.

Katso tÀmÀ loistava video, jossa kerrotaan, kuinka tietokone voi oppia pelaamaan Super Mariota.

TehtÀvÀ: Kouluta Mountain Car

Tavoitteenasi tĂ€ssĂ€ tehtĂ€vĂ€ssĂ€ on kouluttaa toinen Gym-ympĂ€ristö – Mountain Car.