IA 101
Ce sunt RNN-urile și LSTMs în Deep Learning?

Multe dintre cele mai impresionante progrese în procesarea limbajului natural și chatbot-urile AI sunt conduse de Rețele Neuronale Recurente (RNNs) și rețele Long Short-Term Memory (LSTM). RNN-urile și LSTMs sunt arhitecturi speciale de rețele neuronale care pot procesa date secvențiale, date unde ordonarea cronologică are importanță. LSTMs sunt esențialmente versiuni îmbunătățite ale RNN-urilor, capabile să interpreteze secvențe mai lungi de date. Să aruncăm o privire la structura RNN-urilor și LSTMs și la modul în care permit crearea unor sisteme avansate de procesare a limbajului natural.
Ce sunt Rețelele Neuronale Feed-Forward?
Așadar, înainte de a discuta despre modul în care funcționează Long Short-Term Memory (LSTM) și Rețelele Neuronale Convolutionale (CNN), ar trebui să discutăm 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 noilor date să poată fi clasificate. Rețelele neuronale sunt împărțite în trei secțiuni: un strat de intrare, un strat ascuns (sau multiple straturi ascunse) și un strat de ieșire.
Stratul de intrare este ceea ce introduce datele în rețeaua neuronală, în timp ce straturile ascunse sunt cele care învață modelele din date. Straturile ascunse din setul de date sunt conectate la straturile de intrare și ieșire prin “greutăți” și “sesizări” care sunt doar ipoteze despre modul î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ă, ipotezele modelului despre datele de antrenament (valorile de ieșire) sunt comparate cu etichetele reale de antrenament. Pe parcursul antrenamentului, rețeaua ar trebui (sperăm) să devină mai precisă în a prevedea relațiile dintre punctele de date, astfel încât să poată clasifica cu acuratețe noi puncte de date. Rețelele neuronale profunde sunt rețele care au mai multe straturi în mijloc / mai multe straturi ascunse. Cu cât modelul are mai multe straturi ascunse și mai multe neuroni / noduri, cu atât modelul poate recunoaște mai bine modelele din date.
Rețelele neuronale feed-forward regulate, cum sunt cele descrise mai sus, sunt adesea numite “rețele neuronale dense”. Aceste rețele neuronale dense sunt combinate cu diferite arhitecturi de rețele care se specializează în interpretarea diferitelor tipuri de date.
Ce sunt RNN-urile (Rețele Neuronale Recurente)?

Rețelele Neuronale Recurente iau principiul general al rețelelor neuronale feed-forward și le permit să gestioneze date secvențiale prin acordarea modelului unei memorii interne. Partea “Recurentă” a numelui RNN provine din faptul că intrările și ieșirile se buclă. Odată ce ieșirea rețelei este produsă, ieșirea este copiată și returnată în rețea ca intrare. Atunci când se ia o decizie, nu numai intrarea și ieșirea curentă sunt analizate, ci și intrarea anterioară este luată în considerare. Pentru a spune altfel, dacă intrarea inițială pentru rețea este X și ieșirea este H, atât H, cât și X1 (următoarea intrare în secvența de date) sunt introduse în rețea pentru următoarea rundă de învățare. În acest fel, contextul datelor (intrările 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 problemele de gradient care dispar și explodează.
Lungimea secvențelor pe care o RNN le poate interpreta este destul de limitată, mai ales în comparație cu LSTMs.
Ce sunt LSTMs (Rețele Neuronale cu Memorie pe Termen Lung)?
Rețelele Neuronale cu Memorie pe Termen Lung pot fi considerate extensii ale RNN-urilor, aplicând din nou conceptul de păstrare a contextului intrărilor. Cu toate acestea, LSTMs au fost modificate în câteva moduri importante care le permit să interpreteze datele trecute cu metode superioare. Modificările aduse LSTMs se referă la problema gradientului care dispare și permit LSTMs să ia în considerare secvențe de intrare mult mai lungi.

Modelele LSTMs sunt alcătuite din trei componente diferite, sau porți. Există o poartă de intrare, o poartă de ieșire și o poartă de uitare. La fel ca RNN-urile, LSTMs iau în considerare intrările de la timpul anterior atunci când modifică memoria modelului și greutățile de intrare. Poarta de intrare ia decizii despre care valori sunt importante și ar trebui să fie lăsate să treacă prin model. O funcție sigmoid este utilizată în poarta de intrare, care ia decizii despre care valori să treacă prin rețeaua recurentă. Zero elimină valoarea, în timp ce 1 o păstrează. O funcție TanH este utilizată aici, care decide cât de importante sunt valorile de intrare pentru model, variind de la -1 la 1.
După ce intrările și starea de memorie curentă sunt luate în considerare, poarta de ieșire decide care valori să fie propagate către următorul pas de timp. În poarta de ieșire, valorile sunt analizate și li se atribuie o importanță variind de la -1 la 1. Acest lucru reglează datele înainte de a fi transmise la următoarea etapă de calcul. În final, sarcina porții de uitare este de a elimina informațiile pe care modelul le consideră inutile pentru a lua o decizie despre natura valorilor de intrare. Poarta de uitare utilizează o funcție sigmoid asupra valorilor, producând numere între 0 (uită aceasta) și 1 (păstrează aceasta).
O rețea neuronală LSTM este alcătuită din straturi speciale LSTM care pot interpreta datele secvențiale de cuvinte și straturi dens conectate, cum sunt cele descrise mai sus. Odată ce datele trec prin straturile LSTM, ele merg mai departe în straturile dens conectate.








