Bună ziua și bun venit la Statoil și să vorbim că am inițializat harta.
Și acum timpul pentru lucrurile interesante pe care le creăm și facem asta cu o clasă de curs.
Veți vedea că clasa este foarte practică pentru a crea unele lucruri care au o mulțime de proprietăți, deoarece
după cum puteți vedea nu doar găsirea unor variabile din mașina mea, ci și unele funcții care desigur sunt
funcția care va face mașina să se mute la la stânga sau la dreapta.
Așadar avem câteva variabile care sunt importante pentru a descrie mediul
în care avem, de exemplu, unghiul care este unghiul dintre axa x și axa direcției mașinii.
Apoi avem rotația care este ultima sa rotație pe care o reamintim este fie 0 grade 20 grade sau minus
20 de grade.
Apoi avem viteza coordonata x a vectorului de viteza si coordonatele y ale vectorului de
viteza.
Și apoi vectorul de coordonate viteza x și viteza Y atunci avem senzorii și semnalele.
Și este foarte important faptul că apelul pe care îl facem va avea trei senzori senzori un senzor
doi și senzori trei senzori unul va detecta dacă există vreun sens în fața mașinii.
Apoi senzorul 2 este senzorul care va detecta dacă există sens în partea stângă a autovehiculului, iar senzorii 3
sunt senzorii care vor detecta dacă există sens în partea dreaptă a mașinii.
Și apoi de la acești trei senzori primim semnalele care semnalele primite de fiecare senzor.
Deci semnalul este semnalul primit de semnalul senzorului un semnal primit de senzorul 2 și semnalul
3 este semnalul primit de senzorii 3.
Și cum funcționează?
Semnalul 1 este densitatea trimiterii în jurul senzorului un semnal pentru a fi densitatea centrului în jurul senzorului pentru a
semnala trei este densitatea trimiterii în jurul sensibilității și cum putem calcula această densitate de nisip.
Ei bine, este foarte simplu.
Luăm niște pătrate mari în jurul fiecărui senzor.
Acestea sunt de fapt pătrate de 200 la 200, iar pentru fiecare dintre pătrate împărțim numărul celor din pătrat cu
numărul total de celule din pătrat care este de 22 și 20 este egal cu 400.
Și asta ne dă densitatea nisipului, deoarece acestea corespund centrului.
Facem acest lucru pentru fiecare senzor și asta ne dă densitatea de nisip în jurul fiecărui senzor.
Acestea sunt semnalele.
În regulă, acum avem totul pentru a detecta senzorul și apoi avem funcția de mutare.
Și, bineînțeles, funcția de mișcare este ceea ce va permite ca miezul să meargă spre stânga sau să
meargă spre dreapta.
Să trecem prin asta repede.
Avem aici actualizarea pozitiei masinii cu ultima ei pozitie care este trecerea de aici si
vectorul de viteza.
Deci, datorită vectorului de viteză, poziția va fi actualizată în direcția vectorului de viteză.
Apoi vom obține rotația pe care o vom obține mai departe în codul de aici.
Rotația este egală cu acțiunea de rotație.
El va selecta acțiunea și apoi va intra în rotație.
Așa că această auto-protecție este rotativă aici.
Este această rotație pe care o vedem cum trebuie să rotim mașina care merge spre stânga
sau spre dreapta.
Apoi, actualizăm unghiul pe care mi-l amintesc unghiul dintre axa x și axa
direcției mașinii.
Apoi, odată ce autovehiculul sa mutat, trebuie să actualizăm senzorii și semnalul, desigur, atunci când mașina
sa rotit în timp ce senzorii s-au rotit și de aceea trebuie să le rotim prin
utilizarea funcției de rotire și la care adăugăm noua poziție.
Și de ce avem acest vector de 30 0.
Ei bine, asta e doar pentru că 30 este distanța dintre mașină și senzor.
Știți este distanța dintre mașină și ce detectează mașina.
Și apoi odată ce senzorii sunt actualizați Ei bine, atunci este timpul să actualizăm semnalele.
Și așa că facem exact ceea ce ți-am explicat semnalele computerului.
Dăm coordonatele x ale senzorului nostru, apoi luăm toate celulele de la Manston la plus 10, apoi facem
același lucru pentru coordonatele y, luând toate celulele de la Madison în plus 10.
Așa că, prin urmare, ajungem la pătrat de 20 de 20 de pixeli care înconjoară senzorul și în interiorul pătratului avem
niște vechi.
Deci, practic, cu unele dintre celule, deoarece celulele conțin 0 sau 1 și deoarece într-un 20 20 pătrat există 20
de ori 20 echivalează cu 400 de celule.
Ei bine, am împărțit-o cu 400 pentru a obține densitatea celor din interiorul pătratului și astfel obținem semnalul densității centrilor în
jurul senzorului și facem același lucru pentru al doilea senzor și cel de-al treilea senzor pentru a obține
al doilea semnal și al treilea semnal.
O.K.
Deci asta înseamnă să iei senzorul și apoi aceste trei linii de cod aici sunt foarte importante.
Este altceva că vrem să vrem să ajungem la mașina noastră când ajunge la una din marginile
hărții.
Știți că nu vrem ca mașina să se grăbească în niște pereți și, prin urmare, vrem să o penalizăm pentru ao
pedepsi atunci când se apropie prea mult de Wall și, prin urmare, asta facem noi aici.
Dacă primul senzor este mai mare decât lungimea minus 10, care este mai mare decât aici, deoarece această distanță este mai lungă aici, deci
mai mult minus 10 este chiar aici.
Deci, dacă un senzor acționează mai mult decât mai mult, Manison se referă la toate punctele.
Aceasta este dacă autovehiculul se apropie de marginea dreaptă a hărții sau dacă senzorul celular acționează mai puțin de
10, chiar dacă mașina se apropie de marginea din stânga a hărții sau dacă senzorul Y este mai mare
decât cel mai mare minus 10 aceasta este marginea superioară a hărții și dacă autocenzura Y este mai mică decât
10, adică marginea inferioară a hărții.
Și astfel, dacă senzorul ajunge la oricare dintre aceste patru margini, bine vom pune semnalul semnalului senzorului
când semnalul a trimis unul.
Vom pune-o să fie una.
Și ce înseamnă asta.
Asta înseamnă un sunet complet, cum ar fi densitatea completă a nisipului.
E ca și cel mai rău și ai putea obține.
Există atât de multă sens că va opri mașina.
Deci semnalul va fi unul și, prin urmare, mașina va primi o recompensă foarte rău.
In regula.
Și apoi facem același lucru și pentru semnal și semnalează trei din senzorul două cazuri trei.
In regula.
Și apoi vom crea clasa de joc, astfel încât aceasta este în principiu clasa de a crea jocul, deoarece
până acum am creat doar masina și acum, desigur, trebuie să creăm harta.
Trebuie să creăm jocul în sine.
Deci nu vom juca jocul este AI-ul nostru care va juca jocul și jocul este de fapt pentru
a evita obstacolele și pentru a merge de la aeroport la centrul orașului și viceversa.
Deci, în această clasă de joc trebuie să creăm anumite obiecte ca mașina, atunci trebuie să definim funcția
de actualizare.
Aceasta este cea mai importantă și de fapt ne vom concentra pe asta chiar acum, pentru că
asta este în această funcție de actualizare care va selecta acțiunea pe care mașina trebuie să o facă și de fiecare dată pentru a-și atinge scopul.
Și această acțiune este exact rezultatul rețelei noastre neuronale.
Noua voință care lucrează care va fi în centrul inteligenței noastre artificiale.
Și astfel, această acțiune este returnată de creierul mașinii, care rămâne obiectul clasei umane pe care o
vom face în fișierul AI.
Și acest obiect are o metodă care se numește actualizare și ia ca ultimul cuvânt și
ultimul semnal.
Deci, ultimul cuvânt este, desigur, ultimul cuvânt atins de mașină, iar ultimul semnal este desigur ultimul
semnal al celor trei senzori semnale unul de la un senzor un semnal doi de la senzor la semnalul trei de la
senzorul 3.
Dar apoi adaug doua alte intrari care sunt orientarea masinii in raport cu scopul.
De exemplu, dacă mașina se îndreaptă spre țintă, atunci orientarea va fi egală cu zero.
Dacă merge ușor spre dreapta, atunci orientarea va fi aproape de 45 de grade.
Și dacă merge ușor spre stânga orientarea va fi aproape de minus 45 de grade.
Deci, aceasta este forța de intrare a stărilor noastre de intrare.
Și apoi există o lecție care este minus orientare.
Deci, de obicei, intrările rețelei neuronale sunt independente. Nu există multicoliniaritate, dar nu contează dacă suntem,
deoarece rețeaua neurală o va rezolva doar cu greutățile.
Dar totuși observ că prin adăugarea acestei minus orientare bine, care permite mașinii de formare
a mașinii pentru a stabiliza accelerația.
Știți că facem acest lucru este că AI nu explorează mereu în aceeași direcție adăugând această
orientare minus.
Ne asigurăm că se explorează în ambele direcții spre dreapta sau spre stânga.
Și astfel, cele trei semnale Plus orientarea și orientarea minus sunt cele cinci intrări ale vectorului nostru
codificat care va intra în rețeaua că vectorul nostru de intrare care va intra în rețea și după
ce va intra în rețea Ei bine, rețeaua returnează ieșirile care este acțiunea de jucat.
Și de fiecare dată și ieșirea este returnată de această funcție de actualizare care conține rețeaua în
sine și ieșirea rețelei și de aceea de aceea trebuie să introducem ultimul semnal care
este starea de intrare și, de asemenea, ultimul cuvânt deoarece acțiunea de jucat și depinde de ultimul cuvânt.
În regulă și apoi actualizăm scorul principal al cuvintelor pe care le actualizăm rotația pe care o folosim funcția de
mutare pentru a roti mașina în funcție de acțiunea selectată.
Luăm distanța de la mașină la drum și vom obține pozițiile mingii senzorilor o minge doi în ambele
răspunsuri Rieker la bilele care vor reprezenta senzorii pe hartă.
Veți vedea foarte repede.
Și apoi aici partea aceea este foarte importantă, pentru că acolo vom penaliza mașina, dacă merge
într-un anumit sens, pentru că după cum puteți vedea acest lucru înseamnă că dacă mașina este într-un anumit sens bine va fi încetinită.
Deci, acolo ne-am reduce viteza.
Știți că viteza lui este de obicei 6, după cum puteți vedea aici.
Și dacă merge într-un anumit sens, va fi unul care va fi încetinit până la 1.
Veți vedea cum va fi încetinită mașina odată ce va intra într-un anumit sens.
Deci este încetinită.
Și pe lângă aceasta primește o recompensă proastă, devine un minus pe care îl dorim.
Și aceasta este de fapt cea mai mare recompensă pe care o puteți obține.
Cea mai bună răsplată este una dintre cele mai grave pe care le spunem cu minusul și recompensa este între minus 1 și plus 1.
Și apoi altfel.
Și mașina nu este pe nisip.
Păstrează viteza obișnuită a vitezei de sex și apoi adăugăm altceva.
Dacă se apropie de obiectiv, atunci va primi o recompensă ușor pozitivă.
Și dacă devine mai departe de obiectivul Ei bine, devine o recompensă ușor negativă minus 0. 2.
Și apoi ultima.
Condiții legate de recompensă.
Ei bine, dacă mașina se apropie prea mult de unul dintre margini, așa cum am vorbit mai devreme.
Amintiți-vă când am vorbit despre senzorul de combustibil.
Dacă mașina se apropie prea mult de marginea din stânga a hărții, devine minus un singur cuvânt dacă se apropie prea
mult de marginea dreaptă a hărții, dar este recompensată minus una.
Și dacă se apropie prea mult de marginea de jos a hărții, devine unul sau mai puțin unul.
Și dacă se apropie prea mult de stânga sus a hărții, primește recompense minus unul.
Deci este o pedeapsă teribilă.
Și astfel veți vedea cum este plin și rapid să nu vă grăbiți cu altceva.
În regulă și apoi acest lucru este de a actualiza du-te atunci când obiectivul este atins.
Deci știi când mașina ajunge la aeroportul care este primul care merge acolo este colțul din stânga sus
al hărții.
În timp ce obiectivul se schimbă în colțul din dreapta jos al hărții care este în centrul orașului.
Și exact asta facem noi actualizăm coordonatele x a coordonatelor Crow și albe
ale apelului și apoi actualizăm distanța de la mașină la mașină.
In regula.
Și atunci este mai puțin important.
Aceasta este doar o clasă care va adăuga instrumentele de pictură pe care le cunoașteți pentru a putea picta câteva drumuri sau unele obstacole
pe hartă care sunt mai apropiate de K. V. pot avea o privire dacă vrei să furnizez
versiunea condensată a acestui cod și o să ofer o referință dacă vrei să te concentrezi mai mult pe cum să
faci asta cu skivvy.
Dar ne apropiem de inteligența artificială, așa că nu voi intra în detalii.
Și aceasta este aceeași pentru ultima secțiune de cod cu clasa mașină care este la fel cum butoanele API clare
salvează și încarcă.
Așa facem aici.
Pânza clară în siguranță.
Și asta este de fapt foarte important, pentru ca noi să putem salva ziua pe care o cunosc pentru
a salva creierul astfel încât să îl puteți reutiliza mai târziu, luând funcția de încărcare, care este un alt instrument pe care
îl adăugăm pe hartă pentru a încărca creierul mașinii este de a încărca memoria mașinii cum să navigați pe hartă.
Și apoi, în sfârșit, avem ultima din ultima secțiune de cod care rulează întregul lucru
care rulează harta și AI în sine.
Și de fapt asta vom face acum.
Să aruncăm o privire la tot ce am făcut în acest cod.
Deci, acum nu este implementată AI.
Codul va avea o mișcare foarte aleatorie.
De fapt, va arăta ca o insectă, dar nu vă faceți griji că vom rezolva asta.
În mod normal, îl vom antrena să se mute ca o mașină reală și să o instruiască pentru a naviga după câteva drumuri și pentru
a evita unele obstacole.
Să o facem.
Voi selecta totul și voi executa.
Și aici este harta.
Și aici este mașina.
In regula.
Deci asta e micul lucru pe care îl vedeți că arată ca o insectă în mașina noastră.
Așa cum ți-am spus că acțiunile sunt total aleatorii.
Deci, de fiecare dată când mașina selectează la întâmplare o acțiune pentru a merge direct spre stânga sau spre dreapta.
De aceea se face mișcări prostie și de aceea arată ca o insectă.
Deci, vom rezolva asta desigur.
Și bineînțeles, de vreme ce AI este activată Ei bine, nu se va ajunge la obiectivul care este aeroportul aici
sau la centrul din dreapta jos a hărții.
Și vom rezolva toate acestea făcând AI-urile care vor implementa AI în această mașină sau în această insectă, astfel încât să puteți
vedea cele trei bile aici, cea galbenă, cea roșie și cea albă.
Aceiași trei senzori.
Așa vom detecta.
Există niște mirosuri în jurul lui.
Și vorbind despre miros, bine, hai să aruncăm ceva.
Deci, pentru a face acest lucru, trebuie doar să fac un clic stânga aici și tu știi într-un anumit sens, prin a preda încă stânga.
Deci, acum adaug ceva nisip, putem adauga ceva mai mult.
Deci, de fiecare dată când ești nebun, după cum poți vedea că punerea celor în matricea centrală este aceea de a trimite o
matrice care are 00 de coordonate ale originii.
Și aici sunt multe.
Și după cum puteți vedea bine, este bine să vedeți mașina.
Tocmai am coborât și am încetinit.
Așa cum puteți vedea chiar acum, este într-adevăr încetinită deoarece intră în nisip.
Și acum încearcă să scape.
Și așa că știi ce vom face este să tragem niște drumuri și vom trage niște drumuri de la aeroport la
centrul orașului și vom antrena mașina pentru a rămâne pe drum și pentru a evita obstacolele.
In regula.
Și după cum puteți vedea acolo este butonul clar pentru a goli nisipul există butonul de salvare pentru
a salva creierul mașinii.
Și, de fapt, există această curbă de bază pe care am vorbit-o despre acea siguranță care vă salvează modelul
de fapt creierul mașinii dvs. și apoi puteți să știți când vă lăsați răceala sau opriți calculatorul și doriți să reveniți
din nou la el.
Puteți utiliza butonul de încărcare pentru a încărca modul în care se încarcă creierul și care va
obține trenurile AI ale mașinii.
În regulă, acum nu pot să aștept să încep să fac AI.
Acest lucru va fi foarte distractiv.
Vom face rețeaua noastră neuronală și vom pedepsi mașina de îndată ce nu face ce vrem.
Deci, să facem asta din următorul tutorial.
Și până atunci bucurați-vă de a.