Käsitteet, jotka sinun tulee tietää ennen Transformersin aloittamista

Käsitteet, jotka sinun tulee tietää ennen Transformersin aloittamista

Lähdesolmu: 1894868

Neuroverkot oppivat numeroiden kautta, joten jokainen sana kartoitetaan vektoreihin edustamaan tiettyä sanaa. Upotuskerrosta voidaan pitää hakutaulukona, joka tallentaa sanan upotukset ja hakee ne indeksien avulla.

 

Käsitteet, jotka sinun tulee tietää ennen Transformeriin siirtymistä
 

Sanat, joilla on sama merkitys, ovat läheisiä euklidisen etäisyyden/kosinin samankaltaisuuden suhteen. esimerkiksi alla olevassa sanamuodossa "lauantai", "sunnuntai" ja "maanantai" liittyvät samaan käsitteeseen, joten voimme nähdä, että sanat ovat samanlaisia.
 

Käsitteet, jotka sinun tulee tietää ennen Transformeriin siirtymistä

Sanan sijainnin määrittäminen, Miksi meidän on määritettävä sanan sijainti? koska muuntajakooderilla ei ole toistumista, kuten toistuvilla hermoverkoilla, meidän on lisättävä jonkin verran tietoa paikoista sisääntulon upotuksiin. Tämä tehdään paikkakoodauksella. Paperin kirjoittajat käyttivät seuraavia funktioita mallintaakseen sanan sijainnin.

 

Käsitteet, jotka sinun tulee tietää ennen Transformeriin siirtymistä
 

Yritämme selittää sijaintikoodauksen.

 

Käsitteet, jotka sinun tulee tietää ennen Transformeriin siirtymistä
 

Tässä "pos" tarkoittaa "sanan" paikkaa sekvenssissä. P0 viittaa ensimmäisen sanan paikan upottamiseen; "d" tarkoittaa sanan/tunnisteen upotuksen kokoa. Tässä esimerkissä d=5. Lopuksi "i" viittaa jokaiseen upotuksen viidestä yksittäisestä ulottuvuudesta (eli 5, 0, 1,2,3,4, XNUMX, XNUMX)

jos "i" vaihtelee yllä olevassa yhtälössä, saat joukon käyriä, joiden taajuudet vaihtelevat. Lukea sijainnin upotusarvot eri taajuuksia vastaan, antaa eri arvot eri upotusmitoilla P0:lle ja P4:lle.

Käsitteet, jotka sinun tulee tietää ennen Transformeriin siirtymistä
 

Tässä kysely, Q edustaa vektorisanaa, the avaimet K ovat kaikki muut sanat lauseessa ja arvo V edustaa sanan vektoria.

Huomion tarkoituksena on laskea avaintermin tärkeys verrattuna samaan henkilöön/asiaan tai käsitteeseen liittyvään kyselytermiin.

Meidän tapauksessamme V on yhtä suuri kuin Q.

Huomiomekanismi antaa meille sanan merkityksen lauseessa.

 

Käsitteet, jotka sinun tulee tietää ennen Transformeriin siirtymistä
 

Kun laskemme normalisoidun pistetulon kyselyn ja avainten välillä, saamme tensorin, joka edustaa toistensa sanojen suhteellista merkitystä kyselylle.

 

Käsitteet, jotka sinun tulee tietää ennen Transformeriin siirtymistä
 

Kun lasketaan pistetuloa Q:n ja KT:n välillä, yritämme arvioida, kuinka vektorit (eli kyselyn ja avainten väliset sanat) on kohdistettu, ja palauttaa painotuksen jokaiselle lauseen sanalle.

Sitten normalisoimme tuloksen d_k:n neliöllä ja softmax-funktio normalisoi termit ja skaalaa ne uudelleen 0:n ja 1:n välille.

Lopuksi kerromme tuloksen (eli painot) arvolla (eli kaikilla sanoilla) vähentääksemme ei-olennaisten sanojen merkitystä ja keskittyäksemme vain tärkeimpiin sanoihin.

Monipäinen huomion lähtövektori lisätään alkuperäiseen sijaintisyötteen upotukseen. Tätä kutsutaan jäännösyhteydeksi/ohitusyhteydeksi. Jäännösyhteyden lähtö käy läpi kerroksen normalisoinnin. Normalisoitu jäännöslähtö johdetaan pistesuuntaisen syöttöverkon läpi jatkokäsittelyä varten.

 

Käsitteet, jotka sinun tulee tietää ennen Transformeriin siirtymistä

Maski on matriisi, joka on samankokoinen kuin huomiopisteet, jotka on täytetty arvoilla nollia ja negatiivisia äärettömiä.

 

Käsitteet, jotka sinun tulee tietää ennen Transformeriin siirtymistä
 

Syy maskiin on se, että kun otat maskattujen pisteiden softmaxin, negatiiviset äärettömyydet nollaantuvat, jolloin tuleville tokeneille ei jää huomiopisteitä.

Tämä kehottaa mallia olemaan keskittymättä näihin sanoihin.

Softmax-funktion tarkoitus on tarttua reaalilukuihin (positiiviset ja negatiiviset) ja muuntaa ne positiivisiksi luvuiksi, joiden summa on 1.

 

Käsitteet, jotka sinun tulee tietää ennen Transformeriin siirtymistä

 
 
Ravikumar Naduvin on kiireinen rakentamaan ja ymmärtämään NLP-tehtäviä PyTorchin avulla.

 
Alkuperäinen. Postitettu luvalla.
 

Aikaleima:

Lisää aiheesta KDnuggets