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
In der Regel umfasst ein neuronales Netzwerk für die Sequence-to-Sequence-Modellierung mehrere Layer, 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 Funktionsvektor besser zur Codierung der Informationen für ein bestimmtes Token (Wort bei Textkorpora) geeignet ist als ein einfacher One-Hot-codierter Vektor. Es ist auch üblich, diese Einbettungsschicht mit einem vortrainierten Wortvektor wie FastText
oder 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 RNN-type Netzwerken wie Long Short-Term Memory (LSTM) oder Gated Recurrent Units (GRU). (In Colah's blog
wird LSTM ausführlich erläutert.) -
Ein Decoder-Layer. Der Decoder-Layer verwendet diesen codierten Funktionsvektor und generiert die Token-Ausgabesequenz. Dieser Layer setzt sich üblicherweise aus RNN-Architekturen (LSTM und GRU) zusammen.
Das gesamte Modell wird gemeinsam trainiert, um die Wahrscheinlichkeit der Zielsequenz anhand der Quellsequenz zu maximieren. Dieses Modell wurde erstmals von Sutskever et al.
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
Weitere Einzelheiten finden Sie im Whitepaper Effective Approaches to Attention-based Neural Machine Translation