Koncepter, du bør kende, før du begynder på transformere

Koncepter, du bør kende, før du begynder på transformere

Kildeknude: 1894868

Neurale netværk lærer gennem tal, så hvert ord vil blive kortlagt til vektorer for at repræsentere et bestemt ord. Indlejringslaget kan opfattes som en opslagstabel, der gemmer ordindlejringer og henter dem ved hjælp af indekser.

 

Koncepter, du bør kende, før du begynder på Transformer
 

Ord, der har samme betydning, vil være tæt på med hensyn til euklidisk afstand/cosinus lighed. for eksempel, i nedenstående ordrepræsentation er "lørdag", "søndag" og "mandag" forbundet med det samme koncept, så vi kan se, at ordene resulterer ens.
 

Koncepter, du bør kende, før du begynder på Transformer

Bestemmelsen af ​​ordets position, hvorfor skal vi bestemme ordets position? fordi transformatorenkoderen ikke har nogen gentagelse som tilbagevendende neurale netværk, skal vi tilføje nogle oplysninger om positionerne i input-indlejringerne. Dette gøres ved hjælp af positionskodning. Forfatterne af papiret brugte følgende funktioner til at modellere et ords position.

 

Koncepter, du bør kende, før du begynder på Transformer
 

Vi vil forsøge at forklare positionel kodning.

 

Koncepter, du bør kende, før du begynder på Transformer
 

Her henviser "pos" til positionen af ​​"ordet" i sekvensen. P0 refererer til positionsindlejringen af ​​det første ord; "d" betyder størrelsen af ​​ordet/token-indlejringen. I dette eksempel er d=5. Endelig refererer "i" til hver af de 5 individuelle dimensioner af indlejringen (dvs. 0, 1,2,3,4)

hvis "i" varierer i ligningen ovenfor, vil du få en masse kurver med varierende frekvenser. Aflæsning af positionsindlejringsværdier mod forskellige frekvenser, hvilket giver forskellige værdier ved forskellige indlejringsdimensioner for P0 og P4.

Koncepter, du bør kende, før du begynder på Transformer
 

I denne forespørgsel, Q repræsenterer et vektorord, den nøgler K er alle andre ord i sætningen, og værdi V repræsenterer ordets vektor.

Formålet med opmærksomhed er at beregne vigtigheden af ​​nøgleudtrykket sammenlignet med søgeudtrykket relateret til den samme person/ting eller koncept.

I vores tilfælde er V lig med Q.

Opmærksomhedsmekanismen giver os betydningen af ​​ordet i en sætning.

 

Koncepter, du bør kende, før du begynder på Transformer
 

Når vi beregner det normaliserede punktprodukt mellem forespørgslen og nøglerne, får vi en tensor, der repræsenterer den relative betydning af hinandens ord for forespørgslen.

 

Koncepter, du bør kende, før du begynder på Transformer
 

Når vi beregner prikproduktet mellem Q og KT, forsøger vi at estimere, hvordan vektorerne (dvs. ordene mellem forespørgsel og nøgler) er justeret og returnerer en vægt for hvert ord i sætningen.

Derefter normaliserer vi resultatet i kvadreret af d_k, og softmax-funktionen regulariserer vilkårene og omskalerer dem mellem 0 og 1.

Til sidst multiplicerer vi resultatet( dvs. vægte) med værdien (dvs. alle ord) for at reducere betydningen af ​​ikke-relevante ord og kun fokusere på de vigtigste ord.

Multi-headed opmærksomhed output vektor føjes til den oprindelige positionelle input indlejring. Dette kaldes en restforbindelse/springforbindelse. Outputtet fra den resterende forbindelse går gennem lagnormalisering. Det normaliserede restoutput føres gennem et punktvist feed-forward-netværk til videre bearbejdning.

 

Koncepter, du bør kende, før du begynder på Transformer

Masken er en matrix, der har samme størrelse som opmærksomhedsscorerne fyldt med værdier på 0'er og negative uendeligheder.

 

Koncepter, du bør kende, før du begynder på Transformer
 

Årsagen til masken er, at når du først tager softmax af de maskerede score, bliver de negative uendeligheder nul, hvilket efterlader nul opmærksomhedsscore for fremtidige tokens.

Dette fortæller modellen, at den ikke skal fokusere på disse ord.

Formålet med softmax-funktionen er at få fat i reelle tal (positive og negative) og omdanne dem til positive tal, der summer til 1.

 

Koncepter, du bør kende, før du begynder på Transformer

 
 
Ravikumar Naduvin har travlt med at opbygge og forstå NLP-opgaver ved hjælp af PyTorch.

 
Original. Genopslået med tilladelse.
 

Tidsstempel:

Mere fra KDnuggets