Rețele neuronale pentru manechini: un ghid cuprinzător

Publicat: 2018-02-07

Creierul nostru este o mașină incredibilă de recunoaștere a modelelor. Prelucrează „inputuri” din lumea exterioară, le clasifică (ăsta este un câine; asta e o felie de pizza; ooh, asta e un autobuz care vine spre mine!), apoi generează o „ieșire” (mângâind câinele; gustul delicios al pizza aceea; ies din calea autobuzului!).
Toate acestea cu puțin efort conștient, aproape impulsiv. Este același sistem care detectează dacă cineva este supărat pe noi sau observă involuntar semnalul de oprire pe măsură ce trecem cu viteză pe lângă el. Psihologii numesc acest mod de gândire „Sistemul 1” și include abilități înnăscute – precum percepția și frica – pe care le împărtășim cu alte animale. (Există și un „Sistem 2”, pentru a afla mai multe despre el, consultați extrem de informativ Thinking, Fast and Slow de Daniel Kahneman ).
Cum sunt toate acestea legate de rețelele neuronale , vă întrebați? Stai, ajungem acolo într-o secundă.
Rețele neuronale pentru manechin - Un ghid cuprinzător Blog UpGrad
Privește imaginea de mai sus, doar numerele tale obișnuite, distorsionate pentru a te ajuta să explici mai bine învățarea rețelelor neuronale . Chiar și privind superficial, mintea îți va cere cuvintele „192”.
Cu siguranță nu ai spus „Ah, pare o linie dreaptă, cred că este un 1”. Nu l-ai calculat – s-a întâmplat instantaneu.
Fascinant, nu?
Există un motiv foarte simplu pentru asta - ai întâlnit cifra de atâtea ori în viața ta, încât, prin încercare și eroare, creierul tău recunoaște automat cifra dacă îi prezinți ceva chiar și la distanță aproape de ea.
Care este diferența dintre Data Science, Machine Learning și Big Data?

Să trecem la urmărire.

Cuprins

Ce este mai exact o rețea neuronală ? Cum functioneazã?

Prin definiție, o rețea neuronală este un sistem de hardware sau software, modelat după funcționarea neuronilor din creierul uman. Practic, ajută computerele să gândească și să învețe ca oamenii. Un exemplu va clarifica acest lucru:
În copilărie, dacă am atins vreodată o cană fierbinte de cafea și ne ardea, ne-am asigurat să nu mai atingem niciodată o cană fierbinte. Dar aveam în conștiință un astfel de concept de rănire ÎNAINTE să o atingem? Nu chiar.
Această ajustare a cunoștințelor și înțelegerii lumii din jurul nostru se bazează pe recunoașterea tiparelor. Și, ca și noi, computerele, de asemenea, învață prin același tip de recunoaștere a modelelor. Această învățare formează întreaga bază a funcționării rețelelor neuronale .
Programele de calculator tradiționale funcționează pe arbori logici – Dacă se întâmplă A, atunci se întâmplă B. Toate rezultatele potențiale pentru fiecare dintre sisteme pot fi preprogramate. Cu toate acestea, acest lucru elimină domeniul de aplicare al flexibilității. Nu există nicio învățare acolo.
Și aici intervin rețelele neuronale ! O rețea neuronală este construită fără nicio logică specifică. În esență, este un sistem care este antrenat să caute și să se adapteze la, tipare în cadrul datelor. Este modelat exact după cum funcționează propriul nostru creier. Fiecare neuron (idee) este conectat prin sinapse. Fiecare sinapsă are o valoare care reprezintă probabilitatea sau probabilitatea ca conexiunea dintre doi neuroni să apară. Aruncă o privire la imaginea de mai jos:
Rețele neuronale pentru manechin - Un ghid cuprinzător Blog UpGrad
Ce sunt de fapt neuronii, te întrebi?
Mai simplu spus, un neuron este doar un concept singular. O cană, culoarea albă, ceai -, senzația de arsură de a atinge o cană fierbinte, practic orice. Toți aceștia sunt posibili neuroni. Toate pot fi conectate, iar puterea conexiunii lor este decisă de valoarea sinapsei lor. Cu cât valoarea este mai mare, cu atât este mai bună conexiunea. Să vedem o conexiune de bază de rețea neuronală pentru a vă face să înțelegeți mai bine:
Rețele neuronale pentru manechin - Un ghid cuprinzător Blog UpGrad
Fiecare neuron este nodul, iar liniile care le conectează sunt sinapsele. Valoarea sinapsei reprezintă probabilitatea ca un neuron să fie găsit alături de celălalt. Deci, este destul de clar că diagrama prezentată în imaginea de mai sus descrie o cană care conține cafea, care este de culoare albă și este extrem de fierbinte.
Generarea limbajului natural: cele mai importante lucruri pe care trebuie să le știți

Toate cănile nu au proprietăți precum cea în cauză. Putem conecta mulți alți neuroni la cană. Ceaiul, de exemplu, este probabil mai comun decât cafeaua. Probabilitatea ca doi neuroni să fie conectați este determinată de puterea sinapsei care îi conectează. Cu cât numărul de căni fierbinți este mai mare, cu atât sinapsa este mai puternică.
Cu toate acestea, într-o lume în care cănile nu sunt folosite pentru a ține băuturi calde, numărul de căni fierbinți ar scădea drastic. De altfel, această scădere ar duce, de asemenea, la scăderea puterii sinapselor care leagă cănile la căldură.
Asa de,
Rețele neuronale pentru manechin - Un ghid cuprinzător Blog UpGrad
Devine

Această descriere mică și aparent neimportantă a unei căni reprezintă construcția de bază a rețelelor neuronale .
Atingem o cană ținută pe o masă – constatăm că este fierbinte. Ne face să credem că toate cănile sunt fierbinți. Apoi, atingem o altă cană – de data asta, cea ținută pe raft – nu este deloc cald. Concluzionam că cănile din raft nu sunt fierbinți. Pe măsură ce creștem, evoluăm.
Creierul nostru a preluat date în tot acest timp. Aceste date fac ca aceasta să determine o probabilitate precisă dacă cana pe care urmează să o atingem va fi fierbinte sau nu. Rețelele neuronale învață exact în același mod.
Acum, să vorbim puțin despre primul și cel mai de bază model al unei rețele neuronale : Perceptronul!

Ce este un Perceptron?

Un perceptron este cel mai de bază model al unei rețele neuronale. Este nevoie de mai multe intrări binare: x1, x2, … și produce o singură ieșire binară.
Rețele neuronale pentru manechin - Un ghid cuprinzător Blog UpGrad
Să înțelegem mai bine rețeaua neuronală de mai sus cu ajutorul unei analogii.
Spune că mergi la muncă. Decizia ta de a merge la muncă se bazează în principal pe doi factori: vremea și dacă este zi lucrătoare sau nu. Factorul meteo este încă gestionabil, dar lucrul în weekend este un mare nu! Deoarece trebuie să lucrăm cu intrări binare, să propunem condițiile ca întrebări da sau nu. Vremea este bună? 1 pentru da, 0 pentru nu. Este zi lucrătoare? 1 da, 0 nu.
Un ghid pentru începători pentru înțelegerea limbajului natural

Amintiți-vă, nu putem spune în mod explicit rețelei neuronale aceste condiții; va trebui să le învețe singur. Cum va decide prioritatea acestor factori în timpul luării unei decizii? Folosind ceva cunoscut sub numele de „greutăți”. Greutățile sunt doar o reprezentare numerică a preferințelor. O pondere mai mare va face rețeaua neuronală să considere acea intrare la o prioritate mai mare decât celelalte. Aceasta este reprezentată de w1, w2... în diagrama de mai sus.
„Bine, toate acestea sunt destul de fascinante, dar unde găsesc rețelele neuronale de lucru într-un scenariu practic?”

Aplicații reale ale rețelelor neuronale

Dacă încă nu v-ați dat seama, atunci iată, o rețea neuronală poate face aproape totul atâta timp cât puteți obține suficiente date și o mașină eficientă pentru a obține parametrii potriviți. Orice lucru care, chiar și de la distanță, necesită învățarea automată, apelează la rețelele neuronale pentru ajutor. Învățarea profundă este un alt domeniu care folosește pe scară largă rețelele neuronale. Este unul dintre numeroșii algoritmi de învățare automată care permit unui computer să efectueze o multitudine de sarcini, cum ar fi clasificarea, gruparea sau predicția.

  • Cu ajutorul rețelelor neuronale , putem găsi soluția unor astfel de probleme pentru care o metodă algoritmică tradițională este costisitoare sau nu există.
  • Rețelele neuronale pot învăța prin exemplu, prin urmare, nu trebuie să le programăm în mare măsură.
  • Rețelele neuronale sunt precise și semnificativ mai rapide decât vitezele convenționale.
Fiți cu ochii pe următorul lucru important: învățarea automată

Din motivele menționate mai sus și mai mult, Deep Learning, prin utilizarea rețelelor neuronale , găsește o utilizare extinsă în următoarele domenii:

  • Recunoașterea vorbirii: Luați exemplul Amazon Echo Dot – difuzoare magice care vă permit să comandați mâncare, să primiți știri și actualizări despre vreme sau pur și simplu să cumpărați ceva online doar vorbind.
  • Recunoașterea scrisului de mână: rețelele neuronale pot fi antrenate pentru a înțelege tiparele din scrisul cuiva. Aruncă o privire la aplicația de introducere a scrisului de mână de la Google – care folosește recunoașterea scrisului de mână pentru a vă converti fără probleme mâzgălile în texte semnificative.
  • Recunoașterea feței: de la îmbunătățirea securității telefonului (Face ID) până la filtrele super cool Snapchat – recunoașterea feței este peste tot. Dacă ați încărcat vreodată o fotografie pe Facebook și vi s-a cerut să etichetați persoanele din fotografia dvs., știți ce este recunoașterea feței!
  • Furnizarea de inteligență artificială în jocuri: dacă ați jucat vreodată șah împotriva unui computer, știți deja cum inteligența artificială alimentează jocurile și dezvoltarea jocurilor. În măsura în care jucătorii folosesc AI pentru a-și îmbunătăți tacticile și pentru a-și încerca strategiile direct .

În concluzie…
Rețelele neuronale formează coloana vertebrală a aproape fiecarei mari tehnologii sau invenții pe care le vedeți astăzi. Este corect să spunem că imaginarea învățării profunde/mașină fără rețele neuronale este aproape imposibilă. În funcție de modul în care implementați o rețea și de tipul de învățare pe care îl utilizați, puteți obține multe dintr-o rețea neuronală , în comparație cu un sistem computerizat tradițional.

Învață cursuri ML de la cele mai bune universități din lume. Câștigă programe de masterat, Executive PGP sau Advanced Certificate pentru a-ți accelera cariera.

Cum este învățarea profundă diferită de rețelele neuronale?

Învățarea profundă este o ramură a învățării automate, în timp ce rețelele neuronale constau din diverși algoritmi de învățare automată. În timp ce rețelele neuronale folosesc neuroni pentru a transmite date sub formă de valori de intrare și de ieșire prin conexiuni, învățarea profundă este asociată cu transformarea și extracția caracteristicilor, care urmărește astfel să construiască o relație între stimuli și răspunsurile neuronale corespunzătoare existente în creier.

Care sunt unele limitări ale rețelelor neuronale?

Un dezavantaj al utilizării rețelelor neuronale este că este necesară o cantitate masivă de date, ceea ce este unul dintre aspectele negative. În plus, în comparație cu tehnicile standard, utilizarea rețelelor neuronale este costisitoare din punct de vedere computațional. O problemă majoră este că rețelele neuronale nu oferă o explicație bună pentru rezultatele pe care le produc. Acest lucru poate fi observat pe site-uri precum Quora, unde atunci când contul unui utilizator este anulat, nu poate fi furnizată nicio explicație clară cu privire la motivul pentru care răspunsul pe care l-au oferit a fost incorect.

Cum este gestionată ambiguitatea de învățarea automată?

ML include o gamă largă de tipuri de date, cum ar fi fotografii, videoclipuri, scripturi și așa mai departe. Deși provocatori, algoritmii de învățare automată, cum ar fi procesarea limbajului natural și secvențierea ADN-ului, oferă răspunsuri la ambiguitate. Ambiguitatea va fi redusă numai dacă sunt utilizate mai multe date de înaltă calitate. Mai mult, scopul idealizat de ML ar trebui să fie exact și sincronizat cu nevoile proiectului ML în cauză.