Transzformerek és a figyelem mechanizmus · Lecke 07

Az enkóder-dekóder architektúra

Eddig a figyelem építőköveit néztük. Most összerakjuk belőlük a teljes transzformert. Az eredeti architektúra két félből áll, egy enkóderből, amely a bemenetet dolgozza fel, és egy dekóderből, amely a kimenetet állítja elő. Ebben a leckében végigvesszük, mi történik a két oldalon, és mi az a maszkolt önfigyelem.

Vissza a tananyaghoz


Két oldal, egy feladat

Az eredeti transzformert gépi fordításra tervezték, ahol egy bemeneti mondatot egy másik nyelvű mondatra kell átalakítani. Ehhez két rész kell. Az enkóder végigolvassa a bemenetet, és minden tokenhez egy összefüggésbe helyezett megjelenítést készít. A dekóder ezekre a megjelenítésekre támaszkodva, szóról szóra állítja elő a kimenetet. Mindkét oldal N = 6 azonos rétegből épül fel, és minden réteg ugyanazokból az építőkövekből áll, amelyeket az eddigi leckékben megismertünk.


ENKÓDER (6 réteg) Többfejű önfigyelem minden token minden tokenre figyel Előrecsatolt réteg (FFN) két lineáris réteg, belső dim 2048 bemeneti mondat beágyazás + pozíciókódolás DEKÓDER (6 réteg) Maszkolt önfigyelem csak a korábbi szavakra figyel Enkóder-dekóder figyelem az enkóder kimenetére figyel Előrecsatolt réteg (FFN) két lineáris réteg eddig előállított kimenet beágyazás + pozíciókódolás enkóder kimenet
A teljes transzformer. Az enkóder önfigyelemmel dolgozza fel a bemenetet, a dekóder maszkolt önfigyelemmel és egy köztes figyelemmel állítja elő a kimenetet, amely az enkóder eredményére támaszkodik.

Az enkóder egy rétege

Az enkóder minden rétege két alrétegből áll. Az első egy többfejű önfigyelem, ahol a bemeneti mondat minden tokene minden másik tokenre figyelhet, korlátozás nélkül. A második egy előrecsatolt réteg (feed-forward network, FFN), amely minden pozíción külön, ugyanazzal a súllyal dolgozik. Az FFN két lineáris átalakításból áll, közöttük egy nemlineáris függvénnyel, és belső dimenziója az alapmodellben 2048. Mindkét alréteg köré a 06. leckében megismert maradékkapcsolat és rétegnormalizálás épül.


A dekóder és a maszkolt önfigyelem

A dekóder feladata a kimenet előállítása, szóról szóra. Itt egy fontos szabály van. Amikor a dekóder a következő szót jósolja, csak a már előállított szavakra támaszkodhat, a jövőbelieket nem láthatja, hiszen azok még nincsenek meg. Ezt biztosítja a maszkolt önfigyelem. A figyelem számításakor a jövőbeli pozíciókhoz tartozó pontszámokat mínusz végtelenre állítjuk a softmax előtt, így ezek súlya nullára esik. A dekóder minden pozíció csak önmagára és a korábbiakra figyelhet, ez teszi lehetővé a helyes, balról jobbra haladó generálást.


Maszkolt figyelem. A jövő el van takarva a macska alszik most a macska alszik most A szürke mezők a jövő. A figyelem oda nem juthat el A jövőbeli pontszám mínusz végtelen lesz a softmax előtt, így a súlya nullára esik
A dekóder maszkolt önfigyelme csak a korábbi és az aktuális szavakra enged figyelni. A jövőbeli pozíciók pontszáma mínusz végtelen lesz a softmax előtt, ezért nem befolyásolják a kimenetet.

Az enkóder-dekóder figyelem

A dekóder rétegében van egy harmadik alréteg is, a köztes vagy enkóder-dekóder figyelem. Ez az a pont, ahol a két oldal találkozik. Itt a query a dekóder aktuális állapotából jön, a key és a value viszont az enkóder kimenetéből. Így a dekóder minden lépésben a teljes bemeneti mondatra tud figyelni, és onnan emeli be, ami a következő szó előállításához fontos. A fordításban ez azt jelenti, hogy a dekóder minden kimeneti szónál megnézheti, a forrásmondat melyik része a legfontosabb éppen most.


  1. Maszkolt önfigyelemA dekóder csak a már előállított szavakra figyel, a jövőt maszk takarja el.
  2. Enkóder-dekóder figyelemA query a dekóderből, a key és a value az enkóder kimenetéből jön.
  3. Előrecsatolt rétegAz FFN minden pozíción külön dolgozza fel a megjelenítést.
  4. Következő szóA dekóder tetején egy réteg a szótár fölött valószínűséget ad, ebből lesz a következő szó.

3

A dekóder rétegében három alréteg van. Maszkolt önfigyelem, enkóder-dekóder figyelem és előrecsatolt réteg. Az enkóder rétegében csak kettő, önfigyelem és előrecsatolt réteg. A különbség a maszk és a köztes figyelem, ezek teszik lehetővé a helyes, lépésről lépésre haladó generálást.


← Előző lecke Következő lecke →

Workshop

AI Transformation Day

Egésznapos, vezetőknek szóló program. Feltérképezzük, hol tart a szervezet, mi az első reális lépés, és milyen belső feltételek szükségesek a sikerhez. A nap végén konkrét, prioritizált cselekvési lista.

Érdekel a program →