Model de rețea neuronală: scurtă introducere, glosar și backpropagation
Publicat: 2020-05-22Dacă ești un pasionat de inginerie software care încearcă să înțeleagă cum funcționează rețelele neuronale, ești în locul potrivit.
În acest ghid, îi vom ajuta pe începători să învețe semnificația rețelelor neuronale, să obțină o introducere despre ce este un model de rețea neuronală și să-și extindă cunoștințele în noi domenii ale domeniului.
Cuprins
Ce este o rețea neuronală?
Înainte de a intra în terminologia computațională, să înțelegem existența rețelelor neuronale în viața noastră de zi cu zi.
Termenul „neural” provine de la „neuron”, care este termenul folosit pentru o singură celulă nervoasă. Așa este – o rețea neuronală înseamnă în esență o rețea de neuroni care realizează acțiuni simple și în viața noastră de zi cu zi.
Recunoașterea modelelor, detectarea obiectelor și inteligența sunt un aspect major al problemelor cu care ne confruntăm în fiecare zi. Deși sunt efectuate cu atâta ușurință încât nici nu ne dăm seama, adevărul este că aceste reacții sunt greu de automatizat.
Exemplu:

- Copiii memorează cum arată un măr
- Un animal care își recunoaște mama sau proprietarul
- Perceperea dacă ceva este cald sau rece
Rețelele noastre neuronale efectuează aceste calcule complicate.
Oamenii au reușit acum să construiască un sistem de calcul care poate funcționa într-un mod similar cu sistemul nostru nervos. Acestea se numesc rețele neuronale artificiale (ANN).
În timp ce am folosit inițial ANN-urile pentru a îndeplini funcții simple, creșterea puterii de calcul ne-a permis acum să construim o arhitectură de rețea neuronală destul de puternică pentru a rezolva probleme din ce în ce mai complicate.
Să aflăm despre ANN în profunzime în secțiunea următoare.
Citiți: Tutorial de detectare a obiectelor TensorFlow pentru începători
Ce este un model de rețea neuronală artificială?
O rețea neuronală cu mai multe straturi, complet conectată, care conține un strat de intrare, straturi ascunse și un strat de ieșire, se numește rețea neuronală artificială sau ANN.
Imaginea de mai jos reprezintă un ANN.
Sursă
Dacă vezi cu atenție, vei observa că fiecare nod dintr-un strat este conectat la fiecare nod din stratul de lângă el.
Pe măsură ce creșteți numărul de straturi ascunse, rețeaua devine mai adâncă.
Să vedem cum arată un nod individual din stratul de ieșire sau ascuns.
Sursă
După cum puteți vedea, nodul primește multe intrări. Însumează toate greutățile și le transmite ca ieșire, printr-o funcție de activare neliniară.
Această ieșire a nodului devine intrarea nodului în stratul următor.
Un lucru important de remarcat aici este că semnalul se va mișca întotdeauna de la stânga la dreapta. Odată ce toate nodurile au urmat procedura, va fi dat rezultatul final.
Iată cum arată ecuația unui nod.
Sursă
În ecuația de mai sus, b este părtinire. Este intrarea pentru toate nodurile și poartă întotdeauna valoarea 1.
Bias ajută la mutarea rezultatului funcției de activare la stânga sau la dreapta.
Glosar al modelului de rețea neuronală artificială
Să ne uităm la termenii de bază pe care ar trebui să îi cunoașteți când vine vorba de un model de rețea neuronală artificială.
Intrări
Datele introduse pentru prima dată în rețeaua neuronală de la sursă se numesc intrare. Scopul său este de a oferi date rețelei pentru a lua o decizie sau predicție cu privire la informațiile introduse în ea. Modelul rețelei neuronale acceptă de obicei seturi de valori reale de intrări și ar trebui să fie introdus într-un neuron din stratul de intrare.
Set de antrenament
Intrările pentru care știți deja ieșirile corecte se numesc seturi de antrenament. Acestea sunt folosite pentru a ajuta rețeaua neuronală să se antreneze și să memoreze rezultatul pentru setul de intrare dat.

Ieșiri
Fiecare rețea neuronală generează o ieșire ca o predicție sau o decizie cu privire la datele introduse în ea. Această ieșire este sub forma unui set de valori reale sau a unor decizii booleene. Numai neuronii din stratul de ieșire generează valoarea de ieșire.
Neuron
Cunoscut și ca perceptron, un neuron este unitatea de bază a unei rețele neuronale. Acceptă o valoare de intrare și generează o ieșire pe baza acesteia.
După cum sa discutat anterior, fiecare neuron primește o parte din intrare și o trece prin funcția de activare neliniară către nodul din stratul următor. Aceste funcții de activare pot fi TanH, sigmoid sau ReLu. Caracteristica neliniară a acestor funcții ajută la antrenarea rețelei.
Spațiu de greutate
Fiecare neuron are o greutate numerică. Când trimite intrare la o altă notă, greutatea sa este totalizată cu celelalte pentru a genera o ieșire. Făcând mici modificări la aceste greutăți, sunt antrenate rețelele neuronale. Reglarea fină a ponderilor ajută la determinarea setului corect de ponderi și părtiniri care ar genera cel mai bun rezultat. Aici intervine retropropagarea.

Ce este propagarea inversă într-un model de rețea neuronală?
Una dintre modalitățile de a afla cu succes micile modificări care trebuie făcute la ponderi pentru a minimiza pierderea întregii rețele este backpropagarea.
- La început, activările trebuie să fie propagate în sens ascendent sau direct.
- Acum, derivatele funcției de cost trebuie propagate în direcția descendentă sau inversă.
În acest fel, veți putea determina derivata costului parțial față de fiecare pondere. Puteți calcula apoi costul care ar fi redus prin efectuarea ajustărilor.
Concluzie
Mulți ingineri de software nu recomandă modelul rețelei neuronale, deoarece consideră că este destul de ineficient, având în vedere că sunt necesare mai multe iterații pentru a veni cu cea mai rentabilă soluție.
Cu toate acestea, numeroși algoritmi noi, cum ar fi rețelele de capsule a lui Hinton, rețelele neuronale ale capsulei, necesită mult mai puține cazuri de ajustări pentru a ajunge la un model precis. Și așa, cu siguranță rețelele neuronale au o mulțime de posibilități în viitor.
Dacă sunteți interesat să aflați mai multe despre învățarea automată, consultați Diploma PG de la IIIT-B și upGrad în Învățare automată și AI, care este concepută pentru profesioniști care lucrează și oferă peste 450 de ore de pregătire riguroasă, peste 30 de studii de caz și sarcini, IIIT- B Statut de absolvenți, peste 5 proiecte practice practice și asistență pentru locuri de muncă cu firme de top.
De ce trebuie să studiezi matematica pentru inteligența artificială?
Spre deosebire de ceea ce cred mulți dintre noi, inteligența artificială este foarte dependentă de matematică. Întregul concept de a preda mașinilor să gândească și să acționeze similar cu ființele umane se bazează pe concepte care aparțin diferitelor ramuri ale matematicii, cum ar fi probabilitatea și statistica, pentru a numi câteva. Știința datelor vine, de asemenea, cu bazele sale legate de diferite concepte matematice, de la calcul, algebră liniară și teoria jocurilor până la regresii avansate, clasificări, statistici, probabilitate, coborâre a gradientului și multe altele. Fundamentele solide ale matematicii sunt esențiale pentru dezvoltarea unei înțelegeri eficiente a conceptelor AI, care vă va ajuta să vă construiți o carieră de succes în acest domeniu.
Este rețeaua neuronală un algoritm în învățarea automată?
Rețelele neuronale artificiale sau pur și simplu, rețelele neuronale, pot fi definite ca un set de algoritmi de învățare automată proiectați să semene cu creierul uman și creați pentru recunoașterea avansată a modelelor. Rețelele neuronale sunt concepute pentru a identifica modele numerice în cadrul vectorilor în care sunt traduse toate datele acumulate. Prin detectarea tiparelor din datele nestructurate sau imprecise, rețelele neuronale ajută la clasificarea și formarea clusterelor pentru stocarea și gestionarea datelor îmbunătățite. Datele senzoriale care sunt transmise rețelelor neuronale sunt interpretate printr-o percepție a mașinii care etichetează sau grupează datele de intrare.
De ce este necesară propagarea inversă în rețelele neuronale?
În domeniul rețelelor neuronale artificiale, metoda backpropagation se referă de fapt la propagarea înapoi a erorilor. Aceasta este o tehnică standardizată folosită pentru a antrena rețele neuronale artificiale și se realizează prin iterații. Propagarea inversă este utilizată pentru a regla greutățile unei rețele neuronale artificiale, pentru a ajuta la minimizarea erorilor și pentru a face sistemul mai precis și mai fiabil. Această metodă funcționează rapid și poate fi, de asemenea, programată simplu. Este o tehnică flexibilă; nu are nevoie de cunoștințe anterioare despre rețeaua neuronală. Nu implică parametri suplimentari, ci doar reglează numerele introduse în sistem.