WEBVTT

00:00.360 --> 00:06.030
Bună ziua și bun venit în prima parte a acestei implementări AI, o parte a clădirii AI.

00:06.120 --> 00:12.570
Și după cum puteți vedea, am adăugat deja o dimensiune în structura acestei indentări, cu aceste trei secțiuni care compun

00:12.660 --> 00:16.620
Partea 1, care arată clar modul în care vom construi acest AI.

00:16.620 --> 00:18.750
Mai întâi vom face creierul.

00:18.840 --> 00:23.760
Nu este nimic altceva decât rețeaua neuronală, atunci vom face corpul care va defini modul în

00:23.760 --> 00:25.400
care acțiunile vor fi jucate.

00:25.590 --> 00:31.620
Și odată ce avem creierul și corpul, îi vom asambla pentru a face AI care va fi în

00:31.620 --> 00:33.840
ultima secțiune a acestei prime părți.

00:33.840 --> 00:37.890
Deci, acum aveți deja o viziune bună asupra structurii acestei implementări.

00:37.890 --> 00:42.760
Mai intai vom face creierul apoi vom face corpul si apoi vom asambla cele doua pentru a face AI.

00:43.050 --> 00:48.520
Și atunci este tot ce vom începe cu prima secțiune care este despre a face creierul.

00:48.810 --> 00:51.330
Și asta ne va duce pentru tutoriale.

00:51.360 --> 00:54.810
Vă puteți imagina că a face un creier nu este ca și cum ați face un tort.

00:54.900 --> 00:57.100
Deci, acest lucru va necesita mai mult de un tutorial.

00:57.270 --> 01:03.690
Și bineînțeles, ca de obicei, vom reprezenta creierul cu o clasă, deoarece vom avea nevoie de mai

01:03.690 --> 01:10.200
multe funcții și pentru a avea o structură a mai multor funcții care vor fi organizate într-un fel

01:10.200 --> 01:11.160
de instrucțiuni.

01:11.310 --> 01:16.010
Bineînțeles că avem nevoie de o clasă și asta e Berkeley pentru că odată ce am făcut acea clasă.

01:16.080 --> 01:22.080
Ei bine, vom putea crea cât mai multe creiere pe care le dorim doar prin crearea unor obiecte din această clasă.

01:22.080 --> 01:28.050
Deci, clasele din Python și, în general, limbile de programare orientate pe obiecte sunt foarte practice pentru că faci un

01:28.200 --> 01:33.510
model de ceva pe care vrei să-l construiești și apoi poți crea cât mai multe obiecte pe care

01:33.510 --> 01:37.820
le dorești și vor avea toate caracteristicile pe care le definiți în clasă.

01:38.010 --> 01:40.470
Și pentru creierul nostru caracteristicile vor fi bineînțeles.

01:40.500 --> 01:45.930
Ei bine, în primul rând, arhitectura rețelei neuronale pe care o reamintesc va fi CNN și, desigur,

01:45.930 --> 01:51.780
două funcții diferite, cum ar fi de exemplu transmiterea semnalelor de la neuronii de intrare la neuronii de

01:51.780 --> 01:55.520
ieșire care vor fi, desigur, funcția Ford care o va face.

01:55.920 --> 01:58.940
Deci, hai să facem asta, să începem să creăm creierul.

01:58.950 --> 02:00.600
Asta va fi destul de interesant.

02:00.650 --> 02:02.380
Este una din piesele mele preferate.

02:02.520 --> 02:04.860
Și, prin urmare, hai să intrăm direct în ea.

02:04.890 --> 02:10.880
Deci vom începe prin a introduce clasa de curs și vom numi această clasă.

02:10.950 --> 02:18.570
Ei bine am ezitat să-i spunem creierul, dar să fim mai direcți și să-l numim CNN, deoarece de fapt creierul

02:18.570 --> 02:20.570
este o rețea CNN.

02:20.580 --> 02:22.510
Rețeaua neurală convoluționară.

02:22.530 --> 02:27.440
Deci, pe măsură ce privești, poți să spui creierul dacă vrei, dar cel puțin acum știm ce construim.

02:28.710 --> 02:35.040
Și CNN În ceea ce privește rețeaua de auto-conducere masina va moșteni de la sfârșitul anului Mudgal.

02:35.220 --> 02:42.870
Așadar, amintiți-vă că sfârșitul modulului este cel pe care l-am pus aici și dorim să putem folosi toate

02:42.870 --> 02:49.050
instrumentele acestui și un modul și, prin urmare, dorim să folosim această tehnică în programarea

02:49.050 --> 02:55.870
orientată obiect care este moștenire și care ne permite să știm folosiți toate instrumentele dintr-o clasă

02:55.900 --> 02:59.970
părinte și această clasă va fi pe acest modul.

02:59.970 --> 03:00.830
Vom merge acolo.

03:00.930 --> 03:05.510
Și acum putem folosi toate uneltele și obiectele de la sfârșitul acelui modul.

03:05.510 --> 03:12.100
În regulă, acum că avem mostenirea noastră, putem intra în clasă pentru a ne face prima funcție.

03:12.150 --> 03:18.360
Și, după cum ați presupune probabil că prima funcție este funcția de sfârșit care va defini toate

03:18.720 --> 03:20.330
variabilele obiectelor cerebrale viitoare.

03:20.370 --> 03:23.440
Știți viitorul și obiectele care vor fi create.

03:23.700 --> 03:24.890
Bine, să facem asta.

03:24.900 --> 03:29.800
Def apoi două subliniază în ea la scorurile din nou.

03:29.910 --> 03:31.910
Și acum trebuie să punem câteva variabile.

03:32.100 --> 03:37.460
Deci, înainte de toate, aveam de gând să fiu eu care, bineînțeles, se referă la obiect.

03:37.490 --> 03:42.380
Acum, cred că sunteți destul de confortabil cu acest lucru, atunci vom adăuga o altă variabilă

03:42.380 --> 03:45.310
care va fi numărul de acțiuni în mediul Dumah.

03:45.500 --> 03:48.900
Deci vom numi acele acțiuni în număr.

03:49.010 --> 03:50.380
Număr de acțiuni.

03:50.570 --> 03:54.390
De fapt, această variabilă nu este obligatorie pentru această funcție.

03:54.500 --> 03:59.360
Doar că dacă doriți să testați ideea pe care o vom construi în alte medii.

03:59.540 --> 04:06.100
Ei bine, acest lucru va fi foarte practic pentru că vom importa acest număr de acțiuni oribile de la

04:06.120 --> 04:12.290
doom și varman wrappers cu două discrete și atunci când vom face asta vom ști că introduceți

04:12.510 --> 04:13.980
numele mediului face zero.

04:14.180 --> 04:21.050
Și dacă doriți să știți că experimentați acest lucru pe alte medii și să jucați alte jocuri bine, nu veți avea

04:21.050 --> 04:26.300
nimic de făcut, deoarece acest număr de acțiuni va obține în mod direct numărul de acțiuni

04:26.300 --> 04:27.470
în mediul Dumor.

04:27.470 --> 04:28.650
Veți juca.

04:29.110 --> 04:32.710
OK, deci este pentru cele două argumente ale acestei funcții.

04:32.780 --> 04:36.500
Deci, acum putem intra în interior și acum ne amintim ce trebuie să facem.

04:36.530 --> 04:41.560
Primul lucru pe care trebuie să-l facem este să activați moștenirea cu superfuncția.

04:41.570 --> 04:43.840
Deci, exact ca și mașina de auto-conducere.

04:43.970 --> 04:50.940
Luăm superfuncția, apoi înăuntru începem prin introducerea clasei care va defini rețeaua neuronală și

04:51.470 --> 04:53.330
care este CNN.

04:53.690 --> 04:56.950
Apoi trebuie să introducem sine să ne referim la obiect.

04:57.190 --> 05:05.230
Dar, atunci amintiți-vă că nu este tot ce trebuie să adăugăm aici la DOT și apoi funcția init cu unele paranteze.

05:05.270 --> 05:07.880
Și făcând asta vom activa moștenirea.

05:07.950 --> 05:11.470
Și acum putem folosi toate uneltele de la capăt și modul.

05:11.510 --> 05:17.070
Acum, cred că este timpul să construim arhitectura rețelei neuronale.

05:17.270 --> 05:23.330
Și, așa cum vă amintiți, vom construi o rețea nervoasă convoluțională CNN pur și simplu pentru

05:23.330 --> 05:30.290
că de data aceasta AI va avea ochi, iar ochii ochiului vor fi straturile convoluționale ale acestei rețele

05:30.290 --> 05:31.220
neuronale convoluționale.

05:31.520 --> 05:38.240
Apoi, după ce ai ai vizualizează imaginile cu straturile convoluționale, va transmite semnalele într-o clasă

05:38.330 --> 05:41.040
a rețelei noastre neuronale vizuale.

05:41.180 --> 05:44.510
Deci, acesta este cel pe care l-am avut înainte cu straturi complet legate.

05:44.660 --> 05:50.730
Și acolo va încerca să prezică valorile cubului pentru fiecare acțiune posibilă pe care o putem juca.

05:51.290 --> 05:56.930
Deci, aveți în vedere arhitectura mai întâi, vom avea niște straturi convoluționale și apoi niște

05:56.930 --> 06:01.270
straturi complet legate și acest lucru va fi creierul AI-ului nostru.

06:01.550 --> 06:07.530
Deci, ce vom face pentru a putea face un pas înapoi la ceea ce facem.

06:07.670 --> 06:11.840
Ei bine, haideți să facem această arhitectură cu variabilele pe care vrem să le creăm.

06:11.840 --> 06:18.890
Deci, vorbind de această arhitectură, vom construi un CNN cu trei straturi convoluționale.

06:18.920 --> 06:24.530
Și după aceea, un strat ascuns înseamnă că vom avea nevoie de trei conexiuni convoluționale și

06:24.530 --> 06:26.020
două conexiuni complete.

06:26.180 --> 06:31.340
Și vorbind despre conexiuni care este exact ceea ce urmează să definim, vor fi variabilele pentru

06:31.370 --> 06:35.030
clasa CNN și de aceea acum voi defini cinci variabile.

06:35.150 --> 06:39.100
Trei pentru conexiunile convoluționale și două conexiuni politice.

06:39.350 --> 06:40.100
Deci, să facem asta.

06:40.100 --> 06:42.570
Vom începe cu conexiunile de convoluție.

06:42.770 --> 06:47.250
Așa că îi voi numi convoluție proprie.

06:47.540 --> 06:53.620
Trebuia să copiați și pe baza numărului scăzut.

06:54.020 --> 07:01.640
Și apoi vom ajunge la auto-convingere și la convingerea de sine trei, care sunt conexiuni de convoluție la această primă

07:01.640 --> 07:08.450
concluzie, aici vom aplica o anumită convoluție imaginilor de intrare pentru a obține un prim nivel convoluțional,

07:08.460 --> 07:15.860
iar a doua contribuție aici va face prima convoluție strat ca intrare și prin aplicarea din nou o anumită

07:15.860 --> 07:21.180
convoluție va crea o a doua convoluție acolo și apoi această convoluție va

07:21.180 --> 07:25.920
primi niște imagini noi fiecare dintre ei detectând o trăsătură specifică.

07:26.030 --> 07:32.840
Deci, vom obține aceste imagini noi într-o convoluție acolo vom aplica această convoluție aici pentru a conecta aceste

07:32.870 --> 07:39.740
noi imagini de la acest prim strat convoluțional la unele imagini noi ale unui al doilea strat de

07:39.740 --> 07:40.300
convoluție.

07:40.430 --> 07:46.120
Și aceste imagini noi vor detecta din nou unele caracteristici din imaginile primei convoluții de acolo.

07:46.220 --> 07:52.100
Deci, doar pentru a consolida detectarea viitoare și apoi la apariția celei de-a doua convoluții

07:52.100 --> 07:52.650
acolo.

07:52.790 --> 07:57.000
Am aplicat al treilea convoluție aici pentru ao obține pentru fiecare dintre ei.

07:57.050 --> 08:01.900
Mai multe imagini care detectează chiar mai multe caracteristici în interiorul imaginilor de intrare.

08:02.050 --> 08:07.300
Și cu atât mai mult facem acest lucru cu cât aplicăm mai multe convoluții diferitelor straturi de imagini.

08:07.520 --> 08:13.580
Cu cât suntem capabili să detectăm mai multe trăsături și astfel, prin detectarea unor trăsături, ochiul va înțelege unde sunt

08:13.580 --> 08:18.360
monștrii unde trebuie să tragă pentru ai ucide și unde ar trebui să meargă.

08:18.500 --> 08:21.290
De asemenea, va detecta pereții obstacolele.

08:21.440 --> 08:28.100
Ei bine literalmente unde trebuie să meargă și asta datorită a ceea ce toate aceste straturi convoluționale detectează

08:28.130 --> 08:29.680
în imaginile originale.

08:30.450 --> 08:34.980
În regulă, asta e pentru partea de convoluție a CNN.

08:35.100 --> 08:42.720
Dar, atunci amintiți-vă după straturile convoluționale trebuie să loviți toți pixelii obținuți prin diferitele serii de convoluții

08:42.720 --> 08:48.660
care au fost aplicate și prin aplatizarea tuturor matricelor de pixeli obținem acest vector

08:48.810 --> 08:53.260
imens care va deveni intrarea unei rețele neuronale clasice.

08:53.490 --> 08:58.600
Și aici găsim scrisorile noastre complete și, prin urmare, conexiunile noastre.

08:58.710 --> 09:04.560
Și acum, ceea ce trebuie să facem este să creezi două noi variabile, pentru că vom avea unul aici

09:04.810 --> 09:09.330
și acolo în această rețea clasică neurală artificială care vine în continuare și de

09:09.330 --> 09:16.260
aceea avem nevoie de o conexiune completă de la acest vector imens Flaten la aceasta aici și acolo și o a doua conexiune

09:16.260 --> 09:21.620
completă între acesta și de aici și stratul de ieșire alcătuit din neuronii de ieșire care sunt valorile-cheie.

09:21.960 --> 09:27.090
Deci, hai să facem aceste două conexiuni și apoi vom defini toate aceste conexiuni.

09:27.240 --> 09:36.200
Așa că cereți coloana sonoră în cod pe care o vom numi pe sine că una și apoi și ea a învățat-o pe sine.

09:36.240 --> 09:41.010
Așa că acum avem toate obiectele noastre de valoare și să știm ce trebuie să

09:41.250 --> 09:44.300
facem este definit, bineînțeles, atunci cu clasele modulului motorului.

09:44.310 --> 09:49.110
Asta înseamnă că vom crea în principiu arhitectura rețelei neuronale și asta vom face

09:49.190 --> 09:50.340
în viitorul viitor.

09:50.490 --> 09:51.920
Până atunci
