Bună ziua și bun venit la acest tutorial Python.
In regula.
În acest ulei vom face funcția care va selecta acțiunea potrivită și de fiecare dată.
Deci, practic, vom implementa o parte care va face mașina corectă.
Și de fiecare dată când merge la stânga, mergeți drept sau mergeți drept pentru a ajunge la obiectiv și
pentru a evita obstacolele care coboară.
Asa ca sa facem asta chiar acum.
Vom începe, ca de obicei, cu surzii să definiți o funcție și apoi vom da
un nume funcției noastre pe care o vom numi acțiune selectată decât o paranteză și această funcție selectivă de acțiune va avea
două argumente.
Primul este sine pe măsură ce te referi la obiect și la al doilea argument care,
după tine, va fi unul.
Ei bine ce ar putea fi.
Dacă vă gândiți la aceasta, acțiunea pe care o selectăm provine din ieșirea rețelei neuronale deoarece ieșirea rețelei
neuronale sau valorile q pentru fiecare dintre cele trei acțiuni posibile și, prin urmare, acțiunea pe
care o jucăm acțiunea care va fi rezultatul rețeaua neuronală depinde de starea de intrare, iar stările
de intrare sunt exact al doilea argument de care avem nevoie cu funcția selectare acțiune.
Este pentru că vom lua literalmente rezultatul rețelei neuronale.
Și, desigur, ieșirea rețelei neuronale depinde direct de intrarea rețelei neuronale.
Deci asta va fi argumentul nostru.
Și acum îi putem da un nume pe care îl vom numi de fapt, deoarece intrările rețelelor neuronale sunt stările
de intrare care sunt și codificate de un vector de cinci dimensiuni la trei direcții de semnale
și orientare minus.
Și acum lucrurile vor fi ușor.
Vom alimenta starea de intrare in reteaua neuronala pe care o construim chiar deasupra aici
cu urmatoarea clasa si apoi vom obtine rezultatele care sunt valorile cheie pentru fiecare din cele trei posibile
actiuni si apoi folosind metoda Max Max pe care o voi explica în
acest tutorial.
Vom lua acțiunea finală de jucat.
Deci haideți să facem acest lucru să mergem în funcție și să punem în aplicare toate acestea.
Deci, primul lucru de care trebuie să începem este despre ceea ce tocmai am menționat că a dat-o lui Max. Ideea
soft-ului Max este că vom încerca să obținem cele mai bune acțiuni de jucat în fiecare moment.
Dar, în același timp, vom explora diferitele acțiuni.
Și cum facem asta?
Cum putem obține cea mai bună acțiune pentru a juca în timp ce explorăm încă celelalte acțiuni.
Am folosit această idee de lucruri care constă în generarea unei distribuții de probabilități pentru fiecare dintre
valorile q.
Acțiunile statelor membre.
Acum avem o valoare Q pentru fiecare acțiune mergeți la stânga mergeți drept sau mergeți drept.
Dar această valoare q depinde și de starea de intrare.
Aceasta este exact funcția Q folosită pentru cursurile de intuiție.
Această funcție Q este o funcție a stării și a acțiunii.
Deoarece avem aici o stare de intrare care este statul aici și trei acțiuni
posibile, avem trei noi valori Q. Acțiunea de stat 1 acțiunea de stat Q 2 și acțiunea
a două state 3 și vom genera o distribuție a probabilităților cu privire la aceste trei valori-cheie.
Aceasta va fi o probabilitate pentru prima valoare Q de probabilitate pentru cea de-a doua valoare
Q și oa treia probabilitate pentru a treia Q. Și toate cele trei probabilități vor ajunge la 1.
Și așa vom face toate astea cu Max Max și Max va atribui o mare probabilitate celui mai înalt
Q în jurul valorii.
De aceea, o alternativă la softul Max este un RMX simplu, fără a lua în mod direct maximum valorile q,
dar în acest caz nu explorăm celelalte acțiuni.
Datorită acestor probabilități putem explora în altă parte folosind un parametru de temperatură pe care vom
vedea foarte repede.
Încă le putem explora prin configurarea acestui parametru de temperatură.
De aceea, în general în ceea ce privește securitatea, recomand foarte mult utilizarea unui soft x decât un simplu RMX.
În regulă, haideți să implementăm X și, prin urmare, cum ați înțeles.
Din moment ce sutina Max returnează probabilitățile fiecăreia dintre cele trei valori Q pentru cele trei acțiuni posibile.
Ei bine, prima variabilă pe care o vom crea probabil se referă probabil la aceste probabilități.
Deci recuzele sunt egale și acum ne vom lua funcția următoare și în funcție de dvs. de unde
o vom lua.
Bineînțeles că am amintit că am importat.
Și apoi submodulul funcțional pe care-mi amintesc este modulul care conține majoritatea acțiunilor de implementare a
unei rețele neuronale.
Am dat-o comenzii rapide F și așa că de fapt, din acest submodul
funcțional, vom avea funcția următoare.
Dar din moment ce am dat o scurtătură f începem aici cu un Neph reprezentând funcționalul din
care ne luăm funcția următoare.
Aici este.
Aceasta este prima și paranteza.
In regula.
Acum, ce trebuie să introducem în următoarea funcție.
Ei bine, aceasta este, desigur, entitățile pentru care vrem să generăm o distribuție a probabilităților.
Și ce sunt aceste entități.
Ei bine, acestea sunt, desigur, valorile cheie.
Deci acum întrebarea este cum putem obține valorile q.
Desigur, valorile q sunt rezultatul rețelei neuronale și pentru a obține aceste ieșiri ale rețelei
neuronale.
Ei bine, aici mergem.
Trebuie să luăm noua noastră rețea.
Dar, de fapt, o avem deja pentru că asta a inițializat în cele din urmă funcția.
Știm că am creat un model auto-predat, care nu este altceva care nu va funcționa, deoarece este un nou obiect al
clasei de rețea.
Și așa este perfect.
Putem doar să luăm modelul aici și lucrurile să aplicăm apoi acest model la starea de intrare care este argumentul
aici și care va reveni la rezultatele pe care le căutăm.
Acestea sunt valorile cheie.
Și așa că acum intuiția dvs. de ce a trebuit să luăm modelul aici pentru ao introduce în funcție ar putea fi
mai bună.
Aceia dintre voi, începând cu programarea orientată pe obiecte, veți vedea că toate acestea vor deveni naturale
atât de moi, atunci.
Așadar, luăm propriile noastre modele, deoarece acesta trebuie să fie modelul obiectului pe care l-am creat aici.
Dar atunci avem nevoie pentru a obține ieșirea din modelul rețelei noastre neuronale și, prin urmare, vom auzi
o paranteză în care vom intra. Ei bine, statul de intrare numit stat aici.
Deci, ceea ce vrem să facem la început este intrarea în stat, dar acum trebuie să fim atenți la ceva ce arată ca un simplu
set chiar acum.
Dar amintiți-vă că starea va fi de fapt un senzor de torță, pentru că mai târziu vom folosi această
celulă la o stare mai mică pentru ao pune ca argument al funcției Selectare acțiune.
Argumentul statului, care este aici, va deveni mai târziu acest stat mai puțin autodidact.
Și din moment ce aceasta este o lume de răspuns torturat, modelul o va accepta.
Așa că e bine.
Dar acum putem îmbunătăți algoritmul.
Deci, de îndată ce statul este un senzor de torță și așa cum am spus mai devreme majoritatea senzorilor sunt înfășurați
în voievod.
Aceasta va conține, de asemenea, un gradient.
Deci, chiar acum ceea ce vom face mai întâi este să înfășurați această stare de intrare care este un tensor
într-o torță foarte bine dar, deoarece aceasta este starea de intrare Ei bine, nu va fi o diferențiere.
Nu vom folosi gradientul acestui stat toric voievod și care ar putea fi
stații și, prin urmare, ceea ce vom face acum este de a transforma această stare a senzorului torța într-o torță variabilă ca atare.
Dar apoi să precizăm că nu vrem gradientele din graf la toate care pot dărâmături la sfârșitul
lui Mudgal.
Ei bine, vom veni de aici volatile egale cu adevărat.
Deci, acum avem senzorul de incendiu de stat într-o torță foarte bine, dar datorită acestui Votel este egal cu
adevăratul barometru.
Ei bine, vom include gradientele asociate acestor stări de intrare în graficul tuturor condițiilor de sfârșit
în modelul respectiv.
Deci, asta e un alt truc tehnic.
Acest lucru ne va salva o memorie și, prin urmare, acest lucru va îmbunătăți performanța.
Așadar, recomand foarte mult să faceți acest lucru și acum vom adăuga ceva mai distractiv.
Este vorba despre acest parametru de temperatură pe care tocmai l-am menționat.
Deci, acest parametru de temperatură este parametrul care ne-ar permite să modulam modul în care rețeaua neuronală va fi
sigură cu privire la ce acțiune ar trebui să decidă să joace.
Deci, acest parametru al temperaturii va fi un număr pozitiv și cu cât este mai aproape de zero, cu atât este mai puțin sigur că rețeaua neuronală va fi
atunci când se joacă în acțiune și cu cât este mai mare parametrul de temperatură, cu atât este mai sigur că rețeaua neuronală
va fi cea a acțiunii pe care decide să o joace .
Și pentru a adăuga acest parametru voi înmulți ieșirile care sunt Kugan utilizate de acest parametru de
temperatură.
Deci, haideți să începem, de exemplu, cu 7 și voi specifica aici micul comentariu T egal cu 7.
Deci acesta este parametrul de temperatură.
Îmi pare rău să merg la 7.
Vom incerca si altele, dar vreau doar sa inceapa cu unul mic, pentru ca veti
vedea asta cu unul mic.
Mașina noastră se va comporta în continuare ca un fel de insectă, dar apoi prin creșterea parametrului de
temperatură codul nostru va arăta mai mult ca o mașină și decide să vândă conducerea va fi mult mai bună.
Și astfel are sens, deoarece cu cât este mai mare acest parametru de temperatură,
cu atât mai mare va fi probabilitatea câștigării Juval, deoarece, de exemplu, dacă avem max max de valori q.
Să luăm câteva cifre simple, câte două trei, dacă umplute maxim de una până la trei egale.
De exemplu, 0. 04 0. 11 și deschideți optzeci și cinci.
Apoi, prin creșterea temperaturii prin luarea unei temperaturi mai ridicate.
În momentul de față, temperatura este egală cu cea a unei temperaturi ridicate, cum ar fi, de exemplu, scăderea Tussaudului. Să
copiați acest lucru și să îl multiplicați, de exemplu, cu două sau trei astfel încât să aibă în continuare aceleași valori, dar înmulțite cu parametrul
de temperatură de trei.
Ei bine, vom obține ceva de genul zero pentru prima valoare Q, deoarece aceasta avea o probabilitate foarte scăzută ca
ceva în jurul valorii de zero, apoi ceva foarte mic pentru a doua probabilitate, deoarece aceasta era încă
o probabilitate mică.
De exemplu, să spunem de exemplu sau punctul 0 2.
Dar apoi această a treia probabilitate, deoarece a fost cea mai mare și una destul de înaltă.
Creșterea temperaturii această probabilitate va fi și mai mare pentru că vom fi și mai
siguri că aceasta este valoarea corectă Q corespunzătoare acțiunii pe care trebuie să o jucăm și, prin urmare, aceasta va fi
ceva de genul 0. 2 98.
Acum prin creșterea parametrului temperaturii Ei bine, acum suntem și mai siguri că a treia acțiune ar trebui
să fie acțiunea de jucat deoarece probabilitatea valorii q a acestei acțiuni nu este numai cea mai
mare, ci și foarte mare.
Deci despre asta este vorba despre acest parametru de temperatură.
Este vorba despre siguranța în ce direcție ar trebui să ne hotărâm să jucăm.
In regula.
Deci voi elimina acest comentariu.
Aceasta a fost doar pentru a explica.
Și acum să luăm acțiunea noastră.
Și cum o să faci asta?
Principiul următoarei metode nu este numai de a genera o distribuție de probabilități pentru fiecare dintre
valorile cheie, dar și de asemenea este a doua etapă a metodei următoare.
Luăm o remiză aleatorie din această distribuție pentru a obține acțiunea noastră finală.
Și, bineînțeles, vom avea o șansă mare de a obține acțiunea care corespunde valorii Q
care are cea mai mare probabilitate, deoarece exact așa funcționează distribuția.
Așa că mergem.
Să facem acțiunea noastră.
Așa că vom introduce un nou Voivod este că vom chema acțiune și această acțiune va fi
o remiză aleatorie a distribuției de probabilități pe care tocmai am creat-o acum înainte.
Și cum să obținem o remiză aleatoare.
Ei bine, vom lua probabilitățile proprii ale fiecăreia dintre valorile-cheie pe care le luăm elemente de
recuzită și apoi vomă și apoi vom folosi funcția multi Gnomeo și asta ne va da o remiză aleatorie din
acest proces de distribuție.
Deci, asta-i tot ce-i va face reacția.
Perfect.
Și acum, bineînțeles, vom reveni la acțiune.
Există un mic șmecherie aici.
Care este faptul că această Propastă că multiinomial întoarce PI spre viabil cu o insignă falsă.
Cunoasteti aceste diamante false si corespunde lotului si, prin urmare, pentru a obtine rezultatul corect pe care
dorim sa o activa in 0 1 sau 2.
Trebuie doar să adăugăm aici date și apoi câteva paranteze și acțiunile de aici sunt una sau două pe
care le căutăm este conținut și indexul este 0 și 0.
In regula.
Și acolo mergem.
Acum avem acțiunea noastră mulțumită acestei funcții selectate de acțiune, AI va ști acum ce acțiune să joace.
Și de fiecare dată.
Teribil.
Deci, acum putem trece la următoarea funcție care va fi funcția de învățare.
Și acolo vom antrena întreaga rețea neuronală pe care o cunoașteți cu toată propagarea înainte și
apoi propagarea înapoi este aceea de a clasifica în sensul respectiv.
În principiu, vom implementa întreaga formare a modelului de învățare profundă, care este în
centrul inteligenței noastre artificiale.
Așa că nu pot să aștept să fac asta.
Acesta va fi un tutorial interesant și vă voi vedea în următoarea Statoil.
Până atunci, bucurați-vă.
I.