Rețele neuronale - Cum arată viitorul inteligenței artificiale?

Publicat: 2020-01-14

Ce sunt rețelele neuronale?

Inspirat de rețelele neuronale biologice, acest sistem de calcul „învață” să îndeplinească diverse sarcini luând în considerare anumite exemple, de obicei fără a fi programat cu reguli care sunt specifice sarcinii.
Rețelele neuronale sunt o unitate funcțională de învățare profundă și sunt inspirate de structura creierului uman. Cu toate acestea, rețelele neuronale artificiale mai recente sunt unități funcționale de învățare profundă.

Rețele neuronale
Fig.1: Rețeaua neuronală

De exemplu, în recunoașterea imaginilor, cum ar fi identificarea unei imagini de pisică.
Sistemele de calcul ar putea învăța să identifice imagini care conțin pisici analizând exemple de imagini care au fost etichetate manual ca „pisică” sau „fără pisică”. Folosind rezultatele pentru a identifica pisicile în alte imagini, acestea sunt capabile să învețe să identifice imaginea reală. Ei fac acest lucru fără cunoștințe prealabile despre pisici sau despre trăsăturile lor, de exemplu, că au blană, cozi, mustăți și fețe asemănătoare pisicilor.

Rețea neuronală - Identificarea pisicilor

Fig 2: Identificarea pisicilor

Învățarea profundă utilizează rețele neuronale artificiale care imită comportamentul creierului uman pentru a rezolva probleme complexe bazate pe date. Învățarea profundă este în sine o parte a învățării automate care se încadrează sub umbrela mare a inteligenței artificiale (AI).
Învățare automată - O aplicație a inteligenței artificiale (AI), învățarea automată oferă sistemelor capacitatea de a învăța și de a îmbunătăți automat din experiență, fără a fi programat în mod explicit. Învățarea automată se concentrează pe dezvoltarea de programe de calculator care pot accesa date și le pot folosi pentru a învăța singuri.
Procesul de învățare începe atunci când încep să observe datele, cum ar fi exemple, experiență directă sau instruire, pentru a căuta modele care îi ajută să ia decizii mai bune în viitor. Scopul principal este de a permite computerelor să învețe automat fără intervenție sau asistență umană și să își ajusteze acțiunile în consecință.
Învățare profundăÎnvățarea profundă (cunoscută și ca învățare profundă structurată sau învățare ierarhică) face parte dintr-o familie mai largă de metode de învățare automată bazate pe rețele neuronale artificiale. În cadrul Deep Learning, procesul de învățare poate fi supravegheat, semi-supravegheat sau nesupravegheat. Învățarea profundă este o clasă de algoritmi de învățare automată care utilizează mai multe straturi pentru a extrage progresiv caracteristici de nivel superior din intrarea brută.
De exemplu, în procesarea imaginilor, straturile inferioare pot identifica marginile, în timp ce straturile superioare pot identifica conceptele relevante pentru un om, cum ar fi cifrele, literele sau fețele.

Structura rețelei neuronale

Structura rețelei neuronale

Rețelele neuronale sunt formate din neuron, care este unitatea centrală de procesare a rețelei. Rețelele neuronale sunt în principiu formate din 3 straturi diferite și anume stratul de intrare, stratul ascuns și stratul de ieșire.
Stratul de intrare este stratul în care intrarea este alimentată în rețea. Stratul de ieșire folosește rezultatul acelui strat Ascuns, unde are loc cea mai mare parte a calculului. Aceasta este asociată cu o valoare numerică numită părtinire, care este apoi adăugată la suma de intrare care este transmisă funcției de prag numită funcție de activare.
Funcția de activare determină dacă un anumit neuron trebuie activat sau nu. Neuronul activat transmite datele la stratul următor.
Un canal se conectează între acești neuroni.

Lucrarea rețelelor neuronale cu exemplu

Pași de bază:

  1. Neuronii noștri de intrare reprezintă o intrare, bazată pe informațiile pe care încercăm să le clasificăm.
  2. Fiecărui număr din neuronii de intrare i se dă o pondere la fiecare sinapsă (canal).
  3. La fiecare neuron din stratul următor, adăugăm ieșirile tuturor sinapselor care vin la acel neuron împreună cu o părtinire și aplicăm o funcție de activare (de obicei o funcție sigmoidă) sumei ponderate (acest lucru face ca numărul să fie între 0 și 1).
    Suma intrărilor= (w1*x1) + (w1*x2) + (w1*x3) + b1 calculată pentru fiecare intrare neuronală
  4. Ieșirea acelei funcții va fi tratată ca intrare pentru următorul strat de sinapsă
  5. Continuați până când ajungeți la ieșire.

Luați în considerare un exemplu de clasificare a frunzelor, cum ar fi frunza normală sau frunza defectă.
Aici oferim o imagine a frunzei sistemului nostru pentru a o clasifica în funcție de starea sa.
Imaginea este împărțită în bucăți în funcție de dimensiunea sa, cum ar fi, dacă are 28 de pixeli în înălțime și greutate, este împărțită ca 28X28 px de 784 px și alimentată în stratul de intrare. Dar, în acest caz, este de 30 px lățime și 900 px înălțime, care este alimentat la stratul de intrare.

Neuron

Neuronul unui strat este conectat la un alt strat cu o greutate aleatorie care este folosită pentru a calcula suma. Suma de intrare a unui strat este trimisă la stratul următor (stratul ascuns) și fiecare strat ascuns este asociat cu o valoare numerică care se adaugă la suma de intrare.
Funcția de activare decide ce neuron va fi activat și indiferent de neuron care este activat, acea valoare a neuronului este transmisă stratului următor. Aceasta este cunoscută sub numele de propagare înainte.

neuron cu valoare mai mare

În stratul de ieșire, neuronul cu valoare mai mare determină ieșirea. Valoarea este practic valoarea probabilității. Dacă valoarea mai mare a probabilității prezice o ieșire greșită, rețeaua nu a fost încă antrenată. În acest caz se determină ca frunză defectă deci trebuie instruită, după care se poate efectua detectarea/clasificarea.

Neurale

Propagarea inversă este efectuată pentru a prezice ieșirea corectă, care se bazează pe o valoare prezisă. Aceasta este comparată cu producția reală. În mod iterativ, greutățile sunt atribuite până când acestea prezic corect frunza. Greutatea este apoi reinițializată pentru a minimiza eroarea.

Ieșire din rețea neuronală


După reinițializarea greutății, pe baza diferenței de eroare a valorii prezise, ​​am obținut rezultatul exact ca o frunză normală.

Unele dintre aplicațiile rețelei neuronale

  1. traducere Google
  2. Recunoaștere facială
  3. Autoturisme care conduce singur
  4. Detectarea obiectelor
  5. Compoziție muzicală
  6. Recunoaștere a vorbirii
  7. Verificarea ortografiei
  8. Recunoașterea caracterelor


Avantaje

  • Când elementul rețelei neuronale eșuează, acesta poate continua fără nicio problemă cu ajutorul naturii paralele.
  • Rețelele neuronale învață și nu trebuie să fie reprogramate.
  • Poate fi implementat în orice aplicație.
  • Rețelele neuronale îndeplinesc sarcini pe care un program liniar nu le poate.

Dezavantaje

  • Rețelele neuronale au nevoie de pregătire pentru a funcționa.
  • Necesită timp mare de procesare pentru rețele neuronale mai mari.
  • Cantitatea de date.