Encoder–decoder-architectuur
Encoder-Decoder-modellen (Engels: Encoder-Decoder Models) — dit is een klasse van neurale netwerkarchitecturen die zijn ontworpen voor het oplossen van taken op het gebied van sequentie-naar-sequentie-transformatie (sequence-to-sequence, seq2seq). Deze architectuur bestaat uit twee hoofdcomponenten:
- Encoder (codeerder): Verwerkt de invoersequentie en comprimeert deze tot een compacte numerieke representatie (contextvector of een reeks verborgen toestanden).
- Decoder (decodeerder): Neemt deze representatie en genereert op basis daarvan de uitvoersequentie.
Deze architectuur vormt de basis voor veel taken op het gebied van Natural Language Processing (NLP) en computervisie, zoals machinaal vertalen, tekstsamenvatting en beeldonderschriften.
Concept
Het basisidee van de Encoder-Decoder-architectuur ligt in de scheiding van de taken begrijpen en genereren. De encoder is verantwoordelijk voor het begrijpen van de invoersequentie door alle benodigde semantische informatie daaruit te extraheren. De decoder is verantwoordelijk voor het genereren van een nieuwe sequentie, gebruikmakend van de informatie die de encoder heeft verstrekt.
Dit stelt het model in staat te werken met sequenties van verschillende lengtes aan de invoer- en uitvoerzijde, wat voor eerdere architecturen problematisch was.
Evolutie van de architectuur
Vroege modellen op basis van RNN/LSTM
Anaanvankelijk werd de Encoder-Decoder-architectuur geïmplementeerd met behulp van recurrente neurale netwerken (RNN) of hun verbeterde variant LSTM.
- Encoder: De RNN-encoder verwerkte de invoersequentie token voor token en produceerde aan de uitgang één contextvector — de verborgen toestand na verwerking van het laatste token, die informatie over de volledige sequentie moest bevatten.
- Decoder: De RNN-decoder werd geïnitialiseerd met deze contextvector en genereerde de uitvoersequentie autoregressief.
Het belangrijkste nadeel van deze aanpak was het zogeheten 'bottleneck'-probleem: alle informatie uit de invoersequentie moest worden samengeperst in één vector met een vaste lengte, wat leidde tot informatieverlies, met name bij lange sequenties.
Introductie van het aandachtsmechanisme
De doorbraak kwam met de introductie van het aandachtsmechanisme (attention mechanism) (Bahdanau et al., 2014).
- Werkingsprincipe: In plaats van te vertrouwen op één contextvector, richt de decoder bij elke generatiestap zijn aandacht op alle verborgen toestanden van de encoder. Hij berekent aandachtsgewichten die aangeven welke delen van de invoersequentie het meest relevant zijn voor het genereren van het huidige uitvoertoken.
- Voordelen: Dit loste het 'bottleneck'-probleem op en stelde het model in staat efficiënt te werken met lange sequenties, waarbij de kwaliteit aanzienlijk verbeterde, met name bij machinaal vertalen.
Transformer-architectuur
In 2017 werd in het artikel «Attention Is All You Need» de Transformer-architectuur gepresenteerd, die volledig afstand nam van recurrentie ten gunste van het aandachtsmechanisme.
- Transformer-encoder: Bestaat uit een stapel lagen, waarbij elke laag gebruikmaakt van zelfaandacht (self-attention) om gecontextualiseerde representaties te creëren voor elk invoertoken.
- Transformer-decoder: Bestaat uit een stapel lagen, waarbij elke laag twee typen aandachtsmechanismen heeft:
- Gemaskeerde zelfaandacht: Voor het verwerken van het reeds gegenereerde deel van de uitvoersequentie.
- Kruisaandacht (Cross-Attention): Voor het richten van de aandacht op de uitvoerrepresentaties van de encoder.
Deze architectuur is de standaard geworden voor seq2seq-taken dankzij de hoge prestaties en de mogelijkheid tot parallellisatie van berekeningen.
Toepassingen
De Encoder-Decoder-architectuur is de standaard voor een breed scala aan taken:
- Machinaal vertalen: Omzetting van een zin van de ene taal naar de andere.
- Automatische tekstsamenvatting: Het maken van een beknopte samenvatting van een lang document.
- Dialoogsystemen: Het genereren van een antwoord op een gebruikersuiting.
- Beeldonderschriften (Image Captioning): Een encoder (vaak gebaseerd op een convolutioneel neuraal netwerk) verwerkt de afbeelding, terwijl een decoder (vaak een RNN of Transformer) de tekstuele beschrijving ervan genereert.
- Spraakherkenning: Omzetting van een audiosignaal naar een tekstuele transcriptie.
Belangrijkste modellen
- Originele Transformer (Vaswani et al., 2017): Het model dat deze architectuur introduceerde.
- BART (Bidirectional and Auto-Regressive Transformers): Een model van Facebook dat vooraf wordt getraind op de taak van het herstellen van 'beschadigde' tekst. De encoder is bidirectioneel (zoals in BERT), terwijl de decoder autoregressief is (zoals in GPT).
- T5 (Text-to-Text Transfer Transformer): Een model van Google dat alle NLP-taken unificeert door ze voor te stellen als een tekst-naar-tekst-transformatieprobleem. T5 behaalde uitstekende resultaten op talrijke benchmarks.
Vergelijking met andere architecturen
| Architectuur | Primaire taak | Componenten | Typische modellen |
|---|---|---|---|
| Encoder-Decoder | Sequentie-naar-sequentie-transformatie | Encoder + Decoder | T5, BART, originele Transformer |
| Alleen-encoder | Tekstbegrip | Alleen encoder | BERT, RoBERTa |
| Alleen-decoder | Tekstgeneratie | Alleen decoder |
Literatuur
- Bahdanau, D. et al. (2014). Neural Machine Translation by Jointly Learning to Align and Translate. arXiv:1409.0473.
- Sutskever, I. et al. (2014). Sequence to Sequence Learning with Neural Networks. arXiv:1409.3215.
- Luong, M.-T. et al. (2015). Effective Approaches to Attention-based Neural Machine Translation. arXiv:1508.04025.
- Wu, Y. et al. (2016). Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation. arXiv:1609.08144.
- Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
- Britz, D. et al. (2017). Massive Exploration of Neural Machine Translation Architectures. arXiv:1703.03906.
- Lewis, M. et al. (2020). BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation. arXiv:1910.13461.
- Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683.
- Dong, L. et al. (2019). Unified Language Model Pre-training for Natural Language Understanding and Generation. arXiv:1905.03197.
- Zhang, J. et al. (2020). PEGASUS: Pre-training with Extracted Gap-Sentences for Abstractive Summarization. arXiv:1912.08777.