Decoder (Transformer) (HU)

From Systems analysis Wiki
Jump to navigation Jump to search

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:

  1. Az enkóder tömöríti a bemeneti adatokat egy rejtett reprezentációba.
  2. 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 (N) áll, amelyek mindegyike három fő alréteggel rendelkezik:

  1. 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 i pozícióra vonatkozó előrejelzés kizárólag a <i pozíciók már ismert kimeneteitől függjön, megőrizve az autoregresszív tulajdonságot.
  2. 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.
  3. 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.