Hallo en welkom bij deze tutorial in de tutorial van vandaag, we gaan synchroniseren met het gedeelde
model.
Dus wat we gaan doen is natuurlijk nog steeds de functie zeggen en dan de lengte van
één aflevering initialiseren.
Dus we gaan de lengte van een episode-afleveringsonderstrepingslengte noemen die we gaan en we gaan het op
nul initialiseren.
Maar dan zal de lengte van deze aflevering worden verhoogd en spreken van incrementeel en dat is precies wat we zullen
doen.
Dus we gaan een while-lus gebruiken en deze truc gebruiken om while te zeggen.
Waar.
Colin, om te herhalen wat er nu gaat gebeuren, wat gaat er in deze wereld gebeuren?
En dus is het eerste dat in deze lus gaat gebeuren dit incrementele deel van de lengte van
een aflevering.
Dus het eerste dat we gaan doen, is met één verhogen.
En om dit te doen, kunnen we gewoon uitgebreid en.
Voeg hier plus is gelijk aan één, en nu gaan we synchroniseren met het gedeelde model, dat betekent dat
de agent nu het gedeelde model zal gebruiken om zijn kleine verkenning op een bepaald aantal stappen uit
te voeren.
En hoe gaat het model dit gedeelde model krijgen?
Welnu, we moeten ons model dan DOT nemen en dan de load state DECT-methode gebruiken, omdat we
het gaan gebruiken om het toestandswoordenboek van ons gedeelde model te krijgen.
We moeten dus eerst het gedeelde model plaatsen en vervolgens de statische methode toepassen om de parameters van dit gedeelde model te
krijgen.
En zo zal ons model hier het gedeelde model naar zijn kleine verkenning brengen.
OK, en zodra het model dit gedeelde model krijgt, moeten we nu twee gevallen onderscheiden,
de eerste is als het spel klaar is, dus als het spel klaar is, wat gebeurt er dan in dat geval?
We moeten de verborgen toestanden en de celtoestanden van de Endemol opnieuw initialiseren.
En daarom neem ik nu SCIEX, de celstaten, en ook de loonstrookjes de verborgen staat en ik ga
ze allebei opnieuw initialiseren.
En hoe gaan we ze opnieuw initialiseren?
Welnu, met al deze nullen, zal er een vector zijn van tweehonderdzesenvijftig nullen, want onthoud,
de uitvoer van de storm heeft afmetingen, één en tweehonderdzesenvijftig.
We gaan ze initialiseren door de toortsbibliotheek te gebruiken en vervolgens de nullenfunctie.
En aangezien we een vector van tweehonderdzesenvijftig nullen willen, gaan we de dimensies horen,
één voor de vector en tweehonderdzesenvijftig voor het aantal elementen dat nullen zullen zijn en daar gaan
we.
Maar dan zullen we dat omzetten in een fakkelvariabele omdat dan enkele hellingen worden berekend.
We moeten dit dus integreren met het verloop.
Oke.
En we gaan hetzelfde doen voor de verborgen toestanden net eronder en ze opnieuw initialiseren op dezelfde manier als wij
gaan.
Dus als het spel klaar is en nu de andere zaak waar we toegang toe hebben, wat dan nog meer?
Wat gebeurt er in dat geval?
Welnu, we gaan de oude celstatussen en verborgen statussen behouden en dus heel gemakkelijk kunnen
we de oude op deze manier behouden door SCIEX is gelijk aan variabele X die gegevens te typen.
En hetzelfde voor de staten.
We kunnen hier eenvoudig h x gelijk aan variabele h x theta-gegevens toevoegen.
Oké, goed gedaan.
Nu kunnen we uit de LS stappen omdat we eigenlijk klaar waren met deze twee gevallen waarin het spel voorbij is of
niet.
Maar we blijven op de hoogte, want nu gaan we wat meer dingen doen die eigenlijk het hele trainingsproces
zijn.
Dus wat we nu gaan doen, is verschillende variabelen initialiseren die de kern zullen vormen van
de berekeningen in de training.
Dus laten we dit doen.
We hebben de waarden nodig die onthouden de output van de criticus is.
Dus dat is de V-functie.
En we zullen ze op deze manier als een lege lijst initialiseren.
Dan hebben we de logwaarschijnlijkheden nodig.
Dus log probs en we zullen het ook initialiseren als een lege lijst.
Dan zullen we dat natuurlijk nodig hebben of belonen.
We zullen ook initialiseren als een lege lijst.
En tot slot hebben we de entropieën iets nieuws nodig.
Maar dit is inderdaad de kern van de trainingsberekeningen.
Dus ook lege lijst.
Dus nu we deze vier variabelen initialiseren, kunnen we een nieuwe vier-lus starten en dan zullen we de
waarden van deze vier variabelen bijwerken.
En dus wordt deze nieuwe volledige lus een volledige lus over de expiratiestappen en daarom wordt
de lusvariabele onze stappen.
Dus we stappen binnen bereik en binnen kunnen we programma's dat aantal stappen direct invoeren, omdat parameterstappen precies het aantal stappen
van de expiratie is.
Dus voor alle stappen in de expiratie, wat doen we?
Welnu, we gaan de voorspellingen van het modelnummer krijgen, wat door het model wordt geretourneerd.
En om deze voorspellingen te krijgen, kunnen we eenvoudig het model nemen en het toepassen op de invoer, zodat het
invoersignaal door de hersenen in het model gaat en dat ons de uitvoer zal opleveren.
Het zal ons verschillende outputs opleveren.
Weet je, het geeft ons de waarden van de V-functie, wat de output is van de criticus.
Vervolgens waardeert de wachtrij QSA, wat de uitvoer is van de actor.
Maar vergeet ook niet dat het ook de top van de staten zal produceren en staten zal verkopen.
Want onthoud, als we teruggaan naar ons model, nou ja, in de forward-functie, kunnen we zien dat het inderdaad
de output van de criticus retourneert.
Dat is de waarde van de functie vts dan de output van de actor, dat zijn de sleutelwaarden QSA en
ook de outputs Adlerstein, dat is dit dubbelcheckt in zes verschillende staten in de celstaten.
Daar moeten we dus voorzichtig mee zijn.
Dit is heel anders dan wat er eerder gebeurde en daarom gaan we het model nu toepassen op de
invoer die de toestand is.
Maar nu zijn er verschillende dingen die met marteling te maken hebben.
Maar dat geeft natuurlijk kracht aan wat we doen.
Het eerste wat we moeten doen is knijpen.
De status om deze nepdimensie toe te voegen die de index nul moet hebben, komt omdat het model alleen een
batch invoer kan accepteren en geen invoer op zichzelf in een vector of sensor.
Dus dat is het eerste wat we moeten doen, knijpen.
Maar dat is niet alles wat we nodig hebben om onze invoerstatussen om te zetten in een fakkel.
VALVO Dus ik voeg hier de variabele toe.
Dus nu werken we met de staat, de invoerstaat.
Maar onthoud dat de invoer van de vier functies eigenlijk het invoerbeeld is.
Daar hebben we net voor gezorgd, maar ook de spullen van H X, de verborgen verzamelingen en de celtoestanden.
En daarom moeten we hier dit tweede deel toevoegen, de invoer met de steun van H, X en C X.
Oké, en we moeten de haakjes nemen die we gaan, we hebben onze twee ingangen.
De eerste is de invoerstatus, dat wil zeggen invoerafbeeldingen die allemaal worden omgezet in een opslagvariabele en worden geperst om deze dimensie
van de batch toe te voegen.
En dit aan alle staten en de zuidelijke staten.
Dus we zijn allemaal klaar om te gaan.
We zijn klaar om onze voorspellingen te krijgen.
En nu, sinds deze terugkeer, nou ja, onze drie voorspellingen, de output van de criticus, de output van de
acteur en de top van alle staten in het zuiden, stelt de NCM.
Welnu, we gaan nu een drietal nieuwe variabelen introduceren, wat deze drie outputs zullen zijn.
Dus dan krijgen we de eerste output is de waarde van de functie, wat de output is van de criticus.
Dus we gaan het waarde noemen.
Dus daar gaan we.
Dat is de eerste uitvoer.
Dan wordt de tweede output de output van de acteur.
En dat zijn de kernwaarden, QSA.
Maar omdat de kernwaarden aan de acties zijn gekoppeld, kunnen we ze ook de actiewaarden noemen.
Oké, en dan keert de uiteindelijke output morgen terug.
Dat zijn de verborgen staatssalarissen en de zes van de staat.
En dan gaan we, we hebben onze drie outputretouren door het model.
Perfect.
Dus nu we de voorspellingen hebben, moeten we een softmax gebruiken om de juiste actie te spelen.
En dus zal dat nu precies hetzelfde zijn als wat we eerder deden.
De volgende stap is om onze kansen te krijgen, zodat we ze FROB kunnen noemen.
En dat is waar we de softmax-methode gebruiken, die we halen uit de functionele module
met een snelkoppeling F zo f die softmax, en die een waarschijnlijkheidsverdeling zal genereren van de invoer die we
nu gaan invoeren en die natuurlijk , de actiewaarden.
Dat zijn de kernwaarden, dat is de output van de actor in het model.
OK, dus nu hebben we onze kansen, maar zoals je hebt opgemerkt, gaan we werken met de entropie en de
entropie krijgen.
We hebben niet alleen de kansen nodig, maar ook de log-kansen omdat de entropie de som van het product
is.
Laprade-tijden waarschijnlijk dit alles vermenigvuldigd met min één.
En dus moeten we ook ons logboek ophalen waaruit hetzelfde wordt gegenereerd vanuit log softmax.
Dus in plaats van een verdeling van de kansen te nemen, nemen we een verdeling van de
log-kansen en dat doen we met log.
Soft max, de sloten bij Max werken hetzelfde, passen we toe op de kernwaarden.
Die we de actiewaarden noemen.
Oké, dus nu hebben we de sonde en de sonde, en dus zijn we klaar om de entropie en de entropie
te krijgen.
Wat is daar de formule voor?
Zoals ik net al zei, we nemen de sonde, we vermenigvuldigen het met de sonde.
Dan nemen we de som van dit alles.
En om dat te doen, kunnen we hier wat toevoegen.
Ten eerste gebruiken we de straat nu vaak, en zoals we al zeiden, we vermenigvuldigen dit alles
met min één, dus het is de min van een aantal productvertragingen.
Perfect.
En nu gaan we deze entropie opslaan die zojuist is berekend in onze lijst met entropieën, want daar gaan
we.
We hebben de laatste berekening van de entropie.
En dus moeten we het opslaan in de entropielijst.
En om dit te doen, niets eenvoudiger.
We gaan natuurlijk de app-functie gebruiken, omdat entropie een lijst is.
Dus we nemen onze entropielijst en dan DOT en we gebruiken de append-functie om de entropie toe te voegen die zojuist is
berekend.
Oke.
Dus we gaan nu even pauzeren.
We gaan dit stap voor stap doen in het volgende verhaal.
We zullen de actie spelen door hier een willekeurige trekking van te maken en een kansverdeling te genereren.
En nadat we de actie hebben gespeeld, krijgen we de waarde van de staat en zullen we uiteindelijk onze nieuwe
beloning voor de overgangsstatus opslaan en dat hebben we gedaan.
Dat zal geen nieuwe grote stap zijn.
En dat zullen we in de volgende Atauro afronden.
Tot die tijd, geniet van een.