Bună ziua și bun venit la acest tutorial Python.
Așa că astăzi vom face funcția de actualizare care va actualiza tot ceea ce există până în
momentul în care ochiul ajunge la o nouă stare.
Deci, când ajunge la o nouă etapă, știi că trebuie să actualizăm acțiunea.
Ultimul vine de fapt noua acțiune care tocmai a fost jucată.
Dar, de asemenea, ultima dată când devine noua stare.
Și, în final, ultimul cuvânt care devine noul cuvânt pe care îl obținem când jucăm acțiunea.
Deci, aceasta este calea logică care se întâmplă imediat după selectarea unei acțiuni.
Trebuie să actualizăm toate elementele tranzițiilor.
Și bineînțeles veți obține o nouă tranziție.
Deci, va trebui să adăugăm această nouă tranziție la memorie.
Și, în final, vom actualiza sau recompensa fereastra pe care o cunoașteți pentru a ține cont de evoluția modului în care
se desfășoară instruirea și de modul în care se desfășoară explorarea.
Dar ceea ce este cel mai important pentru a înțelege este că acum putem face în sfârșit o
conexiune între AI pe care o implementăm chiar acum pe harta noastră, pentru că dacă ne întoarcem pe hartă amintim
că această funcție de actualizare Beiji este în clasa jocurilor și acesta este locul unde făceam de fapt jocul cu mașina și
definind modul în care mașina ar trebui pedepsită atunci când face o greșeală.
Dar în această clasă de joc am observat această funcție de actualizare și în această funcție de actualizare
am observat această acțiune de linie, deoarece actualizarea creierului ultima am lucrat mai puțin semnal.
Și de fapt exact asta vom face.
Suntem pe punctul de a face această funcție de actualizare care va lua ultimul cuvânt și ultimul semnal pentru a obține
următoarea acțiune de jucat.
Așadar, nu numai actualizarea tuturor elementelor diferite ale tranziției.
Dar mai ales vom juca acțiunea pe care ar trebui să o jucăm atunci când obținem ultimul cuvânt și
ultimul semnal și astfel în această funcție de actualizare vom folosi funcția selectată de acțiune pe care tocmai am implementat-o ​​înainte
de a integra funcția selectată de acțiune în funcția de actualizare viitoare pe care suntem pe cale să
o facem pentru a selecta direcția de redare în afară de efectuarea tuturor actualizărilor.
Deci, este foarte important să faceți această conexiune cu harta chiar acum.
Ceea ce vom face este în cele din urmă legătura dintre ochiul nostru și jocul pe care îl facem
în această clasă.
Și ceea ce putem face acum este să luăm direct această actualizare.
Ultima dată am fost mai puțin semnal, deoarece aceasta este de fapt funcția pe care o vom face cu aceste două argumente
aici.
Și așa cum creierul memento rapid este obiectul nostru AI, care este obiectul clasei Dejuan.
Deci, ceea ce vom face acum este că vom copia această actualizare mai puțin semnal mai puțin cuvânt și asta va fi
următoarea noastră funcție pe care o facem.
Și, prin urmare, și aici, pentru a fi atent, aș vrea să dau câteva nume diferite decât
numele pe care le avem aici.
Știți că avem ultimul cuvânt aici și nu vreau să deranjez ultimul cuvânt cu acesta.
Asta poate fi periculos.
Deci voi înlocui ultimul cuvânt aici cu cuvânt.
Și apropo, pentru semnalul mai mic, să punem doar semnal sau chiar un semnal nou pentru a preciza că știm că vrem să măsurăm acest
lucru atunci când ajungem la o stare nouă și, prin urmare, obținem un nou semnal.
Dar, bineînțeles, acest cuvânt va fi ultima răsplată pe care o vom ajunge aici.
Știți când mergeți pe un nisip sau, mai rău, apropiați prea mult de o margine a hărții,
unde definim ultimul cuvânt.
Ultimul cuvânt va fi introducerea funcției de actualizare, de aceea avem ultimul cuvânt aici.
Dar chiar aici dau doar un alt nume pentru argument.
Nu vrem să o confundăm cu ultimul cuvânt aici.
Bine, deci aceasta este funcția de actualizare.
Acum, hai să intrăm în el și să facem aceste două lucruri.
Acestea sunt datele tuturor elementelor tranziției noastre și, bineînțeles, selectăm acțiunea.
OK, deci, ce avem nevoie să actualizăm mai întâi.
După cum ați înțeles că vrem să facem o dată când ajungem la orice stat.
Deci, primul lucru pe care îl vom actualiza este, evident, această veste că aceasta este vestea că ajungem.
Așa că am să numesc acest nou stat nou stat și apoi o va face.
Și cum putem obține acest nou stat.
Bineînțeles că depinde de semnal noul semnal pe care senzorii au detectat-o.
Și ca o reamintire, starea este semnalul în sine alcătuit din cele trei semnale care indică faptul că senzorii
semnalează un semnal pentru a semnaliza orientarea plus trei orientări și minus.
Asta e starea noastră.
Asigurați-vă că înțelegeți că semnalul este starea.
Dar acum este o listă simplă de cinci elemente.
Și deoarece aceasta va fi intrarea pentru a face tot ce funcționează amintiți că trebuie să-l convertim într-un senzor
de torță.
Deci exact asta vom face acum.
Vom lua biblioteca tortei noastre și apoi vom lua clasa tensor acolo mergem, ceea ce va transforma noul nostru semnal într-o torță
mai densă, atunci este mai bine să vă asigurați că toate elementele torței care răspund sunt plutind, așa că
am de gând să efectuați o conversie de tip pentru a le converti în flotoare ca aceasta.
Și apoi încercați să obțineți un reflex al a ceea ce trebuie să facem în continuare.
Este, desigur, să creăm acel motor fals pentru a adăuga diamante și să
corespundă lotului și noi facem acest lucru desigur cu funcția de stoarcere la care trebuie să punem indicele acestui diamant mare.
Și vrem pentru lotul care este zero.
In regula.
Și acum avem noile noastre stări compuse din cele trei semnale ale celor trei senzori, plus
orientarea minus orientare și, desigur, care va depinde de noul semnal pe care îl primim cu această funcție de actualizare.
Chiar și la ultimul semnal, primim cele trei semnale.
Deci, în plus minus sau în plus și ca un memento cele trei semnale sunt densitatea senzorului
detectat în jurul senzorilor.
In regula.
Așa că am obținut o nouă etapă, ceea ce înseamnă că am ajuns la noua scenă și acum trebuie să facem următoarea actualizare.
Deci, în funcție de dvs., ce avem nevoie să actualizăm acum.
Care ar fi lucrul logic până în prezent, după ce a ajuns la acest nou stat.
Ei bine, ceea ce avem nevoie până acum este memoria.
De ce este asta.
Este pentru că în fiecare moment o tranziție este compusă din starea curentă Estey a doua zi ca
tipis atunci când răsplata artiștii și acțiunea 80.
Și acum avem deja S-T, avem deja echipa noastră și deja avem 80 și tocmai am
obținut ultimul element al tranziției Estep plus unul.
Așadar, prin obținerea acestei noi stări la fel de profunde ca și noi, noi primim o tranziție nouă a memoriei și, prin urmare,
trebuie să adăugăm această tranziție nouă la memorie, deoarece aceasta este pur și simplu următoarea noastră tranziție.
De aceea trebuie să avem memoria acum.
Și, prin urmare, ceea ce am de gând să fac este să ia obiectul de memorie creat din clasa de
memorie replay și, prin urmare, am de gând să ia auto-memorie să se refere la obiect.
Dar din moment ce eu folosesc sine, trebuie să-l includ pe sine în această funcție.
Deci, acum puteți vedea cu adevărat pentru ce este acest sine.
Este oricând utilizați o variabilă pe care ați creat-o și ați inițializat-o în memoria respectivă.
Și acum am făcut-o.
Și în funcție de tine cum o să actualizăm asta.
Vestea bună este că am făcut deja o funcție pentru a face asta.
Este funcția de împingere care interzice un eveniment sau o tranziție la memorie.
Deci exact asta vom folosi acum.
Vom folosi funcția de împingere pentru a ne pătrunde noua tranziție pe care tocmai am făcut-o în memorie
și, prin urmare, aici nu iau o egalitate pentru că vom folosi metoda și, prin urmare, putem
folosi direct această forță.
Și mai întâi voi adăuga tranziția acestei noi tranziții pe care tocmai am primit-o și aceasta este mai întâi
ultima dată.
Deci, de sine la ultima dată.
Deci asta e S-T Asta e exact acesta deja există.
Apoi, următorul element al acestei tranziții este, bineînțeles, noul stat pe care tocmai l-am atins.
Și, prin urmare, deoarece nu este viabilă din obiectul pe care l-am creat și inițializat în această funcție init,
nu ne punem aici.
Am pus direct pe Newstead atunci următorul element al tranziției este acțiunea și spunem că deja avem ultima secțiune
care este acel sine ca ultima acțiune aici.
Deci, desigur, este egal cu zero.
Dar, desigur, acesta va fi actualizat cu funcția selectare acțiune.
Dar asta e asta.
Deci, atunci este ultima acțiune.
Dar acum fiți atenți.
Elementele care au fost incluse în această tranziție ar trebui să fie toate răspunsuri torționate.
După cum puteți vedea că este cazul pentru ultima dată.
Este un senzor al tortei.
Noul stat este, de asemenea, un răspuns răcit.
Și așa trebuie să fie același lucru pentru acțiune și apoi recompensa, desigur.
Dar acum vă veți gândi cum poate fi un răspuns încălzit, considerând că este pur și simplu un număr.
Știți că acțiunea este 0 1 sau 2.
Dar, de fapt, nu este o problemă.
Încă putem converti această variabilă 0 1 sau 2 într-un senzor al tortei.
Aceasta va fi ceea ce noi numim un tensor lung.
Lungimea este un tip și acesta este tensorul care va conține un întreg, deoarece ultima acțiune
este un întreg este 0 1 sau 2.
Deci, ceea ce vom lua acum este biblioteca noastră torche, atunci vom lua lunga este o clasă lungă tensor
care va crea un obiect care va fi non-tenure în sine.
Și luând această funcție de ultimă acțiune ca intrare, ea va crea acest obiect tensor de lungă durată, dar va
conține încă 0 1 sau 2 într-un obiect tensor lung și care este doar pentru a fi în concordanță cu tranziția pe care o conține
numai tensori, deoarece suntem lucrează cu torța PI și lucrăm cu o rețea neurală.
Deci, trebuie să lucrăm cu senzori, astfel încât să mergem mult timp să răspundem.
Și o ultimă conversie pentru a face.
Trebuie să fim siguri că ceea ce există în acest răspuns lung este un număr întreg și să ne
asigurăm că acesta este deja cunoscut că ultima acțiune este 0 1 sau 2 pentru a ne asigura că
vom face din nou această conversie de tip int, auto-ultima acțiune într-un număr întreg.
Acolo mergem și apoi trebuie să punem acea acțiune totală de altruistă în paranteze chiar aici, pentru ca acum să obținem un
tensor lung al unui element care va fi această ultimă acțiune 0 sau 1 sau 2 în sine.
Deci, punctul cheie este că tocmai cum convertiți un simplu număr zero unul sau doi într-un tensor cu torche.
In regula.
Și apoi, în final, ultimul element al tranziției și acesta este, desigur, ultimul cuvânt pe care l-am primit.
Acesta este exact ultimul cuvânt de volei pe care l-am creat în orice funcție care a fost inițializată la zero.
Dar, bineînțeles, este actualizat chiar aici, în acest cod, fie atunci când mergem într-un sens care este un cuvânt negativ sau
dacă ne îndepărtăm de obiectivul care este din nou o recompensă negativă.
Dacă ne apropiem de obiectivul care este o recompensă pozitivă și cea mai gravă pedeapsă dacă ne apropiem prea mult de
o margine a hărții Ei bine, este un cuvânt negativ teribil minus unul.
Și asta e a.
Deci, să adăugăm acest ultim element al tranziției auto-direcționând cuvântul.
Așadar, am copiat această lipire aici și acum trebuie să facem o altă conversie, care va fi, desigur, exact
aceeași ca aceasta, doar că cuvântul nu este un număr întreg, ci un număr de float.
Vom face pur și simplu o torță care transformă tensorul, dar fără asta va păstra parantezele aici pentru că știi mai întâi
că trebuie să punem numărul într-o listă și apoi această listă va merge și a pune torța în clasă,
dar nu avem pentru a face asta în conversie, deoarece ultimul cuvânt este un număr de float.
Deci, ceea ce vom face este să adăugăm pur și simplu aici torce dot tensor incendiat paranteză tensor apoi paranteze.
Și vom închide parantezele aici și vom închide paranteza.
Vom merge acolo.
Deci, pentru a rezuma Ce ați spus că tocmai am ajuns și pe care noi o spunem observăm un nou eveniment de tranziție pe
care îl adăugăm în memorie.
Și această tranziție conține ultima dată și vedeți noua stare ca tipis când ultima acțiune
are 80 și ultimul cuvânt Archie.
In regula.
Și acum mergem cu amintirea datelor noastre.
Deci, hai să facem o pauză rapidă și vom avea grijă de următoarea actualizare în următorul tutorial.
Până atunci