Kehitä ja vertaa vahvistusoppimisalgoritmeja tämän työkalupakin avulla.

Jos et pysty rakentamaan koneoppimismallia tyhjästä tai sinulla ei ole infrastruktuuria, pelkkä sovelluksesi yhdistäminen toimivaan malliin korjaa aukon.

Tekoäly on täällä kaikkien käytettäväksi tavalla tai toisella. Mitä tulee OpenAI Gymiin, siellä on monia tutkittavia harjoituskenttiä, joilla voit ruokkia vahvistusoppimisagenttejasi.

Mikä OpenAI Gym on, miten se toimii ja mitä voit rakentaa sen avulla?

Mikä on OpenAI Gym?

OpenAI Gym on Pythonic API, joka tarjoaa simuloituja harjoitusympäristöjä vahvistaville oppimisagenteille, jotka voivat toimia ympäristöhavaintojen perusteella; jokaiseen toimintaan liittyy positiivinen tai negatiivinen palkkio, joka kertyy jokaisessa aikavaiheessa. Vaikka agentti pyrkii maksimoimaan palkinnot, sitä rangaistaan ​​jokaisesta odottamattomasta päätöksestä.

Aika-askel on diskreettiaikainen rasti ympäristön siirtymiselle toiseen tilaan. Se kasvaa, kun agentin toimet muuttavat ympäristön tilaa.

Kuinka OpenAI Gym toimii?

OpenAI Gym -ympäristöt perustuvat Markovin päätösprosessiin (MDP), dynaamiseen päätöksentekomalliin, jota käytetään vahvistusoppimisessa. Tästä seuraa, että palkintoja tulee vasta, kun ympäristö muuttaa tilaa. Ja tapahtumat seuraavassa tilassa riippuvat vain nykyisestä tilasta, koska MDP ei ota huomioon menneitä tapahtumia.

Ennen kuin siirryt eteenpäin, sukeltakaamme esimerkkiin saadaksesi nopean ymmärryksen OpenAI Gymin sovelluksesta vahvistusoppimisessa.

Olettaen, että aiot kouluttaa autoa kilpapelissä, voit pyörittää kilparadan OpenAI Gymissä. Vahvistusoppimisessa, jos ajoneuvo kääntyy oikealle eikä vasemmalle, se voi saada negatiivisen palkinnon -1. Kilparata muuttuu jokaisessa aikavaiheessa ja voi muuttua monimutkaisemmaksi myöhemmissä tiloissa.

Negatiiviset palkinnot tai rangaistukset eivät ole huonoja vahvistusoppimisen agentille. Joissakin tapauksissa se rohkaisee sitä saavuttamaan tavoitteensa nopeammin. Siten auto oppii radan ajan myötä ja hallitsee navigoinnin palkintoputkien avulla.

Aloitimme esimerkiksi FrozenLake-v1 ympäristö, jossa agentti saa rangaistuksen jääkoloihin putoamisesta, mutta palkitaan lahjarasiasta.

Ensimmäinen ajomme tuotti vähemmän rangaistuksia ilman palkintoja:

Kolmas iteraatio tuotti kuitenkin monimutkaisemman ympäristön. Mutta agentti sai muutaman palkinnon:

Yllä oleva tulos ei tarkoita, että agentti paranee seuraavassa iteraatiossa. Vaikka se voi onnistuneesti välttää useampia reikiä seuraavan kerran, se ei välttämättä saa palkintoa. Mutta muutamien parametrien muuttaminen saattaa parantaa sen oppimisnopeutta.

OpenAI Gym -komponentit

OpenAI Gym API pyörii seuraavien komponenttien ympärillä:

  • The ympäristöissä jossa koulutat agentin. Voit aloittaa sellaisen käyttämällä kuntosali.make menetelmä. OpenAI Gym tukee myös moniagenttiympäristöjä.
  • The kääreet olemassa olevan ympäristön muokkaamiseen. Vaikka jokainen perusympäristö on oletuksena valmiiksi kääritty, voit skaalata sen uudelleen parametreilla, kuten max_actions, min_actions ja max rewards.
  • An toiminta; määrittää, mitä agentti tekee, kun se tarkkailee muutoksia ympäristössään. Jokainen toiminta ympäristössä on vaihe, joka määrittää agentin vastauksen havaintoihin. Vaiheen suorittaminen palauttaa havainnon, palkinnon, tiedon ja katkaisevan tai lopettavan arvon.
  • The havainto; määrittelee agentin kokemuksen ympäristöstä. Kun havainto on tehty, sitä seuraa toiminto sen tiedoilla. Info-parametri on suoritusloki, joka on kätevä virheenkorjauksessa. Kun vaihe päättyy, ympäristö nollautuu n kertaa määritettyjen iteraatioiden lukumäärästä riippuen.

Mitä voit tehdä OpenAI Gymillä?

Koska OpenAI Gymin avulla voit kehittää mukautettuja oppimisympäristöjä, tässä on joitain tapoja käyttää sitä tosielämässä.

1. Pelin simulointi

Voit hyödyntää OpenAI Gymin peliympäristöjä palkitaksesi halutun käyttäytymisen, luodaksesi pelipalkintoja ja lisätäksesi pelitasokohtaista monimutkaisuutta.

2. Kuvan tunnistus

Jos dataa, resursseja ja aikaa on rajoitetusti, OpenAI Gym voi olla kätevä kuvantunnistusjärjestelmän kehittämisessä. Syvemmällä tasolla voit skaalata sen rakentaaksesi kasvojentunnistusjärjestelmän, joka palkitsee agentin kasvojen oikeasta tunnistamisesta.

3. Robotin koulutus

OpenAI Gym tarjoaa myös intuitiivisia ympäristömalleja 3D- ja 2D-simulaatioihin, joissa voit toteuttaa haluttuja käyttäytymismalleja roboteissa. Robokoulu on esimerkki skaalatusta robottisimulaatioohjelmistosta, joka on rakennettu OpenAI Gymin avulla.

4. Markkinointi

OpenAI Gymin avulla voit myös rakentaa markkinointiratkaisuja, kuten mainospalvelimia, pörssikauppabotteja, myynnin ennustebotteja, tuotesuositusjärjestelmiä ja monia muita. Voit esimerkiksi rakentaa mukautetun OpenAI Gym -mallin, joka rankaisee mainoksia näyttökertojen ja napsautussuhteen perusteella.

5. Luonnollisen kielen käsittely

Joitakin tapoja ottaa OpenAI Gym käyttöön luonnollisen kielen käsittely ovat monivalintakysymyksiä, joihin liittyy lauseen loppuun saattaminen tai roskapostiluokittajan rakentaminen. Voit esimerkiksi kouluttaa agentin oppimaan lausemuunnelmia välttääksesi puolueellisuuden osallistujia merkitseessä.

OpenAI Gymin käytön aloittaminen

OpenAI Gym tukee Python 3.7:ää ja uudempia versioita. Jos haluat määrittää OpenAI Gym -ympäristön, asennat kuntosali, haarautuneena jatkuvasti tuettu kuntosaliversio:

pip asentaa kuntosali

Seuraavaksi luo ympäristö. Voit kuitenkin luoda mukautetun ympäristön. Mutta aloita pelaamalla olemassa olevan kanssa ja hallitse OpenAI Gym -konsepti.

Alla oleva koodi pyörittää FrozenLake-v1. The env.reset menetelmä tallentaa alustavan havainnon:

tuonti kuntosali kuten kuntosali
env = gym.make("FrozenLake-v1", render_mode="ihmisen")

havainto, info = env.reset()

Jotkut ympäristöt vaativat ylimääräisiä kirjastoja toimiakseen. Jos sinun on asennettava toinen kirjasto, Python suosittelee sitä poikkeussanoman kautta.

Asennat esimerkiksi lisäkirjaston (kuntosali [leluteksti]) suorittaaksesi FrozenLake-v1 ympäristöön.

Rakenna OpenAI Gymin tehoon

Yksi tekoälyn ja koneoppimisen kehityksen takaiskuista on infrastruktuurin ja koulutustietosarjojen puute. Mutta kun yrität integroida koneoppimismalleja sovelluksiisi tai laitteihisi, se on nyt helpompaa, kun valmiit tekoälymallit lentävät Internetissä. Vaikka jotkut näistä työkaluista ovat edullisia, toiset, mukaan lukien OpenAI Gym, ovat ilmaisia ​​ja avoimen lähdekoodin.