IA 101

Ce sunt rețelele neuronale?

mm

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 reunite într-un format inspirat de rețelele neuronale găsite în creierul uman. Aceste ANN sunt capabile să extragă modele complexe din date, să aplice aceste modele datelor nevizibile pentru a le clasifica/recunoaște. În acest fel, mașina “învață”. Acesta este un rezumat rapid despre rețelele neuronale, dar să aruncăm o privire mai atentă la rețelele neuronale pentru a înțelege mai bine ce sunt și cum funcționează.

Perceptronul multistrat explicat

Înainte de a examina rețelele neuronale mai complexe, vom lua un moment pentru a examina o versiune simplă 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 trec 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 anumit număr de “lucrători” manipulează datele înainte de a le trece mai departe către stratul de ieșire, care oferă produsul lumii exterioare. În cazul unui MLP, acești “lucrători” se numesc “neuroni” (sau noduri) și, atunci când manipulează datele, le transformă prin intermediul unor funcții matematice.

În cadrul rețelei, există structuri care leagă nodul cu nodul, numite “ponderi“. Ponderile sunt o presupunere despre modul în care punctele de date sunt legate pe măsură ce trec prin rețea. Altfel spus, ponderile reflectă nivelul de influență pe care un neuron îl are asupra altui neuron. Ponderile trec printr-o “funcție de activare” atunci când părăsesc nodul curent, care este un tip de funcție matematică ce transformă datele. Ele transformă datele liniare în reprezentări neliniare, ceea ce permite rețelei să analizeze modele complexe.

Analogia cu creierul uman sugerată de “rețea neuronală artificială” provine din faptul că neuronii care alcătuiesc creierul uman sunt legați într-un mod similar cu nodurile dintr-o ANN.

Deși perceptronii multistrati există din anii 1940, au existat o serie de limitări care i-au împiedicat să fie deosebit de utili. Cu toate acestea, în ultimele decenii, a fost creată o tehnică numită “backpropagation“, care a permis rețelelor să ajusteze ponderile neuronilor și, astfel, să învețe mult mai eficient. Backpropagation modifică ponderile în rețeaua neuronală, permițând rețelei să capteze mai bine modelele 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 suplimentare î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 modele mai complexe decât perceptronul multistrat tradițional. Diferitele straturi ale rețelei neuronale adânci învață modelele 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 muchiile care pot fi utilizate pentru a recunoaște obiecte în imagine.

Diferite tipuri de rețele neuronale

Există diverse tipuri de rețele neuronale, iar fiecare tip de rețea neuronală are avantajele și dezavantajele sale (și, prin urmare, propriile sale 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 RNN, se utilizează mecanisme de buclă pentru a reține informații din stări anterioare de analiză, ceea ce înseamnă că pot interpreta date în care ordinea contează. RNN sunt utile în derivarea modelelor 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 prelua informații atât din porțiuni ulterioare, cât și din porțiuni anterioare ale secvenței. Deoarece rețeaua bidirecțională ia în considerare mai multe informații, este mai capabilă să identifice corect modelele din date.

O Rețea Neuronală Convolutivă este un tip special de rețea neuronală care este pricepută să interpreteze modelele 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 identifica modele. O CNN este structurată astfel încât straturile convolutive care extrag pixelii din imagine vin primul, iar apoi vin straturile feedforward dens conectate, care vor învăța să recunoască obiecte, vin după aceasta.

Blogger și programator cu specializări în Machine Learning și Deep Learning subiecte. Daniel speră să ajute pe alții să folosească puterea inteligenței artificiale pentru binele social.