WEBVTT

00:00.330 --> 00:05.940
Bună ziua și bun venit la acest tutorial această jucărie specială va fi super incitantă pentru că ne apropiem

00:05.940 --> 00:08.540
de A. S. C. algoritm.

00:08.700 --> 00:14.190
Veți vedea că ceea ce suntem pe punctul de a implementa și care se numește trasabilitate de

00:14.520 --> 00:20.380
eligibilitate sau Sarsour este de fapt un algoritm al algoritmilor agenți sincrone activi de critici care nu îl putem considera.

00:20.380 --> 00:25.290
Și vedem pentru că vom avea în continuare un agent, dar totuși veți vedea

00:25.290 --> 00:32.010
că ceea ce urmează să implementăm este luat de fapt din următoarea lucrare, care este această lucrare ca metodă Synchronoss

00:32.130 --> 00:38.280
pentru învățământul de întărire profundă și este în această lucrare veți găsi algoritmi A-3 pe care le vom

00:38.280 --> 00:40.840
implementa ca bonus final al acestui curs.

00:41.010 --> 00:47.580
Dar, după cum am spus, ne apropiem de ea, deoarece modelul care va implementa chiar acum este

00:48.420 --> 00:55.620
de fapt cel sincron și secularizat, cel care este aproape A3 C care face după aceea, ci cu

00:55.620 --> 01:03.490
un agent, iar lucrul puternic în acest sens este acest lucru și pasul Cunanan vom învăța să acumuleze recompense și

01:03.490 --> 01:09.520
să învățăm ținta cumulativă pe pașii finali în loc de un pas ca Priestley.

01:09.690 --> 01:15.250
Și asta va face ca formarea să fie mult mai performantă și, prin urmare, este mult mai puternică.

01:15.300 --> 01:21.080
Deci avem de fapt pseudo-codul pentru acest algoritm este acest algoritm ca aici.

01:21.180 --> 01:23.230
Deci haideți să faceți clic pe ea și acolo mergem.

01:23.250 --> 01:25.740
Acesta este algoritmul pe care îl vom implementa.

01:25.890 --> 01:30.960
Dar amintiți-vă doar cu un singur agent, diferența este că aici acționează.

01:30.990 --> 01:37.380
80 în conformitate cu politica președintelui Greely bazată pe valorile q pentru starea actuală și acțiunea

01:37.380 --> 01:38.020
jucată.

01:38.190 --> 01:42.050
Dar în cazul nostru nu am implementat o politică ecologică excelentă.

01:42.090 --> 01:43.770
Am implementat un soft Max.

01:43.890 --> 01:46.110
Dar restul este același lucru pe care îl puteți vedea.

01:46.110 --> 01:50.210
Vom calcula suma cumulativă pe care am lucrat și că trec efectiv 10 pași.

01:50.220 --> 01:52.340
Amintiți-vă că pașii sunt egali cu 10.

01:52.440 --> 01:58.170
Și astfel vom implementa această linie de cod în algoritmul pe care suntem pe cale să îl implementăm chiar acum.

01:58.170 --> 01:59.010
Vom lua asta.

01:59.010 --> 02:02.150
Și mai ales vom implementa acest lucru.

02:02.160 --> 02:07.590
Veți vedea că vom obține maximum de valorile q pentru starea curentă și acțiunea curentă

02:07.590 --> 02:08.820
în acest theta.

02:08.820 --> 02:11.150
Aici este doar un parametru țintă.

02:11.430 --> 02:15.350
Deci haideți să facem acest lucru să atacăm acest algoritm.

02:15.360 --> 02:18.730
Aceasta se numește învățare sincronă și stick.

02:18.900 --> 02:24.490
Dar nu avem dreptul să spunem sincron în măsura în care suntem preocupați, deoarece avem doar un motor.

02:24.670 --> 02:29.830
Dar, prin urmare, putem să o numim și să învățăm criteriile de eligibilitate sau chiar Sarsour.

02:30.270 --> 02:31.780
Bine, să facem asta.

02:31.800 --> 02:33.080
Va fi foarte distractiv.

02:33.090 --> 02:37.460
Putem urma codul de aici și asta vom face.

02:37.460 --> 02:43.980
Și așa cum puteți vedea un parametru de care avem nevoie este din nou până parametrul care

02:44.280 --> 02:50.820
este parametrul dezintegrare și, prin urmare, vom începe prin introducerea unei variabile pentru acest parametru Gahanna și alegerea lor.

02:50.820 --> 02:51.840
Deci, să facem asta.

02:51.900 --> 02:57.040
De fapt, nu avem nevoie de o sală de clasă extraordinară. Putem pur și simplu implementa această

02:57.040 --> 03:01.830
funcție cu o funcție, pentru că știi că nu avem nevoie să creăm obiecte pentru ca

03:02.190 --> 03:08.500
urmărirea modelului să fie o funcție care să fie suficientă, deoarece practic ceea ce vrem să facem este returnează intrările și ținta

03:08.500 --> 03:14.460
astfel încât mai târziu când antrenează AI suntem pregătiți să minimalizăm distanța dintre predicții și țintă și pentru a obține

03:14.470 --> 03:19.950
previziunile de care avem nevoie, deoarece vom aplica creierul nostru pe intrare pentru a obține rezultatele semnale care

03:19.950 --> 03:21.300
vor fi previziunile noastre.

03:21.300 --> 03:26.730
Apoi, odată ce avem predicțiile și obiectivele noastre, vom fi gata să pregătim AI

03:26.730 --> 03:30.680
încercând să minimalizăm această mare distanță între previziuni și toalete.

03:30.690 --> 03:32.780
Deci asta e totul de a face acest lucru chiar acum.

03:32.880 --> 03:38.130
Implementăm această funcție pentru a putea să reîntoarcem aceste intrări în sovietici, astfel încât să fim

03:38.130 --> 03:43.010
pregătiți pentru instruire pentru a minimiza previziunile la distanță pătrat pentru a gestiona toaletele.

03:43.020 --> 03:46.400
Bine, deci să facem acest lucru așa cum am spus că vrem să implementăm funcții.

03:46.410 --> 03:47.910
Începem cu asta.

03:47.940 --> 03:52.680
Asta o vom numi eligibilitate subliniată.

03:52.860 --> 03:54.210
Îl puteți numi și pe Sarsour.

03:54.240 --> 04:00.660
De asemenea, puteți să-l numiți pas pentru a suna orice vreți, dar să-l numim urmărire eligibilitate

04:00.660 --> 04:07.530
și această funcție va lua un argument care va fi un lot și de ce este pentru că

04:07.530 --> 04:13.460
vom obține niște intrări și câteva ținte pentru că vom instrui AI pe loturi.

04:13.530 --> 04:19.170
Astfel, intrările și țintele vor intra în câteva loturi și, prin urmare, argumentul de intrare

04:19.410 --> 04:25.090
aici este acest lot care va conține mai multe intrări și apoi câteva ținte care vor calcula.

04:25.500 --> 04:26.730
Așa că mergem.

04:26.730 --> 04:28.310
Acesta este singurul argument de care avem nevoie.

04:28.500 --> 04:32.280
Acum hai să intrăm într-o funcție și să definim ceea ce trebuie să facem.

04:32.370 --> 04:40.140
Așa cum am văzut în bazilica lucrării, avem nevoie din nou de parametrii așa cum am spus că începem

04:40.440 --> 04:45.390
prin introducerea acestui parametru gamma semi-închis și putem deja să descifrăm valoarea.

04:45.450 --> 04:51.780
Și vom alege patru puncte nouăzeci și nouă care este o valoare clasică bună pentru Ghana și Norreys.

04:51.780 --> 04:55.640
Am verificat că aceasta este o valoare bună pentru AI.

04:55.650 --> 05:04.120
Acum, pasul următor este să ne pregătim contribuțiile și obiectivele noastre, pentru că exact așa vrem să

05:04.120 --> 05:05.260
ne întoarcem.

05:05.260 --> 05:08.980
Vrem să întoarcem intrările în ținte pentru pregătirea formării.

05:08.980 --> 05:15.520
Și astfel putem deja să le inițializăm cu o listă goală, deoarece, desigur, aceste intrări În interiorul celor

05:15.790 --> 05:21.130
mai bune vom avea mai multe intrări într-o listă și atunci când inițializăm intrările ca

05:21.430 --> 05:25.000
o listă, precum și țintele pe care le mergem.

05:25.000 --> 05:31.420
Deci ne-am initializat si am pus in obiectivele noastre si in final aceasta functie de urmarire a eligibilitatii va

05:31.540 --> 05:33.320
returna exact aceste inputuri.

05:33.330 --> 05:36.180
Iar acestea au fost, desigur, Filton.

05:36.290 --> 05:42.300
Avem mai multe intrări și mai multe ținte asociate în ceea ce vor fi returnate de funcție.

05:42.300 --> 05:48.820
Următorul pas următor este să începeți o buclă și tocmai pentru că urmărim codul

05:48.880 --> 05:50.290
lent al hârtiei.

05:50.290 --> 05:51.400
Acest tip de cod.

05:51.490 --> 05:58.420
Și, după cum puteți vedea, există această secțiune de cod repetat și repetată exact o bucla completă în cod.

05:58.470 --> 06:03.870
Vom calcula răsplata cumulativă acum acumulată în cele 10 pași.

06:03.940 --> 06:05.130
Și cum se calculează.

06:05.290 --> 06:10.480
Ei bine, în fiecare pas, care nu este ultimul pas, vom obține maximum de valori de bază ale monedei pe care

06:10.480 --> 06:13.070
suntem în această perioadă și pașii se vor executa.

06:13.240 --> 06:17.790
Și dacă ajungem la ultimul stat al celor 10 pași, acesta va fi egal cu zero.

06:17.890 --> 06:19.810
Nu mai vreau să mai fac asta.

06:20.080 --> 06:23.320
Și apoi avem acest lucru pentru buclă, care va fi un alt sus.

06:23.470 --> 06:28.390
Ei nu spun repet aici, dar este același lucru va fi a doua bucla completă în algoritmul nostru.

06:28.600 --> 06:34.570
Ei bine, vom avea la asta am fost în acest fel, înmulțind-o cu parametrul decalaj gamma și

06:34.840 --> 06:35.660
adăugând cuvântul.

06:36.010 --> 06:41.510
Deci, haideți să facem acest lucru să ne întoarcem la Python și să începem complet așa.

06:41.980 --> 06:44.920
Și ce va fi variabila iterativă.

06:45.070 --> 06:47.820
Ei bine, asta va fi seria noastră cu 10 pasi.

06:47.890 --> 06:55.510
Știți seria noastră de 10 tranziții, așa că vom numi această serie variabilă care reprezintă o serie de 10

06:55.600 --> 06:58.820
tranziții ca o succesiune de 10 tranziții.

06:58.860 --> 07:00.910
Deci, pentru serii în.

07:01.210 --> 07:02.400
Și apoi ce credeți.

07:02.620 --> 07:05.570
Ei bine, seria noastră va fi la lotul nostru.

07:05.680 --> 07:12.040
Există loturile pe care se va instrui seria AI și așa mai departe în lot, care este pentru toate seria de

07:12.040 --> 07:14.540
10 tranziții din lotul nostru de intrare.

07:14.800 --> 07:20.710
Ei bine, unde vom face bine pentru a obține o recompensă cumulativă, veți vedea în silice că avem

07:20.950 --> 07:26.560
nevoie de statul de la prima tranziție a seriei și, de asemenea, stadiul ultimei tranziții a seriei.

07:26.740 --> 07:33.040
Deci, ceea ce trebuie să facem acum este să obțineți aceste stări de intrare și astfel vom pune aceste două

07:33.130 --> 07:39.380
state într-un mod viabil care urma să se numească input și vom obține aceste două stări de intrare.

07:39.400 --> 07:46.590
Primul dintre serii și ultimul pe care o vom pune într-o gamă non-pilot, dar nici o grijă nu va rămâne

07:46.800 --> 07:51.880
cu acest lucru și Ampyra, desigur, va transforma acest lucru într-un oribil, dar primul pas

07:51.880 --> 07:56.930
este de a pune aceste două statuează pe primul din ultimul într-un imperiu.

07:57.240 --> 08:03.850
Și așa chiar aici în această matrice vom adăuga prima intrare care este etapa de intrare a

08:03.850 --> 08:10.820
primei tranziții a seriei și care este Seria și apoi să o luăm pentru o tranziție luăm indicele zero

08:10.820 --> 08:17.780
al seriei care este prima tranziție și apoi putem accesa prin luarea atributelor sale care este stat și

08:18.290 --> 08:24.200
asta deoarece, din experiența noastră, reluarea fișierului am găsit o structură specială pentru fiecare tranziție

08:24.440 --> 08:25.660
și cunoașteți structura.

08:25.730 --> 08:29.380
Fiecare tranziție este compusă dintr-un cuvânt de stat de acțiune.

08:29.570 --> 08:34.970
Dar ultimul element care se face astfel încât această structură specială pe care ni se permite să o folosim

08:35.240 --> 08:39.250
chiar acum vine din modul în care am definit tranziția și reluarea experienței.

08:39.290 --> 08:45.380
În acest caz, primim starea de intrare a primei tranziții și acum permitem și obținerea

08:45.380 --> 08:48.640
etapei de intrare a ultimei tranziții a seriei.

08:48.800 --> 08:57.200
Și pentru a face acest lucru este de a spune că putem doar să copiați acest lucru și să-l lipiți și să înlocuiți așa cum

08:57.200 --> 09:04.040
sunteți aici de ultimul indice al seriei la care putem accesa cu acest truc minus o serie minus unul care stat

09:04.100 --> 09:07.420
va primi starea de intrare a ultimului trecerea seriei.

09:08.210 --> 09:16.310
În acest caz, trebuie să punem aceste două elemente în interiorul unor paranteze pătrate, deoarece asta este ceea ce este așteptat de

09:16.310 --> 09:23.120
către arbitru o funcție și apoi un lucru important de făcut din moment ce vom transforma acest lucru

09:23.210 --> 09:26.140
într-un răspuns torch într-o variabilă a torței.

09:26.330 --> 09:31.810
Amintiți-vă bine că un tensor al tortei este, prin definiție, o matrice specială care conține un singur tip.

09:31.940 --> 09:34.640
Și trebuie să forțăm să avem un singur tip.

09:34.760 --> 09:42.020
Și, ca de obicei, vom alege tipul de flotor și așa mai departe adăugând acest parametru, aici tipul D este

09:42.750 --> 09:45.030
egal și P care plutește.

09:45.320 --> 09:52.380
Pentru ca tu sa poti lua asta si acum putem transforma asta intr-un tensor de torta intr-un voievod de torta.

09:52.550 --> 09:54.640
Deci, hai să facem asta.

09:54.770 --> 09:57.470
Ei bine, mai întâi să-l convertim într-un senzor de torță.

09:57.590 --> 10:06.880
Și amintiți-vă că putem folosi torche de la non-prime pe care o ducem și am pus toată matricea celor două stări de intrare în

10:06.900 --> 10:15.180
interiorul acestui dansator de torte cu torța de la ele printr-o funcție perfectă care va transforma aceste tablouri ale celor

10:15.250 --> 10:18.230
două state de intrare într-o torță senzor.

10:18.420 --> 10:26.560
Și acum am pus această torță răspuns într-o torță foarte bine folosind clasa variabilă astfel de intrare va fi un

10:26.560 --> 10:28.400
obiect al clasei valoroase.

10:28.480 --> 10:35.380
Și, de fapt, pe măsură ce ați înțeles această clasă variabilă, toate acestea sunt argumentate și

10:35.380 --> 10:36.680
creează obiectul.

10:36.680 --> 10:38.420
Bine, acum ar trebui să fim buni.

10:38.450 --> 10:41.000
Avem cele două intrări de care avem nevoie.

10:41.000 --> 10:45.440
Aceasta este starea de intrare a primei tranziții și apoi introducerea spun că ultima tranziție.

10:45.770 --> 10:51.890
Și acum, acum că avem input-urile Ei bine, ce putem obține putem obține semnalul de ieșire din creierul

10:51.890 --> 10:52.560
AI.

10:52.640 --> 10:56.160
Aceasta este predicția că o vom numi ieșiri.

10:56.630 --> 10:57.950
Acesta este semnalul de ieșire.

10:58.130 --> 10:59.280
Și pentru a obține ieșirile.

10:59.330 --> 11:04.670
Ei bine, acum este foarte ușor pentru că avem deja un creier creat, care este rețeaua noastră

11:04.670 --> 11:05.330
neuronală convoluționară.

11:05.570 --> 11:14.120
Și astfel putem pur și simplu să ne luăm creierul CNN aplicat la intrările care vor readuce predicția care este

11:14.120 --> 11:16.650
rezultatul la fel de simplu.

11:16.820 --> 11:19.510
Și acum suntem deja gata să trecem la pasul următor.

11:20.730 --> 11:24.890
Iar următorul pas este să începeți să calculați această comunitate dacă doriți.

11:25.090 --> 11:30.690
Deci, acum vom face exact la fel ca și algoritmul nostru Sarsour sau ar trebui să-l numim

11:30.760 --> 11:32.300
și pași spre învățare.

11:32.290 --> 11:39.990
Vom introduce o variabilă cumulativă de recompensă, care va fi recompensa cumulativă, să ne întoarcem la hârtie, după cum puteți

11:39.990 --> 11:45.120
vedea acum ce trebuie să facem pentru a obține această răsplată comunitară care

11:45.210 --> 11:46.000
este aici.

11:46.170 --> 11:53.160
Ei bine și fiecare pas al celor 10 pași este necesar să îl actualizăm prin adăugarea unui zero la această comunitate dacă am

11:53.160 --> 11:59.910
fi fost dacă am ajuns la ultima etapă a seriei sau maximul valorilor de bază dacă nu am ajuns la ultima etapă

12:00.000 --> 12:03.410
a seria care este pentru toate statica care a durat.

12:03.750 --> 12:05.890
Deci, asta e pur și simplu un bonanzas.

12:06.000 --> 12:07.580
Să ne întoarcem la Piscean.

12:07.650 --> 12:16.490
Deci, această recompensă a comunității așa cum am văzut va fi egală cu zero la zero dacă am ajuns la ultima

12:16.490 --> 12:23.070
stare și putem scrie această condiție în acest fel dacă seria de indici minus 1.

12:23.070 --> 12:25.940
Aceasta este ultima tranziție a seriei.

12:26.250 --> 12:32.280
Apoi adaugam asta pentru ca ati facut de fapt un atribut al stii ca aceasta structura tranzitorie pe

12:32.280 --> 12:38.400
care am definit-o in experienta in care ne jucam experienta noastra reluam fault si acest lucru a venit de

12:38.400 --> 12:44.550
fapt de la structurile de deschidere pentru ca daca mergem la site-ul deschis Allergan care este de fapt corect aici

12:44.550 --> 12:45.240
am pregătit-o.

12:45.280 --> 12:47.160
Asta face binele sau vizirul.

12:47.340 --> 12:52.300
Și dacă mergem la documentație și apoi dacă noi.

12:52.380 --> 12:55.240
Acesta este tutorialul cu care vă încurajez să vă uitați.

12:55.470 --> 13:01.530
Puteți conduce un mediu pe care Knowsley îl puteți observa că observațiile noastre că acestea sunt

13:01.950 --> 13:04.690
tranziții sunt definite de o observație.

13:04.790 --> 13:12.150
Vrem ca acest lucru să fie făcut aici și acest lucru înseamnă exact că sa încheiat o tranziție sau un pas.

13:12.150 --> 13:15.440
Și așa vom folosi acest lucru făcut aici pentru condiția noastră de IF.

13:15.610 --> 13:23.460
Prin urmare, iSeries nebunie atunci când acest lucru înseamnă că în cazul în care ultima tranziție a seriei este de peste este finalizat.

13:23.730 --> 13:29.290
Și astfel, această recompensă cumulativă va fi egală cu zero dacă se va efectua ultima tranziție a seriei.

13:29.330 --> 13:37.290
Altfel, dacă nu am ajuns la ultima tranziție, recompensa cumulativă va fi actualizată cu

13:37.290 --> 13:40.950
așa cum am spus maximul valorilor-cheie.

13:41.220 --> 13:47.460
Și deoarece această ieșire aici este rezultatul creierului care este predicțiile rețelei neuronale.

13:47.520 --> 13:53.640
Și după cum știți, predicțiile rețelei neuronale sunt valorile estimate. Ei bine, această ieșire

13:53.920 --> 13:55.040
conține valorile.

13:55.110 --> 14:01.130
Și din moment ce trebuie să luăm maximum de valorile q bine, trebuie să adăugăm mai întâi acest

14:01.130 --> 14:04.620
index, deoarece această structură conține două valori cheie și următoarea.

14:04.620 --> 14:07.830
Apoi trebuie să adăugăm date pentru a accesa datele.

14:07.830 --> 14:12.150
Această structură de ieșire știți că are structura specială a voievodului torței.

14:12.270 --> 14:17.910
Deci, cu asta obținem valorile noastre de bază și apoi vrem să luăm maximum de valorile

14:17.910 --> 14:20.470
noastre și deci adăugăm că Max.

14:20.490 --> 14:27.820
Și acum obținem exact ceea ce ne dorim, ca și în hârtie, acest maxim de valori cub pentru statele

14:27.820 --> 14:30.240
non-terminale ca să fie perfecte.

14:30.280 --> 14:33.460
Și acum ceea ce vom face este să facem al doilea pas.

14:33.930 --> 14:40.830
Aceasta este pentru cei 10 pași ai seriei pe care o vom actualiza cumulativul a plecat în acest fel prin înmulțirea mai întâi

14:40.830 --> 14:46.170
de către Gamma a parametrului de degradare pe care îl avem deja și apoi adăugarea cuvântului B.

14:46.410 --> 14:47.540
Deci, să facem asta.

14:47.610 --> 14:52.260
De fapt, vom face exact la fel ca la pseudocod, după cum puteți observa că încep de

14:52.260 --> 14:52.970
la dreapta.

14:53.040 --> 14:59.010
Deci, nu încep cu primul pas și intră în ultimul test pe care îl încep cu ultimul pas.

14:59.040 --> 15:02.280
T-minus 1 până la primul pas pentru a începe.

15:02.340 --> 15:06.520
Exact asta vom face și asta pentru că vrem să obținem

15:06.610 --> 15:15.840
în cele din urmă răsplata cumulată egală cu egalitatea noastră sau zero plus gamma sau 1 plus gamma pătrat sau doi plus plus plus

15:15.840 --> 15:24.420
gamma la puterea de 10 sau 10 unde sunt 1 sau 2 care sunt 10 sunt cuvintele obținute în fiecare dintre

15:24.420 --> 15:25.580
etapele seriei.

15:25.590 --> 15:29.870
Deci, să luăm o pauză rapidă înainte de a lua a doua bucla completă și vă voi vedea în tutorialul următor.

15:30.030 --> 15:31.530
Până atunci, bucurați-vă de AI.
