Sequence-to-Sequence-Modelle werden verwendet, um komplexe sprachbezogene Probleme wie die Entwicklung von Chatbots, Textzusammenfassungen und Übersetzungen zu lösen.
Sequenzbezogene Probleme werden meist durch fortgeschrittene rekurrente neuronale Netze wie LSTM und GRU gelöst.
EINFÜHRUNG:
Das Sequence-to-Sequence-Modell wurde erstmals von Google für die maschinelle Übersetzung eingeführt. Zuvor wurde jedes von uns eingegebene Wort ohne Grammatikkorrektur und Satzstruktur in sein Zielwort umgewandelt. Aber jetzt hat das Sequence-to-Sequence-Modell Entwicklungen wie die Berücksichtigung des aktuellen Worts als Eingabe sowie der Nachbarschaftseingabe vorgenommen.
Das Sequenz-zu-Sequenz-Modell besteht aus Encoder und Decoder.
Datensätze, die aus Eingabe- und Ausgabepaaren bestehen, dienen als Trainingsdaten zum Trainieren von Sequence-to-Sequence-Modellen, bei denen sowohl Eingabe als auch Ausgabe eine Folge von Token sind. Um sich auf bestimmte Teile der Eingabe zu konzentrieren, wird im Decoder der Aufmerksamkeitsmechanismus zum Generieren der Ausgabe verwendet.
Hier, im Sequence-to-Sequence-Modell, werden Eingaben entgegengenommen und Ausgaben generiert. Hier wird RNN (Recurrent Neural Community) verwendet, da beides bedeutet, dass die vorherige Ausgabe und die aktuelle Eingabe als Eingaben für Sequenzmodelle dienen. Wir wissen auch, dass RNN unter dem Downside des verschwindenden und explodierenden Gradienten leidet, weshalb für diese fortgeschrittenere Model von RNN, dh LSTM und GRU, verwendet werden.
Wie funktioniert Encoder Decoder?
Die tiefen neuronalen Netze wandeln die Eingabevektoren in entsprechende versteckte Vektoren um. Jeder Vektor hat das aktuelle Wort und den Kontext des Wortes. Nun wird die Eingabesequenz dem Encoder zugeführt und dann aktualisiert RNN seinen verborgenen Zustand und fasst dann die Informationen zusammen, die aus der Eingabesequenz stammen. Nun, dieser letzte verborgene Zustand des Der Encoder wird dann als Kontextvektor an den Decoder übergeben.
Nun werden der vom Encoder generierte verborgene Vektor, der verborgene Zustand des Decoders und das aktuelle Wort verwendet, um schließlich den nächsten verborgenen Vektor zu erzeugen und schließlich das nächste Wort Token für Token vorherzusagen, um eine Wahrscheinlichkeitsverteilung über die möglichen nächsten Token zu generieren . Nun wird das Token mit der höchsten Wahrscheinlichkeit als endgültige Ausgabe ausgewählt. Um diese endgültige Ausgabe mit der höchsten Wahrscheinlichkeit auszuwählen, wird eine Strahlsuche angewendet, die mögliche Übersetzungen vorschlägt, bei denen ein Baum der besten Okay-Ergebnisse erstellt wird.
Warum wird der Aufmerksamkeitsmechanismus verwendet?
Wenn der Kontextvektor dem Decoder zugeführt wird, muss er alle Informationen über den Kontext speichern. Bei großen Sequenzen kann es zu Problemen kommen. Daher wird hier der Aufmerksamkeitsmechanismus verwendet, damit der Decoder die Eingabesequenz selektiv auswählen kann.
Autorin – Natasha Meshram (Softwareentwicklerin, ICICI Securities)