cung Çfarë janë Rrjetet Neurale të Transformerëve? - Bashkohu.AI
Lidhu me ne
Masterclass i AI:

UA 101

Cilat janë Rrjetet Neurale të Transformerëve?

mm
Përditësuar on

Rrjetet neurale të transformatorëve të përshkruar

Transformers janë një lloj modeli i mësimit të makinerive që specializohet në përpunimin dhe interpretimin e të dhënave vijuese, duke i bërë ato optimale për detyrat e përpunimit të gjuhës natyrore. Për të kuptuar më mirë se çfarë është një transformator i mësimit të makinerive dhe si funksionojnë ata, le t'i hedhim një vështrim më të afërt modeleve të transformatorëve dhe mekanizmave që i drejtojnë ato.

Ky artikull do të mbulojë:

  • Modelet sekuencë në sekuencë
  • Arkitektura e Rrjetit Neural të Transformerit
  • Mekanizmi i Vëmendjes
  • Dallimet midis transformatorëve dhe RNN/LSTM-ve

Modelet sekuencë në sekuencë

Modelet sekuencë në sekuencë janë një lloj modeli NLP që përdoren për të kthyer sekuencat e një lloji në një sekuencë të një lloji tjetër. Ekzistojnë lloje të ndryshme të modeleve sekuencë në sekuencë, si p.sh Rrjeti nervor i përsëritur modele dhe Kujtesa afatshkurtër e gjatë (LSTM) modele.

Modelet tradicionale sekuencë në sekuencë si RNN dhe LSTMS nuk janë fokusi i këtij artikulli, por një kuptim i tyre është i nevojshëm për të vlerësuar se si funksionojnë modelet e transformatorëve dhe pse ato janë superiore ndaj modeleve tradicionale sekuencë në sekuencë.

Shkurtimisht, modelet RNN dhe modelet LSTM përbëhen nga rrjete kodues dhe dekoder që analizojnë të dhënat hyrëse në hapa të ndryshëm kohorë. Modeli i koduesit është përgjegjës për formimin e një paraqitjeje të koduar të fjalëve në të dhënat hyrëse. Në çdo hap kohor, rrjeti i koduesit merr një sekuencë hyrëse dhe një gjendje të fshehur nga hapi i mëparshëm kohor në seri. Vlerat e gjendjes së fshehur përditësohen ndërsa të dhënat kalojnë përmes rrjetit, deri në hapin e fundit kohor, ku gjenerohet një "vektor konteksti". Vektori i kontekstit më pas kalon në rrjetin e dekoderit, i cili përdoret për të gjeneruar një sekuencë të synuar duke parashikuar fjalën më të mundshme që çiftohet me fjalën hyrëse për hapat kohorë përkatës.

Këto modele mund të shtohen përmes përdorimit të një "mekanizmi i vëmendjes“. Një mekanizëm i vëmendjes përcakton se në cilat pjesë të vektorit të hyrjes duhet të fokusohet rrjeti për të gjeneruar daljen e duhur. Për ta thënë ndryshe, një mekanizëm vëmendjeje lejon që modeli i transformatorit të përpunojë një fjalë hyrëse, ndërkohë që kujdeset për informacionin përkatës që përmban fjalët e tjera hyrëse. Mekanizmat e vëmendjes gjithashtu maskojnë fjalët që nuk përmbajnë informacion të rëndësishëm.

Arkitektura e Rrjetit Neural të Transformerit

Ne do të shkojmë në mekanizmin e vëmendjes më në detaje më vonë, por tani për tani le t'i hedhim një vështrim arkitektura e një rrjeti nervor transformatori në një nivel më të lartë.

Në përgjithësi, një rrjet nervor transformatori duket diçka si më poshtë:

Ndërkohë që kjo strukturë e përgjithshme mund të ndryshojë midis rrjeteve, pjesët thelbësore do të mbeten të njëjta: kodimet pozicionale, vektorët e fjalëve, mekanizmi i vëmendjes, rrjeti nervor feed-forward.

Kodimet e pozicionit dhe vektorët e fjalëve

Funksionon një rrjet nervor transformatori duke marrë një sekuencë hyrjesh dhe duke i kthyer këto hyrje në dy sekuenca të tjera. Transformatori prodhon një sekuencë të futjeve të vektorit të fjalëve dhe kodimeve pozicionale.

Përfshirjet e vektorit të fjalëve janë vetëm teksti i përfaqësuar në një format numerik që rrjeti nervor mund të përpunojë. Ndërkohë, kodimet pozicionale janë paraqitje të vektorizuara që përmbajnë informacion për pozicionin e fjalës aktuale në fjalinë hyrëse, në raport me fjalët e tjera.

Modele të tjera të rrjeteve nervore të bazuara në tekst si RNN dhe LSTM përdorin vektorë për të përfaqësuar fjalët në të dhënat hyrëse. Këto ngulitje vektoriale lidhin fjalët në vlera konstante, por kjo është kufizuese sepse fjalët mund të përdoren në kontekste të ndryshme. Një rrjet transformatorësh e zgjidh këtë problem duke i bërë vlerat e fjalëve më fleksibël, duke përdorur funksione sinusoidale për t'i lënë vektorët e fjalëve të marrin vlera të ndryshme në varësi të pozicionit të fjalës në fjali.

Kjo lejon që modeli i rrjetit nervor të ruajë informacionin në lidhje me pozicionin relativ të fjalëve hyrëse, edhe pasi vektorët lëvizin nëpër shtresat e rrjetit të transformatorit.

Enkodimet pozicionale dhe futjet e fjalëve vektoriale përmblidhen së bashku dhe më pas kalohen në të dy rrjetet e koduesit dhe dekoderit. Ndërsa rrjetet neurale të transformatorëve përdorin skemat e koduesit/dekoderit ashtu si RNN dhe LSTM-të, një ndryshim kryesor midis tyre është se të gjitha të dhënat hyrëse futen në rrjet në të njëjtën kohë, ndërsa në RNN/LSTM, të dhënat kalohen në mënyrë sekuenciale.

Rrjetet e koduesit janë përgjegjës për konvertimin e hyrjeve në përfaqësime nga të cilat rrjeti mund të mësojë, ndërsa rrjetet e dekoderit bëjnë të kundërtën dhe i konvertojnë kodimet në një shpërndarje probabiliteti të përdorur për të gjeneruar fjalët më të mundshme në fjalinë dalëse. Në mënyrë thelbësore, të dy rrjetet e koduesit dhe dekoderit kanë një mekanizëm vëmendjeje.

Për shkak se GPU-të janë të afta për përpunim paralel, mekanizmat e shumëfishtë të vëmendjes përdoren paralelisht, duke llogaritur informacionin përkatës për të gjitha fjalët hyrëse. Kjo aftësi për t'i kushtuar vëmendje fjalëve të shumta, e quajtur "vëmendje me shumë kokë", në një kohë ndihmon rrjetin nervor të mësojë kontekstin e një fjale brenda një fjalie dhe është një nga avantazhet kryesore që kanë rrjetet e transformatorëve ndaj RNN dhe LSTM.

Mekanizmi i Vëmendjes

Mekanizmi i vëmendjes është pjesa më e rëndësishme e një rrjeti transformatorësh. Mekanizmi i vëmendjes është ai që u mundëson modeleve të transformatorëve të shkojnë përtej kufirit të vëmendjes së një modeli tipik RNN ​​ose LSTM. Modelet tradicionale Sekuencë-në-Sekuencë i hedhin poshtë të gjitha gjendjet e ndërmjetme dhe përdorin vetëm vektorin e gjendjes/kontekstit përfundimtar kur inicializojnë rrjetin e dekoderit për të gjeneruar parashikime rreth një sekuence hyrëse.

Hedhja e gjithçkaje përveç vektorit të kontekstit përfundimtar funksionon mirë kur sekuencat hyrëse janë mjaft të vogla. Megjithatë, ndërsa gjatësia e një sekuence hyrëse rritet, performanca e modelit do të degradojë gjatë përdorimit të kësaj metode. Kjo është për shkak se bëhet mjaft e vështirë për të përmbledhur një sekuencë të gjatë hyrëse si një vektor i vetëm. Zgjidhja është rritja e "vëmendjes" së modelit dhe përdorimi i gjendjeve të ndërmjetme të koduesit për të ndërtuar vektorët e kontekstit për dekoderin.

Mekanizmi i vëmendjes përcakton se sa të rëndësishëm janë shenjat e tjera hyrëse për modelin kur krijohen kodime për çdo shenjë të caktuar. Për shembull, "ajo" është një përemër i përgjithshëm, që përdoret shpesh për t'iu referuar kafshëve kur nuk dihet seksi i tyre. Një mekanizëm i vëmendjes do të lejonte një model transformatori të përcaktojë se në kontekstin aktual "ajo" i referohet një ketri, sepse ai mund të ekzaminojë të gjitha fjalët përkatëse në fjalinë hyrëse.

Një mekanizëm i vëmendjes mund të përdoret në tre mënyra të ndryshme: kodues në dekoder, vetëm kodues, vetëm dekoder.

Vëmendja e koduesit-dekoder lejon që dekoderi të marrë parasysh sekuencat hyrëse kur gjeneron një dalje, ndërsa mekanizmat e vëmendjes vetëm për kodues dhe vetëm për dekoder lejojnë që rrjetet të marrin parasysh të gjitha pjesët e sekuencave të mëparshme dhe aktuale.

Ndërtimi i një mekanizmi të vëmendjes mund të ndahet në pesë hapa:

  1. Llogaritja e një rezultati për të gjitha gjendjet e koduesit.
  2. Llogaritja e peshave të vëmendjes
  3. Llogaritja e vektorëve të kontekstit
  4. Përditësimi i vektorit të kontekstit me daljen e hapit të mëparshëm kohor
  5. Gjenerimi i daljes me dekoder

Hapi i parë është që dekoderi të llogarisë një rezultat për të gjitha gjendjet e koduesit. Kjo bëhet duke trajnuar rrjetin e dekoderit, i cili është një rrjet nervor bazë feed-forward. Kur dekoderi trajnohet me fjalën e parë në sekuencën hyrëse, nuk është krijuar ende asnjë gjendje e brendshme/e fshehur, kështu që gjendja e fundit e koduesit zakonisht përdoret si gjendja e mëparshme e dekoderit.

Për të llogaritur peshat e vëmendjes, përdoret një funksion softmax për të gjeneruar një shpërndarje probabilistike për peshat e vëmendjes.

Pasi të jenë llogaritur peshat e vëmendjes, duhet të llogaritet vektori i kontekstit. Kjo bëhet duke shumëzuar peshën e vëmendjes dhe gjendjen e fshehur së bashku për çdo hap kohor.

Pasi të llogaritet vektori i kontekstit, ai përdoret së bashku me fjalën e krijuar në hapin e mëparshëm kohor për të gjeneruar fjalën tjetër në sekuencën e daljes. Për shkak se dekoderi nuk ka dalje të mëparshme për t'iu referuar në hapin e parë kohor, në vend të kësaj përdoret shpesh një shenjë e veçantë "fillimi".

Dallimet midis transformatorëve dhe RNN-ve/LSTM-ve

Le të mbulojmë shpejt disa nga ndryshimet midis RNN-ve dhe LSTM-ve.

RNN-të përpunojnë hyrjet në mënyrë sekuenciale, ndërsa një vektor i gjendjes së fshehur mbahet dhe ndryshohet nga fjalët hyrëse ndërsa ato lëvizin nëpër rrjet. Gjendjet e fshehura të një RNN zakonisht përmbajnë shumë pak informacion të rëndësishëm në lidhje me inputet e mëparshme. Inputet e reja shpesh mbishkruajnë gjendjen aktuale, gjë që shkakton humbje informacioni dhe degradon performancën me kalimin e kohës.

Në të kundërt, modelet e transformatorëve përpunojnë të gjithë sekuencën hyrëse menjëherë. Mekanizmi i vëmendjes lejon që çdo fjalë dalëse të informohet nga çdo hyrje dhe gjendje e fshehur, duke e bërë rrjetin më të besueshëm për pjesë të gjata të tekstit.

LSTM-të janë versione të modifikuara të RNN-ve, të rregulluara për të trajtuar sekuenca më të gjata hyrëse. Arkitektura LSTM përdor një strukturë të quajtur "porta", me "porta hyrëse", "porta dalëse" dhe "porta e harrimit". Dizajni i mbyllur merret me humbjen e informacionit të përbashkët për modelet RNN. Të dhënat ende përpunohen në mënyrë sekuenciale dhe dizajni i përsëritur i arkitekturës i bën modelet LSTM të vështira për t'u trajnuar duke përdorur llogaritje paralele, duke e bërë kohën e trajnimit më të gjatë në përgjithësi.

Inxhinierët LSTM shpesh shtonin mekanizma të vëmendjes në rrjet, i cili dihej se përmirësonte performancën e modelit. Sidoqoftë, përfundimisht u zbulua se vetëm mekanizmi i vëmendjes përmirësoi saktësinë. Ky zbulim çoi në krijimin e rrjeteve të transformatorëve që përdorën mekanizmat e vëmendjes dhe llogaritjen paralele falë GPU-ve.