Utveckla och jämför förstärkningsinlärningsalgoritmer med hjälp av denna verktygslåda.
Om du inte kan bygga en maskininlärningsmodell från grunden eller saknar infrastrukturen, löser gapet att bara ansluta din app till en fungerande modell.
Artificiell intelligens är här för alla att använda på ett eller annat sätt. När det gäller OpenAI Gym finns det många utforskbara träningsplatser för att mata dina förstärkningsinlärningsagenter.
Vad är OpenAI Gym, hur fungerar det och vad kan du bygga med det?
Vad är OpenAI Gym?
OpenAI Gym är ett Pythonic API som tillhandahåller simulerade träningsmiljöer för förstärkningsinlärningsagenter att agera baserat på miljöobservationer; varje åtgärd kommer med en positiv eller negativ belöning, som tillkommer vid varje tidssteg. Medan agenten strävar efter att maximera belöningar, blir den straffad för varje oväntat beslut.
Tidssteget är en diskret tidpunkt för miljön att transitera till ett annat tillstånd. Det läggs till när agentens handlingar förändrar miljötillståndet.
Hur fungerar OpenAI Gym?
OpenAI Gym-miljöerna är baserade på Markov Decision Process (MDP), en dynamisk beslutsmodell som används i förstärkningsinlärning. Därav följer att belöningar bara kommer när miljön ändrar tillstånd. Och händelserna i nästa tillstånd beror bara på det nuvarande tillståndet, eftersom MDP inte tar hänsyn till tidigare händelser.
Innan vi går vidare, låt oss dyka ner i ett exempel för en snabb förståelse av OpenAI Gyms tillämpning inom förstärkningsinlärning.
Förutsatt att du tänker träna en bil i ett racingspel, kan du snurra upp en racerbana i OpenAI Gym. I förstärkningsinlärning, om fordonet svänger höger istället för vänster, kan det få en negativ belöning på -1. Racerbanan ändras vid varje tidssteg och kan bli mer komplicerad i efterföljande tillstånd.
Negativa belöningar eller straff är inte dåliga för en agent i förstärkningsinlärning. I vissa fall uppmuntrar det den att nå sitt mål snabbare. Således lär sig bilen om banan med tiden och behärskar dess navigering med hjälp av belöningsränder.
Till exempel initierade vi FrozenLake-v1 miljö, där en agent blir straffad för att ha fallit i ishål men belönad för att ha återvunnit en presentförpackning.
Vår första körning genererade färre straffar utan belöningar:
En tredje iteration producerade dock en mer komplex miljö. Men agenten fick några belöningar:
Resultatet ovan innebär inte att agenten kommer att förbättras i nästa iteration. Även om det kan lyckas undvika fler hål nästa gång, kanske det inte får någon belöning. Men att ändra några parametrar kan förbättra inlärningshastigheten.
OpenAI Gym Components
OpenAI Gym API kretsar kring följande komponenter:
- De miljöer där du utbildar en agent. Du kan initiera en med hjälp av gym.make metod. OpenAI Gym stöder även multiagentmiljöer.
- De omslag för att modifiera en befintlig miljö. Även om varje basmiljö är förinpackad som standard, kan du skala om den med parametrar som max_actions, min_actions och max rewards.
- En handling; definierar vad agenten gör när den observerar förändringar i sin omgivning. Varje åtgärd i en miljö är ett steg som definierar en agents svar på observationer. Ett stegavslut returnerar en observation, en belöning, info och ett trunkerat eller avslutat värde.
- De observation; definierar en agents erfarenhet i en miljö. När det väl finns en observation följer en åtgärd med dess information. Infoparametern är en exekveringslogg som är praktisk för felsökning. När ett steg avslutas återställs miljön n gånger, beroende på antalet specificerade iterationer.
Vad kan du göra med OpenAI Gym?
Eftersom OpenAI Gym låter dig skapa anpassade inlärningsmiljöer, här är några sätt att använda det i ett verkligt scenario.
1. Spelsimulering
Du kan utnyttja OpenAI Gyms spelmiljöer för att belöna önskade beteenden, skapa spelbelöningar och öka komplexiteten per spelnivå.
2. Bildigenkänning
Där det finns en begränsad mängd data, resurser och tid kan OpenAI Gym vara praktiskt för att utveckla ett bildigenkänningssystem. På en djupare nivå kan du skala den för att bygga ett ansiktsigenkänningssystem, som belönar en agent för att identifiera ansikten korrekt.
3. Robotutbildning
OpenAI Gym erbjuder även intuitiva miljömodeller för 3D- och 2D-simuleringar, där du kan implementera önskade beteenden i robotar. Roboschool är ett exempel på skalad robotsimuleringsprogramvara byggd med OpenAI Gym.
4. Marknadsföring
Du kan också bygga marknadsföringslösningar som annonsservrar, aktiehandelsbots, försäljningsprognoser, produktrekommendationssystem och många fler med OpenAI Gym. Du kan till exempel bygga en anpassad OpenAI Gym-modell som straffar annonser baserat på visningar och klickfrekvens.
5. Naturlig språkbehandling
Några sätt att tillämpa OpenAI Gym på naturlig språkbehandling är flervalsfrågor som involverar meningskomplettering eller bygga en spamklassificerare. Du kan till exempel träna en agent att lära sig meningsvarianter för att undvika partiskhet när du markerar deltagare.
Hur man kommer igång med OpenAI Gym
OpenAI Gym stöder Python 3.7 och senare versioner. För att ställa in en OpenAI Gym-miljö installerar du gymnasium, den gaffelformade, kontinuerligt stödda gymversionen:
pip installera gymnastiksal
Nästa, snurra upp en miljö. Du kan dock skapa en anpassad miljö. Men börja med att leka med en befintlig för att bemästra OpenAI Gym-konceptet.
Koden nedan snurrar upp FrozenLake-v1. De env.reset metoden registrerar den första observationen:
importera gymnasium som Gym
env = gym.make('FrozenLake-v1', render_mode="mänsklig")
observation, info = env.reset()
Vissa miljöer kräver extra bibliotek för att fungera. Om du behöver installera ett annat bibliotek rekommenderar Python det via undantagsmeddelandet.
Till exempel kommer du att installera ett extra bibliotek (gymnastiksal[leksakstext]) för att köra FrozenLake-v1 miljö.
Bygg på kraften i OpenAI Gym
Ett av motgångarna för utvecklingen av AI och maskininlärning är bristen på infrastruktur och utbildningsdatauppsättningar. Men när du letar efter att integrera maskininlärningsmodeller i dina appar eller enheter är det enklare nu med färdiga AI-modeller som flyger runt på internet. Medan vissa av dessa verktyg är billiga, är andra, inklusive OpenAI Gym, gratis och med öppen källkod.