Ontwikkel en vergelijk algoritmen voor leerversterking met behulp van deze toolkit.
Als u een machine learning-model niet helemaal opnieuw kunt bouwen of als u de infrastructuur mist, hoeft u alleen maar uw app aan een werkend model te koppelen om de kloof te dichten.
Kunstmatige intelligentie is er voor iedereen om op de een of andere manier te gebruiken. Wat OpenAI Gym betreft, er zijn veel verkenbare oefenterreinen om uw leermiddelen voor versterking te voeden.
Wat is OpenAI Gym, hoe werkt het en wat kun je ermee bouwen?
Wat is OpenAI Gym?
OpenAI Gym is een Pythonic API die gesimuleerde trainingsomgevingen biedt voor versterkende leermiddelen om te handelen op basis van omgevingsobservaties; elke actie wordt geleverd met een positieve of negatieve beloning, die bij elke tijdstap wordt opgebouwd. Hoewel de agent streeft naar maximale beloningen, wordt hij gestraft voor elke onverwachte beslissing.
De tijdstap is een discrete tijdtik voor de omgeving om naar een andere toestand over te gaan. Het telt op naarmate de acties van de agent de omgevingsstatus veranderen.
Hoe werkt OpenAI Gym?
De OpenAI Gym-omgevingen zijn gebaseerd op het Markov Decision Process (MDP), een dynamisch besluitvormingsmodel dat wordt gebruikt bij het versterken van leren. Hieruit volgt dus dat beloningen alleen komen wanneer de omgeving van toestand verandert. En de gebeurtenissen in de volgende status zijn alleen afhankelijk van de huidige status, aangezien MDP geen rekening houdt met gebeurtenissen in het verleden.
Laten we, voordat we verder gaan, in een voorbeeld duiken om snel inzicht te krijgen in de toepassing van OpenAI Gym op het gebied van versterkend leren.
Ervan uitgaande dat je van plan bent een auto te trainen in een racegame, kun je een racebaan laten draaien in OpenAI Gym. Als het voertuig bij bekrachtigend leren naar rechts draait in plaats van naar links, kan het een negatieve beloning van -1 krijgen. Het circuit verandert bij elke stap en kan in volgende staten ingewikkelder worden.
Negatieve beloningen of straffen zijn niet slecht voor een agent bij leerversterking. In sommige gevallen moedigt het hem aan om zijn doel sneller te bereiken. Zo leert de auto in de loop van de tijd over het circuit en beheerst hij zijn navigatie met behulp van beloningsstrepen.
Zo hebben we het initiatief genomen tot de FrozenLake-v1 omgeving, waar een agent wordt gestraft voor het vallen in ijsgaten, maar wordt beloond voor het terugvinden van een geschenkdoos.
Onze eerste run genereerde minder straffen zonder beloningen:
Een derde iteratie leverde echter een complexere omgeving op. Maar de agent kreeg een paar beloningen:
Bovenstaande uitkomst betekent niet dat de agent zal verbeteren in de volgende iteratie. Hoewel hij de volgende keer met succes meer gaten kan vermijden, krijgt hij mogelijk geen beloning. Maar het wijzigen van enkele parameters kan de leersnelheid verbeteren.
De OpenAI Gym-componenten
De OpenAI Gym API draait om de volgende onderdelen:
- De omgevingen waar je een agent opleidt. U kunt er een starten met behulp van de gym.make methode. OpenAI Gym ondersteunt ook omgevingen met meerdere agenten.
- De wikkels voor het aanpassen van een bestaande omgeving. Hoewel elke basisomgeving standaard vooraf is ingepakt, kunt u deze opnieuw schalen met parameters zoals max_actions, min_actions en max rewards.
- Een actie; definieert wat de agent doet als het veranderingen in zijn omgeving waarneemt. Elke actie in een omgeving is een stap die de reactie van een agent op waarnemingen definieert. Een stapvoltooiing retourneert een observatie, een beloning, info en een waarde voor afkappen of beëindigen.
- De observatie; definieert de ervaring van een agent in een omgeving. Zodra er een waarneming is, volgt een actie met zijn info. De parameter info is een uitvoeringslogboek dat handig is voor foutopsporing. Zodra een stap is beëindigd, wordt de omgeving n keer opnieuw ingesteld, afhankelijk van het aantal opgegeven iteraties.
Wat kun je maken met OpenAI Gym?
Omdat je met OpenAI Gym aangepaste leeromgevingen kunt opzetten, zijn hier enkele manieren om het in een real-life scenario te gebruiken.
1. Spelsimulatie
U kunt gebruikmaken van de spelomgevingen van OpenAI Gym om gewenst gedrag te belonen, spelbeloningen te creëren en de complexiteit per spelniveau te vergroten.
2. Beeldherkenning
Waar er een beperkte hoeveelheid gegevens, middelen en tijd is, kan OpenAI Gym handig zijn voor het ontwikkelen van een beeldherkenningssysteem. Op een dieper niveau kun je het schalen om een gezichtsherkenningssysteem te bouwen, dat een agent beloont voor het correct identificeren van gezichten.
3. Robottraining
OpenAI Gym biedt ook intuïtieve omgevingsmodellen voor 3D- en 2D-simulaties, waarmee je gewenst gedrag in robots kunt implementeren. Robotschool is een voorbeeld van geschaalde robotsimulatiesoftware die is gebouwd met behulp van OpenAI Gym.
4. Marketing
U kunt ook marketingoplossingen bouwen, zoals advertentieservers, bots voor aandelenhandel, verkoopvoorspellingsbots, productaanbevelingssystemen en nog veel meer met behulp van de OpenAI Gym. U kunt bijvoorbeeld een aangepast OpenAI Gym-model bouwen dat advertenties bestraft op basis van vertoningen en klikfrequentie.
5. Natuurlijke taalverwerking
Enkele manieren om OpenAI Gym toe te passen natuurlijke taalverwerking zijn meerkeuzevragen met zinsvoltooiing of het bouwen van een spamclassificatie. U kunt bijvoorbeeld een agent trainen om zinsvariaties te leren om vertekening te voorkomen bij het markeren van deelnemers.
Aan de slag met OpenAI Gym
OpenAI Gym ondersteunt Python 3.7 en latere versies. Om een OpenAI Gym-omgeving in te stellen, installeert u gymnasium, de gevorkte, continu ondersteunde gymversie:
pip installeer gymnasium
Spin vervolgens een omgeving op. U kunt echter een aangepaste omgeving maken. Maar begin met spelen met een bestaande om het OpenAI Gym-concept onder de knie te krijgen.
De onderstaande code draait de FrozenLake-v1. De env.reset methode registreert de eerste waarneming:
importeren gymnasium als Sportschool
env = gym.make('FrozenLake-v1', render_mode="menselijk")
observatie, info = env.reset()
Sommige omgevingen hebben extra bibliotheken nodig om te werken. Als u een andere bibliotheek moet installeren, raadt Python dit aan via het uitzonderingsbericht.
U installeert bijvoorbeeld een extra bibliotheek (gymnasium[speelgoed-tekst]) om de FrozenLake-v1 omgeving.
Bouw voort op de kracht van OpenAI Gym
Een van de tegenslagen voor de ontwikkeling van AI en machine learning is het tekort aan infrastructuur en trainingsdatasets. Maar als u machine learning-modellen wilt integreren in uw apps of apparaten, is het nu allemaal eenvoudiger met kant-en-klare AI-modellen die over het internet vliegen. Hoewel sommige van deze tools goedkoop zijn, zijn andere, waaronder de OpenAI Gym, gratis en open-source.