ciot Ce sunt RNN-urile și LSTM-urile în Deep Learning? - Unite.AI
Conectează-te cu noi
Masterclass AI:

AI 101

Ce sunt RNN-urile și LSTM-urile în Deep Learning?

mm
Actualizat on

Multe dintre cele mai impresionante progrese în procesarea limbajului natural și chatbot-uri AI sunt conduse de Rețele neuronale recurente (RNN) și rețele Long Short-Term Memory (LSTM). RNN-uri și LSTM-uri sunt arhitecturi speciale de rețele neuronale care sunt capabile să proceseze date secvențiale, date în care ordonarea cronologică contează. LSTM-urile sunt versiuni în esență îmbunătățite ale RNN-urilor, capabil să interpreteze secvențe mai lungi de date. Să aruncăm o privire la modul în care sunt structurate RNN-urile și LSTMS și cum permit crearea unor sisteme sofisticate de procesare a limbajului natural.

Ce sunt rețelele neuronale feed-forward?

Așadar, înainte de a vorbi despre modul în care funcționează memoria pe termen scurt (LSTM) și rețelele neuronale convoluționale (CNN), ar trebui să discutăm despre formatul unei rețele neuronale în general.

O rețea neuronală este destinată să examineze datele și să învețe modele relevante, astfel încât aceste modele să poată fi aplicate altor date și să poată fi clasificate noi date. Rețelele neuronale sunt împărțite în trei secțiuni: un strat de intrare, un strat ascuns (sau mai multe straturi ascunse) și un strat de ieșire.

Stratul de intrare este cel care preia datele în rețeaua neuronală, în timp ce straturile ascunse sunt cele care învață tiparele din date. Straturile ascunse din setul de date sunt conectate la straturile de intrare și de ieșire prin „greutăți” și „prejudecăți”, care sunt doar ipoteze ale modului în care punctele de date sunt legate între ele. Aceste greutăți sunt ajustate în timpul antrenamentului. Pe măsură ce rețeaua se antrenează, presupunerile modelului despre datele de antrenament (valorile de ieșire) sunt comparate cu etichetele de antrenament reale. Pe parcursul cursului de instruire, rețeaua ar trebui (sperăm) să devină mai precisă la prezicerea relațiilor dintre punctele de date, astfel încât să poată clasifica cu precizie noi puncte de date. Rețelele neuronale profunde sunt rețele care au mai multe straturi la mijloc/mai multe straturi ascunse. Cu cât modelul are mai multe straturi ascunse și mai mulți neuroni/noduri, cu atât modelul poate recunoaște mai bine modelele din date.

Rețelele neuronale obișnuite, cu feed-forward, precum cele pe care le-am descris mai sus, sunt adesea numite „rețele neuronale dense”. Aceste rețele neuronale dense sunt combinate cu diferite arhitecturi de rețea specializate în interpretarea diferitelor tipuri de date.

Ce sunt RNN-urile (rețelele neuronale recurente)?

Rețelele neuronale recurente preiau principiul general al rețelelor neuronale feed-forward și le permit să gestioneze date secvențiale prin oferind modelului o memorie internă. Porțiunea „Recurente” a numelui RNN provine din faptul că bucla de intrare și ieșire. Odată ce ieșirea rețelei este produsă, ieșirea este copiată și returnată în rețea ca intrare. Atunci când luați o decizie, nu sunt analizate doar intrarea și ieșirea curentă, ci și intrarea anterioară. Cu alte cuvinte, dacă intrarea inițială pentru rețea este X și ieșirea este H, atât H, cât și X1 (următoarea intrare din secvența de date) sunt introduse în rețea pentru următoarea rundă de învățare. În acest fel, contextul datelor (intrarile anterioare) este păstrat pe măsură ce rețeaua se antrenează.

Rezultatul acestei arhitecturi este că RNN-urile sunt capabile să gestioneze date secvențiale. Cu toate acestea, RNN-urile suferă de câteva probleme. RNN-urile suferă de probleme de gradient de dispariție și de gradient de explozie.

Lungimea secvențelor pe care le poate interpreta un RNN este destul de limitată, mai ales în comparație cu LSTM.

Ce sunt LSTM-urile (Rețelele de memorie pe termen lung)?

Rețelele de memorie pe termen lung pot fi considerate extensii ale RNN-urilor, aplicând încă o dată conceptul de păstrare a contextului intrărilor. Cu toate acestea, LSTM-urile au fost modificate în mai multe moduri importante care le permit să interpreteze datele din trecut cu metode superioare. Modificările aduse LSTM-urilor tratează problema gradientului de dispariție și permit LSTM-urilor să ia în considerare secvențe de intrare mult mai lungi.

Modelele LSTM sunt compuse din trei componente diferite, sau porți. Există un poarta de intrare, o poarta de iesire si o poarta uitare. La fel ca RNN, LSTM-urile iau în considerare intrările din pasul de timp anterior atunci când modifică memoria modelului și greutățile de intrare. Poarta de intrare ia decizii cu privire la valorile importante și ar trebui lăsate să treacă prin model. O funcție sigmoidă este utilizată în poarta de intrare, care face determinări despre ce valori să se transmită prin rețeaua recurentă. Zero scade valoarea, în timp ce 1 o păstrează. Aici este folosită și o funcție TanH, care decide cât de importante sunt pentru model valorile de intrare, variind de la -1 la 1.

După ce intrările curente și starea memoriei sunt luate în considerare, poarta de ieșire decide ce valori să împingă la următorul pas de timp. În poarta de ieșire, valorile sunt analizate și atribuite o importanță variind de la -1 la 1. Aceasta reglează datele înainte de a fi trecute la următorul calcul al pasului de timp. În cele din urmă, sarcina porții uitare este să arunce informații pe care modelul le consideră inutile pentru a lua o decizie cu privire la natura valorilor de intrare. Poarta uitare folosește o funcție sigmoidă asupra valorilor, scoțând numere între 0 (uitați asta) și 1 (păstrați asta).

O rețea neuronală LSTM este realizată din ambele straturi speciale LSTM care pot interpreta datele secvențiale ale cuvintelor și cele dens conectate ca cele descrise mai sus. Odată ce datele se deplasează prin straturile LSTM, acestea trec în straturile dens conectate.

Blogger și programator cu specialități în Invatare mecanica și Invatare profunda subiecte. Daniel speră să-i ajute pe alții să folosească puterea AI pentru binele social.