Wie Sequence-to-Sequence funktioniert - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Wie Sequence-to-Sequence funktioniert

Typischerweise besteht ein neuronales Netzwerk für die sequence-to-sequence Modellierung aus einigen Schichten, darunter:

  • Ein einbettender Layer. In diesem Layer mit der Eingabematrix werden die "platzsparend" codierten Eingabe-Token (z. B. per One-Hot-Codierung) einem Funktions-Layer mit hoher Dichte zugeordnet. Dies ist erforderlich, da ein hochdimensionaler Merkmalsvektor Informationen zu einem bestimmten Token (Wort für Textkorpora) besser kodieren kann als ein einfacher one-hot-encoded Vektor. Es ist auch üblich, diese Einbettungsschicht mit einem vortrainierten Wortvektor wie FastTextoder Glove zu initialisieren oder sie nach dem Zufallsprinzip zu initialisieren und die Parameter während des Trainings zu lernen.

  • Ein Encoder-Layer. Nachdem die Eingabe-Token einem hochdimensionalen Funktionsraum zugeordnet wurden, wird die Sequenz über einen Encoder-Layer übergeben, um alle Informationen aus dem einbettenden Eingabe-Layer (der gesamten Sequenz) in einen Funktionsvektor mit fester Größe zu komprimieren. In der Regel besteht ein Encoder aus Netzwerken RNN vom Typ „-Langzeitgedächtnis“ (LSTM) oder „Gated Recurrent Units“ (). GRU (Colahs Blog erklärt das LSTM ausführlich.)

  • Ein Decoder-Layer. Der Decoder-Layer verwendet diesen codierten Funktionsvektor und generiert die Token-Ausgabesequenz. Diese Schicht besteht normalerweise auch aus RNN Architekturen (LSTMundGRU).

Das gesamte Modell wird gemeinsam trainiert, um die Wahrscheinlichkeit der Zielsequenz anhand der Quellsequenz zu maximieren. Dieses Modell wurde erstmals von Sutskever et al. im Jahre 2014 vorgestellt.

Attention-Mechanismus. Der Nachteil eines Encoder-Decoder-Frameworks besteht darin, dass die Modellleistung mit zunehmender Länge der Quellsequenz abnimmt. Das liegt daran, dass der codierte Funktionsvektor mit fester Länge nur eine bestimmte Menge an Informationen aufnehmen kann. Zur Behebung dieses Problems führten Bahdanau et al. im Jahre 2015 den Attention-Mechanismus ein. In einem Attention-Mechanismus versucht der Decoder, die Stelle mit den wichtigsten Informationen in der Encoder-Sequenz zu ermitteln, und nutzt diese Informationen sowie zuvor decodierte Wörter, um das nächste Token in der Sequenz zu prognostizieren.

Weitere Informationen sowie erläuterte und vereinfachte Berechnungen verschiedener Attention-Mechanismen finden Sie im Whitepaper Effective Approaches to Attention-based Neural Machine Translation von Luong et al. Zudem wird im Whitepaper Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation von Wu et al. die zur Maschinenübersetzung von Google eingesetzte Architektur beschrieben, in der Skip-Connections zwischen Encoder- und Decoder-Layer verwendet werden.