Decoder (Transformer) (HU)
Dekóder (ang. Decoder) — a gépi tanulásban és mélytanulásban egy neurális hálózat olyan komponense, amelynek fő feladata a kódolt reprezentáció (például kontextusvektoros vagy az enkódertől kapott rejtett állapotok sorozata) átalakítása kimeneti adatsorozattá (például szöveg vagy kép). A dekóder lépésről lépésre generálja a kimeneti adatokat, jellemzően autoregresszív módban.
Tágabb értelemben, az információelméletben a dekóder bármely eszköz vagy algoritmus, amely a kódolt adatokat visszaalakítja eredeti vagy értelmezhető formátumukba.
Fogalom és rendeltetés
Ha az enkóder a bemeneti adatok megértéséért és tömörítéséért felel, akkor a dekóder a kimeneti adatok generálásáért és kibontásáért felel. Átveszi a kompakt, információban gazdag reprezentációt, és azt lépésről lépésre a kívánt formátumra alakítja, legyen az egy másik nyelven írt mondat, egy kép szöveges leírása vagy hangjegyek sorozata.
A legtöbb dekóder kulcsjellemzője az autoregresszív természet: a sorozat következő elemének (például szó vagy pixel) generálásához mind a kódolt reprezentációt, mind az összes korábban generált elemet felhasználja.
A dekóder különböző architektúrákban
A dekóder az autoenkóderben
Az autoenkóder architektúrában a dekóder az enkóderrel ellentétes feladatot végez:
- Az enkóder tömöríti a bemeneti adatokat egy rejtett reprezentációba.
- A dekóder átveszi ezt a rejtett reprezentációt, és megkísérli belőle az eredeti adatokat visszaállítani (rekonstruálni).
Az ilyen hálózat tanítása lehetővé teszi, hogy a dekódert önállóan is alkalmazzuk új adatok generálására, a látens tér vektorait adva bemenetként.
A dekóder a rekurrens neurális hálózatokban (RNN/LSTM)
A klasszikus szekvencia-szekvencia (seq2seq) modellekben, amelyek RNN-en vagy LSTM-en alapulnak, a dekóder egy rekurrens hálózat, amely tokenenként generálja a kimeneti sorozatot.
- Működési elv: A dekóder az enkóder végső rejtett állapotával (kontextusvektorával) inicializálódik. Minden lépésben bemenetként kapja a korábban generált tokent és saját előző rejtett állapotát, majd generálja a következő tokent és frissíti saját állapotát. Ez a folyamat addig folytatódik, amíg létre nem jön a sorozat végét jelző speciális token (`<EOS>`).
A dekóder a Transformer architektúrában
A Transformer architektúrán alapuló dekóder szintén autoregresszíven működik, de belső szerkezete eltér. Azonos rétegek stackjéből () áll, amelyek mindegyike három fő alréteggel rendelkezik:
- Maszkolt többfejű önfigyelem (Masked Multi-Head Self-Attention): Ez a mechanizmus hasonlóan működik, mint az enkóderben, de egy fontos különbséggel — maszkolással. A maszk megakadályozza, hogy az egyes pozíciók a sorozat következő pozícióira „figyeljenek". Ez biztosítja, hogy a pozícióra vonatkozó előrejelzés kizárólag a pozíciók már ismert kimeneteitől függjön, megőrizve az autoregresszív tulajdonságot.
- Többfejű keresztfigyelem (Multi-Head Cross-Attention): Ez a kulcsmechanizmus köti össze a dekódert az enkóderrel. A lekérdezések (Query) a dekóder előző rétegéből érkeznek, míg a kulcsok (Key) és az értékek (Value) az enkóder kimeneti reprezentációiból. Ez lehetővé teszi, hogy a dekóder a generálás minden lépésénél a bemeneti sorozat legrelevánsabb részeire összpontosítson.
- Teljesen összekötött neurális hálózat (Feed-Forward Network): Hasonló az enkóderben használthoz.
A dekóderen alapuló modelltípusok
Enkóder-dekóder modellek
Ez a klasszikus architektúra, amelyben az enkóder és a dekóder párban működik.
- Működési elv: Az enkóder létrehozza a bemeneti adatok reprezentációját, a dekóder pedig ezt a reprezentációt felhasználva generálja a kimeneti adatokat.
- Példák: Az eredeti Transformer, T5, BART.
Csak-dekóderes modellek (Decoder-Only)
Ezek a modellek, amelyek a generatív AI-ban dominánssá váltak, kizárólag Transformer dekóder stacket alkalmaznak.
- Működési elv: Ezekben a modellekben nincs keresztfigyelem az enkóder felé, mivel nincs enkóder. A modell tisztán autoregresszív módban működik, a következő tokent az ugyanabban a sorozatban szereplő összes korábbi token alapján jósolja meg. A bemeneti prompt és a már generált szöveg együtt kerül feldolgozásra.
- Alkalmazás: Ideálisak olyan feladatokhoz, ahol egy adott szöveg folytatása szükséges (szöveggenerálás, párbeszédes rendszerek, chatbotok).
- Példák: GPT-sorozat, LLaMA, Claude.
Kapcsolat az enkóderrel
Az enkóder és a dekóder kölcsönhatása az átalakítási feladatok alapelve.
- Az enkóder a bemeneti sorozatról szóló információt vektorok halmazába tömöríti.
- A dekóder ezt a vektorkészletet felhasználva lépésről lépésre generál egy új sorozatot.
A keresztfigyelem lehetővé teszi, hogy a dekóder minden lépésnél „konzultáljon" az enkóderrel, hogy megértse, a forrásnöveg melyik részére kell az adott pillanatban összpontosítania. Például egy mondat fordításakor a dekóder egy német szó generálásakor „ránézhet" a bemenetből a megfelelő angol szóra.
Lásd még
- GPT
Irodalom
- Vaswani, A. et al. (2017). Attention Is All You Need. NIPS.