Konsepter du bør kjenne til før du begynner med transformatorer

Konsepter du bør kjenne til før du begynner med transformatorer

Kilde node: 1894868

Nevrale nettverk lærer gjennom tall, så hvert ord vil bli kartlagt til vektorer for å representere et bestemt ord. Innebyggingslaget kan tenkes som en oppslagstabell som lagrer ordinnbygginger og henter dem ved hjelp av indekser.

 

Konsepter du bør vite før du begynner på Transformer
 

Ord som har samme betydning vil ligge nært når det gjelder euklidisk avstand/kosinuslikhet. for eksempel, i ordrepresentasjonen nedenfor, er "lørdag", "søndag" og "mandag" assosiert med det samme konseptet, slik at vi kan se at ordene resulterer like.
 

Konsepter du bør vite før du begynner på Transformer

Bestemmelsen av posisjonen til ordet, hvorfor trenger vi å bestemme posisjonen til ordet? fordi transformatorkoderen ikke har noen gjentakelse som tilbakevendende nevrale nettverk, må vi legge til litt informasjon om posisjonene i inngangs-innbyggingene. Dette gjøres ved hjelp av posisjonell koding. Forfatterne av artikkelen brukte følgende funksjoner for å modellere posisjonen til et ord.

 

Konsepter du bør vite før du begynner på Transformer
 

Vi vil prøve å forklare posisjonell koding.

 

Konsepter du bør vite før du begynner på Transformer
 

Her refererer "pos" til plasseringen av "ordet" i sekvensen. P0 refererer til posisjonsinnbyggingen av det første ordet; "d" betyr størrelsen på ordet/token-innbyggingen. I dette eksemplet er d=5. Til slutt refererer "i" til hver av de 5 individuelle dimensjonene til innebyggingen (dvs. 0, 1,2,3,4)

hvis "i" varierer i ligningen ovenfor, vil du få en haug med kurver med varierende frekvenser. Avlesning av posisjonsinnbyggingsverdier mot forskjellige frekvenser, gir forskjellige verdier ved forskjellige innstøpningsdimensjoner for P0 og P4.

Konsepter du bør vite før du begynner på Transformer
 

I dette spørring, Q representerer et vektorord, den nøkler K er alle andre ord i setningen, og verdi V representerer vektoren til ordet.

Hensikten med oppmerksomhet er å beregne viktigheten av nøkkelbegrepet sammenlignet med søkebegrepet knyttet til samme person/ting eller konsept.

I vårt tilfelle er V lik Q.

Oppmerksomhetsmekanismen gir oss betydningen av ordet i en setning.

 

Konsepter du bør vite før du begynner på Transformer
 

Når vi beregner det normaliserte punktproduktet mellom spørringen og nøklene, får vi en tensor som representerer den relative betydningen av hverandres ord for spørringen.

 

Konsepter du bør vite før du begynner på Transformer
 

Når vi beregner punktproduktet mellom Q og KT, prøver vi å estimere hvordan vektorene (dvs. ordene mellom spørring og nøkler) er justert og returnerer en vekt for hvert ord i setningen.

Deretter normaliserer vi resultatet i kvadrat til d_k og softmax-funksjonen regulariserer vilkårene og skalerer dem om mellom 0 og 1.

Til slutt multipliserer vi resultatet( dvs. vekter) med verdien (dvs. alle ord) for å redusere betydningen av ikke-relevante ord og fokusere kun på de viktigste ordene.

Den flerhodede oppmerksomhetsutgangsvektoren legges til den opprinnelige posisjonsinngang-innbyggingen. Dette kalles en restforbindelse/hopp over forbindelse. Utgangen fra restforbindelsen går gjennom lagnormalisering. Den normaliserte restutgangen føres gjennom et punktvis fremmatingsnettverk for videre behandling.

 

Konsepter du bør vite før du begynner på Transformer

Masken er en matrise som har samme størrelse som oppmerksomhetspoengene fylt med verdier på 0-er og negative uendeligheter.

 

Konsepter du bør vite før du begynner på Transformer
 

Grunnen til masken er at når du tar softmax av de maskerte poengsummene, blir de negative uendelighetene null, og etterlater null oppmerksomhetspoeng for fremtidige tokens.

Dette forteller at modellen ikke skal fokusere på disse ordene.

Formålet med softmax-funksjonen er å fange reelle tall (positive og negative) og gjøre dem om til positive tall som summerer til 1.

 

Konsepter du bør vite før du begynner på Transformer

 
 
Ravikumar Naduvin er opptatt med å bygge og forstå NLP-oppgaver ved å bruke PyTorch.

 
original. Ompostet med tillatelse.
 

Tidstempel:

Mer fra KDnuggets