Quickstart: Een pool balanceren met AI (Cartpole)
- Totale tijd om te voltooien:50 minuten
- Actieve tijd:5 minuten
- Machinetrainingstijd:45 minuten
Leer een AI om een instabiele pool op een bewegende basis te balanceren met Bonsai , een vooraf gedefinieerde simulator en voorbeeldcode.
Voordat u begint
Als u deze demo wilt voltooien, moet u een geldig Microsoft- of Azure-account en een geldige Bonsai werkruimte hebben ingericht in Azure. Als u een account of proefversie van Azure nodig hebt, volgt u de instructies in Microsoft account setup for Bonsai .
Stap 1: het cartpole-brein laden
Bonsai biedt een voorverpakte simulator en voorbeeldcode voor het omgekeerde pendulum-probleem (Cartpole). Om uw brein te bouwen:
- Sign into the Bonsai UI.
- Selecteer Cartpole in de lijst met demo's in het Aan de slag dialoogvenster.
- Noem uw nieuwe brein (bijvoorbeeld 'Cartpole Demo').
- Klik op Brein maken om het brein en de simulator van het voorbeeld te laden.
Gedeeltelijke schermopname van het scherm 'Brein maken' met het Cartpole-voorbeeldbrein gemarkeerd.
Stap 2: Het curriculum inspecteren
Bonsai opent de gebruikersinterface van het onderwijs wanneer uw demo-brein wordt geladen. De gebruikersinterface van het onderwijs bevat een coderingspaneel en een grafiekpaneel. In het coderingspaneel wordt uw lescode (het curriculum) weergegeven die is geschreven in een eigen taal met de naam Inkling. De grafiek in het grafiekpaneel vertegenwoordigt het iteratieve leerproces dat is gedefinieerd door de Inkling-code.
Bonsai
Teaching UI" aria-describedby="50-0" data-linktype="relative-path">
Schermopname met aantekeningen van de Bonsai gebruikersinterface van Teaching onderverdeeld in drie deelvensters (links, midden en rechts). In het linkerpaneel worden beschikbare hersenen en simulators weergegeven. Het middelste deelvenster is van aantekeningen gemaakt met 'Coderingsvenster' en geeft het voorbeeld van Inkling-code weer. Het rechterpaneel is van aantekeningen gemaakt met 'Graphing Panel' en geeft een lesgrafiek weer. De onderwijsgrafiek heeft drie knooppunten die verticaal zijn gerangschikt (boven, midden, onder). Het bovenste knooppunt heeft het label SimState. Het middelste knooppunt heeft het label Concept BalancePole. Het onderste knooppunt heeft het label SimAction.
Als u op de verschillende knooppunten in de onderwijsgrafiek klikt, ziet u de relevante sectie in de voorbeeldcode:
- Status-knooppunt:kapselt de informatie in die beschikbaar is voor het brein terwijl de simulatie wordt uitgevoerd (de waarneembare sensortoestanden). Voor Cartpole zijn de waarneembare sensorposities de huidige positie en snelheid van de basis en de huidige hoek van de pool.
- Concept-knooppunt:ingekapseld in het concept dat het brein moet leren zoals gedefinieerd door uw trainingsdoelen. Voor Cartpole is het concept het in balans brengen van een pool binnen een bepaalde tolerantie binnen een vooraf gedefinieerd gebied. De bijbehorende Inkling-doelen zijn om te voorkomen dat de pool over valt ( ) en om te voorkomen dat de basis van de rand van het
avoid Fall Overtraject wordt verplaatst (avoid Out Of Range). - Actie-knooppunt:kapselt de set geldige acties in die het brein kan uitvoeren als reactie op de waargenomen status. Voor Cartpole pushen de beschikbare acties de basis naar links of rechts op het traject.
Stap 3: het brein trainen
Belangrijk
Het uitvoeren van simulaties verbruikt Azure-resources. Als u de geschreven quickstart volgt, worden er kosten in rekening brengen voor uw Azure-abonnement van ongeveer USD 1,00. Herhaalde training of het langer uitvoeren van de training dan aanbevolen leidt tot extra kosten.
Open de trainings-UI en begin met het trainen van het brein door te klikken op de groene knop Trainen in het grafiekpaneel.
De trainings-UI vervangt het coderingspaneel door een leeg gegevenspaneel en toont een bijgewerkte lesgrafiek. Wanneer u begint met trainen, Bonsai start automatisch een vloot simulator-exemplaren op. Het vloot wordt in de bijgewerkte grafiek weergegeven als een nieuw Simulator-knooppunt.
In het knooppunt Simulator ziet u het volgende:
- de simulatornaam BalancePoleSimulator.
- het totale aantal simulator-exemplaren in de vloot.
- de totale snelheid van de vloot in iteraties per seconde.
Bonsai
Training UI" aria-describedby="100-0" data-linktype="relative-path">
Schermopname van de Bonsai gebruikersinterface voor training. In het gegevenspaneel van de gebruikersinterface ziet u een voorbeeld van een opwaartse trend in de prestaties. In het grafiekpaneel van de gebruikersinterface wordt een bijgewerkte lesgrafiek weergegeven. De onderwijsgrafiek bevat nu een simulatorknooppunt links van de vorige knooppunten. Het simulator-knooppunt is verbonden met het SimState-knooppunt en het knooppunt SimAction. Het nieuwe knooppunt heeft het label Simulator BalancePoleSimulator en is onderverdeeld in twee secties. In de linkersectie wordt het aantal verbonden simulatorexemens weergegeven (16) en in de rechtersectie wordt het huidige niveau van tevredenheid over het doel (95,3%) weergegeven.
Bij elke iteratie verdient uw brein een prestatiescore op basis van hoe goed het probleem is opgelost. Bonsairapporteert de voortgang van de training voor uw brein in het gegevenspaneel als een Bonsai De tevredenheidswaarden van het individuele doel geven aan hoe dicht uw brein bij het bereiken van het gerelateerde doel voor een bepaalde iteratie is komen. De meest recente tevredenheidswaarde voor het algemene doel wordt ook vermeld in het concept-knooppunt van de onderwijsgrafiek.
De tevredenheidsplots moeten opwaarts gaan naarmate uw brein beter in staat is om de pool in balans te brengen.
Stap 4: het brein in actie zien
De Cartpole-simulator bevat een visualizer, zodat u uw brein in actie kunt zien. zoals het werkt via een bepaalde simulatie. Als u de visualisatie wilt zien, schuift u omlaag in het gegevenspaneel.
De visualizer geeft een 3D-model weer van een eenvoudige basis (de winkelwagen) en een pool. De basis wordt naar links en rechts over het scherm verplaatst als reactie op de veranderende positie van de pool.
Schermopname van de Bonsai gebruikersinterface voor training. Het gegevenspaneel wordt omlaag scrolt om een 3D-weergave weer te geven van een eenvoudige basis met wheeling die een rechte pool balanceert.
De visualizer geeft ook een grafiek weer van veranderende statusvariabelen en -acties onder het weergegeven model. Klik op de waarden en om bij te houden hoe de positie van de grond- en hoek van de pool in de cart_positionpole_angle tijd verandert.
Stap 5: Training stoppen
Bonsai stopt de training automatisch wanneer een van de volgende opties zich voordoet:
- de tevredenheidswaarde van het algemene doel bereikt 100%
- de grafieklijnen worden horizontale lijnen voor een vooraf gedefinieerd aantal trainingslijnen.
Een tevredenheidswaarde van 100% betekent dat uw brein het huidige curriculum volledig heeft geleerd. Een horizontale lijn betekent dat het brein niet meer wordt verbeterd. Wanneer het brein niet kan worden verbeterd na een bepaald aantal computers (zoals gedefinieerd door ), wordt de training beƫindigd om te voorkomen dat er NoProgressIterationLimitBonsai rekenbronnen worden verspild.
Tip
Het Cartpole-demobrein bereikt doorgaans optimale prestaties binnen 750.000 iteraties.
Als u de training vroegtijdig wilt stoppen, klikt u op de rode knop Training stoppen bovenaan het grafiekpaneel.
Volgende stappen
Gefeliciteerd! U hebt een brein getraind om een pool op een bewegende basis in balans te brengen.
Nu u de basisbeginselen van het Cartpole-brein begrijpt, kunt u de Inkling-code aanpassen om uw trainingsdoelen te wijzigen.