Snabbstart: Balansera en pol med AI (Cartpole)


  • Total tid att slutföra:50 minuter
  • Aktiv tid:5 minuter
  • Datorträningstid:45 minuter

Lär en AI att balansera en instabil pol på en rörliga bas med Bonsai , en fördefinierad simulator och exempelkod.

Innan du börjar

För att slutföra den här demonstrationen måste du ha ett giltigt Microsoft- eller Azure-konto och en giltig Bonsai arbetsyta som etablerats i Azure. Om du behöver ett konto eller en utvärderingsversion av Azure följer du anvisningarna i Microsoft account setup for Bonsai .

Steg 1: Läs in Cartpole-hjärnan

Bonsai innehåller en förpaketerad simulator och exempelkod för problemet med inverterad pendulum (Cartpole). Så här skapar du din hjärna:

  1. Sign into the Bonsai UI.
  2. Välj Cartpole i listan över demoh brains från Komma igång dialogrutan.
  3. Ge den nya hjärnan ett namn (till exempel "Cartpole Demo").
  4. Klicka på Skapa hjärna för att läsa in exempelh brain och simulatorn.

Skärmen

Partiell skärmbild av skärmen "Skapa hjärna" med Cartpole-exempelh brain markerat.

Steg 2: Inspektera läroplanen

Bonsai öppnar undervisningsgränssnittet när demons hjärna läses in. Undervisningsgränssnittet innehåller en kodningspanel och en grafpanel. Kodningspanelen visar din undervisningskod (läroplanen) skriven på ett egenutvecklat språk som heter Inpanelen. Grafen i grafpanelen representerar den iterativa inlärningsprocess som definieras av Inpanelens kod.

<span class= Bonsai <span class= Teaching UI" aria-describedby="50-0" data-linktype="relative-path">

Kommenterad skärmbild av användargränssnittet Bonsai för undervisning indelat i tre paneler (vänster, mitten och höger). Den vänstra panelen visar tillgängliga hjärna och simulatorer. Mittpanelen är kommenterad med "Kodningspanel" och visar exemplet In kod. Den högra panelen kommenteras med "Diagrampanel" och visar ett undervisningsdiagram. Undervisningsdiagrammet har tre noder ordnade lodrätt (överkant, mitten, nederkant). Den översta noden är märkt "SimState". Noden i mitten är märkt "Concept BalancePole". Noden längst ned är märkt "SimAction".

Om du klickar på de olika noderna i undervisningsdiagrammet markeras relevant avsnitt i exempelkoden:

  • Tillståndsnod:kapslar in den information som är tillgänglig för hjärnan när simuleringen körs (de observerbara sensortillstånden). För Cartpole är de observerbara sensor tillstånden basens aktuella position och hastighet och polens aktuella vinkel.
  • Konceptnod:kapslar in det koncept som du vill att hjärnan ska lära sig enligt definitionen av dina träningsmål. För Cartpole är konceptet att balansera en pol inom en viss tolerans inom ett fördefinierat område. Motsvarande inhoppsmål är att undvika att polen faller över ( ) och för att undvika att basen flyttas utanför kanten avoid Fall Over av spåret ( avoid Out Of Range ).
  • Åtgärdsnod:kapslar in uppsättningen med giltiga åtgärder som hjärnan kan vidta som svar på det observerade tillståndet. För Cartpole pushar de tillgängliga åtgärderna vänster eller höger på spåret.

Steg 3: Träna hjärnan

Viktigt

Att köra simuleringar förbrukar Azure-resurser. Om du följer snabbstarten enligt skrivna avgifter debiteras din Azure-prenumeration cirka 1,00 USD. Upprepad träning eller att köra träningen längre än vad som rekommenderas resulterar i extra kostnad.

Öppna träningsgränssnittet och börja träna hjärnan genom att klicka på den gröna knappen Träna i grafpanelen.

Träningsgränssnittet ersätter kodningspanelen med en tom datapanel och visar en uppdaterad undervisningsgraf. När du börjar träna startar Bonsai automatiskt en vagnpark med simulatorinstanser. Vagnpark visas i den uppdaterade grafen som en ny simulatornod.

Noden Simulator visar:

  • simulatornamnet, "BalancePoleSimulator".
  • det totala antalet simulatorinstanser i vagnpark.
  • den övergripande hastigheten för vagnpark i iterationer per sekund.

<span class= Bonsai <span class= Training UI" aria-describedby="100-0" data-linktype="relative-path">

Skärmbild av Bonsai användargränssnittet för träning. Datapanelen i användargränssnittet visar ett exempel på ett prestandadiagram som trendar uppåt. Diagrampanelen i användargränssnittet visar en uppdaterad undervisningsgraf. Undervisningsdiagrammet innehåller nu en simulatornod till vänster om de tidigare noderna. Noden Simulator är ansluten till noden SimState och Noden SimAction. Den nya noden är märkt "Simulator BalancePoleSimulator" och indelad i två avsnitt. I det vänstra avsnittet visas antalet anslutna simulatorinstanser (16) och det högra avsnittet visar den aktuella nivån av målnöjdhet (95,3 %).

Med varje iteration får hjärnan en prestandapoäng baserat på hur väl det löste problemet. Bonsairapporterar träningsförloppet för hjärnan i datapanelen som ett Bonsai Värden för individuell målnöjdhet anger hur nära hjärnan kom att uppnå det relaterade målet för en viss iteration. Det senaste övergripande målets nöjdhetsvärde rapporteras också i begreppsnoden i undervisningsdiagrammet.

Nöjdhetsritningar bör gå uppåt när hjärnan blir bättre på att balansera polerna.

Steg 4: Se hur hjärnan fungerar i praktiken

Cartpole-simulatorn innehåller en visualiserare så att du kan se hur hjärnan fungerar i praktiken. som den fungerar via en viss simulering. Om du vill se visualiseringen rullar du nedåt i datapanelen.

Visualiseraren återger en 3D-modell av en enkel bas (kundvagnen) och en pol. Basen flyttas åt vänster och höger över skärmen som svar på polens föränderliga position.

Visualisering av simulering

Skärmbild av Bonsai användargränssnittet för träning. Datapanelen rullas ned för att visa en 3D-återgivning av en enkel hjulbasbalansering av en opolerad pol.

Visualiseraren visar också ett diagram över föränderliga tillståndsvariabler och åtgärder under den renderade modellen. Försök att klicka cart_position på värdena och för att spåra hur pole_angle positionen för basen och vinkeln på polen ändras över tid.

Steg 5: Stoppa träningen

Bonsai stoppar automatiskt träningen när något av följande inträffar:

  • det övergripande målets nöjdhetsvärde når 100 %
  • graflinjerna blir vågräta linjer för ett fördefinierat antal träningsavsnitt.

Ett nöjdhetsvärde på 100 % innebär att hjärnan har lärt sig den aktuella läroplanen. En vågrät ritlinje innebär att hjärnan inte längre förbättras. När en hjärna inte kan förbättras efter ett visst antal avsnitt (enligt definitionen i ), avslutas träningen för att undvika NoProgressIterationLimitBonsai att slösa beräkningsresurser.

Tips

Cartpole-demoh brain uppnår vanligtvis optimala prestanda inom 750 000 iterationer.

Om du vill stoppa träningen tidigt klickar du på den röda stoppträningsknappen överst på diagrampanelen.

Nästa steg

Grattis! Du har tränat en hjärna för att balansera en pol på en rörliga bas.

Nu när du förstår grunderna i Cartpole-hjärnan kan du prova att anpassa Inskt-koden för att ändra dina träningsmål.