Koncept du bör känna till innan du börjar med transformatorer

Koncept du bör känna till innan du börjar med transformatorer

Källnod: 1894868

Neurala nätverk lär sig genom siffror, så varje ord kommer att mappas till vektorer för att representera ett visst ord. Inbäddningsskiktet kan ses som en uppslagstabell som lagrar ordinbäddningar och hämtar dem med hjälp av index.

 

Koncept du bör känna till innan du börjar med Transformer
 

Ord som har samma betydelse kommer att ligga nära i termer av euklidiskt avstånd/cosinuslikhet. till exempel, i ordrepresentationen nedan är "lördag", söndag och "måndag" förknippade med samma koncept, så vi kan se att orden resulterar i liknande resultat.
 

Koncept du bör känna till innan du börjar med Transformer

Att bestämma ordets position, Varför behöver vi bestämma ordets position? eftersom transformatorkodaren inte har något återkommande som återkommande neurala nätverk måste vi lägga till lite information om positionerna i inbäddningsinbäddningarna. Detta görs med hjälp av positionskodning. Författarna till artikeln använde följande funktioner för att modellera positionen för ett ord.

 

Koncept du bör känna till innan du börjar med Transformer
 

Vi kommer att försöka förklara positionell kodning.

 

Koncept du bör känna till innan du börjar med Transformer
 

Här syftar "pos" på positionen för "ordet" i sekvensen. P0 hänvisar till positionsinbäddningen av det första ordet; "d" betyder storleken på ordet/tokeninbäddningen. I detta exempel d=5. Slutligen hänvisar "i" till var och en av de 5 individuella dimensionerna av inbäddningen (dvs. 0, 1,2,3,4, XNUMX, XNUMX, XNUMX)

om "i" varierar i ekvationen ovan får du ett gäng kurvor med olika frekvenser. Avläsning av positionsinbäddningsvärden mot olika frekvenser, ger olika värden vid olika inbäddningsdimensioner för P0 och P4.

Koncept du bör känna till innan du börjar med Transformer
 

I detta fråga, Q representerar ett vektorord, den nycklar K är alla andra ord i meningen, och värde V representerar ordets vektor.

Syftet med uppmärksamheten är att beräkna betydelsen av nyckeltermen jämfört med frågetermen relaterad till samma person/sak eller koncept.

I vårt fall är V lika med Q.

Uppmärksamhetsmekanismen ger oss betydelsen av ordet i en mening.

 

Koncept du bör känna till innan du börjar med Transformer
 

När vi beräknar den normaliserade punktprodukten mellan frågan och nycklarna får vi en tensor som representerar den relativa betydelsen av varandras ord för frågan.

 

Koncept du bör känna till innan du börjar med Transformer
 

När vi beräknar punktprodukten mellan Q och KT försöker vi uppskatta hur vektorerna (dvs. orden mellan fråga och nycklar) är justerade och returnerar en vikt för varje ord i meningen.

Sedan normaliserar vi resultatet i kvadrat av d_k och softmax-funktionen regulariserar termerna och skalar om dem mellan 0 och 1.

Slutligen multiplicerar vi resultatet (dvs vikter) med värdet (dvs alla ord) för att minska betydelsen av icke-relevanta ord och fokusera bara på de viktigaste orden.

Den flerhövdade uppmärksamhetsutgångsvektorn läggs till den ursprungliga positionsingångsinbäddningen. Detta kallas en restförbindelse/hopp över anslutning. Utsignalen från den kvarvarande anslutningen går genom lagernormalisering. Den normaliserade restutgången leds genom ett punktvis framkopplingsnätverk för vidare bearbetning.

 

Koncept du bör känna till innan du börjar med Transformer

Masken är en matris som har samma storlek som uppmärksamhetspoängen fyllda med värden på nollor och negativa oändligheter.

 

Koncept du bör känna till innan du börjar med Transformer
 

Anledningen till masken är att när du väl tar softmax för de maskerade poängen, blir de negativa oändligheterna noll, vilket lämnar noll uppmärksamhetspoäng för framtida tokens.

Detta säger åt modellen att inte fokusera på dessa ord.

Syftet med softmax-funktionen är att ta tag i reella tal (positiva och negativa) och omvandla dem till positiva tal som summerar till 1.

 

Koncept du bör känna till innan du börjar med Transformer

 
 
Ravikumar Naduvin är upptagen med att bygga och förstå NLP-uppgifter med PyTorch.

 
Ursprungliga. Skickas om med tillstånd.
 

Tidsstämpel:

Mer från KDnuggets