Was ist ein Encoder-Decoder-Modell?

Autoren

Jacob Murel Ph.D.

Senior Technical Content Creator

Joshua Noble

Data Scientist

Encoder-Decoder ist eine Art von neuronaler Netzarchitektur, die für die sequenzielle Datenverarbeitung und -generierung verwendet wird.

Beim Deep Learning ist die Encoder-Decoder-Architektur eine Art neuronales Netz, die am häufigsten mit der Transformer-Architektur in Verbindung gebracht wird und beim sequenziellen Lernen verwendet wird. In der Literatur werden Encoder-Decoder daher als eine Form des Sequenz-zu-Sequenz-Modells (seq2seq-Modell ) bezeichnet. Ein Großteil der Forschung zum maschinellen Lernen konzentriert sich auf Encoder-Decoder-Modelle für Aufgaben zur Verarbeitung natürlicher Sprache (NLP) mit großen Sprachmodellen (LLMs).

Encoder-Decoder-Modelle werden verwendet, um sequenzielle Daten zu verarbeiten, wobei insbesondere Eingabesequenzen auf Ausgabesequenzen unterschiedlicher Länge zugeordnet werden, z. B. bei der neuronalen maschinellen Übersetzung, der Textzusammenfassung, der Bildunterschrift und der Spracherkennung. Bei solchen Aufgaben ist die Zuordnung eines Tokens in der Eingabe zu einem in der Ausgabe oft indirekt. Nehmen wir zum Beispiel die maschinelle Übersetzung: In einigen Sprachen erscheint das Verb am Satzanfang (wie im Englischen), in anderen am Ende (z. B. im Deutsch) und in einigen kann die Position des Verbs variabler sein (z. B. Latein). Ein Encoder-Decoder-Netzwerk erzeugt Ausgabesequenzen variabler Länge, die jedoch kontextuell angemessen sind, um einer gegebenen Eingabesequenz zu entsprechen.1

Die neuesten KI-Trends, präsentiert von Experten

Erhalten Sie kuratierte Einblicke in die wichtigsten – und faszinierendsten – KI-Neuheiten. Abonnieren Sie unseren wöchentlichen Think-Newsletter. Weitere Informationen in der IBM Datenschutzerklärung.

Vielen Dank! Sie haben ein Abonnement abgeschlossen.

Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.

Die Encoder-Decoder-Architektur

Wie aus den jeweiligen Namen hervorgeht, kodiert der Encoder eine bestimmte Eingabe in eine Vektordarstellung, und der Decoder dekodiert diesen Vektor in denselben Datentyp wie den ursprünglichen Eingabedatensatz.

Sowohl der Encoder als auch der Decoder sind separate, vollständig verbundene neuronale Netze. Dabei kann es sich um rekurrente neuronale Netze (RNNs) – inklusive der Varianten Long Short Term Memory (LSTM), Gated Recurrent Units (GRUs) – und Convolutional Neural Networks (CNNs) sowie um Transformer-Modelle handeln. Ein Encoder-Decoder-Modell enthält in der Regel mehrere Encoder und mehrere Decoder.

Diagramm der Encoder-Decoder-Architektur

Jeder Encoder besteht aus zwei Schichten: der Selbstbeobachtungsschicht (oder dem Selbstbeobachtungsmechanismus) und dem Feed-Forward-Neuralnetzwerk. Die erste Schicht hilft dem Encoder dabei, andere verwandte Wörter in einer bestimmten Eingabe zu untersuchen und sich darauf zu konzentrieren, während er ein bestimmtes Wort darin codiert. Das vorwärtsgerichtete neuronale Netz verarbeitet die Codierungen weiter, sodass sie für nachfolgende Encoder- oder Decoderschichten geeignet sind.

Der Decoder-Teil besteht außerdem aus einer Selbstbeobachtungsschicht und einem vorwärtsgerichteten neuronalen Netzwerk sowie einer zusätzlichen dritten Schicht: der Encoder-Decoder-Aufmerksamkeitsschicht. Diese Schicht lenkt die Aufmerksamkeit des Netzwerks auf bestimmte Teile der Ausgabe des Encoders. Die Multi-Head-Attention-Schicht ordnet dadurch Token aus zwei verschiedenen Sequenzen zu.2

Diagramm der Teile von Encoder- und Decoder-Stack

Funktionsweise von Encoder-Decoder-Modellen

In der Literatur werden Encoder-Decoder-Modelle im Allgemeinen als aus drei Komponenten bestehend dargestellt: dem Encoder, dem Kontextvektor und dem Decoder.3

Encoder

Die Hauptkomponente des Encoders ist der Selbstbeobachtungs-Mechanismus. Der Selbstbeobachtungs-Mechanismus bestimmt die Token-Gewichtung in einer Eingabe, um die Beziehungen zwischen den Token widerzuspiegeln. Im Gegensatz zum herkömmlichen Wort-Einbetten, das die Wortreihenfolge ignoriert, verarbeitet die Selbstbeobachtung die gesamte eingegebene Textsequenz, um das gewichtete durchschnittliche Einbetten jedes Token zu berechnen, wobei der Abstand des Tokens zu allen anderen Token in der Textsequenz berücksichtigt wird. Es berechnet dieses durchschnittliche Einbetten als lineare Kombination aller Einbettungen für die Eingabesequenz gemäß der folgenden Formel:

Eingabemathematische Sequenzformel beschreibend x Primzahl geteilt i gleich der Summe von j gleich 1 bis n von w geteilt j i mal x geteilt j

Hier ist xj ein vorgegebenes Eingabetoken an der j-ten Position in der Eingabetextzeichenfolge und xi ist das entsprechende Ausgabetoken an der i-ten Position in der Eingabetextzeichenfolge. Der Koeffizient wij ist das Aufmerksamkeitsgewicht, das mit der sogenannten Softmax-Funktion berechnet wird und darstellt, wie wichtig das jeweilige Token im Ausgabetext für die entsprechende Quellsequenz ist. Mit anderen Worten: Dieser Koeffizient signalisiert, wie viel Aufmerksamkeit der Encoder jedem Token im Ausgabetext in Bezug auf die Bedeutung des ursprünglichen Tokens im Quelltext widmen sollte.4

Diagramm, das Einbetten in Kombination mit Positionskodierung zeigt, um Einbettungen mit Zeitsignal für drei Wörter zu erstellen: Alas, Poor, Yorick

Der Encoder übergibt dieses Token an die Feed-Forward-Schicht, die diesem Token eine Positionskodierung (oder Einbetten) hinzufügt. Diese Positionskodierung berücksichtigt die Reihenfolge der Token in einem Text, insbesondere den Abstand zwischen den Token. Zusammen bilden diese Token-Einbettungen und die Positionseinbettung den verborgenen Zustand, der an den Decoder weitergegeben wird.5

Kontext-Vektor

In der Literatur wird der endgültige verborgene Zustand des Encoders allgemein als Kontextvektor bezeichnet. Es handelt sich dabei um eine komprimierte, numerische Darstellung des ursprünglichen Eingabetextes des Encoders. Mit anderen Worten handelt es sich dabei, um das Einbetten und die Positionskodierung, die der Encoder für jedes Wort in der Eingabe erzeugt.

In der Literatur wird der Kontextvektor häufig mit der folgenden Funktion definiert, wobei der Kontextvektor X als jedes Token (x) an der i-ten Position in der Eingabesequenz definiert ist: 6

Kontext-Vektorfunktionsformel, die zeigt, dass C einer Folge von x-Werten von 1 bis n geteilt x entspricht

Decoder

Ähnlich wie der Encoder besteht der Decoder aus einer Selbstbeobachtungsschicht und einem Feed-Forward-Netzwerk. Dazwischen enthält der Decoder eine Multi-Head-Attention-Maskierungsschicht. Dies markiert den Unterschied zwischen Encoder und Decoder. Während der Encoder gleichzeitig kontextualisierte Token-Einbettungen erzeugt, verwendet die Multi-Head-Attention-Schicht des Decoders autoregressive Maskierung.

Zunächst empfängt der Decoder den Kontextvektor vom Encoder. Der Decoder verwendet diese positionellen Einbettungen, um die Aufmerksamkeitswerte für jedes Token zu berechnen. Diese Aufmerksamkeitsscores bestimmen, inwieweit jedes Token aus der Eingabesequenz spätere Token darin beeinflussen wird. Das heißt: Die Ergebnisse bestimmen, wie viel Gewicht jedes Token in den Bestimmungen anderer Token hat, wenn Ausgabesequenzen erzeugt werden.

Eine wichtige Funktion dabei ist jedoch, dass der Decoder keine zukünftigen Token verwendet, um die vorangegangenen Token in derselben Sequenz zu bestimmen. Die generierte Ausgabe jedes Tokens hängt nur von den vorangegangenen Token ab. Das heißt: Beim Erzeugen der Ausgabe eines Tokens berücksichtigt der Decoder nicht die nächsten Wörter oder Token nach dem aktuellen. Wie es bei vielen Techniken der künstlichen Intelligenz der Fall ist, zielt dies darauf ab, konventionelle Auffassungen darüber nachzuahmen, wie Menschen Informationen verarbeiten, insbesondere Sprache. Dieser Ansatz zur Informationsverarbeitung wird als autoregressiv bezeichnet.7

Diagramm der autoregressiven Maskierung eines Hamlet-Zitats

Warum Encoder-Decoder-Modelle in NLP verwenden?

Einer der wichtigsten Vorteile von Encoder-Decoder-Modellen für nachgelagerte NLP-Aufgaben wie Stimmungsanalyse oder maskierte Sprachmodellierung ist die Produktion von kontextualisierten Einbetten. Diese Einbettungen unterscheiden sich von den festen Wort-Einbettungen, die in den Bag of words-Modellen verwendet werden.

Erstens berücksichtigen feste Einbettungen nicht die Wortreihenfolge. Dabei ignorieren sie die Beziehungen zwischen Token in einer Textsequenz. Kontextualisierte Einbettungen berücksichtigen jedoch die Wortreihenfolge über Positionskodierungen. Darüber hinaus versuchen kontextualisierte Einbettungen, die Beziehung zwischen Token durch den Aufmerksamkeitsmechanismus zu erfassen, der bei der Erstellung der Einbettungen den Abstand zwischen Token in einer gegebenen Sequenz berücksichtigt.

Feste Einbettungen generieren ein Einbetten für ein bestimmtes Token und fassen alle Instanzen dieses Tokens zusammen. Encoder-Decoder-Modelle erzeugen kontextualisierte Einbettungen für jede Tokeninstanz eines Tokens. Als Ergebnisse können kontextualisierte Einbettungen polyseme Wörter, d. h. Wörter mit mehreren Bedeutungen, besser handhaben. Fliegen kann zum Beispiel eine Handlung oder ein Insekt bezeichnen. Eine feste Worteinbettung fasst die verschiedenen Bedeutungen dieses Wortes zusammen, indem sie eine einzige Einbettung für das Token oder Wort erstellt. Ein Encoder-Decoder-Modell generiert jedoch individuelle kontextualisierte Einbettungen für jedes Vorkommen des Wortes „Fliegen“ und erfasst so unzählige Bedeutungen durch mehrere unterschiedliche Einbettungen.8

Mixture of Experts | 12. Dezember, Folge 85

KI entschlüsseln: Wöchentlicher Nachrichtenüberblick

Schließen Sie sich unserer erstklassigen Expertenrunde aus Ingenieuren, Forschern, Produktführern und anderen an, die sich durch das KI-Rauschen kämpfen, um Ihnen die neuesten KI-Nachrichten und Erkenntnisse zu liefern.

Arten von Encoder-Decoder-Varianten

Wie zu erwarten war, hat die Encoder-Decoder-Architektur viele Varianten, jede mit ihren eigenen primären Anwendungsfällen in Bereich der Data Science und des maschinelles Lernens.

Nur EncoderDiese Modelle (die auch als Auto-Encoder bezeichnet werden) verwenden nur den Encoder-Stack und verzichten auf Decoder. Solchen Modellen fehlt daher eine autoregressive maskierte Modellierung und sie haben Zugriff auf alle Token im anfänglichen Eingabetext. Daher werden diese Modelle als bidirektional beschrieben, da sie alle umgebenden Token (sowohl vorhergehende als auch nachfolgende) verwenden, um Vorhersagen für einen bestimmten Token zu treffen. Bekannte Encoder-Modelle sind die BERT-Modellfamilie, wie BERT,9 RoBERTa,10 und ELECTRA,11 sowie die IBM Slate-Modelle. Reine Encoder-Modelle werden oft für Aufgaben verwendet, die das Verständnis einer gesamten Eingabe erfordern, wie Textklassifizierung oder Named Entity Recognition.

Nur Decoder.Diese Modelle (auch autoregressive Modelle genannt) verwenden nur den Decoder-Stack und verzichten auf jegliche Encoder. Daher können die Aufmerksamkeitsschichten des Modells bei der Erstellung von Token-Vorhersagen nur auf die Token zugreifen, die vor dem betrachteten Token liegen. Reine Decoder-Modelle werden häufig für Aufgaben der Textgenerierung wie die Beantwortung von Fragen, das Schreiben von Code oder Chatbots wie ChatGPT verwendet. Ein Beispiel für ein reines Decoder-Modell ist die IBM Granite-Reihe der Foundational Models.12

Weitere Lösungen
IBM watsonx.ai

Trainieren, validieren, optimieren und implementieren Sie generative KI, Foundation Models und maschinelle Lernfunktionen mit IBM watsonx.ai, einem Studio der nächsten Generation für AI Builder in Unternehmen. Erstellen Sie KI-Anwendungen mit einem Bruchteil der Zeit und Daten.

Entdecken sie watsonx.ai
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Services entdecken
Machen Sie den nächsten Schritt

Profitieren Sie von einem einheitlichen Zugriff auf Funktionen, die den gesamten Lebenszyklus der KI-Entwicklung abdecken. Erstellen Sie leistungsstarke KI-Lösungen mit benutzerfreundlichen Oberflächen, Workflows und Zugriff auf branchenübliche APIs und SDKs.

watsonx.ai erkunden Live-Demo buchen
Fußnoten

Jurafsky, D. und Martin, J.,   „Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition“, dritte Auflage, 2023.

Telmo, P., Lopes, A. V., Assogba, Y. and Setiawan, H.  „One Wide Feedforward Is All You Need“ , 2023.
Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, AN, Emperor, L. and Polosukhin I. „Attention Is All You Need“, 2017.
Tunstall, L., Werra, L. and Wolf and T. „Natural Language Processing with Transformers“, überarbeitete Ausgabe, O'Reilly, 2022

3 Goodfellow, I., Bengio, Y. und Courville, A. „Deep Learning“, MIT Press, 2016.
Jurafsky, D. und Martin, J. „Speech and Language Processing“, dritte Auflage, 2023.
Tunstall, L., Werra, L. und Wolf und T. „Natural Language Processing with Transformers“, überarbeitete Ausgabe, O'Reilly, 2022.

4 Tunstall, L., Werra, L. und Wolf und T. „Natural Language Processing with Transformers“, überarbeitete Edition, O'Reilly, 2022.
Goldberg, Y. „Neural network methods for Natural Language Processing“, Springer, 2022.

5 Alemmar, J. und Grootendorst, M. „Hands-on Large Language Models“, O'Reilly, 2024.

6
Goodfellow, I., Bengio, Y. und Kurville, A. „Deep Learning“, MIT Press, 2016.
Jurafsky, D. und Martin, J. „Speech and Language Processing“, dritte Auflage, 2023.

7 Foster, D. „Generative Deep Learning“, Second Edition, O'Reilly, 2023.
Rothman, D. „Transformers for Natural Language Processing“, zweite Auflage, 2022. 
Jurafsky, D. und Martin, J. Speech and Language Processing“, dritte Auflage, 2023.

8 Tunstall, L., Werra, L. und Wolf und T. „Natural Language Processing with Transformers“, überarbeitete Edition, O'Reilly, 2022. 

9 Devlin, J. et al. „BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding“, 2019.

10 Liu, Y., Ott, M., Goyal, N., Du, J., Joshi, M., Chen, D., Levely, O., Lewis, M., Zettelmoyer, L. und Styanov, V.  „RoBERTa: A Robustly Optimized BERT Pretraining Approach“, 2019.

11 Clark, K. et al. „ELECTRA: Pre-training Text Encoders as Discriminators Rather Than Generators“, 2020.

12 Mayank, M. et al. Granite Code Models: A Family of Open Foundation Models for Code Intelligence
Ruiz, A. „IBM Granite Large Language Models Whitepaper“ 2024.