Az önfigyelem a neurális hálózatokban használatos alapvető mechanizmus, különösen a transzformátormodellek esetében, amely lehetővé teszi számukra a szekvenciális adatok hatékony feldolgozását. Lehetővé teszi a modell számára, hogy egy sorozaton belüli különböző szavakat vagy elemeket eltérően mérlegelje, a számítás során jobban összpontosítva a releváns részekre.
Az önfigyelem összetevői
-
Lekérdezések, Kulcsok és Értékek: Figyelembe véve a bemeneti sorozatot három vektorra alakítja át: Lekérdezés, Kulcs és Érték. Ezeket a vektorokat a bemeneti sorozatból lineáris transzformációkkal kapjuk meg, létrehozva ezeket a komponenseket, amelyeket a figyelem pontszámának kiszámításához használunk.
-
Figyeleti pontszámok: Ha ezeket a vektorokat megkaptuk, a figyelempontszámokat a hasonlóság alekérdezési vektorés akulcsvektorokközötti mérésével számítjuk ki. a sorozat összes eleme*. Ez általában egyponttermékhasználatával történik, majd ezt követi askálázásés egysoftmax függvény alkalmazása, hogy minden elemhez figyelemsúlyt kapjunk.
-
Súlyozott összeg: A kapott figyelemsúlyok az értékvektorok mérlegelésére szolgálnak. Ezeknek az értékeknek a súlyozott összege, a megfelelő figyelemsúlyuk alapján, adja az az önfigyelem réteg kimenetét.
-
Multi-Head Attention: A szavak vagy elemek közötti különböző kapcsolatok rögzítéséhez a lekérdezés, kulcs és érték transzformációk több halmazát hajtják végre párhuzamosan, ami több figyelemsúly- és kimeneti vektorkészletet eredményez. Ezeket azután összefűzzük és újra transzformáljuk, hogy megkapjuk a végső kimenetet.
A hosszú távú függőségek tanulásának elősegítése
Az önfigyelem kiváló a sorozatok hosszú távú függőségének rögzítésében, mivel képes közvetlenül modellezni a sorozat összes eleme közötti kölcsönhatásokat. A hagyományos architektúrák, például az ismétlődő neurális hálózatok (RNN-ek) eltűnő vagy robbanásszerű gradiens-problémákkal küzdenek, ami korlátozza képességüket a hosszú távú függőségek megtanulására. Ezzel szemben az önfigyelem képes megragadni a távoli szavak vagy elemek közötti kapcsolatokat anélkül, hogy ezek a problémák ezek a problémákat okoznák, így hatékonyabbá válik a kontextus és a sorozaton belüli kapcsolatok megértése.
Előnyök a hagyományos építészettel szemben
-
Párhuzamosítás: Az önfigyelés lehetővé teszi a figyelem pontszámainak párhuzamos kiszámítását a sorozat összes elemére vonatkozóan, így hatékonyabb, mint a szekvenciális feldolgozás az RNN-ekben.
-
Hosszú hatótávolságú függőségek: Ellentétben az RNN-ekkel, amelyek szekvenciális jellegük miatt küzdenek a függőségek nagy távolságra történő rögzítésével, az önfigyelem hatékonyan képes rögzíteni ezeket a függőségeket.
-
Csökkentett úthossz: Az önfigyelem közvetlenül összekapcsolja az összes elemet egy sorrendben, csökkentve az úthosszt a távoli elemek között, így jobb gradiens áramlást tesz lehetővé edzés közben.
Korlátozások és számítási bonyolultságok
-
Kvadratikus komplexitás: Az önfigyelés magában foglalja a páronkénti összehasonlítást a sorozat összes eleme között, ami a szekvencia hosszának növekedésével a számítások négyzetes növekedését eredményezi. Ez számítási szempontból költséges lehet nagyon hosszú sorozatok esetén.
-
Memóriakövetelmények: A transzformátorok önfigyelő mechanizmusaik miatt gyakran több memóriát igényelnek, mint az egyszerűbb architektúrák, például a CNN-k vagy az RNN-k.
-
Figyelemmaszkolás: A változó hosszúságú sorozatok kezeléséhez figyelemmaszkok használata szükséges a kitöltés kezeléséhez, ami bonyolultabbá teheti a modellt és a képzési folyamatot.
E korlátok ellenére az önfigyelés rendkívül hatékony mechanizmusnak bizonyult a természetes nyelvi feldolgozási feladatokban, és a folyamatban lévő kutatások célja a számítási bonyolultság kezelése a még jobb hatékonyság és skálázhatóság érdekében.