Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Gymnasiumin Perusteet | RL:n Ydinteoria
Vahvistusoppimisen Perusteet

bookGymnasiumin Perusteet

Gymnasium on avoimen lähdekoodin työkalu, joka on suunniteltu vahvistusoppimisen (RL) agenttien kehittämiseen ja arviointiin. Se tarjoaa kokoelman standardoituja ympäristöjä algoritmien testaamiseen ja agenttien tehokkaaseen kouluttamiseen.

Keskeiset ominaisuudet

  • Standardoitu API: varmistaa yhteensopivuuden eri ympäristöjen välillä;
  • Monipuoliset ympäristöt: tukee klassisia ohjausongelmia, Atari-pelejä ja robotiikkasimulaatioita;
  • Helppo integrointi: yhteensopiva syväoppimiskehysten, kuten TensorFlow ja PyTorch, kanssa.

Työnkulku

Tyypillinen työnkulku Gymnasium-kirjastossa etenee seuraavasti:

1. Kirjaston tuonti

import gymnasium as gym

Alkuperäisen gym-kirjaston kehityksen loputtua suositellaan nyt käytettäväksi gymnasium-kirjastoa, joka on aktiivisesti ylläpidetty ja kehitetty gymin haarukka. Nimestä huolimatta kirjasto tuodaan usein edelleen aliaksella gym taaksepäin yhteensopivuuden ja käytännöllisyyden vuoksi.

2. Ympäristön luominen

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

Funktion gym.make() avulla luodaan ympäristö sen yksilöllisen tunnisteen perusteella (esim. "CartPole-v1"). Lisäksi voidaan välittää muita konfiguraatioparametreja ympäristön vaatimusten mukaan.

3. Ympäristön resetointi

observation, info = env.reset()

Ennen vuorovaikutusta ympäristön kanssa se täytyy palauttaa alkuperäiseen tilaansa komennolla env.reset(). Tämä palauttaa:

  • observation: ympäristön alkutila;
  • info: lisätietoja, jotka voivat sisältää metatietoja tai tilakohtaisia asetuksia.

4. Vuorovaikutus ympäristön kanssa

action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)

Ensimmäisellä rivillä valitaan satunnainen toiminto toimintatilasta komennolla env.action_space.sample(). Toimintatila määrittelee kaikki mahdolliset toiminnot, joita agentti voi suorittaa ympäristössä. Lisäksi ympäristö tarjoaa havaintotilan, johon pääsee käsiksi env.observation_space-attribuutin kautta ja joka kattaa kaikki mahdolliset havainnot (tilat), joita agentti voi kohdata.

Toisella rivillä valittu toiminto annetaan funktiolle env.step(action), joka suorittaa toiminnon ja palauttaa seuraavat arvot:

  • observation: agentin uusi tila toiminnon jälkeen;
  • reward: toiminnosta saatu palkkio;
  • terminated: totuusarvo, joka ilmaisee, onko episodi päättynyt (eli tehtävä suoritettu loppuun);
  • truncated: totuusarvo, joka ilmaisee, onko episodi keskeytetty ennenaikaisesti (esim. ajan tai muiden rajoitteiden vuoksi);
  • info: lisädiagnostiikkatietoja, joita käytetään usein virheenkorjaukseen tai lokitukseen.

5. Ympäristön sulkeminen

env.close()

Jos ympäristö käyttää ulkoisia resursseja (esim. renderöinti-ikkunoita tai simulaatioita), se tulee sulkea komennolla env.close().

Note
Opiskele lisää

Jos haluat tietää lisää Gymnasium-kirjaston tarjoamista ominaisuuksista, käy their website.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 7

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Awesome!

Completion rate improved to 2.7

bookGymnasiumin Perusteet

Pyyhkäise näyttääksesi valikon

Gymnasium on avoimen lähdekoodin työkalu, joka on suunniteltu vahvistusoppimisen (RL) agenttien kehittämiseen ja arviointiin. Se tarjoaa kokoelman standardoituja ympäristöjä algoritmien testaamiseen ja agenttien tehokkaaseen kouluttamiseen.

Keskeiset ominaisuudet

  • Standardoitu API: varmistaa yhteensopivuuden eri ympäristöjen välillä;
  • Monipuoliset ympäristöt: tukee klassisia ohjausongelmia, Atari-pelejä ja robotiikkasimulaatioita;
  • Helppo integrointi: yhteensopiva syväoppimiskehysten, kuten TensorFlow ja PyTorch, kanssa.

Työnkulku

Tyypillinen työnkulku Gymnasium-kirjastossa etenee seuraavasti:

1. Kirjaston tuonti

import gymnasium as gym

Alkuperäisen gym-kirjaston kehityksen loputtua suositellaan nyt käytettäväksi gymnasium-kirjastoa, joka on aktiivisesti ylläpidetty ja kehitetty gymin haarukka. Nimestä huolimatta kirjasto tuodaan usein edelleen aliaksella gym taaksepäin yhteensopivuuden ja käytännöllisyyden vuoksi.

2. Ympäristön luominen

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

Funktion gym.make() avulla luodaan ympäristö sen yksilöllisen tunnisteen perusteella (esim. "CartPole-v1"). Lisäksi voidaan välittää muita konfiguraatioparametreja ympäristön vaatimusten mukaan.

3. Ympäristön resetointi

observation, info = env.reset()

Ennen vuorovaikutusta ympäristön kanssa se täytyy palauttaa alkuperäiseen tilaansa komennolla env.reset(). Tämä palauttaa:

  • observation: ympäristön alkutila;
  • info: lisätietoja, jotka voivat sisältää metatietoja tai tilakohtaisia asetuksia.

4. Vuorovaikutus ympäristön kanssa

action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)

Ensimmäisellä rivillä valitaan satunnainen toiminto toimintatilasta komennolla env.action_space.sample(). Toimintatila määrittelee kaikki mahdolliset toiminnot, joita agentti voi suorittaa ympäristössä. Lisäksi ympäristö tarjoaa havaintotilan, johon pääsee käsiksi env.observation_space-attribuutin kautta ja joka kattaa kaikki mahdolliset havainnot (tilat), joita agentti voi kohdata.

Toisella rivillä valittu toiminto annetaan funktiolle env.step(action), joka suorittaa toiminnon ja palauttaa seuraavat arvot:

  • observation: agentin uusi tila toiminnon jälkeen;
  • reward: toiminnosta saatu palkkio;
  • terminated: totuusarvo, joka ilmaisee, onko episodi päättynyt (eli tehtävä suoritettu loppuun);
  • truncated: totuusarvo, joka ilmaisee, onko episodi keskeytetty ennenaikaisesti (esim. ajan tai muiden rajoitteiden vuoksi);
  • info: lisädiagnostiikkatietoja, joita käytetään usein virheenkorjaukseen tai lokitukseen.

5. Ympäristön sulkeminen

env.close()

Jos ympäristö käyttää ulkoisia resursseja (esim. renderöinti-ikkunoita tai simulaatioita), se tulee sulkea komennolla env.close().

Note
Opiskele lisää

Jos haluat tietää lisää Gymnasium-kirjaston tarjoamista ominaisuuksista, käy their website.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 7
some-alt