7 tipuri de rețele neuronale în inteligența artificială explicate
Publicat: 2020-12-29Rețelele neuronale sunt un subset de tehnici de învățare automată care învață datele și modelele într-un mod diferit, utilizând Neuroni și Straturile Ascunse. Rețelele neuronale sunt mult mai puternice datorită structurii lor complexe și pot fi utilizate în aplicații în care algoritmii tradiționali de învățare automată nu sunt de ajuns.
Până la sfârșitul acestui tutorial, veți avea cunoștințele despre:
- O scurtă istorie a rețelelor neuronale
- Ce sunt rețelele neuronale
- Tipuri de rețele neuronale
- Perceptron
- Rețele Feed Forward
- Perceptron cu mai multe straturi
- Rețele pe bază radială
- Rețele neuronale convoluționale
- Rețele neuronale recurente
- Rețele de memorie pe termen scurt
Cuprins
O scurtă istorie a rețelelor neuronale
Cercetătorii din anii '60 au cercetat și au formulat modalități de a imita funcționarea neuronilor umani și modul în care funcționează creierul. Deși este extrem de complex de decodat, a fost propusă o structură similară care ar putea fi extrem de eficientă în învățarea tiparelor ascunse în Date.
În cea mai mare parte a secolului al XX-lea, rețelele neuronale au fost considerate incompetente. Erau complexe și performanța lor era slabă. De asemenea, au nevoie de multă putere de calcul, care nu era disponibilă la acel moment. Cu toate acestea, atunci când echipa lui Sir Geoffrey Hinton, supranumit și „Părintele învățării profunde”, a publicat lucrarea de cercetare despre Backpropagation, lucrurile s-au schimbat complet. Rețelele neuronale puteau acum să realizeze ceea ce nu sa gândit.
Ce sunt rețelele neuronale?
Rețelele neuronale folosesc arhitectura neuronilor umani care au intrări multiple, o unitate de procesare și ieșiri unice/multiple. Există greutăți asociate cu fiecare conexiune a neuronilor. Prin ajustarea acestor ponderi, o rețea neuronală ajunge la o ecuație care este utilizată pentru a prezice rezultate pe date noi nevăzute. Acest proces se realizează prin retropropagare și actualizarea ponderilor.
Tipuri de rețele neuronale
Diferite tipuri de rețele neuronale sunt utilizate pentru diferite date și aplicații. Diferitele arhitecturi ale rețelelor neuronale sunt concepute special pentru a funcționa pe acele tipuri particulare de date sau domenii. Să începem de la cele mai elementare și să mergem spre cele mai complexe.

Perceptron
Perceptronul este cea mai de bază și cea mai veche formă de rețele neuronale. Este format dintr-un singur neuron care preia intrarea și îi aplică funcția de activare pentru a produce o ieșire binară. Nu conține straturi ascunse și poate fi folosit doar pentru sarcini de clasificare binară.
Neuronul face procesarea adunării valorilor de intrare cu greutățile lor. Suma rezultată este apoi transmisă funcției de activare pentru a produce o ieșire binară.
Sursa imaginii
Aflați despre: Deep Learning vs Neural Networks
Rețeaua Feed Forward
Rețelele Feed Forward (FF) constau din mai mulți neuroni și straturi ascunse care sunt conectate între ele. Acestea sunt numite „feed-forward” deoarece datele circulă numai în direcția înainte și nu există propagare înapoi. Straturile ascunse ar putea să nu fie neapărat prezente în rețea, în funcție de aplicație.
Cu cât numărul de straturi mai mult poate fi personalizarea greutăților. Și, prin urmare, va fi mai mare capacitatea rețelei de a învăța. Greutățile nu sunt actualizate, deoarece nu există propagare inversă. Ieșirea înmulțirii greutăților cu intrările este alimentată la funcția de activare care acționează ca o valoare de prag.
Rețelele FF sunt utilizate în:
- Clasificare
- Recunoaștere a vorbirii
- Recunoaștere facială
- Recunoasterea formelor
Sursa imaginii
Perceptron cu mai multe straturi
Principalul neajuns al rețelelor Feed Forward a fost incapacitatea acestuia de a învăța cu backpropagation. Perceptronii multistrat sunt rețelele neuronale care încorporează mai multe straturi ascunse și funcții de activare. Învățarea are loc într-o manieră Supervizată, unde greutățile sunt actualizate prin intermediul Coborârii în Gradient.
Perceptronul multistrat este bidirecțional, adică propagarea înainte a intrărilor și propagarea înapoi a actualizărilor de greutate. Funcțiile de activare pot fi modificări în funcție de tipul de țintă. Softmax este de obicei folosit pentru clasificarea multiclasă, Sigmoid pentru clasificarea binară și așa mai departe. Acestea se mai numesc și rețele dense, deoarece toți neuronii dintr-un strat sunt conectați la toți neuronii din stratul următor.
Sunt utilizate în aplicațiile bazate pe Deep Learning, dar sunt în general lente datorită structurii lor complexe.
Sursa imaginii
Rețele de bază radială
Rețelele pe bază radială (RBN) folosesc o modalitate complet diferită de a prezice țintele. Este format dintr-un strat de intrare, un strat cu neuroni RBF și o ieșire. Neuronii RBF stochează clasele reale pentru fiecare dintre instanțele de date de antrenament. RBN-urile sunt diferite de perceptronul multistrat obișnuit datorită funcției radiale utilizate ca funcție de activare.

Când noile date sunt introduse în rețeaua neuronală, neuronii RBF compară distanța euclidiană a valorilor caracteristicilor cu clasele reale stocate în neuroni. Acest lucru este similar cu găsirea clusterului căruia îi aparține instanța particulară. Clasa la care distanța este minimă este atribuită ca clasă estimată.
RBN-urile sunt utilizate mai ales în aplicații de aproximare a funcțiilor, cum ar fi sistemele de restaurare a puterii.
Sursa imaginii
Citește și : Aplicații de rețele neuronale în lumea reală
Rețele neuronale convoluționale
Când vine vorba de clasificarea imaginilor, cele mai utilizate rețele neuronale sunt rețelele neuronale de convoluție (CNN). CNN conțin mai multe straturi de convoluție care sunt responsabile pentru extragerea caracteristicilor importante din imagine. Straturile anterioare sunt responsabile pentru detaliile de nivel scăzut, iar straturile ulterioare sunt responsabile pentru mai multe caracteristici de nivel înalt.
Operația de convoluție folosește o matrice personalizată, numită și ca filtre, pentru a se convoluți peste imaginea de intrare și a produce hărți. Aceste filtre sunt inițializate aleatoriu și apoi sunt actualizate prin backpropagation. Un exemplu de astfel de filtru este Canny Edge Detector, care este folosit pentru a găsi marginile în orice imagine.
După stratul de convoluție, există un strat de pooling care este responsabil pentru agregarea hărților produse din stratul convoluțional. Poate fi Max Pooling, Min Pooling etc. Pentru regularizare, CNN-urile includ, de asemenea, o opțiune pentru adăugarea de straturi de abandon care scad sau fac anumiți neuroni inactivi pentru a reduce supraadaptarea și convergența mai rapidă.
CNN-urile folosesc ReLU (Rectified Linear Unit) ca funcții de activare în straturile ascunse. Ca ultim strat, CNN-urile au un strat dens complet conectat și activarea funcționează mai ales ca Softmax pentru clasificare și mai ales ReLU pentru regresie.
Sursa imaginii
Rețele neuronale recurente
Rețelele neuronale recurente intră în imagine atunci când este nevoie de predicții folosind date secvențiale. Datele secvențiale pot fi o secvență de imagini, cuvinte, etc. RNN-ul are o structură similară cu cea a unei rețele Feed-Forward, cu excepția faptului că straturile primesc și o intrare cu întârziere în timp a predicției instanței anterioare. Această predicție de instanță este stocată în celula RNN, care este o a doua intrare pentru fiecare predicție.
Cu toate acestea, principalul dezavantaj al RNN este problema Vanishing Gradient, care face foarte dificilă amintirea greutăților straturilor anterioare.
Sursa imaginii

Rețele de memorie pe termen scurt
Rețelele neuronale LSTM depășesc problema gradului de dispariție în RNN-uri prin adăugarea unei celule de memorie specială care poate stoca informații pentru perioade lungi de timp. LSTM folosește porți pentru a defini ce ieșire ar trebui utilizată sau uitată. Utilizează 3 porți: poarta de intrare, poarta de ieșire și o poartă Forget. Poarta de intrare controlează ce date ar trebui păstrate în memorie. Poarta de ieșire controlează datele date la stratul următor, iar poarta uitare controlează când să dump/uitați datele care nu sunt necesare.
LSTM-urile sunt utilizate în diverse aplicații, cum ar fi:
- Recunoașterea gesturilor
- Recunoaștere a vorbirii
- Predicția textului
Inainte sa pleci
Rețelele neuronale pot deveni foarte complexe în cel mai scurt timp, dacă continuați să adăugați straturi în rețea. Există momente în care putem valorifica cercetarea imensă în acest domeniu utilizând rețele pre-instruite pentru uzul nostru.
Aceasta se numește Transfer Learning. În acest tutorial, am acoperit majoritatea rețelelor neuronale de bază și funcționarea acestora. Asigurați-vă că le încercați folosind cadrele de învățare profundă precum Keras și Tensorflow.
Dacă sunteți interesat să aflați mai multe despre rețeaua neuronală, învățarea automată și inteligența artificială, consultați Diploma PG de la IIIT-B și upGrad în învățare automată și IA, 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 misiuni, statutul de absolvenți IIIT-B, peste 5 proiecte practice practice și asistență pentru locuri de muncă cu firme de top.
Ce sunt rețelele neuronale?
Rețelele neuronale sunt modele probabilistice care pot fi utilizate pentru a efectua clasificarea neliniară și regresia, adică aproximarea unei mapări din spațiul de intrare în spațiul de ieșire. Lucrul interesant despre rețelele neuronale este că pot fi antrenate cu o mulțime de date și pot fi folosite pentru a modela un comportament neliniar complex. Ei pot fi instruiți cu o mulțime de exemple și pot fi folosiți pentru a găsi modele fără nicio îndrumare. Deci, rețelele neuronale sunt folosite în multe aplicații în care există aleatoriu și complexitate.
Care sunt 3 categorii majore de rețele neuronale?
O rețea neuronală este o abordare computațională a învățării, analogă cu creierul. Există trei categorii majore de rețele neuronale. Clasificarea, învățarea secvenței și aproximarea funcției sunt cele trei categorii majore de rețele neuronale. Există multe tipuri de rețele neuronale, cum ar fi Perceptron, Hopfield, hărți cu auto-organizare, mașini Boltzmann, rețele de credință profundă, codificatoare automate, rețele neuronale convoluționale, mașini Boltzmann restricționate, rețele neuronale cu valori continue, rețele neuronale recurente și rețele funcționale.
Care sunt limitele rețelelor neuronale?
Rețelele neuronale pot rezolva probleme care au un număr mare de intrări și un număr mare de ieșiri. Dar există și limite pentru rețelele neuronale. Rețelele neuronale sunt utilizate în principal pentru clasificare. Au rezultate foarte proaste la regresie. Și acesta este un punct foarte important: rețelele neuronale au nevoie de multe date de antrenament. Dacă setul de date este mic, atunci rețelele neuronale nu vor putea învăța regulile de bază. O altă limitare a rețelelor neuronale este că sunt cutii negre. Nu sunt transparente. Structura internă a unei rețele neuronale nu este ușor de înțeles.