WEBVTT

00:00.240 --> 00:06.600
Bună ziua și bun venit la acest tutorial Python din Statoil vom face primul pas în

00:06.630 --> 00:08.270
implementarea modelului teoriei profunde.

00:08.280 --> 00:13.590
Deci, practic, suntem pe punctul de a implementa întregul proces al algoritmului de difuzie.

00:13.830 --> 00:16.580
Și așa vom folosi ceea ce am creat înainte.

00:16.590 --> 00:22.460
Aceasta este arhitectura rețelei neuronale pentru reluarea memoriei pentru a integra acest lucru în întregul

00:22.530 --> 00:24.180
proces de învățare.

00:24.180 --> 00:28.320
Și acest întreg algoritm de învățare se va potrivi într-o singură clasă.

00:28.380 --> 00:32.340
Acesta este ultimul lucru pe care îl facem să punem în aplicare inteligența artificială.

00:32.340 --> 00:35.650
Și această clasă va conține doar funcții diferite.

00:35.700 --> 00:41.790
Așadar, vom avea funcțiile care vor crea și iniția toate variabilele atașate obiectelor

00:41.790 --> 00:48.450
noastre viitoare de ocolire care vor reprezenta modelul însuși și vor avea și alte funcții.

00:48.510 --> 00:52.830
Unul dintre ei va fi, desigur, acela de a selecta acțiunea potrivită în fiecare moment.

00:52.950 --> 00:59.250
Vom avea, de asemenea, o funcție de bază a funcției de actualizare pentru a obține acest nucleu și a avea o idee despre modul în care procesul

00:59.250 --> 01:01.030
de învățare se desfășoară dacă merge bine.

01:01.090 --> 01:07.080
Dacă explorarea merge bine și dacă se poate trece la exploatare și atunci vom avea o funcție

01:07.080 --> 01:12.430
sigură pentru a salva mâine, care înseamnă salvarea creierului mașinii și apoi încărcarea funcției.

01:12.480 --> 01:14.590
Deci, avem câteva funcții de făcut.

01:14.640 --> 01:17.440
Vom face o singură funcție pentru fiecare să lucreze.

01:17.490 --> 01:22.820
Și astăzi vom începe cu funcția de sfârșit ca de obicei atunci când vom face o cursă.

01:23.010 --> 01:30.040
Dar mai întâi să nu uităm să introducem clasa, așa că o vom numi D.

01:30.200 --> 01:35.970
Și pentru rețeaua dvs., atunci vă invităm la o paranteză.

01:36.030 --> 01:39.440
Și apoi mergem cu prima noastră funcție.

01:39.500 --> 01:47.910
Deci haideți să facem acest def, apoi dublu subliniați apoi dublu subliniază din nou și paranteză.

01:48.170 --> 01:53.530
Așa cum ați înțeles în această funcție, vom introduce variabilele atașate obiectului nostru.

01:53.570 --> 01:59.240
Așadar, vom avea câteva linii care să pornească de la sine și vom crea

01:59.300 --> 02:03.530
și vom inițializa toate variabilele necesare pentru implementarea rețelei D2.

02:03.530 --> 02:09.740
De exemplu, vom crea un obiect sau o rețea deoarece, desigur, avem nevoie de rețeaua noastră neuronală profundă, atunci vom

02:10.310 --> 02:12.190
avea nevoie de memoria noastră.

02:12.300 --> 02:14.630
Vom crea o altă variabilă pentru memorie.

02:14.740 --> 02:20.430
Așadar, vom avea o altă memorie variabilă, dar nu este tot ce va trebui să creăm și noi.

02:20.480 --> 02:22.390
Unele variabile pentru ultima dată.

02:22.490 --> 02:24.820
Ultima acțiune și ultimul cuvânt.

02:24.920 --> 02:30.520
Desigur, știți variabilele pe care le vedeți în algoritmul de difuzie.

02:30.920 --> 02:31.830
Și apoi ce altceva.

02:31.940 --> 02:38.150
Ei bine, vom avea nevoie, de asemenea, de un optimizator pe care îl cunoașteți pentru a efectua o rețea stochastică în sensul

02:38.510 --> 02:42.170
greutății datelor, în funcție de cât de mult va contribui la eroare.

02:42.320 --> 02:48.650
Atunci când AI face o greșeală și apoi cred că așa că este în esență variabilele pe care trebuie acum să le

02:48.650 --> 02:50.230
creăm și să le inițializăm.

02:50.510 --> 02:58.460
Dar în această funcție init vom pune mai întâi câteva argumente ca sinele obișnuit, care este argumentele care se

02:58.460 --> 03:00.190
referă la obiectul nostru.

03:00.200 --> 03:05.210
Apoi, deoarece știți că vom crea un obiect al clasei de rețea.

03:05.390 --> 03:12.740
Ei bine, deoarece clasa de rețea are ca argument în dimensiunea de intrare funcția init și acțiunea Ei bine, este același

03:12.740 --> 03:13.740
lucru aici.

03:13.850 --> 03:19.110
Atunci când creați un obiect al clasei de rețea, va trebui să alegeți un argument de dimensiune de intrare

03:19.160 --> 03:20.180
și argumentul real.

03:20.180 --> 03:22.140
Prin urmare, putem să le copiem

03:25.660 --> 03:27.520
doar aici și aici mergem.

03:27.710 --> 03:30.450
Deci, aceste argumente vor deveni acum.

03:30.560 --> 03:33.160
De asemenea, unele argumente nu au rezistat.

03:33.170 --> 03:39.680
Ori de câte ori creăm niște obiecte viitoare ale clasei diferite că unele modele de rol dical viitor, bine, va

03:39.680 --> 03:45.010
trebui să specificăm dimensiunea de intrare pe care am amintit este numărul de dimensiuni în vectorii care

03:45.010 --> 03:46.330
includ stările tale.

03:46.370 --> 03:52.940
Situațiile dvs. de intrare și o serie de acțiuni care reprezintă numărul de posibile acțiuni pe care le poate face mașina.

03:53.150 --> 03:54.000
Vă reamintesc.

03:54.110 --> 03:57.830
Acestea sunt fie mergeți la stânga mergeți drept sau mergeți la dreapta.

03:58.190 --> 03:59.270
Bine perfect.

03:59.270 --> 04:04.640
Apoi știți că veți crea un obiect nou al clasei de memorie replay pentru a

04:04.640 --> 04:10.680
crea obiectul de memorie pentru a ne memora tranzițiile și în informațiile pe care le avem argumentul capacității.

04:10.850 --> 04:16.640
Dar din moment ce o vom folosi doar odată, atunci când vom crea memorie și nu orice după

04:16.640 --> 04:20.000
aceea Ei bine, nu va trebui să specificăm argumentul capacității.

04:20.030 --> 04:25.330
Am putea face acest lucru, dar vom introduce direct numărul de tranziții pe care vrea să le aibă memoria noastră.

04:26.150 --> 04:32.390
Dar avem nevoie de un ultim argument, care este de a obține parametrul în modelul profesorului.

04:32.480 --> 04:35.470
Amintiți-vă că acest parametru gamma este întârzierea.

04:35.750 --> 04:41.300
Și acesta este un parametru al ecuației și, prin urmare, o vom pune aici pentru că o vom folosi ulterior

04:41.510 --> 04:42.920
de mai multe ori.

04:43.160 --> 04:44.990
Așa că haideți să o punem aici.

04:45.070 --> 04:47.140
O vom numi Gamma.

04:47.150 --> 04:52.610
Deci, pentru că este doar numele argumentului și apoi vom merge toate argumentele de care veți avea nevoie pentru acest

04:52.610 --> 04:53.740
lucru în funcția sa.

04:53.750 --> 05:00.320
Asta înseamnă că ori de câte ori creăm modelul nostru de dicționare, atunci când creăm un obiect al profesorului

05:00.320 --> 05:01.390
în clasă.

05:01.520 --> 05:08.060
Ei bine, va trebui să specificăm ca argumente dimensiunea intrării numărul de acțiune și parametru.

05:08.360 --> 05:10.590
Și vom termina cu valorile reale pentru ei.

05:11.210 --> 05:13.870
Acum să mergem în interiorul funcției.

05:14.100 --> 05:14.400
O.K.

05:14.410 --> 05:16.480
Deci acum, practic, acest lucru va fi ușor.

05:16.510 --> 05:21.090
Suntem pe cale să creăm și să inițializăm toate variabilele de care avem nevoie.

05:21.110 --> 05:22.770
Și să începem cu prima.

05:22.910 --> 05:24.460
Să începem cu gamma.

05:24.530 --> 05:26.090
De fapt, coeficientul de întârziere.

05:26.330 --> 05:31.850
Deci, deoarece acesta este un voievod care vrea să fie atașat obiectului ei, începem cu sine.

05:31.880 --> 05:39.500
Deci, gama va fi o variabilă a învățătorului și a modelului propriu, că gama este egală cu argumentele care vor fi introduse

05:39.530 --> 05:42.930
când se creează un obiect al clasei de detune.

05:42.950 --> 05:46.900
Deci, Janna și acolo mergem cu al doilea argument.

05:47.040 --> 05:50.560
Al doilea argument va fi fereastra de recompensă.

05:50.840 --> 05:52.340
Deci, ce este această fereastră.

05:52.520 --> 05:57.950
Ei bine, asta va fi fereastra de alunecare din mijlocul ultimelor 100 de cuvinte pe care le

05:58.010 --> 06:04.280
vei folosi doar pentru a evalua evoluția performanței pe care o știi că va avea sensul cuvântului în acest război

06:04.280 --> 06:06.320
Windu care va aluneca în timp.

06:06.440 --> 06:11.680
Și ceea ce dorim să observăm este semnificația ultimelor 100 de cuvinte care cresc în timp.

06:11.930 --> 06:18.610
Deci, să o inițializăm cu sine care recompensează fereastra de subliniere.

06:18.710 --> 06:24.690
Și din moment ce aceasta va fi o fereastră alunecoasă a mediei evolutive a ultimelor 100 de cuvinte.

06:24.860 --> 06:31.710
Ei bine, o vom inițializa ca pe o listă goală și apoi ne vom extinde pentru a însemna că lucrăm suplimentar.

06:32.860 --> 06:35.320
Bine, atunci mai interesant.

06:35.420 --> 06:37.430
Să ne creăm rețeaua neurală.

06:37.580 --> 06:43.780
Așa că o să-l numim "auto-învățat Mario", pentru că în esență asta este inima modelelor.

06:43.790 --> 06:51.890
Îl numesc model și acest model nu va fi altceva decât un subiect din acea clasă și să creeze un

06:51.890 --> 06:53.270
astfel de obiect.

06:53.300 --> 07:02.630
Noi luăm rețeaua de clasă în paranteză și aici am pus doar argumentele clasei dar am pus aceste argumente în argumentele

07:02.750 --> 07:08.930
funcției init și de aceea trebuie doar să le copiem aici și să

07:08.930 --> 07:15.290
le lipim în clasa de rețea și apoi noi du-te cu această linie de cod.

07:15.350 --> 07:22.690
Creăm o rețea neurală pentru a învăța modelul perfect, apoi să ne creăm o memorie.

07:22.880 --> 07:29.930
Așa că din nou vom crea un nou Vargo pe care îl numim memorie auto-învățată.

07:29.930 --> 07:34.190
Și din nou, acest lucru va fi un obiect al clasei de memorie reluată.

07:34.220 --> 07:42.320
Deci, să luăm numele sau clasa să copiem și să ne confruntăm cu asta aici și în unele paranteze trebuie să

07:42.320 --> 07:48.680
punem capacitatea deoarece capacitatea este un argument al funcției și acesta este singurul argument de care

07:48.680 --> 07:49.880
avem nevoie aici.

07:50.240 --> 07:55.100
Deci, ce capacitate vom alege să ne amintim că corespunde numărului de tranziții numărul

07:55.100 --> 07:59.800
de evenimente ultima stare pe care le menționați ultima acțiune și ultimul cuvânt.

07:59.830 --> 08:07.550
Și așa cum am menționat într-unul din trupele lui Priester, vom lua o sută de mii o sută de mii

08:07.550 --> 08:14.390
de tranziții în memorie și apoi vom încerca din această memorie să obținem un număr mic de

08:14.390 --> 08:18.670
tranziții aleatorii și pe care modelul va fi în regulă.

08:18.720 --> 08:21.210
Deci acum avem memoria noastră perfectă.

08:21.210 --> 08:23.180
Acum, să luăm optimizatorul nostru.

08:23.430 --> 08:31.800
Așadar, din nou, vom crea o nouă variabilă pe care o numim optimizator, astfel încât optimizatorul este o altă variabilă a

08:31.800 --> 08:35.320
viitorului nostru dequeue un sine obiect care optimizator.

08:35.520 --> 08:44.130
Și acum, dacă ne întoarcem în sus, puteți vedea că am importat torturat Upton, care este o torță modulară, care conține toate instrumentele

08:44.160 --> 08:47.080
necesare pentru a face grila în centru.

08:47.130 --> 08:54.260
Așa că, desigur, acesta conține unii optimizatori și i-am dat scurtatura Upton și de aici aici ceea ce vom face

08:54.270 --> 09:00.900
este să luăm modelul până la el, care este torța care până la el și din acest modul

09:00.900 --> 09:03.060
vom lua unul dintre optimizatori.

09:03.180 --> 09:05.670
Așa cum puteți vedea că sunt enumerate aici.

09:05.880 --> 09:10.630
Multe dintre ele sunt excelente, de exemplu, armura lui Propp este un optimizator excelent.

09:10.640 --> 09:16.170
Există, de exemplu, foarte recomandat pentru înregistrarea rețelelor neuronale sau învățarea adâncă nesupravegheată.

09:16.230 --> 09:22.140
Dar celălalt care este excelent și că va alege este optimizatorul de atomi.

09:22.500 --> 09:26.400
Asta o vei vedea că cu asta o să ai o mașină bună de auto-conducere.

09:26.580 --> 09:32.000
Dar din nou sunteti bineveniti sa incercati si alti oameni pe care puteti incerca sa-i incercati, dar pentru metal vom

09:32.000 --> 09:32.810
alege Adam.

09:32.850 --> 09:34.290
Deci, apăs pe Enter.

09:34.560 --> 09:37.240
Și, de fapt, veți observa că aici este capitolul.

09:37.260 --> 09:40.430
Asta pentru că creăm un obiect al clasei Atom.

09:40.430 --> 09:44.990
Aceasta este o clasă, dar obiectul va fi un optimizator atomic în sine.

09:45.060 --> 09:50.970
Dar, deoarece aceasta este o clasă, trebuie să punem câteva argumente argumentele clasei Atom și

09:51.060 --> 09:55.270
argumentele sunt toți parametrii care vă pot personaliza și optimizatorul.

09:55.380 --> 10:00.330
De exemplu, aceasta este de obicei rata de învățare a degradării sau alți parametri.

10:00.510 --> 10:05.690
Și, pe lângă luarea tuturor parametrilor Ormeau, vom specifica o rată de învățare.

10:05.970 --> 10:08.650
Deci este începutul parametrilor modelului nostru.

10:08.670 --> 10:12.830
Le putem obține cu un model de îndoială.

10:12.870 --> 10:17.530
Deci acesta este modelul pe care l-am creat aici modelul de auto-învățat din clasa noastră.

10:17.580 --> 10:24.780
Astfel, modelul auto-predat și apoi accesul la parametrii modelului adaugăm un alt punct și apoi parametrii cu

10:25.500 --> 10:28.170
o anumită paranteză foarte simplu.

10:28.170 --> 10:35.860
Deci, doar pentru a conecta optimizatorul de addon la rețeaua noastră neuronală, cea pe care am creat-o aici, atunci, după

10:35.880 --> 10:42.810
cum am menționat deja, vom adăuga o rată de învățare, iar argumentul pentru aceasta este al nostru.

10:43.170 --> 10:50.540
Și o vom stabili cu o valoare astfel încât învățarea să nu se întâmple prea repede dacă obținem o rată de învățare

10:50.540 --> 10:53.910
prea mare, atunci când AI AI va învăța cum trebuie.

10:53.910 --> 10:58.890
Vrem să oferim AI-ului nostru un timp pentru a explora învăța din greșelile sale.

10:58.890 --> 11:04.320
Știți când o pedepsim atunci când face niște greșeli ca să mergem într-un sens sau să ne apropiem prea

11:04.320 --> 11:05.510
mult de un zid.

11:05.770 --> 11:08.780
Ei bine, vrem să dăm ceva timp pentru a învăța.

11:08.880 --> 11:12.030
Vrem o cale spre rețeaua neuronală corectă.

11:12.180 --> 11:21.010
Și astfel, o valoare bună pentru rata de învățare la care am ajuns după ce am încercat mai multe dintre ele este 0. 2 sau una.

11:21.210 --> 11:24.540
În regulă și asta e tot ce trebuie pentru a crea un optimizator.

11:24.720 --> 11:28.320
Deci, în principiu creați un obiect al clasei Atom.

11:28.530 --> 11:29.050
Grozav.

11:29.070 --> 11:35.980
Și apoi ultimele trei variabile de care avem nevoie sunt variabilele care compun evenimentele noastre de tranziție.

11:36.150 --> 11:40.130
Deci este ultima dată ultima acțiune și ultimul cuvânt.

11:40.170 --> 11:45.280
Și, în principiu, asta vom crea acum și va trebui să le inițializăm.

11:45.300 --> 11:50.130
Deci, să începem cu ultima dată la ultima dată pe care o vom numi auto-predată.

11:50.400 --> 11:56.000
Ultima stare de subliniere și apoi cum o să inițializați.

11:56.190 --> 12:03.840
Amintiți-vă ultima dată este un vector de 5 dominări un vector care este codificat într-o stare a

12:03.840 --> 12:04.700
mediului.

12:04.950 --> 12:10.800
Și ca o reamintire, aceste cinci dimensiuni sunt cele trei semnale ale celor trei

12:10.800 --> 12:15.180
senzori lăsați drept și drept și orientare orientată și minus.

12:15.210 --> 12:18.350
Deci, acesta este un vector și un sens intuitiv.

12:18.420 --> 12:21.060
Dar, datorită torței, trebuie să fie mai mult decât un vector.

12:21.210 --> 12:23.640
De fapt, trebuie să fie un tensor al torței.

12:23.820 --> 12:29.970
Dar nu numai că trebuie să fie un senzor de torță, dar trebuie să aibă încă o dimensiune pe care

12:29.970 --> 12:33.510
îmi place să o numesc dimensiune falsă care corespunde lotului.

12:33.630 --> 12:39.810
Și asta pentru că ultimele opt vor fi intrarea rețelei neuronale, dar atunci când lucrează cu mine când funcționează în

12:39.810 --> 12:46.220
general dacă este cu un flux mai dens poartă o lanternă, în timp ce vectorii de intrare nu pot fi un

12:46.290 --> 12:48.040
vector simplu de la sine.

12:48.210 --> 12:49.760
Trebuie să fie într-un lot.

12:49.830 --> 12:57.660
Rețeaua poate accepta doar loturi de observații de intrare și, prin urmare, nu numai că va crea un

12:57.870 --> 13:05.140
tensor pentru vectorii de stare de intrare, ci și vom crea această dimensiune falsă corespunzătoare lotului.

13:05.190 --> 13:11.490
Deci, haideți să facem acest lucru și să începem prin inițierea unui tensor de torță pentru a face acest lucru nu este nimic

13:11.490 --> 13:12.340
mai simplu.

13:12.510 --> 13:21.810
Noi luăm biblioteca torchelor apoi punct și apoi vom folosi clasa tensor deoarece, după cum probabil ați ghicit, acest lucru

13:21.810 --> 13:27.950
va crea un obiect al clasei tensor care este un obiect tensor.

13:28.120 --> 13:34.660
Și în acest tensor trebuie să punem un argument care să precizeze dimensiunea tensorului.

13:34.660 --> 13:38.720
Poți să-ți imaginezi că te ia ca o matrice care are un singur tip.

13:38.890 --> 13:45.430
Dar, în esență, ceea ce va reprezenta acum este, bineînțeles, această stare de intrare pe care o puteți vedea are un vector și astfel să

13:46.180 --> 13:49.380
specificați numărul de elemente pe care trebuie să le aibă distanța.

13:49.570 --> 13:55.180
Ei bine, trebuie să folosim, bineînțeles, dimensiunea intrărilor deoarece mărimea intrării este exact numărul de dimensiuni ale

13:55.510 --> 13:57.520
vectorilor de stare de intrare.

13:57.520 --> 13:59.050
Acum ar trebui să spun tensorii.

13:59.170 --> 14:05.650
Și așa trebuie doar să introducem în clasa noastră tensor pentru a crea obiect tensor.

14:06.010 --> 14:07.260
Ei bine, este imprecis.

14:07.540 --> 14:10.230
Mai târziu, mărimea intrărilor va fi cuantificată.

14:11.350 --> 14:12.430
Bine, asta e bine.

14:12.430 --> 14:13.670
Acesta este primul lucru făcut.

14:13.720 --> 14:17.390
Tocmai am inițializat așa cum ar trebui să fie.

14:17.530 --> 14:23.080
Dar, atunci amintiți-vă că trebuie să facem un alt lucru necesar pentru a crea acea dimensiune falsă,

14:23.080 --> 14:30.070
deoarece aceasta este ceea ce va aștepta rețeaua pentru intrările sale și pentru a crea aceasta pentru examinare care, apropo, trebuie să

14:30.070 --> 14:35.840
fie motorul pentru prima dată când știți dauna pus în lot va fi prima dată când menționez acest

14:35.940 --> 14:37.800
lucru să spunem foarte bine.

14:38.230 --> 14:46.050
Ei bine, pentru a face acest lucru, pur și simplu trebuie să adăugăm asta și să strângem și apoi în unele paranteze.

14:46.050 --> 14:49.580
Trebuie să punem indicele acestei mari dimensiuni.

14:49.620 --> 14:55.790
Și cum tocmai am spus că această dimensiune falsă trebuie să fie prima animație a ultimei date și din moment

14:55.790 --> 15:02.460
ce indici și octeți și a început zero trebuie să introduceți zero, astfel încât acest nou motor de paradigmă să devină primul

15:02.460 --> 15:03.570
motor de linie.

15:03.570 --> 15:09.360
Așadar, avem un motor pentru prima dată care corespunde lotului și apoi diamantul ar trebui să

15:09.360 --> 15:15.960
răspundă acelui senzor care va conține cele cinci elemente ale stărilor dvs. de intrare, orientarea celor trei semnale și

15:15.990 --> 15:16.910
orientarea minus.

15:17.370 --> 15:21.960
Și apoi mergem am inițializat stările noastre de intrare în mod corespunzător.

15:21.960 --> 15:22.850
Perfect.

15:23.310 --> 15:30.840
Și apoi două variabile pentru a merge și thats va fi mult mai ușor, deoarece următoarea variabilă este ultima

15:31.110 --> 15:31.850
acțiune.

15:32.190 --> 15:36.340
Acesta este un nou Roybal pe care îl creăm pentru ultima acțiune Object.

15:36.510 --> 15:43.440
Și amintiți-vă în primul tutorial al secțiunii v-am spus că acțiunile vor fi 0

15:43.440 --> 15:52.470
1 sau 2 și apoi folosind vectorul de rotație a acțiunii vom transforma acești indici ai acestor acțiuni în

15:52.470 --> 15:58.010
unghiurile rotației pe care le reamintesc 0 20 sau minus 20.

15:58.050 --> 16:00.980
De fapt, ne putem reîmprospăta memoria cu asta.

16:01.200 --> 16:03.170
Este exact aici.

16:03.170 --> 16:06.260
Acțiune la rotație dacă acțiunea este zero.

16:06.390 --> 16:11.650
Ei bine, acest lucru va corespunde primului indice de zero dacă acțiunea este 1.

16:11.700 --> 16:17.310
Aceasta va corespunde indexului unuia dintre acești vectori de 20 de grade și dacă acțiunea este de până

16:17.310 --> 16:23.490
la noi vom obține minus 20 grade care va fi unghiul de rotație al mașinii noastre atunci când vom juca acțiunea.

16:23.510 --> 16:24.200
In regula.

16:24.380 --> 16:31.040
Și, prin urmare, acțiunea va fi 0 1 sau 2 Ei bine acțiunea este acolo pentru un număr

16:31.040 --> 16:31.740
simplu.

16:31.850 --> 16:35.440
Și așa pur și simplu putem inițializa-o la zero.

16:35.660 --> 16:38.330
Nu avem nevoie de a crea nici un zeci sau de a auzi altceva.

16:38.360 --> 16:40.880
Trebuie doar să îl inițializăm cu zero.

16:41.420 --> 16:42.850
Și, în sfârșit.

16:43.010 --> 16:44.460
Ei bine, acesta este ultimul cuvânt.

16:44.550 --> 16:48.840
Eul este ultimul cuvânt.

16:48.860 --> 16:49.940
Vom merge acolo.

16:49.940 --> 16:56.510
Și din nou cuvântul este un număr de float pe care-mi amintesc că este între minus 1 și plus 1.

16:56.510 --> 16:57.790
Deci asta e numărul din nou.

16:57.860 --> 16:59.400
Și în ceea ce privește acțiunea.

16:59.510 --> 17:02.900
Vom iniția acest lucru la zero și apoi vom merge.

17:02.900 --> 17:06.330
Felicitări sunt în ea funcția este gata.

17:06.350 --> 17:08.930
Deci, acum suntem gata să trecem la lucrurile interesante.

17:08.930 --> 17:16.040
Și, de fapt, cel mai important lucru pentru AI este acela de a decide care acțiune să joace

17:16.080 --> 17:23.240
în fiecare moment și fiecare tanty Și exact asta vom face în următorul tutorial prin crearea metodei selective de acțiune.

17:23.510 --> 17:27.310
Asa ca sa facem asta in urmatoarea perioada de munca si pana atunci.
