Fundamentele AI
Ce sunt reČelele neuronale Transformer?
ReČelele neuronale Transformer descrise
Transformatorii sunt un tip de model de maČinÄ de ÃŪnvÄČare care se specializeazÄ ÃŪn prelucrarea Či interpretarea datelor secvenČiale, fÄcÃĒndu-le optime pentru sarcinile de prelucrare a limbajului natural. Pentru a ÃŪnČelege mai bine ce este un transformator de maČinÄ de ÃŪnvÄČare Či cum funcČioneazÄ, sÄ aruncÄm o privire mai atentÄ asupra modelului transformator Či a mecanismelor care le conduc.
Acest articol va acoperi:
- Modele secvenČÄ-la-secvenČÄ
- Arhitectura reČelei neuronale Transformer
- Mecanismul de atenČie
- DiferenČe ÃŪntre transformatori Či RNN/LSTM
Modele secvenČÄ-la-secvenČÄ
Modelele secvenČÄ-la-secvenČÄ sunt un tip de model de prelucrare a limbajului natural care sunt utilizate pentru a converti secvenČe de un anumit tip ÃŪntr-o secvenČÄ de alt tip. ExistÄ diverse tipuri de modele secvenČÄ-la-secvenČÄ, cum ar fi modelele de reČea neuralÄ recurentÄ Či modelele LSTM (Long Short-Term Memory).
Modelele tradiČionale secvenČÄ-la-secvenČÄ, cum ar fi RNN-urile Či LSTM-urile, nu sunt subiectul acestui articol, dar o ÃŪnČelegere a lor este necesarÄ pentru a aprecia cum funcČioneazÄ modelele transformator Či de ce sunt superioare modelelor tradiČionale secvenČÄ-la-secvenČÄ.
Ãn general, modelele RNN Či LSTM constau ÃŪn reČele de codificare Či decodificare care analizeazÄ datele de intrare la diverse etape de timp. Modelul de codificare este responsabil pentru crearea unei reprezentÄri codificate a cuvintelor din datele de intrare. La fiecare etapÄ de timp, reČeaua de codificare ia o secvenČÄ de intrare Či un starea ascunsÄ de la etapa de timp precedentÄ din serie. Valorile stÄrilor ascunse sunt actualizate pe mÄsurÄ ce datele trec prin reČea, pÃĒnÄ la ultima etapÄ de timp, unde se genereazÄ un âvector de contextâ. Vectorul de context este apoi transmis reČelei de decodificare, care este utilizat pentru a genera o secvenČÄ ČintÄ prin predicČia cuvÃĒntului cel mai probabil care se potriveČte cu cuvÃĒntul de intrare pentru etapele de timp respective.
Aceste modele pot fi ÃŪmbunÄtÄČite prin utilizarea unui âmecanism de atenČieâ. Un mecanism de atenČie defineČte care porČiuni ale vectorului de intrare ar trebui sÄ fie luate ÃŪn considerare de reČea pentru a genera ieČirea corespunzÄtoare. Pentru a spune altfel, un mecanism de atenČie permite modelului transformator sÄ proceseze un cuvÃĒnt de intrare Či, ÃŪn acelaČi timp, sÄ ia ÃŪn considerare informaČiile relevante conČinute de alte cuvinte de intrare. Mecanismele de atenČie mascheazÄ, de asemenea, cuvintele care nu conČin informaČii relevante.
Arhitectura reČelei neuronale Transformer
Vom detalia mecanismul de atenČie mai tÃĒrziu, dar pentru moment, sÄ aruncÄm o privire asupra arhitecturii unei reČele neuronale Transformer la un nivel mai ÃŪnalt.
Ãn general, o reČea neuralÄ Transformer are o structurÄ similarÄ cu urmÄtoarea:

DeČi structura generalÄ poate varia ÃŪntre reČele, componentele de bazÄ rÄmÃĒn aceleaČi: codificÄri poziČionale, vectori de cuvinte, mecanism de atenČie, reČea neuralÄ feed-forward.
CodificÄri poziČionale Či vectori de cuvinte
O reČea neuralÄ Transformer funcČioneazÄ prin luarea unei secvenČe de intrÄri Či conversia acestor intrÄri ÃŪn douÄ alte secvenČe. Transformatorul produce o secvenČÄ de vectori de cuvinte ÃŪncorporaČi Či codificÄri poziČionale.
Vectorii de cuvinte ÃŪncorporaČi sunt doar textul reprezentat ÃŪntr-un format numeric pe care reČeaua neuralÄ ÃŪl poate prelucra. Ãntre timp, codificÄrile poziČionale sunt reprezentÄri vectorizate care conČin informaČii despre poziČia cuvÃĒntului curent ÃŪn propoziČia de intrare, ÃŪn raport cu alte cuvinte.
Alte modele de reČea neuralÄ bazate pe text, cum ar fi RNN-urile Či LSTM-urile, utilizeazÄ vectori pentru a reprezenta cuvintele din datele de intrare. AceČti vectori de ÃŪncorporare a cuvintelor asociazÄ cuvintele cu valori constante, dar acest lucru este limitativ, deoarece cuvintele pot fi utilizate ÃŪn contexte diferite. O reČea neuralÄ Transformer rezolvÄ aceastÄ problemÄ, fÄcÃĒnd valorile cuvintelor mai flexibile, utilizÃĒnd funcČii sinusoidale pentru a permite vectorilor de cuvinte sÄ ia valori diferite ÃŪn funcČie de poziČia cuvÃĒntului ÃŪn propoziČie.
Acest lucru permite modelului de reČea neuralÄ sÄ pÄstreze informaČii cu privire la poziČia relativÄ a cuvintelor de intrare, chiar Či dupÄ ce vectorii trec prin straturile reČelei Transformer.
CodificÄrile poziČionale Či vectorii de cuvinte ÃŪncorporaČi sunt sumaČi, apoi transmiČi atÃĒt ÃŪn reČeaua de codificare, cÃĒt Či ÃŪn reČeaua de decodificare. DeČi reČelele neuronale Transformer utilizeazÄ scheme de codificare/decodificare, la fel ca RNN-urile Či LSTM-urile, o diferenČÄ majorÄ ÃŪntre ele este cÄ toate datele de intrare sunt introduse ÃŪn reČea ÃŪn acelaČi timp, ÃŪn timp ce ÃŪn RNN-urile Či LSTM-urile, datele sunt introduse secvenČial.
ReČelele de codificare sunt responsabile pentru conversia intrÄrilor ÃŪn reprezentÄri pe care reČeaua le poate ÃŪnvÄČa, ÃŪn timp ce reČelele de decodificare fac invers, convertind ÃŪncorporÄrile ÃŪntr-o distribuČie de probabilitate utilizatÄ pentru a genera cuvintele cele mai probabile ÃŪn propoziČia de ieČire. Ãn mod esenČial, atÃĒt reČelele de codificare, cÃĒt Či cele de decodificare au un mecanism de atenČie.
Deoarece GPU-urile sunt capabile de prelucrare paralelÄ, se utilizeazÄ mai multe mecanisme de atenČie ÃŪn paralel, calculÃĒnd informaČiile relevante pentru toate cuvintele de intrare. AceastÄ capacitate de a acorda atenČie mai multor cuvinte, numitÄ âatenČie multi-capâ, la un moment dat, ajutÄ reČeaua neuralÄ sÄ ÃŪnveČe contextul unui cuvÃĒnt ÃŪntr-o propoziČie Či este una dintre principalele avantaje pe care reČelele Transformer le au faČÄ de RNN-urile Či LSTM-urile.
Mecanismul de atenČie
Mecanismul de atenČie este partea cea mai importantÄ a unei reČele Transformer. Mecanismul de atenČie este ceea ce permite modelelor Transformer sÄ depÄČeascÄ limita de atenČie a unui model RNN sau LSTM obiČnuit. Modelele tradiČionale secvenČÄ-la-secvenČÄ aruncÄ toate stÄrile intermediare Či utilizeazÄ doar starea finalÄ/vectorul de context atunci cÃĒnd iniČializeazÄ reČeaua de decodificare pentru a genera predicČii despre o secvenČÄ de intrare.
Aruncarea tuturor, cu excepČia vectorului de context final, funcČioneazÄ ok atunci cÃĒnd secvenČele de intrare sunt destul de mici. Cu toate acestea, pe mÄsurÄ ce lungimea secvenČei de intrare creČte, performanČa modelului se deterioreazÄ atunci cÃĒnd se utilizeazÄ aceastÄ metodÄ. Acest lucru se datoreazÄ faptului cÄ devine destul de dificil sÄ rezumi o secvenČÄ de intrare lungÄ ca un singur vector. SoluČia constÄ ÃŪn creČterea âatenČieiâ modelului Či utilizarea stÄrilor intermediare ale codificatorului pentru a construi vectori de context pentru decodificator.
Mecanismul de atenČie defineČte cÃĒt de importante sunt alte tokenuri de intrare pentru model atunci cÃĒnd se creeazÄ ÃŪncorporÄri pentru un token dat. De exemplu, âelâ este un pronume general, adesea utilizat pentru a se referi la animale atunci cÃĒnd sexul lor nu este cunoscut. Un mecanism de atenČie ar permite unui model Transformer sÄ determine cÄ, ÃŪn contextul actual, âelâ se referÄ la un veveriČÄ, deoarece poate examina toate cuvintele relevante din propoziČia de intrare.
Un mecanism de atenČie poate fi utilizat ÃŪn trei moduri diferite: de la codificator la decodificator, doar codificator Či doar decodificator.
AtenČia de la codificator la decodificator permite decodificatorului sÄ ia ÃŪn considerare secvenČele de intrare atunci cÃĒnd genereazÄ o ieČire, ÃŪn timp ce mecanismele de atenČie doar codificator Či doar decodificator permit reČelelor sÄ ia ÃŪn considerare toate pÄrČile secvenČelor anterioare Či actuale.
Construirea unui mecanism de atenČie poate fi ÃŪmpÄrČitÄ ÃŪn cinci paČi:
- Calcularea unui scor pentru toate stÄrile codificatorului.
- Calcularea greutÄČilor de atenČie
- Calcularea vectorilor de context
- Actualizarea vectorului de context cu ieČirea de la etapa de timp precedentÄ
- Generarea ieČirii cu decodificatorul
Primul pas constÄ ÃŪn calcularea de cÄtre decodificator a unui scor pentru toate stÄrile codificatorului. Acest lucru se realizeazÄ prin antrenarea reČelei decodificator, care este o reČea neuralÄ feed-forward de bazÄ. Atunci cÃĒnd decodificatorul este antrenat pe primul cuvÃĒnt din secvenČa de intrare, nu s-a creat ÃŪncÄ nicio stare internÄ/ascunsÄ, astfel ÃŪncÃĒt starea finalÄ a codificatorului este de obicei utilizatÄ ca stare anterioarÄ a decodificatorului.
Pentru a calcula greutÄČile de atenČie, se utilizeazÄ o funcČie softmax pentru a genera o distribuČie probabilisticÄ pentru greutÄČile de atenČie.
OdatÄ calculate greutÄČile de atenČie, vectorul de context trebuie calculat. Acest lucru se realizeazÄ prin multiplicarea greutÄČilor de atenČie Či a stÄrii ascunse ÃŪmpreunÄ pentru fiecare etapÄ de timp.
DupÄ calcularea vectorului de context, acesta este utilizat ÃŪmpreunÄ cu cuvÃĒntul generat la etapa de timp precedentÄ pentru a genera urmÄtorul cuvÃĒnt din secvenČa de ieČire. Deoarece decodificatorul nu are nicio ieČire anterioarÄ la care sÄ se refere ÃŪn prima etapÄ de timp, se utilizeazÄ adesea un token âstartâ special ÃŪn schimb.
DiferenČe ÃŪntre transformatori Či RNN/LSTM
SÄ trecem rapid ÃŪn revistÄ unele dintre diferenČele dintre RNN-urile Či LSTM-urile.
RNN-urile proceseazÄ intrÄrile secvenČial, ÃŪn timp ce un vector de stare ascunsÄ este menČinut Či modificat de cuvintele de intrare pe mÄsurÄ ce trec prin reČea. StÄrile ascunse ale unei RNN de obicei conČin foarte puČine informaČii relevante despre intrÄrile anterioare. Noile intrÄri Čterg adesea starea curentÄ, ceea ce provoacÄ pierderea de informaČii Či deterioreazÄ performanČa ÃŪn timp.
Ãn contrast, modelele Transformer proceseazÄ ÃŪntreaga secvenČÄ de intrare deodatÄ. Mecanismul de atenČie permite fiecÄrui cuvÃĒnt de ieČire sÄ fie informat de fiecare cuvÃĒnt de intrare Či de fiecare stare ascunsÄ, fÄcÃĒnd reČeaua mai fiabilÄ pentru bucÄČi lungi de text.
LSTM-urile sunt versiuni modificate ale RNN-urilor, ajustate pentru a gestiona secvenČe de intrare mai lungi. Arhitectura LSTM utilizeazÄ o structurÄ numitÄ âporČiâ, cu âporČi de intrareâ, âporČi de ieČireâ Či âporČi de uitareâ. Proiectarea porČilor trateazÄ pierderea de informaČii comune modelelor RNN. Datele sunt ÃŪncÄ procesate secvenČial, iar proiectarea recurentÄ a arhitecturii face ca modelele LSTM sÄ fie dificil de antrenat utilizÃĒnd calculul paralel, ceea ce face timpul de antrenare mai lung ÃŪn general.
Inginerii LSTM adesea adÄugau mecanisme de atenČie la reČea, ceea ce se Čtia cÄ ÃŪmbunÄtÄČeČte performanČa modelului. Cu toate acestea, s-a descoperit ÃŪn cele din urmÄ cÄ mecanismul de atenČie singur a ÃŪmbunÄtÄČit acurateČea. AceastÄ descoperire a condus la crearea de reČele Transformer care utilizeazÄ mecanisme de atenČie Či calcul paralel, mulČumitÄ GPU-urilor.












