WEBVTT

00:00.330 --> 00:02.320
Bună ziua și bun venit la poveste.

00:02.460 --> 00:09.240
În regulă, după ce am făcut aceste patru convoluții și LCN, avem acum o stare codificată care va fi

00:09.240 --> 00:14.500
intrarea acestor două rețele neuronale pe care o vom face pentru actor și critic.

00:14.790 --> 00:20.730
Și vorbind despre ei, singurul lucru pe care trebuie să-l facem acum este să creăm instrumente în conexiunile noastre complete.

00:20.730 --> 00:22.880
Unul pentru actor și unul pentru critic.

00:23.190 --> 00:27.260
Dar, înainte de a face acest lucru, trebuie să obținem numărul de acțiuni posibile.

00:27.290 --> 00:32.520
Și așa am să vă numesc variabilă aici, care nu va fi o variabilă a obiectului.

00:32.520 --> 00:38.970
Deci nu am de gând să folosesc sine aici, dar am de gând să creez non-output-uri viabile care vor reprezenta o

00:38.970 --> 00:41.610
serie de acțiuni posibile și să le obțin.

00:41.760 --> 00:44.520
Ei bine, o putem obține din spațiul de acțiune.

00:44.520 --> 00:51.330
Așa că luăm spațiul nostru de acțiune care va fi intrarea funcției atunci când vom crea obiectul.

00:51.510 --> 00:56.300
Și apoi adăugăm acest lucru și pentru a obține acest număr de acțiuni posibile.

00:56.580 --> 01:03.180
Și acum actorul și criticul vor lua separat aceeași intrare care este rezultatul întregului

01:03.180 --> 01:06.290
proces aici, cu convoluțiile și GLSEN.

01:06.500 --> 01:12.900
Deci, va lua aceeași intrare care este o stare codificată, dar atunci vor avea două conexiuni liniare diferite, astfel încât

01:13.110 --> 01:19.000
vom obține în cele din urmă două rețele neuronale unul pentru cei doi și unul pentru un critic.

01:19.020 --> 01:21.030
Deci, hai să facem aceste două rețele neuronale separate.

01:21.060 --> 01:27.360
Dar, de vreme ce am făcut deja marele lucru cu codificarea aici, ceea ce trebuie doar să facem este

01:27.360 --> 01:33.640
să creați două obiecte, unul în conexiunea întreagă pentru actor și o altă conexiune liniară pentru critic.

01:33.660 --> 01:35.430
Și așa este exact ceea ce voi face.

01:35.490 --> 01:42.560
Voi crea două obiecte acum un prim obiect pentru conexiunea liniară a criticului pe care

01:42.570 --> 01:49.210
o voi numi critic și scorul Linnie și pentru a crea această conexiune liniară.

01:49.380 --> 01:55.020
Știți cum să procedăm, pur și simplu trebuie să luăm modulul motor și apoi clasa liniară la care avem

01:55.020 --> 01:55.800
două intrări.

01:55.880 --> 02:01.800
Ei bine, neuronii de intrare care sunt ieșirile din toate acestea, inclusiv aici cu convoluții

02:01.910 --> 02:05.190
și GM, care este de 256 de neuroni.

02:05.190 --> 02:12.120
Așa că atunci când am pus două sute cincizeci și șase aici și apoi vom avea o ieșire deoarece amintim

02:12.210 --> 02:17.940
rezultatul rețelei neuronale pentru critic este valoarea funcției aplicate la starea de intrare la stările codate

02:18.080 --> 02:20.960
de intrare pe care le-am făcut aici.

02:21.180 --> 02:28.680
Deci, dacă numim starea de intrare s, care este rezultatul tuturor acestor rezultate, ieșirea rețelei neuronale a criticului

02:28.680 --> 02:32.530
va fi VS și, prin urmare, are o dimensiune.

02:32.550 --> 02:33.710
Este doar o valoare.

02:33.870 --> 02:36.320
Și așa am pus unul.

02:36.510 --> 02:43.020
Și rețineți că acest lucru este împărțit între actori, astfel încât aceștia să poată obține unele informații comune pe care le

02:43.020 --> 02:46.590
pot utiliza pentru a-și juca acțiunea într-un mod mai relevant.

02:46.980 --> 02:50.430
OK, asta e pentru rețeaua neurală a criticului.

02:50.580 --> 02:59.820
Și acum să facem noua rețea a actorului și, prin urmare, eu sunt aici actorul auto-învățat liniar și același lucru

02:59.850 --> 03:02.830
deja avem statele codificate de intrare.

03:02.850 --> 03:08.430
Deci, acum trebuie doar să adăugăm o conexiune liniară și, prin urmare, să spunem că

03:08.430 --> 03:15.870
vom lua într-un modul, apoi clasa liniară și spunând acum că această nouă rețea a actorului va lua statutul codificat

03:15.870 --> 03:19.840
care are dimensiunea de 256 și deci 256 aici.

03:20.070 --> 03:26.010
Dar rezultatul va fi diferit deoarece, bineînțeles, știi că ieșirea rețelei neuronale pentru

03:26.010 --> 03:30.790
celălalt actor implică valorile cheie ale stărilor de intrare.

03:30.860 --> 03:33.620
Cel pe care l-am auzit și placa de acțiune.

03:33.810 --> 03:40.980
Deci, din nou, dacă numim această stare codificată, aici înțelegem că o acțiune a jucat o ieșire a acestei

03:40.980 --> 03:44.480
rețele neuronale, de fapt, va exista q ca a.

03:44.880 --> 03:50.010
Și din moment ce știți că avem o mare valoare pentru fiecare acțiune, atunci nu avem rezultate.

03:50.010 --> 03:57.680
Valorile Q și, prin urmare, ieșirea aici va fi non-ieșiri, deoarece nici o ieșire nu este de fapt

03:57.680 --> 03:59.380
numărul de oameni.

03:59.840 --> 04:01.100
Bine perfect.

04:01.130 --> 04:05.360
Deci, dacă vrei să pot scrie pentru tine aici.

04:05.390 --> 04:18.410
Criticul este atât de bine cum este statul codificat, iar pentru actor ieșirea este drăguță ca bine.

04:18.410 --> 04:23.750
Deci, este foarte important să înțelegem această distincție aici și să înțelegem că de aceea avem două

04:23.900 --> 04:25.370
rețele de știri separate.

04:25.370 --> 04:29.370
Unul pentru critic și unul pentru actor Bine perfect.

04:29.380 --> 04:32.080
Deci, aproape că am terminat cu această funcție.

04:32.170 --> 04:33.920
Acum, cel mai important lucru este făcut.

04:34.030 --> 04:39.370
Singurul lucru rămas pe care trebuie să-l facem este să inițializăm toate greutățile acestor două rețele neuronale

04:39.790 --> 04:40.830
și toate părtinitoarele.

04:40.860 --> 04:45.800
Și, bineînțeles, pentru a face asta, vom folosi cele două funcții pe care le-am făcut mai devreme, care

04:45.900 --> 04:48.480
este normalizat inițializatorul coloanelor și greutățile din el.

04:48.490 --> 04:49.720
Asa ca sa facem asta repede.

04:49.870 --> 04:52.180
Va fi destul de ușor și destul de rapid.

04:52.180 --> 04:56.590
Deci, mai întâi vom inițializa unele greutăți aleatorii și pentru a face acest lucru vom aplica

04:56.590 --> 04:58.420
greutățile în ea funcția obiectului nostru.

04:58.420 --> 05:03.150
Deci, aici trebuie să ne luăm de sine pentru a ne obiecta și a obiecta.

05:03.160 --> 05:06.440
Aplicăm greutatea în funcția sa.

05:06.620 --> 05:14.200
Prin urmare, în interiorul nostru trebuie doar să punem greutățile în această funcție și atunci vom obține că vom aplica această funcție

05:14.200 --> 05:20.080
obiectului nostru și prin aceasta vom iniționa doar câteva ponderi aleatorii pentru a obține o învățare optimă

05:20.140 --> 05:21.930
în viitor a acestor greutăți.

05:22.000 --> 05:27.460
Și acum ceea ce trebuie să facem este să facem o normalizare specială pentru actor și critic.

05:27.670 --> 05:33.700
Dar amintiți-mă că am spus acest lucru în tutoriile anterioare nu vom seta aceeași varianță pentru

05:33.780 --> 05:38.890
X în acrilic yakked veți obține o mică variație standard deviație mici.

05:38.890 --> 05:40.840
Și criticii vor primi unul mare.

05:40.840 --> 05:41.800
Și de ce facem asta?

05:41.800 --> 05:47.560
Care este scopul de a da o mică deviere standard a greutăților pentru actor și abaterea standard

05:47.560 --> 05:49.320
mare a drumului pentru critic.

05:49.510 --> 05:53.830
Ei bine, care permite gestionarea explorării și exploatării.

05:53.830 --> 05:58.620
Acesta este exact scopul de a face acest lucru oferindu-i o mică variație actorului dintr-o audiență mai mare

05:58.630 --> 05:59.460
la critică.

05:59.490 --> 06:04.510
Vom avea un management bun al explorării și al exploatării.

06:04.600 --> 06:07.510
Deci, haideți să facem acest lucru mai întâi să avem grijă de actor.

06:07.510 --> 06:14.170
Așa că ne-am luat pe sine sau pe obiect atunci vom lua rețeaua neurală a actorului nostru care este actorul

06:14.270 --> 06:20.350
Linnea, atunci vom accesa greutățile acestei noi rețele de actor și ne amintim că avem acces la datele

06:20.350 --> 06:23.360
despre greutățile de care avem nevoie acele date.

06:23.410 --> 06:24.280
In regula.

06:24.280 --> 06:31.000
Prin urmare, cu aceasta obținem greutățile și acum vom folosi funcția inițială de pieptene normalizată.

06:31.390 --> 06:36.520
Deci, am copiat această lipire aici și vom introduce un argument.

06:36.520 --> 06:38.810
Deviația standard pe care dorim să o aibă aceste greutăți.

06:39.160 --> 06:42.130
Dar mai întâi amintiți-vă că această funcție are două argumente.

06:42.200 --> 06:45.280
Mai întâi cum vrem să inițializăm.

06:45.280 --> 06:49.750
Deci, pur și simplu trebuie să o luăm din nou și să ne bazăm aici.

06:49.870 --> 06:53.010
Iar al doilea argument este abaterea standard.

06:53.170 --> 06:54.420
Vrem ca aceste greutăți să aibă.

06:54.580 --> 07:02.880
Așa cum am spus că vrem o mică deviere standard la actor într-o mică, va fi 0. 01 perfectă.

07:02.890 --> 07:05.880
Deci, acolo sunt greutățile rețelei neuronale a actorului.

07:05.900 --> 07:09.610
Acum, haideți să avem grijă de părtinirea noului lucru al actorului.

07:09.850 --> 07:15.460
Și, prin urmare, vom face aproape același lucru pe care îl vom copia această paste care urmează.

07:15.520 --> 07:26.470
Înlocuiți greutatea cumpărătorilor pentru a accesa cumpărătorii și, după date, pur și simplu vom adăuga umplerea și amintiți-vă în interior atunci când puneți zero,

07:26.560 --> 07:31.170
deoarece vrem ca toate dispozitivele să fie inițializate cu zero.

07:31.510 --> 07:37.840
Deci, de fapt, nu cred că această linie este necesară deoarece, după cum vă amintiți, cumpărătorii sunt deja inițializați la

07:37.840 --> 07:41.400
zero cu această funcție de umplere în funcția de așteptare.

07:41.620 --> 07:47.560
Deci știi că facem acest lucru doar pentru a ne asigura că cumpărătorii sunt de fapt inițializați la zero.

07:47.560 --> 07:49.490
Dar cred că sa făcut deja aici.

07:49.690 --> 07:52.720
Dar oricum acum suntem 100 la sută siguri.

07:53.050 --> 07:55.990
În acest moment, vom face același lucru pentru critic.

07:56.050 --> 07:59.660
Deci, să fim eficienți și să acoperim aceste două linii.

08:00.220 --> 08:07.180
Hai să-i confruntăm aici și aici vom înlocui pur și simplu actorul cu criticul.

08:07.180 --> 08:08.400
La fel și eu.

08:08.540 --> 08:13.600
Și acum singurul lucru pe care trebuie să-l schimbăm este doar abaterea standard pe care o dorim ca

08:13.600 --> 08:15.680
greutatea rețelei neuronale să o aibă criticul.

08:15.970 --> 08:23.310
Și cum vă amintiți o dată de această dată o abatere standard mare în loc de a deschide sau una vom introduce o

08:23.830 --> 08:29.680
astfel încât ne ducem avem o mică abatere standard pentru greutățile din noua lucrare a actorului și o

08:29.680 --> 08:31.610
abatere standard mare pentru greutăți.

08:31.630 --> 08:33.290
Și atunci când ajungem la critic.

08:33.370 --> 08:37.560
Și, bineînțeles, asta e ceva ce putem înlocui aici activ prin credit.

08:37.980 --> 08:40.460
În regulă, acum ne rătăcim.

08:40.510 --> 08:46.300
Deci, acum avem două lucruri rămase de făcut mai întâi este de a inițializa de asemenea părtinirea echipei și pentru a face acest lucru ne luăm obiectul nostru de sine

08:46.300 --> 08:53.500
pentru că LACMA aparține obiectului nostru și am spune sau ca T. N. atunci și apoi vom obține

08:53.870 --> 08:57.980
cele două tipuri de cumpărători care sunt în ultima.

08:58.180 --> 09:04.650
Asta este părtinirea și scorul în funcție de vârstă, iar celălalt se bazează pe vârsta scorului vârstei.

09:04.660 --> 09:09.880
Acestea sunt cele două tipuri de părtinire în CME și aceleași vor fi inițializate la zero.

09:09.880 --> 09:18.810
Deci, mai întâi accesăm datele și apoi folosim funcția de subliniere a umplerii pentru a umple toți acești cumpărători

09:18.850 --> 09:21.940
cu zero-uri, inițializându-le cu a ta.

09:21.940 --> 09:22.320
Dreapta.

09:22.360 --> 09:31.500
Și acum pentru al doilea grup de cumpărători suntem aici același înlocuiți cu vârsta după vârstă.

09:31.500 --> 09:32.430
In regula.

09:32.570 --> 09:39.560
Aceasta inițiază părtinirea zerourilor și acum ultimul lucru pe care trebuie să-l facem este să folosim o metodă care este moștenită

09:39.560 --> 09:43.090
de la capăt și modul care este metoda de tren.

09:43.220 --> 09:47.360
Și, practic, există doar o metodă care pune modulul în tratament.

09:47.540 --> 09:48.760
Deci, ce folosește.

09:48.890 --> 09:55.440
Ei bine, utilizarea este că permite activarea în cazul în care există vreo scădere în legăturile de baie.

09:55.550 --> 10:03.100
Și astfel, pentru a-l folosi, adăugăm doar tren de sine și asta pune modulul în perfectă.

10:03.170 --> 10:05.650
Așa că am terminat cu funcția inițială.

10:05.720 --> 10:11.210
Avem convoluțiile noastre avem CME avem două rețele neuronale separate pentru critic și

10:11.210 --> 10:15.400
actor și toate greutățile și părtinirea sunt bine inițializate.

10:15.620 --> 10:16.940
Deci asta e bine.

10:16.940 --> 10:21.860
Suntem gata să trecem la pasul următor, care este de a face funcția înainte care va

10:21.890 --> 10:27.230
transmite cu siguranță propagarea semnalului încă de la început cu imaginile originale de intrare în tot creierul până

10:27.230 --> 10:28.640
când vom obține ieșirea.

10:29.000 --> 10:30.770
Deci, să facem asta în următorul tutorial.

10:30.800 --> 10:32.330
Și până atunci să vă bucurați de AI.
