škrbina Što su transformatorske neuronske mreže? - Ujedinite se.AI
Povežite se s nama
Majstorski tečaj umjetne inteligencije:

AI 101

Što su transformatorske neuronske mreže?

mm
Ažurirano on

Opisane transformatorske neuronske mreže

transformatori su vrsta modela strojnog učenja koji je specijaliziran za obradu i interpretaciju sekvencijalnih podataka, što ih čini optimalnima za zadatke obrade prirodnog jezika. Da bismo bolje razumjeli što je transformator strojnog učenja i kako funkcionira, pogledajmo pobliže modele transformatora i mehanizme koji ih pokreću.

Ovaj članak pokriva:

  • Modeli od slijeda do slijeda
  • Arhitektura transformatorske neuronske mreže
  • Mehanizam pažnje
  • Razlike između transformatora i RNN/LSTM

Modeli od slijeda do slijeda

Modeli od sekvence do sekvence vrsta su NLP modela koji se koriste za pretvaranje sekvenci jedne vrste u sekvencu druge vrste. Postoje različiti tipovi modela od niza do niza, kao što su Rekurentna neuronska mreža modeli i Dugo kratkoročno pamćenje (LSTM) modele.

Tradicionalni modeli od sekvence do sekvence kao što su RNN i LSTMS nisu fokus ovog članka, ali njihovo razumijevanje je neophodno da bi se cijenilo kako modeli transformatora rade i zašto su superiorniji od tradicionalnih modela od sekvence do sekvence.

Ukratko, RNN modeli i LSTM modeli sastoje se od mreža kodera i dekodera koji analiziraju ulazne podatke u različitim vremenskim koracima. Model kodera odgovoran je za formiranje kodirane reprezentacije riječi u ulaznim podacima. U svakom vremenskom koraku mreža kodera preuzima ulaznu sekvencu i skriveno stanje iz prethodnog vremenskog koraka u nizu. Vrijednosti skrivenog stanja ažuriraju se kako podaci prolaze kroz mrežu, sve do posljednjeg vremenskog koraka, gdje se generira "kontekstni vektor". Vektor konteksta se zatim prosljeđuje mreži dekodera, koja se koristi za generiranje ciljne sekvence predviđanjem najvjerojatnije riječi koja se uparuje s ulaznom riječi za odgovarajuće vremenske korake.

Ovi modeli mogu se proširiti upotrebom "mehanizam pažnje”. Mehanizam pažnje definira na koje se dijelove ulaznog vektora mreža treba usredotočiti kako bi generirala odgovarajući izlaz. Drugim riječima, mehanizam pažnje dopušta modelu transformatora da obradi jednu ulaznu riječ dok također pazi na relevantne informacije sadržane u drugim ulaznim riječima. Mehanizmi pažnje također maskiraju riječi koje ne sadrže relevantne informacije.

Arhitektura transformatorske neuronske mreže

Ući ćemo u mehanizam pažnje detaljnije kasnije, ali za sada pogledajmo arhitektura transformatorske neuronske mreže na višoj razini.

Općenito, transformatorska neuronska mreža izgleda otprilike ovako:

Dok se ova opća struktura može mijenjati između mreža, ključni dijelovi ostat će isti: položajna kodiranja, vektori riječi, mehanizam pažnje, neuronska mreža s povratnim informacijama.

Pozicijska kodiranja i vektori riječi

Radi transformatorska neuronska mreža uzimajući niz ulaza i pretvarajući te ulaze u dva druga niza. Transformator proizvodi slijed ugrađivanja vektora riječi i položajnih kodiranja.

Umetanje vektora riječi samo su tekst predstavljen u numeričkom formatu koji neuronska mreža može obraditi. U međuvremenu, položajna kodiranja su vektorizirani prikazi koji sadrže informacije o položaju trenutne riječi u ulaznoj rečenici, u odnosu na druge riječi.

Drugi modeli neuronskih mreža temeljeni na tekstu poput RNN-ova i LSTM-ova koriste vektore za predstavljanje riječi u ulaznim podacima. Ova vektorska ugrađivanja mapiraju riječi u konstantne vrijednosti, ali to je ograničavajuće jer se riječi mogu koristiti u različitim kontekstima. Mreža transformatora rješava ovaj problem tako što vrijednosti riječi čini fleksibilnijima, koristeći sinusoidalne funkcije kako bi vektori riječi poprimili različite vrijednosti ovisno o položaju riječi u rečenici.

To omogućuje modelu neuronske mreže da sačuva informacije o relativnom položaju ulaznih riječi, čak i nakon što se vektori pomaknu kroz slojeve mreže transformatora.

Pozicijska kodiranja i ugradnje vektora riječi zbrajaju se zajedno i prosljeđuju u mreže kodera i dekodera. Dok transformatorske neuronske mreže koriste sheme kodera/dekodera baš kao i RNN-ovi i LSTM-ovi, jedna glavna razlika između njih je u tome što se svi ulazni podaci unose u mrežu u isto vrijeme, dok se u RNN-ovima/LSTM-ovima podaci prosljeđuju sekvencijalno.

Mreže kodera odgovorne su za pretvaranje ulaza u prikaze iz kojih mreža može učiti, dok mreže dekodera čine suprotno i pretvaraju kodiranja u distribuciju vjerojatnosti koja se koristi za generiranje najvjerojatnijih riječi u izlaznoj rečenici. Ključno je da i koder i dekoder mreže imaju mehanizam pažnje.

Budući da su GPU-ovi sposobni za paralelnu obradu, paralelno se koriste višestruki mehanizmi pažnje, izračunavajući relevantne informacije za sve ulazne riječi. Ova sposobnost obraćanja pozornosti na više riječi, nazvana pažnja "više glava" u isto vrijeme, pomaže neuronskoj mreži da nauči kontekst riječi unutar rečenice, i to je jedna od primarnih prednosti koje mreže transformatora imaju u odnosu na RNN i LSTM.

Mehanizam pažnje

Mehanizam pozornosti je najvažniji dio transformatorske mreže. Mehanizam pozornosti je ono što omogućuje modelima transformatora da prijeđu granicu pozornosti tipičnog RNN ili LSTM modela. Tradicionalni modeli od sekvence do sekvence odbacuju sva međustanja i koriste samo vektor konačnog stanja/konteksta kada inicijaliziraju mrežu dekodera za generiranje predviđanja o ulaznoj sekvenci.

Odbacivanje svega osim konačnog vektora konteksta funkcionira dobro kada su ulazni nizovi prilično mali. Ipak, kako se duljina ulaznog niza povećava, izvedba modela će se pogoršati tijekom korištenja ove metode. To je zato što postaje prilično teško sažeti dugi ulazni niz kao jedan vektor. Rješenje je povećati "pažnju" modela i iskoristiti međustanja kodera za konstruiranje vektora konteksta za dekoder.

Mehanizam pažnje definira koliko su drugi ulazni tokeni važni za model kada se kreiraju kodiranja za bilo koji dani token. Na primjer, "to" je opća zamjenica koja se često koristi za označavanje životinja kada njihov spol nije poznat. Mehanizam pažnje bi omogućio modelu transformatora da utvrdi da se u trenutnom kontekstu "to" odnosi na vjevericu, jer može ispitati sve relevantne riječi u ulaznoj rečenici.

Mehanizam pažnje može se koristiti na tri različita načina: koder-dekoder, samo koder, samo dekoder.

Pažnja koder-dekoder omogućuje dekoderu da uzme u obzir ulazne sekvence kada generira izlaz, dok mehanizmi pažnje samo koder i samo dekoder omogućuju mrežama da uzmu u obzir sve dijelove prethodne i trenutne sekvence.

Konstrukcija mehanizma pažnje može se podijeliti u pet koraka:

  1. Izračunavanje rezultata za sva stanja kodera.
  2. Izračunavanje pondera pažnje
  3. Računalni vektori konteksta
  4. Ažuriranje vektora konteksta s izlazom prethodnog vremenskog koraka
  5. Generiranje izlaza s dekoderom

Prvi korak je da dekoder izračuna rezultat za sva stanja kodera. To se postiže uvježbavanjem mreže dekodera, koja je osnovna neuronska mreža za prijenos podataka. Kada se dekoder obučava na prvoj riječi u ulaznom nizu, još nije stvoreno interno/skriveno stanje, tako da se posljednje stanje kodera obično koristi kao prethodno stanje dekodera.

Kako bi se izračunali ponderi pažnje, koristi se funkcija softmax za generiranje distribucije vjerojatnosti za pondere pažnje.

Nakon što se izračunaju ponderi pažnje, potrebno je izračunati vektor konteksta. To se postiže množenjem težine pozornosti i skrivenog stanja za svaki vremenski korak.

Nakon što se vektor konteksta izračuna, koristi se uz riječ generiranu u prethodnom vremenskom koraku za generiranje sljedeće riječi u izlaznom nizu. Budući da dekoder nema prethodni izlaz na koji bi se mogao odnositi u prvom vremenskom koraku, umjesto njega često se koristi poseban "start" token.

Razlike između transformatora i RNN-a/LSTM-a

Hajdemo brzo pokriti neke od razlika između RNN-ova i LSTM-ova.

RNN obrađuju ulaze sekvencijalno, dok se skriveni vektor stanja održava i mijenja ulaznim riječima dok se kreću kroz mrežu. Skrivena stanja RNN-a obično sadrže vrlo malo relevantnih informacija u vezi s ranijim unosima. Novi unosi često prebrišu trenutno stanje, što uzrokuje gubitak informacija i smanjuje performanse tijekom vremena.

Nasuprot tome, transformatorski modeli obrađuju cijelu ulaznu sekvencu odjednom. Mehanizam pažnje omogućuje da svaka izlazna riječ bude informirana o svakom unosu i skrivenom stanju, čineći mrežu pouzdanijom za dugačke dijelove teksta.

LSTM-ovi su modificirana verzija RNN-ova, prilagođena za rukovanje duljim ulaznim nizovima. LSTM arhitektura koristi strukturu zvanu "vrata", s "ulaznim vratima", "izlaznim vratima" i "zaboravljenim vratima". Gated dizajn bavi se gubitkom informacija uobičajenim za RNN modele. Podaci se još uvijek obrađuju sekvencijalno, a rekurentni dizajn arhitekture čini LSTM modele teškim za obuku pomoću paralelnog računanja, čineći ukupno vrijeme obuke duljim.

Inženjeri LSTM-a često bi dodavali mehanizme pažnje mreži, za koje se znalo da poboljšavaju performanse modela. Međutim, na kraju je otkriveno da sam mehanizam pažnje poboljšava točnost. Ovo otkriće dovelo je do stvaranja transformatorskih mreža koje su koristile mehanizme pažnje i paralelno računanje zahvaljujući GPU-u.