Aktivera modellbaserad träningsacceleration

Översikt

Vid långsam prestanda eller begränsad simulatortillgänglighet kan du påskynda konceptträningen genom Bonsai att aktivera modellering av neurala nätverk. Med modellering Bonsai av neurala nätverk använder neurala nätverk tekniker för att modellera systemdynamiken i din träningssimulator. Data som genereras från den inlärda modellen och data från simulatorn används sedan i kombination för att förbättra träningen.

Återgivningen av nueral-network-modellen förbättras med tiden när Bonsai den tränas med de anslutna simulatorerna och genererar ytterligare data. Under träningen Bonsai justerar automatiskt blandningen av data som genereras av den inlärda modellen och simuleringen. Blandningen av data baseras på den inlärda modellens noggrannhet och dess bidrag till utvärderingens prestanda. Så småningom blir den tränade modellen den huvudsakliga källan till konceptträningsdata, och den ursprungliga simulatorn behöver inte användas längre utanför utvärderingarna.

En inlärd modell kan delas mellan olika begrepp och hjärnor om målkomponenterna använder samma hanterade simulator inom samma arbetsyta och simulatortillståndet, simulatoråtgärden och simulatorkonfigurationstypdefinitionerna är konsekventa. Bonsai kan använda data som genereras mellan hjärnor och begrepp för att kontinuerligt förbättra noggrannheten i den inlärda modellen.

Viktigt

Modellbaserad träningsacceleration stöds endast för onlineträning med simulatorer. Modellering av neurala nätverk stöds för närvarande inte för datauppsättningsträning. Dessutom stöds delning av data och inlärda modeller mellan hjärnor och begrepp för träningsacceleration endast för träning med hanterade simulatorer.

Aktivera modellbaserad träningsacceleration

Om du vill aktivera stöd för neurala nätverk använder du parametern AccelerationModelBasedTraining i algoritmsatsen:

algorithm {
  ModelBasedTraining: {
    Acceleration: "on"
  }
}

Lägen som stöds för modellbaserad träning

Modellbaserad träning stöder tre lägen: off, autooch on.

Värde Beskrivning
off STANDARD Acceleration är inaktiverat och träning använder endast simulering
auto Acceleration är aktiverat men används bara när det behövs
on Acceleration är aktiverat och används alltid

När acceleration är aktiverat och inställt på autoavgör Bonsai om du vill använda en modell för neurala nätverk för ett visst begrepp i början av den första utbildningssessionen för det konceptet. Bonsai använder acceleration om simuleringen är långsammare än tio sekunder/iteration per simulatorinstans och systemet med hög konfidens kan förutsäga att en inlärd modell förbättrar träningstiden. Beslutet att använda (eller inte använda) acceleration ändras inte om du stoppar och återupptar träningen.

När accelerationsfunktionen är aktiverad Bonsai visas följande meddelande i början av träningen:

"Modellbaserad träningsacceleration är aktiverad för det här konceptet. Den här funktionen är för närvarande i betatestning."

Bästa praxis

Tänk på följande för att säkerställa bättre träningsstabilitet och acceleration:

  • Upprätthålla ett konsekvent simulatorschema: Den inlärda träningsmodellen och de simulatordata som används för att träna den kan delas mellan olika hjärnor med samma hanterade simulator när simulatortillståndet, åtgärden och konfigurationstyperna är konsekventa mellan de olika hjärnspecifikationerna. Varje gång Bonsai påträffar varianter av samma simulatorschema segmenteras befintliga simulatordata för att skapa en ny inlärd modell. Att upprätthålla ett konsekvent simulatorschema förbättrar det tillämpliga omfånget för modellbaserad träning.
  • Frikoppla belöning och avslutning: Frikoppla dina belönings- och terminalfunktioner från simuleringsdynamiken genom att definiera funktionerna i Inkling eller använda Inkling-mål. Frikoppling av belöning och avslutning ökar simulatorns återanvändbarhet och den inlärda modellens generaliserbarhet.
  • Använd korrekta typdefinitioner: Det är viktigt att använda korrekta typer för att definiera tillstånds-, åtgärds- och konfigurationsutrymmen för att effektivt vägleda den inlärda modellen när det gäller att göra tillståndsförutsägelser. Om ett visst tillståndsfält till exempel är ett heltal i simulatorn, tvingar även definitionen som ett heltal i hjärnspecifikationen acceleratormodellen att förutsäga heltalsresultat. Noggrannhet är särskilt viktigt vid matchning av data mellan ordningstal och nominella (diskreta och kontinuerliga) typer.
  • Begränsa intervall på lämpligt sätt: Använd snäva intervall för dina tillstånds-, åtgärds- och konfigurationstyper. Om du begränsar uppsättningen möjliga värden förbättras normaliseringen för modellens indata och modellens noggrannhet ökar.
  • Användning av Inkling för att definiera simkonfigurationsintervall: Att definiera dina konfigurationsintervall i Inkling (till skillnad från i simulatorn) hjälper till med acceleratormodellens återgivning. I ett Moab-scenario kan du till exempel välja att randomisera den konfigurerade bollstorleken för att förbättra träningen och generalisera till ett bredare utbud av verkliga scenarier. Om du uttrycker kulstorleksintervallet i inkling-konfigurationstypens begränsning, i stället för att tvinga simulatorn att göra randomiseringen, vägleder du acceleratormodellen mer effektivt.