IA 101
Ce sunt Rețelele Neuronale?

Ce sunt Rețelele Neuronale Artificiale (ANN)?
Multe dintre cele mai mari progrese în domeniul inteligenței artificiale sunt determinate de rețelele neuronale artificiale. Rețelele Neuronale Artificiale (ANN) sunt legături de funcții matematice unite într-un format inspirat de rețelele neuronale găsite în creierul uman. Aceste ANN sunt capabile să extragă tipare complexe din date, să aplice aceste tipare la date nevizualizate pentru a clasifica/recunoaște datele. În acest fel, mașina “învață”. Acesta este un rezumat rapid despre rețelele neuronale, dar să aruncăm o privire mai atentă asupra rețelelor neuronale pentru a înțelege mai bine ce sunt și cum funcționează.
Perceptron Multistrat Explikat
Înainte de a examina rețele neuronale mai complexe, vom arunca o privire asupra unei versiuni simple a unei ANN, un Perceptron Multistrat (MLP).

Imaginați-vă o linie de asamblare într-o fabrică. Pe această linie de asamblare, un lucrător primește un articol, face unele ajustări asupra lui și apoi îl trece mai departe la următorul lucrător din linie, care face același lucru. Acest proces continuă până când ultimul lucrător din linie pune ultimele atingeri asupra articolului și îl pune pe o bandă care îl va scoate din fabrică. În această analogie, există multiple “straturi” în linia de asamblare, iar produsele se deplasează între straturi pe măsură ce se deplasează de la un lucrător la altul. Linia de asamblare are, de asemenea, un punct de intrare și un punct de ieșire.
Un Perceptron Multistrat poate fi considerat ca o linie de producție foarte simplă, alcătuită din trei straturi: un strat de intrare, un strat ascuns și un strat de ieșire. Stratul de intrare este locul unde datele sunt introduse în MLP, iar în stratul ascuns un număr de “lucrători” manipulează datele înainte de a le trece la stratul de ieșire, care oferă produsul lumii externe. În cazul unui MLP, acești lucrători sunt numiți “neuroni” (sau noduri) și atunci când manipulează datele, ei le manipulează prin intermediul unor funcții matematice.
În cadrul rețelei, există structuri care leagă nodul de nod, numite “greutăți“. Greutățile sunt o presupunere despre modul în care punctele de date sunt legate pe măsură ce trec prin rețea. Altfel spus, greutățile reflectă nivelul de influență pe care un neuron îl are asupra altui neuron. Greutățile trec printr-o “funcție de activare” atunci când părăsesc nodul curent, care este o funcție matematică care transformă datele. Ele transformă datele liniare în reprezentări neliniare, ceea ce permite rețelei să analizeze tipare complexe.
Analogia cu creierul uman sugerată de “rețea neuronală artificială” provine din faptul că neuronii care alcătuiesc creierul uman sunt uniți într-un mod similar cu modul în care nodurile dintr-o ANN sunt legate.
Deși perceptronii multistrat au existat din anii 1940, au existat o serie de limitări care i-au împiedicat să fie deosebit de utili. Cu toate acestea, de-a lungul ultimelor câteva decenii, a fost creată o tehnică numită “backpropagation“, care a permis rețelelor să ajusteze greutățile neuronilor și, astfel, să învețe mult mai eficient. Backpropagation modifică greutățile din rețeaua neuronală, permițând rețelei să capteze mai bine tiparele reale din date.
Rețele Neuronale Adânci
Rețelele neuronale adânci iau forma de bază a MLP și o fac mai mare prin adăugarea de straturi ascunse în mijlocul modelului. Astfel, în loc de a avea un strat de intrare, un strat ascuns și un strat de ieșire, există multe straturi ascunse în mijloc, iar ieșirile unui strat ascuns devin intrările pentru următorul strat ascuns, până când datele au trecut prin întreaga rețea și au fost returnate.
Straturile multiple ascunse ale unei rețele neuronale adânci pot interpreta tipare mai complexe decât perceptronul multistrat tradițional. Diferitele straturi ale rețelei neuronale adânci învață tiparele diferitelor părți ale datelor. De exemplu, dacă datele de intrare constau în imagini, prima parte a rețelei poate interpreta luminozitatea sau întunericul pixelilor, în timp ce straturile ulterioare vor identifica formele și marginile care pot fi utilizate pentru a recunoaște obiecte în imagine.
Tipuri Diferite De Rețele Neuronale

Există diverse tipuri de rețele neuronale, iar fiecare dintre aceste tipuri de rețele neuronale are avantaje și dezavantaje proprii (și, prin urmare, propriile cazuri de utilizare). Tipul de rețea neuronală adâncă descris mai sus este cel mai comun tip de rețea neuronală și este adesea numit rețea neuronală feedforward.
O variantă a rețelelor neuronale este Rețeaua Neuronală Recurentă (RNN). În cazul rețelelor neuronale recurente, se utilizează mecanisme de buclă pentru a reține informații din stările anterioare de analiză, ceea ce înseamnă că pot interpreta date în care ordinea contează. RNN-urile sunt utile în derivarea tiparelor din date secvențiale/cronologice. Rețelele Neuronale Recurente pot fi unidirecționale sau bidirecționale. În cazul unei rețele neuronale bidirecționale, rețeaua poate lua informații atât din părțile ulterioare, cât și din părțile anterioare ale secvenței. Deoarece rețeaua neuronală bidirecțională ia în considerare mai multe informații, este mai capabilă să deseneze tiparele corecte din date.
O Rețea Neuronală Convolutivă este un tip special de rețea neuronală care este pricepută în a interpreta tiparele găsite în imagini. O CNN funcționează prin trecerea unui filtru peste pixelii imaginii și obținerea unei reprezentări numerice a pixelilor din imagine, pe care o poate analiza pentru a găsi tipare. O CNN este structurată astfel încât straturile convolutive care extrag pixelii din imagine vin primul, urmate de straturile dens conectate feed-forward, care vor învăța să recunoască obiecte.












