stubs Kas ir transformatoru neironu tīkli? - Apvienojieties.AI
Savienoties ar mums
AI meistarklase:

AI 101

Kas ir transformatoru neironu tīkli?

mm
Atjaunināts on

Aprakstīti transformatoru neironu tīkli

Transformers ir mašīnmācīšanās modeļa veids, kas specializējas secīgu datu apstrādē un interpretācijā, padarot tos par optimāliem dabiskās valodas apstrādes uzdevumiem. Lai labāk izprastu, kas ir mašīnmācīšanās transformators un kā tie darbojas, sīkāk apskatīsim transformatoru modeļus un mehānismus, kas tos darbina.

Šis raksts ietvers:

  • No secības uz secību modeļi
  • Transformatora neironu tīkla arhitektūra
  • Uzmanības mehānisms
  • Atšķirības starp transformatoriem un RNN/LSTM

No secības uz secību modeļi

No secības uz secību modeļi ir NLP modeļa veids, ko izmanto, lai pārveidotu viena veida sekvences cita veida secībā. Ir dažādi modeļi no secības uz secību, piemēram, Atkārtots neironu tīkls modeļi un Ilgtermiņa īstermiņa atmiņa (LSTM) modeļi.

Tradicionālie secības-sekvences modeļi, piemēram, RNN un LSTMS, nav šī raksta uzmanības centrā, taču to izpratne ir nepieciešama, lai novērtētu, kā darbojas transformatoru modeļi un kāpēc tie ir pārāki par tradicionālajiem secības-sekvences modeļiem.

Īsāk sakot, RNN modeļi un LSTM modeļi sastāv no kodētāju un dekodētāju tīkliem, kas analizē ievades datus dažādos laika posmos. Kodētāja modelis ir atbildīgs par ievades datos esošo vārdu kodēta attēlojuma veidošanu. Katrā laika posmā kodētāja tīkls izmanto ievades secību un slēpto stāvokli no sērijas iepriekšējā laika posma. Slēptās stāvokļa vērtības tiek atjauninātas, kad dati tiek virzīti caur tīklu, līdz pēdējam laika posmam, kurā tiek ģenerēts “konteksta vektors”. Pēc tam konteksta vektors tiek nodots dekodētāja tīklam, kas tiek izmantots, lai ģenerētu mērķa secību, paredzot visticamāko vārdu, kas atbilst ievades vārdam attiecīgajos laika posmos.

Šos modeļus var papildināt, izmantojot "uzmanības mehānisms”. Uzmanības mehānisms nosaka, uz kurām ievades vektora daļām tīklam jākoncentrējas, lai ģenerētu pareizu izvadi. Citiem vārdiem sakot, uzmanības mehānisms ļauj transformatora modelim apstrādāt vienu ievades vārdu, vienlaikus ievērojot attiecīgo informāciju, ko satur citi ievades vārdi. Uzmanības mehānismi arī maskē vārdus, kas nesatur atbilstošu informāciju.

Transformatora neironu tīkla arhitektūra

Uzmanības mehānismam pievērsīsimies sīkāk vēlāk, bet pagaidām apskatīsim transformatora neironu tīkla arhitektūra augstākā līmenī.

Kopumā transformatora neironu tīkls izskatās šādi:

Lai gan šī vispārējā struktūra dažādos tīklos var mainīties, galvenie elementi paliks nemainīgi: pozicionālie kodējumi, vārdu vektori, uzmanības mehānisms, uz priekšu vērstais neironu tīkls.

Pozicionālie kodējumi un vārdu vektori

Darbojas transformatora neironu tīkli izmantojot ievades secību un pārvēršot šīs ievades divās citās secībās. Transformators rada virkni vārdu vektoru iegulšanas un pozīcijas kodējumu.

Vārdu vektoru iegulšana ir tikai teksts, kas attēlots ciparu formātā, ko neironu tīkls var apstrādāt. Tikmēr pozicionālie kodējumi ir vektorizēti attēlojumi, kas satur informāciju par pašreizējā vārda pozīciju ievades teikumā attiecībā pret citiem vārdiem.

Citi uz tekstu balstīti neironu tīklu modeļi, piemēram, RNN un LSTM, izmanto vektorus, lai attēlotu vārdus ievades datos. Šīs vektoru iegulšanas kartē vārdus ar nemainīgām vērtībām, taču tas ierobežo, jo vārdus var izmantot dažādos kontekstos. Transformatoru tīkls atrisina šo problēmu, padarot vārdu vērtības elastīgākas, izmantojot sinusoidālās funkcijas, lai ļautu vārdu vektoriem iegūt dažādas vērtības atkarībā no vārda pozīcijas teikumā.

Tas ļauj neironu tīkla modelim saglabāt informāciju par ievades vārdu relatīvo pozīciju pat pēc tam, kad vektori pārvietojas pa transformatora tīkla slāņiem.

Pozicionālie kodējumi un vārdu vektoru ieguljumi tiek summēti, pēc tam tiek nodoti gan kodētāja, gan dekodētāja tīklos. Lai gan transformatoru neironu tīkli izmanto kodētāja/dekodētāja shēmas tāpat kā RNN un LSTM, viena no galvenajām atšķirībām starp tām ir tā, ka visi ievades dati tiek ievadīti tīklā vienlaikus, turpretim RNN/LSTM dati tiek nodoti secīgi.

Kodētāju tīkli ir atbildīgi par ievades pārveidošanu attēlos, no kurām tīkls var mācīties, savukārt dekodēšanas tīkli rīkojas pretēji un pārvērš kodējumus varbūtības sadalījumā, ko izmanto, lai ģenerētu visticamākos vārdus izvades teikumā. Būtiski, ka gan kodētāja, gan dekodētāja tīkliem ir uzmanības mehānisms.

Tā kā GPU spēj veikt paralēlu apstrādi, paralēli tiek izmantoti vairāki uzmanības mehānismi, aprēķinot attiecīgo informāciju visiem ievades vārdiem. Šī spēja vienlaikus pievērst uzmanību vairākiem vārdiem, ko dēvē par “vairāku galvu” uzmanību, palīdz neironu tīklam apgūt vārda kontekstu teikumā, un tā ir viena no galvenajām transformatoru tīklu priekšrocībām salīdzinājumā ar RNN un LSTM.

Uzmanības mehānisms

Uzmanības mehānisms ir vissvarīgākā transformatoru tīkla sastāvdaļa. Uzmanības mehānisms ir tas, kas ļauj transformatoru modeļiem pārsniegt tipiskā RNN vai LSTM modeļa uzmanības robežu. Tradicionālie modeļi no secības uz secību atmet visus starpstāvokļus un izmanto tikai galīgo stāvokļa/konteksta vektoru, inicializējot dekodera tīklu, lai radītu prognozes par ievades secību.

Atmetot visu, izņemot galīgo konteksta vektoru, darbojas pareizi, ja ievades secības ir diezgan mazas. Tomēr, palielinoties ievades secības garumam, modeļa veiktspēja pasliktināsies, izmantojot šo metodi. Tas ir tāpēc, ka kļūst diezgan grūti apkopot garu ievades secību kā vienu vektoru. Risinājums ir palielināt modeļa “uzmanību” un izmantot starpposma kodētāja stāvokļus, lai izveidotu dekodētāja konteksta vektorus.

Uzmanības mehānisms nosaka, cik svarīgi modelim ir citi ievades marķieri, kad tiek izveidoti kodējumi jebkuram dotam marķierim. Piemēram, “tas” ir vispārīgs vietniekvārds, ko bieži lieto, lai apzīmētu dzīvniekus, ja viņu dzimums nav zināms. Uzmanības mehānisms ļautu transformatora modelim noteikt, ka pašreizējā kontekstā “tas” attiecas uz vāveri, jo tas var pārbaudīt visus atbilstošos vārdus ievades teikumā.

Uzmanības mehānismu var izmantot trīs dažādos veidos: kodētājs-dekodētājs, tikai kodētājs, tikai dekodētājs.

Kodētāja-dekodētāja uzmanība ļauj dekodētājam ņemt vērā ievades secības, ģenerējot izvadi, savukārt tikai kodētāja un tikai dekodētāja uzmanības mehānismi ļauj tīkliem ņemt vērā visas iepriekšējās un pašreizējās secības daļas.

Uzmanības mehānisma uzbūvi var iedalīt piecos posmos:

  1. Notiek rezultātu aprēķināšana visiem kodētāja stāvokļiem.
  2. Uzmanības svaru aprēķināšana
  3. Konteksta vektoru skaitļošana
  4. Konteksta vektora atjaunināšana ar iepriekšējā laika posma izvadi
  5. Izvades ģenerēšana ar dekoderi

Pirmais solis ir likt dekodētājam aprēķināt punktu skaitu visiem kodētāja stāvokļiem. Tas tiek darīts, apmācot dekodētāja tīklu, kas ir pamata plūsmas uz priekšu neironu tīkls. Kad dekodētājs ir apmācīts ievades secības pirmajam vārdam, vēl nav izveidots iekšējais/slēptais stāvoklis, tāpēc kodētāja pēdējais stāvoklis parasti tiek izmantots kā dekodētāja iepriekšējais stāvoklis.

Lai aprēķinātu uzmanības svarus, tiek izmantota softmax funkcija, lai radītu varbūtības sadalījumu uzmanības svērumiem.

Kad uzmanības svari ir aprēķināti, ir jāaprēķina konteksta vektors. Tas tiek darīts, reizinot uzmanības svaru un slēpto stāvokli kopā katram laika solim.

Pēc konteksta vektora aprēķināšanas tas tiek izmantots kopā ar vārdu, kas ģenerēts iepriekšējā laika posmā, lai ģenerētu nākamo vārdu izvades secībā. Tā kā dekodētājam nav iepriekšējas izvades, uz kuru atsaukties pirmajā darbības posmā, tā vietā bieži tiek izmantots īpašs “sākuma” marķieris.

Atšķirības starp transformatoriem un RNN/LSTM

Ātri apskatīsim dažas atšķirības starp RNN un LSTM.

RNN apstrādā ievades secīgi, savukārt slēptā stāvokļa vektoru uztur un maina ievades vārdi, kad tie pārvietojas tīklā. RNN slēptie stāvokļi parasti satur ļoti maz būtiskas informācijas par iepriekšējiem ievadiem. Jaunas ievades bieži pārraksta pašreizējo stāvokli, kas izraisa informācijas zudumu un laika gaitā pasliktina veiktspēju.

Turpretim transformatoru modeļi vienlaikus apstrādā visu ievades secību. Uzmanības mehānisms ļauj informēt katru izvades vārdu ar katru ievadi un slēpto stāvokli, padarot tīklu uzticamāku gariem teksta fragmentiem.

LSTM ir modificēta RNN versija, kas pielāgota ilgāku ievades secību apstrādei. LSTM arhitektūrā tiek izmantota struktūra, ko sauc par "vārtiem", ar "ieejas vārtiem", "izvades vārtiem" un "aizmirstiet vārtiem". Slēgtais dizains attiecas uz informācijas zudumu, kas ir kopīgs RNN modeļiem. Dati joprojām tiek apstrādāti secīgi, un arhitektūras atkārtotais dizains apgrūtina LSTM modeļu apmācību, izmantojot paralēlo skaitļošanu, tādējādi kopumā palielinot apmācības laiku.

LSTM inženieri tīklam bieži pievienoja uzmanības mehānismus, kas, kā zināms, uzlaboja modeļa veiktspēju. Tomēr galu galā tika atklāts, ka tikai uzmanības mehānisms uzlaboja precizitāti. Šis atklājums noveda pie transformatoru tīklu izveides, kas izmantoja uzmanības mehānismus un paralēlo skaitļošanu, pateicoties GPU.