WEBVTT

00:00.480 --> 00:03.160
Bună ziua și bun venit la acest tutorial Python.

00:03.180 --> 00:03.520
In regula.

00:03.520 --> 00:08.810
În acest ulei vom face funcția care va selecta acțiunea potrivită și de fiecare dată.

00:08.810 --> 00:13.650
Deci, practic, vom implementa o parte care va face mașina corectă.

00:13.740 --> 00:18.780
Și de fiecare dată când merge la stânga, mergeți drept sau mergeți drept pentru a ajunge la obiectiv și

00:18.780 --> 00:20.640
pentru a evita obstacolele care coboară.

00:21.000 --> 00:22.350
Asa ca sa facem asta chiar acum.

00:22.370 --> 00:28.320
Vom începe, ca de obicei, cu surzii să definiți o funcție și apoi vom da

00:28.320 --> 00:36.370
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

00:36.550 --> 00:37.410
două argumente.

00:37.450 --> 00:43.960
Primul este sine pe măsură ce te referi la obiect și la al doilea argument care,

00:43.960 --> 00:46.150
după tine, va fi unul.

00:46.390 --> 00:47.860
Ei bine ce ar putea fi.

00:47.860 --> 00:54.220
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

00:54.220 --> 00:59.890
neuronale sau valorile q pentru fiecare dintre cele trei acțiuni posibile și, prin urmare, acțiunea pe

00:59.890 --> 01:05.980
care o jucăm acțiunea care va fi rezultatul rețeaua neuronală depinde de starea de intrare, iar stările

01:05.980 --> 01:11.610
de intrare sunt exact al doilea argument de care avem nevoie cu funcția selectare acțiune.

01:11.680 --> 01:16.310
Este pentru că vom lua literalmente rezultatul rețelei neuronale.

01:16.510 --> 01:22.180
Și, desigur, ieșirea rețelei neuronale depinde direct de intrarea rețelei neuronale.

01:22.360 --> 01:24.010
Deci asta va fi argumentul nostru.

01:24.280 --> 01:31.720
Și acum îi putem da un nume pe care îl vom numi de fapt, deoarece intrările rețelelor neuronale sunt stările

01:31.960 --> 01:38.280
de intrare care sunt și codificate de un vector de cinci dimensiuni la trei direcții de semnale

01:38.480 --> 01:39.920
și orientare minus.

01:40.120 --> 01:42.120
Și acum lucrurile vor fi ușor.

01:42.160 --> 01:47.860
Vom alimenta starea de intrare in reteaua neuronala pe care o construim chiar deasupra aici

01:47.860 --> 01:54.520
cu urmatoarea clasa si apoi vom obtine rezultatele care sunt valorile cheie pentru fiecare din cele trei posibile

01:54.520 --> 01:59.530
actiuni si apoi folosind metoda Max Max pe care o voi explica în

01:59.530 --> 02:00.360
acest tutorial.

02:00.400 --> 02:03.140
Vom lua acțiunea finală de jucat.

02:03.280 --> 02:08.460
Deci haideți să facem acest lucru să mergem în funcție și să punem în aplicare toate acestea.

02:08.470 --> 02:14.980
Deci, primul lucru de care trebuie să începem este despre ceea ce tocmai am menționat că a dat-o lui Max. Ideea

02:14.980 --> 02:20.590
soft-ului Max este că vom încerca să obținem cele mai bune acțiuni de jucat în fiecare moment.

02:20.740 --> 02:25.000
Dar, în același timp, vom explora diferitele acțiuni.

02:25.000 --> 02:25.950
Și cum facem asta?

02:25.960 --> 02:31.080
Cum putem obține cea mai bună acțiune pentru a juca în timp ce explorăm încă celelalte acțiuni.

02:31.270 --> 02:39.250
Am folosit această idee de lucruri care constă în generarea unei distribuții de probabilități pentru fiecare dintre

02:39.250 --> 02:40.370
valorile q.

02:40.420 --> 02:42.100
Acțiunile statelor membre.

02:42.160 --> 02:46.600
Acum avem o valoare Q pentru fiecare acțiune mergeți la stânga mergeți drept sau mergeți drept.

02:46.850 --> 02:49.680
Dar această valoare q depinde și de starea de intrare.

02:49.690 --> 02:52.720
Aceasta este exact funcția Q folosită pentru cursurile de intuiție.

02:52.870 --> 02:56.280
Această funcție Q este o funcție a stării și a acțiunii.

02:56.320 --> 03:02.540
Deoarece avem aici o stare de intrare care este statul aici și trei acțiuni

03:02.540 --> 03:09.070
posibile, avem trei noi valori Q. Acțiunea de stat 1 acțiunea de stat Q 2 și acțiunea

03:09.070 --> 03:13.760
a două state 3 și vom genera o distribuție a probabilităților cu privire la aceste trei valori-cheie.

03:13.930 --> 03:19.420
Aceasta va fi o probabilitate pentru prima valoare Q de probabilitate pentru cea de-a doua valoare

03:19.420 --> 03:25.490
Q și oa treia probabilitate pentru a treia Q. Și toate cele trei probabilități vor ajunge la 1.

03:25.670 --> 03:31.840
Și așa vom face toate astea cu Max Max și Max va atribui o mare probabilitate celui mai înalt

03:32.170 --> 03:33.530
Q în jurul valorii.

03:33.820 --> 03:41.050
De aceea, o alternativă la softul Max este un RMX simplu, fără a lua în mod direct maximum valorile q,

03:41.530 --> 03:44.860
dar în acest caz nu explorăm celelalte acțiuni.

03:44.920 --> 03:50.500
Datorită acestor probabilități putem explora în altă parte folosind un parametru de temperatură pe care vom

03:50.500 --> 03:51.900
vedea foarte repede.

03:52.210 --> 03:55.990
Încă le putem explora prin configurarea acestui parametru de temperatură.

03:56.020 --> 04:03.380
De aceea, în general în ceea ce privește securitatea, recomand foarte mult utilizarea unui soft x decât un simplu RMX.

04:03.460 --> 04:06.990
În regulă, haideți să implementăm X și, prin urmare, cum ați înțeles.

04:07.060 --> 04:12.990
Din moment ce sutina Max returnează probabilitățile fiecăreia dintre cele trei valori Q pentru cele trei acțiuni posibile.

04:13.180 --> 04:20.120
Ei bine, prima variabilă pe care o vom crea probabil se referă probabil la aceste probabilități.

04:20.450 --> 04:26.680
Deci recuzele sunt egale și acum ne vom lua funcția următoare și în funcție de dvs. de unde

04:26.680 --> 04:28.070
o vom lua.

04:28.330 --> 04:31.600
Bineînțeles că am amintit că am importat.

04:31.700 --> 04:38.130
Și apoi submodulul funcțional pe care-mi amintesc este modulul care conține majoritatea acțiunilor de implementare a

04:38.140 --> 04:39.790
unei rețele neuronale.

04:39.820 --> 04:44.980
Am dat-o comenzii rapide F și așa că de fapt, din acest submodul

04:44.980 --> 04:46.990
funcțional, vom avea funcția următoare.

04:47.290 --> 04:53.830
Dar din moment ce am dat o scurtătură f începem aici cu un Neph reprezentând funcționalul din

04:54.040 --> 04:56.080
care ne luăm funcția următoare.

04:56.080 --> 04:56.920
Aici este.

04:56.980 --> 04:59.540
Aceasta este prima și paranteza.

04:59.770 --> 05:00.160
In regula.

05:00.200 --> 05:03.920
Acum, ce trebuie să introducem în următoarea funcție.

05:04.150 --> 05:10.020
Ei bine, aceasta este, desigur, entitățile pentru care vrem să generăm o distribuție a probabilităților.

05:10.190 --> 05:11.430
Și ce sunt aceste entități.

05:11.550 --> 05:13.870
Ei bine, acestea sunt, desigur, valorile cheie.

05:13.870 --> 05:16.790
Deci acum întrebarea este cum putem obține valorile q.

05:16.960 --> 05:22.720
Desigur, valorile q sunt rezultatul rețelei neuronale și pentru a obține aceste ieșiri ale rețelei

05:22.720 --> 05:23.410
neuronale.

05:23.590 --> 05:24.560
Ei bine, aici mergem.

05:24.610 --> 05:26.830
Trebuie să luăm noua noastră rețea.

05:27.100 --> 05:33.520
Dar, de fapt, o avem deja pentru că asta a inițializat în cele din urmă funcția.

05:33.530 --> 05:39.980
Știm că am creat un model auto-predat, care nu este altceva care nu va funcționa, deoarece este un nou obiect al

05:40.290 --> 05:41.540
clasei de rețea.

05:41.600 --> 05:42.820
Și așa este perfect.

05:42.830 --> 05:49.040
Putem doar să luăm modelul aici și lucrurile să aplicăm apoi acest model la starea de intrare care este argumentul

05:49.040 --> 05:52.950
aici și care va reveni la rezultatele pe care le căutăm.

05:53.090 --> 05:54.440
Acestea sunt valorile cheie.

05:54.560 --> 06:00.260
Ș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

06:00.260 --> 06:00.840
mai bună.

06:00.920 --> 06:06.410
Aceia dintre voi, începând cu programarea orientată pe obiecte, veți vedea că toate acestea vor deveni naturale

06:07.100 --> 06:08.780
atât de moi, atunci.

06:08.870 --> 06:16.840
Așadar, luăm propriile noastre modele, deoarece acesta trebuie să fie modelul obiectului pe care l-am creat aici.

06:17.180 --> 06:24.350
Dar atunci avem nevoie pentru a obține ieșirea din modelul rețelei noastre neuronale și, prin urmare, vom auzi

06:24.350 --> 06:30.400
o paranteză în care vom intra. Ei bine, statul de intrare numit stat aici.

06:30.620 --> 06:39.350
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

06:39.350 --> 06:40.560
set chiar acum.

06:40.790 --> 06:46.850
Dar amintiți-vă că starea va fi de fapt un senzor de torță, pentru că mai târziu vom folosi această

06:46.920 --> 06:52.190
celulă la o stare mai mică pentru ao pune ca argument al funcției Selectare acțiune.

06:52.190 --> 06:57.430
Argumentul statului, care este aici, va deveni mai târziu acest stat mai puțin autodidact.

06:57.680 --> 07:01.680
Și din moment ce aceasta este o lume de răspuns torturat, modelul o va accepta.

07:01.760 --> 07:02.690
Așa că e bine.

07:02.810 --> 07:05.000
Dar acum putem îmbunătăți algoritmul.

07:05.180 --> 07:12.490
Deci, de îndată ce statul este un senzor de torță și așa cum am spus mai devreme majoritatea senzorilor sunt înfășurați

07:12.500 --> 07:13.260
în voievod.

07:13.320 --> 07:15.640
Aceasta va conține, de asemenea, un gradient.

07:15.650 --> 07:22.110
Deci, chiar acum ceea ce vom face mai întâi este să înfășurați această stare de intrare care este un tensor

07:22.110 --> 07:27.990
într-o torță foarte bine dar, deoarece aceasta este starea de intrare Ei bine, nu va fi o diferențiere.

07:28.160 --> 07:34.700
Nu vom folosi gradientul acestui stat toric voievod și care ar putea fi

07:34.880 --> 07:45.530
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.

07:45.780 --> 07:51.400
Dar apoi să precizăm că nu vrem gradientele din graf la toate care pot dărâmături la sfârșitul

07:51.400 --> 07:52.380
lui Mudgal.

07:52.570 --> 07:57.800
Ei bine, vom veni de aici volatile egale cu adevărat.

07:58.150 --> 08:06.160
Deci, acum avem senzorul de incendiu de stat într-o torță foarte bine, dar datorită acestui Votel este egal cu

08:06.160 --> 08:07.200
adevăratul barometru.

08:07.390 --> 08:14.950
Ei bine, vom include gradientele asociate acestor stări de intrare în graficul tuturor condițiilor de sfârșit

08:15.100 --> 08:16.530
în modelul respectiv.

08:16.840 --> 08:18.530
Deci, asta e un alt truc tehnic.

08:18.550 --> 08:23.130
Acest lucru ne va salva o memorie și, prin urmare, acest lucru va îmbunătăți performanța.

08:23.170 --> 08:27.850
Așadar, recomand foarte mult să faceți acest lucru și acum vom adăuga ceva mai distractiv.

08:27.910 --> 08:30.640
Este vorba despre acest parametru de temperatură pe care tocmai l-am menționat.

08:30.850 --> 08:36.190
Deci, acest parametru de temperatură este parametrul care ne-ar permite să modulam modul în care rețeaua neuronală va fi

08:36.190 --> 08:40.040
sigură cu privire la ce acțiune ar trebui să decidă să joace.

08:40.210 --> 08:47.290
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

08:47.290 --> 08:53.200
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ă

08:53.410 --> 08:56.540
va fi cea a acțiunii pe care decide să o joace .

08:56.890 --> 09:04.480
Și pentru a adăuga acest parametru voi înmulți ieșirile care sunt Kugan utilizate de acest parametru de

09:04.480 --> 09:05.250
temperatură.

09:05.500 --> 09:13.440
Deci, haideți să începem, de exemplu, cu 7 și voi specifica aici micul comentariu T egal cu 7.

09:13.460 --> 09:15.610
Deci acesta este parametrul de temperatură.

09:15.690 --> 09:17.210
Îmi pare rău să merg la 7.

09:17.260 --> 09:21.010
Vom incerca si altele, dar vreau doar sa inceapa cu unul mic, pentru ca veti

09:21.010 --> 09:22.470
vedea asta cu unul mic.

09:22.510 --> 09:28.150
Mașina noastră se va comporta în continuare ca un fel de insectă, dar apoi prin creșterea parametrului de

09:28.510 --> 09:34.340
temperatură codul nostru va arăta mai mult ca o mașină și decide să vândă conducerea va fi mult mai bună.

09:34.480 --> 09:40.450
Și astfel are sens, deoarece cu cât este mai mare acest parametru de temperatură,

09:40.450 --> 09:48.010
cu atât mai mare va fi probabilitatea câștigării Juval, deoarece, de exemplu, dacă avem max max de valori q.

09:48.190 --> 09:54.850
Să luăm câteva cifre simple, câte două trei, dacă umplute maxim de una până la trei egale.

09:54.850 --> 10:01.150
De exemplu, 0. 04 0. 11 și deschideți optzeci și cinci.

10:01.270 --> 10:05.650
Apoi, prin creșterea temperaturii prin luarea unei temperaturi mai ridicate.

10:05.680 --> 10:13.360
În momentul de față, temperatura este egală cu cea a unei temperaturi ridicate, cum ar fi, de exemplu, scăderea Tussaudului. Să

10:13.360 --> 10:22.210
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

10:22.210 --> 10:24.110
de temperatură de trei.

10:24.370 --> 10:31.390
Ei bine, vom obține ceva de genul zero pentru prima valoare Q, deoarece aceasta avea o probabilitate foarte scăzută ca

10:31.530 --> 10:38.020
ceva în jurul valorii de zero, apoi ceva foarte mic pentru a doua probabilitate, deoarece aceasta era încă

10:38.020 --> 10:39.260
o probabilitate mică.

10:39.410 --> 10:42.910
De exemplu, să spunem de exemplu sau punctul 0 2.

10:43.320 --> 10:49.910
Dar apoi această a treia probabilitate, deoarece a fost cea mai mare și una destul de înaltă.

10:50.140 --> 10:55.180
Creșterea temperaturii această probabilitate va fi și mai mare pentru că vom fi și mai

10:55.180 --> 11:02.230
siguri că aceasta este valoarea corectă Q corespunzătoare acțiunii pe care trebuie să o jucăm și, prin urmare, aceasta va fi

11:02.230 --> 11:05.630
ceva de genul 0. 2 98.

11:05.980 --> 11:11.800
Acum prin creșterea parametrului temperaturii Ei bine, acum suntem și mai siguri că a treia acțiune ar trebui

11:11.800 --> 11:17.530
să fie acțiunea de jucat deoarece probabilitatea valorii q a acestei acțiuni nu este numai cea mai

11:17.530 --> 11:19.590
mare, ci și foarte mare.

11:19.840 --> 11:22.600
Deci despre asta este vorba despre acest parametru de temperatură.

11:22.660 --> 11:27.340
Este vorba despre siguranța în ce direcție ar trebui să ne hotărâm să jucăm.

11:27.340 --> 11:27.610
In regula.

11:27.610 --> 11:29.450
Deci voi elimina acest comentariu.

11:29.470 --> 11:31.000
Aceasta a fost doar pentru a explica.

11:31.200 --> 11:33.490
Și acum să luăm acțiunea noastră.

11:33.490 --> 11:35.370
Și cum o să faci asta?

11:35.560 --> 11:41.440
Principiul următoarei metode nu este numai de a genera o distribuție de probabilități pentru fiecare dintre

11:41.440 --> 11:46.390
valorile cheie, dar și de asemenea este a doua etapă a metodei următoare.

11:46.480 --> 11:51.820
Luăm o remiză aleatorie din această distribuție pentru a obține acțiunea noastră finală.

11:52.010 --> 11:57.310
Și, bineînțeles, vom avea o șansă mare de a obține acțiunea care corespunde valorii Q

11:57.310 --> 12:01.660
care are cea mai mare probabilitate, deoarece exact așa funcționează distribuția.

12:01.660 --> 12:02.550
Așa că mergem.

12:02.560 --> 12:04.040
Să facem acțiunea noastră.

12:04.060 --> 12:11.380
Așa că vom introduce un nou Voivod este că vom chema acțiune și această acțiune va fi

12:11.380 --> 12:17.460
o remiză aleatorie a distribuției de probabilități pe care tocmai am creat-o acum înainte.

12:17.510 --> 12:20.100
Și cum să obținem o remiză aleatoare.

12:20.200 --> 12:26.410
Ei bine, vom lua probabilitățile proprii ale fiecăreia dintre valorile-cheie pe care le luăm elemente de

12:26.650 --> 12:34.120
recuzită și apoi vomă și apoi vom folosi funcția multi Gnomeo și asta ne va da o remiză aleatorie din

12:34.120 --> 12:36.030
acest proces de distribuție.

12:36.160 --> 12:38.420
Deci, asta-i tot ce-i va face reacția.

12:38.470 --> 12:39.280
Perfect.

12:39.490 --> 12:42.790
Și acum, bineînțeles, vom reveni la acțiune.

12:42.790 --> 12:44.730
Există un mic șmecherie aici.

12:44.810 --> 12:51.460
Care este faptul că această Propastă că multiinomial întoarce PI spre viabil cu o insignă falsă.

12:51.490 --> 12:57.210
Cunoasteti aceste diamante false si corespunde lotului si, prin urmare, pentru a obtine rezultatul corect pe care

12:57.220 --> 13:00.540
dorim sa o activa in 0 1 sau 2.

13:00.820 --> 13:08.200
Trebuie doar să adăugăm aici date și apoi câteva paranteze și acțiunile de aici sunt una sau două pe

13:08.230 --> 13:13.100
care le căutăm este conținut și indexul este 0 și 0.

13:13.570 --> 13:14.000
In regula.

13:14.000 --> 13:14.730
Și acolo mergem.

13:14.740 --> 13:21.420
Acum avem acțiunea noastră mulțumită acestei funcții selectate de acțiune, AI va ști acum ce acțiune să joace.

13:21.490 --> 13:22.440
Și de fiecare dată.

13:22.810 --> 13:23.460
Teribil.

13:23.500 --> 13:27.430
Deci, acum putem trece la următoarea funcție care va fi funcția de învățare.

13:27.520 --> 13:32.410
Și acolo vom antrena întreaga rețea neuronală pe care o cunoașteți cu toată propagarea înainte și

13:32.410 --> 13:35.790
apoi propagarea înapoi este aceea de a clasifica în sensul respectiv.

13:35.950 --> 13:41.500
În principiu, vom implementa întreaga formare a modelului de învățare profundă, care este în

13:41.560 --> 13:43.340
centrul inteligenței noastre artificiale.

13:43.480 --> 13:44.680
Așa că nu pot să aștept să fac asta.

13:44.680 --> 13:49.290
Acesta va fi un tutorial interesant și vă voi vedea în următoarea Statoil.

13:49.510 --> 13:50.670
Până atunci, bucurați-vă.

13:50.720 --> 13:51.000
I.
