Mit 6.S191: Recurrent Neural Networks, Transformers, And Attention

Unleash Your Creative Genius with MuseMind: Your AI-Powered Content Creation Copilot. Try now! 🚀

Salutare tuturor! Sper că v-ați bucurat de prima prelegere a lui Alexandru. Sunt Ava și în această a doua prelegere, Prelegerea 2, ne vom concentra asupra acestei chestiuni a modelării secvențiale - cum putem construi rețele neurale care pot manipula și învăța din date secvențiale.

The Dance of RNNs

În prima prelegere a lui Alexandru, el a introdus esențialele rețelelor neurale, pornind de la perceptroni și ajungând la modele feed forward și cum puteți antrena efectiv aceste modele și începeți să vă gândiți la implementarea lor înainte. Acum ne vom îndrepta atenția către tipurile specifice de probleme care implică procesarea secvențială a datelor și vom realiza de ce aceste tipuri de probleme necesită o modalitate diferită de implementare și construire a rețelelor neurale față de ceea ce am văzut până acum.

Pentru a înțelege acest aspect, să ne gândim la o problemă specifică: predicția următorului cuvânt într-o propoziție dată o serie de cuvinte anterioare. Acum, întrebarea este cum putem face ca o rețea neurală să învețe această secvență în mod eficient.

The RNN Unveiled

Pentru a face acest lucru, trebuie să traducem informația textuală într-un format pe care rețeaua neurală să îl înțeleagă. Acest proces se numește "embedding," și ne permite să transformăm cuvintele în vectori numerici. Acest lucru este crucial, deoarece rețelele neurale sunt bazate pe matematică și necesită date numerice.

Acum, rețineți că secvențele pot varia în lungime și pot conține dependențe pe termen lung. Acest lucru înseamnă că trebuie să construim o rețea care poate să țină pasul cu secvențele variabile și să captureze relațiile dintre elementele lor.

Riding the Wave of Time

Dependențele între elementele unei secvențe depind de ordinea lor, iar aici intervine conceptul de "time step." Imaginați-vă că fiecare cuvânt din propoziție este o mică călătorie în timp, iar rețeaua neurală trebuie să țină evidența fiecărei călătorii și să le interconecteze.

Aici apare "recurrent neural network" (RNN), o arhitectură care este specializată în procesarea datelor secvențiale. RNN are un fel de memorie internă care ține cont de informația din trecut și o integrează în prezent, asemănător cu cum noi, oamenii, ne bazăm pe experiența noastră anterioară pentru a înțelege prezentul.

Taming the Beast: Vanishing and Exploding Gradients

Însă RNN-urile nu sunt perfecte și întâmpină niște provocări notabile. Una dintre aceste provocări este cunoscută sub numele de "vanishing gradient problem." Atunci când antrenăm o rețea neurală, trebuie să ajustăm ponderile acesteia în funcție de greșelile făcute. Însă, în cazul RNN-urilor, acest proces se complica, deoarece trebuie să luăm în considerare fiecare pas de timp individual.

Acest lucru poate duce la o "explozie de gradient," în care valorile devin foarte mari, sau la o "dispariție de gradient," în care acestea se apropie de zero. Ambele scenarii pot face ca antrenarea RNN-urilor să devină dificilă.

Unleashing the Power of LSTMs

Soluția la această problemă este să folosim altă arhitectură numită "long short-term memory" (LSTM). LSTMs sunt ca o versiune evoluată a RNN-urilor și sunt mai bune la gestionarea dependențelor pe termen lung în date. Acestea folosesc o "poartă" pentru a controla fluxul de informații în interiorul rețelei și astfel evită problema vanishing gradient.

Pentru a aduce un plus de perspectivă, să ne gândim la RNN-uri ca la o foaie de hârtie, iar la LSTMs ca la un caiet cu pagini multiple. Caietul poate păstra informații pe termen lung, în timp ce foaia de hârtie poate doar să-și amintească ultimul lucru scris pe ea.

The Rise of Self-Attention

Dar inovația continuă, și suntem martorii apariției unui concept puternic numit "self-attention." Acest concept este esențial în arhitecturile moderne de învățare profundă și stă la baza modelelor Transformer.

Self-attention este ca o formă de atenție vizuală umană. Când ne concentrăm asupra unui anumit aspect al unei imagini, ne uităm doar la acel aspect, ignorând restul. Acesta este un instrument cheie în căutare și extragere de informații.

Cu self-attention, putem procesa date secvențiale într-un mod mai eficient. În loc să parcurgem pas cu pas, ca în cazul RNN-urilor, self-attention ne permite să analizăm și să înțelegem în paralel întreaga secvență.

The Journey Continues

În concluzie, procesarea datelor secvențiale este un domeniu în evoluție continuă. De la RNN-urile originale la LSTMs și apoi la conceptul de self-attention, am făcut pași mari în direcția înțelegerii și modelării secvențelor.

Acesta este doar începutul, iar viitorul aduce cu sine noi și mai capt

Watch full video here ↪
MIT 6.S191: Recurrent Neural Networks, Transformers, and Attention
Related Recaps