Encoder–decoder architecture (Encoder-Decoder-Architektur) (DE)

From Systems analysis Wiki
Jump to navigation Jump to search

Encoder-Decoder-Modelle (engl. Encoder-Decoder Models) sind eine Klasse von Architekturen für neuronale Netze, die zur Lösung von Sequence-to-Sequence (seq2seq)-Aufgaben entwickelt wurden. Diese Architektur besteht aus zwei Hauptkomponenten:

  • Encoder (Kodierer): Verarbeitet die Eingabesequenz und komprimiert sie in eine kompakte numerische Darstellung (einen Kontextvektor oder eine Sequenz von verborgenen Zuständen).
  • Decoder (Dekodierer): Übernimmt diese Darstellung und generiert auf ihrer Grundlage die Ausgabesequenz.

Diese Architektur bildet die Grundlage für viele Aufgaben der Verarbeitung natürlicher Sprache (NLP) und des Computer Vision, wie z. B. maschinelle Übersetzung, Textzusammenfassung und Bildbeschriftung.

Konzept

Die Grundidee der Encoder-Decoder-Architektur liegt in der Trennung der Aufgaben des Verstehens und des Generierens. Der Encoder ist für das Verständnis der Eingabesequenz verantwortlich, indem er alle notwendigen semantischen Informationen daraus extrahiert. Der Decoder ist für die Generierung einer neuen Sequenz zuständig, wobei er die vom Encoder bereitgestellten Informationen verwendet.

Dies ermöglicht es dem Modell, mit Eingabe- und Ausgabesequenzen unterschiedlicher Länge zu arbeiten, was für frühere Architekturen eine Herausforderung darstellte.

Evolution der Architektur

Frühe Modelle auf Basis von RNN/LSTM

Ursprünglich wurde die Encoder-Decoder-Architektur mithilfe von rekurrente neuronalen Netzen (RNN) oder deren weiterentwickelten Variante, LSTM, implementiert.

  • Encoder: Ein RNN-Encoder verarbeitete die Eingabesequenz Token für Token und erzeugte als Ausgabe einen einzigen Kontextvektor – den verborgenen Zustand nach der Verarbeitung des letzten Tokens, der die Informationen der gesamten Sequenz enthalten sollte.
  • Decoder: Ein RNN-Decoder wurde mit diesem Kontextvektor initialisiert und generierte autoregressiv die Ausgabesequenz.

Der Hauptnachteil dieses Ansatzes war das „Flaschenhals“-Problem: Alle Informationen aus der Eingabesequenz mussten in einen einzigen Vektor fester Länge komprimiert werden, was insbesondere bei langen Sequenzen zu Informationsverlust führte.

Einführung des Aufmerksamkeitsmechanismus

Der Durchbruch gelang mit der Einführung des Aufmerksamkeitsmechanismus (Attention Mechanism) (Bahdanau et al., 2014).

  • Funktionsprinzip: Anstatt sich auf einen einzigen Kontextvektor zu verlassen, „richtet“ der Decoder bei jedem Generierungsschritt seine „Aufmerksamkeit“ auf alle verborgenen Zustände des Encoders. Er berechnet Aufmerksamkeitsgewichte, die angeben, welche Teile der Eingabesequenz für die Generierung des aktuellen Ausgabe-Tokens am relevantesten sind.
  • Vorteile: Dies löste das „Flaschenhals“-Problem und ermöglichte es dem Modell, effizient mit langen Sequenzen zu arbeiten, was die Qualität insbesondere bei der maschinellen Übersetzung erheblich verbesserte.

Transformer-Architektur

Im Jahr 2017 wurde im Paper „Attention Is All You Need“ die Transformer-Architektur vorgestellt, die vollständig auf Rekurrenz verzichtete und stattdessen auf dem Aufmerksamkeitsmechanismus basiert.

  • Transformer-Encoder: Besteht aus einem Stapel von Schichten, von denen jede Selbst-Aufmerksamkeit (Self-Attention) verwendet, um kontextualisierte Darstellungen für jedes Eingabe-Token zu erstellen.
  • Transformer-Decoder: Besteht aus einem Stapel von Schichten, von denen jede zwei Arten von Aufmerksamkeitsmechanismen aufweist:
    • Maskierte Selbst-Aufmerksamkeit (Masked Self-Attention): Zur Verarbeitung des bereits generierten Teils der Ausgabesequenz.
    • Kreuz-Aufmerksamkeit (Cross-Attention): Um die Aufmerksamkeit auf die Ausgabedarstellungen des Encoders zu richten.

Diese Architektur wurde aufgrund ihrer hohen Leistungsfähigkeit und der Möglichkeit zur Parallelisierung von Berechnungen zum Standard für Seq2Seq-Aufgaben.

Anwendung

Die Encoder-Decoder-Architektur ist der Standard für eine Vielzahl von Aufgaben:

  • Maschinelle Übersetzung: Die Übersetzung eines Satzes von einer Sprache in eine andere.
  • Automatische Textzusammenfassung: Die Erstellung einer kurzen Zusammenfassung eines langen Dokuments.
  • Dialogsysteme: Die Generierung einer Antwort auf die Äußerung eines Benutzers.
  • Bildbeschriftung (Image Captioning): Ein Encoder (oft auf Basis eines Convolutional Neural Network) verarbeitet ein Bild, und ein Decoder (oft ein RNN oder Transformer) generiert eine textuelle Beschreibung dazu.
  • Spracherkennung: Die Umwandlung eines Audiosignals in eine Texttranskription.

Wichtige Modelle

  • Der ursprüngliche Transformer (Vaswani et al., 2017): Das Modell, das diese Architektur einführte.
  • BART (Bidirectional and Auto-Regressive Transformers): Ein Modell von Facebook, das auf der Aufgabe der Wiederherstellung von „beschädigtem“ Text vor-trainiert wird. Der Encoder ist bidirektional (wie in BERT), während der Decoder autoregressiv ist (wie in GPT).
  • T5 (Text-to-Text Transfer Transformer): Ein Modell von Google, das alle NLP-Aufgaben vereinheitlicht, indem es sie als ein Problem der Text-zu-Text-Transformation darstellt. T5 hat auf zahlreichen Benchmarks herausragende Ergebnisse erzielt.

Vergleich mit anderen Architekturen

Vergleich der Schlüsselarchitekturen auf Basis des Transformers
Architektur Hauptaufgabe Komponenten Typische Modelle
Encoder-Decoder Sequenz-zu-Sequenz-Transformation Encoder + Decoder T5, BART, ursprünglicher Transformer
Nur-Encoder Textverständnis Nur Encoder BERT, RoBERTa
Nur-Decoder Textgenerierung Nur Decoder

Literatur

  • 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.