![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Im Jahr 2017 stellte eine Gruppe von Forschern (von Google und der University of Toronto) eine neue Methode zur Verarbeitung von Aufgaben der natürlichen Sprachverarbeitung (NLP) vor. Ihr revolutionäres Papier „ Attention is All You Need “ präsentierte das Transformer-Modell, eine Architektur, die heute die Grundlage vieler fortschrittlicher KI-Systeme bildet. Die Leistung, Skalierbarkeit und Vielseitigkeit des Modells haben zu seiner weit verbreiteten Akzeptanz geführt und bilden das Rückgrat modernster Modelle wie BERT (Bidirectional Encoder Representations) und GPT (Generative Pre-trained Transformers).
Vor dem Transformer-Modell stützten sich die meisten KI-Modelle, die Sprache verarbeiteten, stark auf eine Art neuronales Netzwerk namens Recurrent Neural Network (RNN) oder seine verbesserte Version, das Long Short-Term Memory Network (LSTM). Insbesondere Probleme wie Sprachmodellierung und maschinelle Übersetzung (auch Sequenztransduktion genannt). Diese Modelle verarbeiteten Wörter in einer Sequenz, eins nach dem anderen, von links nach rechts (oder umgekehrt). Obwohl dieser Ansatz sinnvoll war, weil Wörter in einem Satz oft von den vorherigen Wörtern abhängen, hatte er einige erhebliche Nachteile:
Die Schlüsselidee: Aufmerksamkeit für die Architektur
Die Kernidee hinter dem Transformer-Modell ist etwas, das „Aufmerksamkeit“ genannt wird. Einfach ausgedrückt hilft Aufmerksamkeit dem Modell, sich auf bestimmte Teile eines Satzes zu konzentrieren, wenn es versucht, die Bedeutung/den Kontext eines Wortes zu verstehen. Betrachten Sie den Satz „Das Auto, das in der Garage geparkt war, ist blau.“ Wenn Sie an das Wort „blau“ denken, konzentrieren Sie sich natürlich auf das Wort „Auto“ weiter oben im Satz, weil es Ihnen sagt, was blau ist. Maschinelle Übersetzungsmodelle hätten Schwierigkeiten, zu erkennen, ob sich das „blau“ auf das Auto oder die Garage bezieht. Dies ist, was Selbstaufmerksamkeit bewirkt – sie hilft dem Modell, sich auf die relevanten Wörter zu konzentrieren, egal, wo sie im Satz stehen.
Beachten Sie, dass Aufmerksamkeit kein neues Konzept war und bereits in Verbindung mit RNNs verwendet wurde. Transformer war das erste Transduktionsmodell, das ausschließlich auf Aufmerksamkeit basierte und damit die Notwendigkeit neuronaler Netzwerke überflüssig machte. Dies brachte die folgenden Vorteile:
Wie Sie sehen, beseitigt das neue Modell nicht nur alle Nachteile neuronaler Netzwerke, sondern verbessert tatsächlich auch die Leistung der maschinellen Übersetzung!
Da das Originaldokument etwas schwer zu verstehen sein kann, finden Sie hier eine einfachere Erklärung der im Dokument beschriebenen Modellarchitektur.
Encoder- und Decoder-Stacks : Der Transformer besteht aus einem Encoder-Stack (links) und einem Decoder-Stack (rechts). Der Encoder-Stack wandelt die Eingabesequenz (wie einen Satz) in eine Reihe kontinuierlicher Darstellungen um, während der Decoder-Stack diese Darstellungen in eine Ausgabesequenz (wie eine Übersetzung) umwandelt. Für jeden Stack werden hier von unten nach oben die Kernkomponenten des Modells anhand eines Beispiels erläutert.
Verarbeitung von Eingabesätzen im Encoder
Eingaben : Der Text, den Sie übersetzen möchten. Beispiel: „Das Auto, das in der Garage geparkt war, ist blau.“
Eingabeeinbettung : Wandelt Wörter in numerische Darstellungen (Vektoren) mit fester Länge um, die als Einbettungen bezeichnet werden. Diese Einbettungen erfassen die semantische Bedeutung von Wörtern auf eine Weise, die das Modell verstehen kann. Aus unserem Beispiel:
"Die" -> [0,9, -0,4, 0,2, ...]
"Auto" -> [0,5, 0,1, -0,7, ...]
"das" -> [-0,8, 0,2, 0,8, ...]
und ebenso für jedes Wort im obigen Satz.
Positionskodierung : Da das Modell die Eingabeeinbettungen verarbeitet, die keine Reihenfolge aufweisen, muss es die Reihenfolge der Wörter in einem Satz verstehen. Die Positionskodierung fügt diese Informationen über die Position jedes Wortes in der Sequenz seiner Einbettung hinzu.
„The“ an Position 1 könnte auf [0,9 + P1, -0,4 + P1, 0,2 + P1, ...] angepasst werden, wobei P1 die Positionskodierung für die erste Position darstellt, wodurch eine neue Einbettung generiert wird, die für Position P1 eindeutig ist.
Selbstaufmerksamkeitsmechanismus : Wie bereits beschrieben, kann sich das Modell dadurch je nach Kontext auf unterschiedliche Wörter in einem Satz konzentrieren. Für jedes Wort berechnet der Selbstaufmerksamkeitsmechanismus einen Wert, der angibt, wie viel Aufmerksamkeit bei der Kodierung des aktuellen Wortes anderen Wörtern gewidmet werden soll.
Beim Wort „Auto“ könnte die Selbstaufmerksamkeit feststellen, dass „geparkt“, „Garage“ und „blau“ für das Verständnis des Kontexts besonders relevant sind.
Multi-Head-Aufmerksamkeit : Neuer Teil des Transformer-Modells. Multi-Head-Aufmerksamkeit besteht einfach aus mehreren parallel laufenden und linear verketteten Selbstaufmerksamkeitsschichten/-operationen.
Beispielsweise könnte sich ein Kopf auf das Hauptsubjekt („Auto“) und seine Eigenschaften („blau“) konzentrieren, während sich ein anderer Kopf auf den Relativsatz („das stand in der Garage“) konzentriert.
Das Multi-Head-Attention-Modul verleiht dem Modell die Fähigkeit zu verstehen, dass „Blau“ für das Auto relevanter ist als für die Garage.
Feedforward-Neuralnetze : Nach der Self-Attention-Schicht wird die Ausgabe durch ein Feedforward-Neuralnetz geleitet, das auf jede Position separat und identisch angewendet wird (kann wiederum parallel ausgeführt werden!). Dies besteht aus zwei linearen Transformationen mit einer ReLU-Aktivierung dazwischen.
Add & Norm : Residualverbindungen (Add) werden verwendet, um den Input einer Schicht zu ihrem Output hinzuzufügen, der dann normalisiert wird (Norm). Dies hilft beim Training tiefer Netzwerke, indem es verhindert, dass Gradienten verschwinden oder explodieren.
Generieren der Übersetzung im Decoder
In NLP ist es üblich, den Beginn des Start-of-Sequence-Tokens mit dem Sonderzeichen <SOS> und das Ende der Sequenz mit <EOS> zu kennzeichnen. Der Decoder nimmt die verarbeitete Eingabe vom Encoder und generiert die französische Übersetzung „La voiture qui était garée dans le garage est bleue.“ So funktioniert dieser Teil:
Eingabe für den Decoder : Der Decoder beginnt mit der codierten Darstellung des englischen Satzes vom Encoder. Wie Sie sehen, verwendet der Decoder auch seine eigene Ausgabe als Eingabe. Da er für das erste Wort keine Eingabe hat, fügen wir am Anfang das Token <SOS> ein (daher nach rechts verschoben) und entfernen das letzte Wort. Diese verschobene Sequenz wird in den Decoder eingespeist.
Maskierte Selbstaufmerksamkeit : Im Decoder sorgt ein Mechanismus der maskierten Selbstaufmerksamkeit dafür, dass jedes Wort in der Ausgabesequenz nur auf die Wörter davor achten kann. Dadurch wird verhindert, dass das Modell vorausschaut, und sichergestellt, dass es die Übersetzung Wort für Wort von links nach rechts generiert.
Wenn der Decoder beispielsweise das Wort „La“ (das erste Wort im Französischen) generieren soll, kennt er nur den Kontext von <SOS> und nicht die zukünftigen Wörter wie „Voiture“.
Feedforward-neuronale Netzwerke : Der Decoder verwendet ein weiteres Feedforward-neuronales Netzwerk, um diese Informationen weiter zu verarbeiten und die Übersetzung schrittweise zu verfeinern.
Im Decoder erhalten wir, nachdem wir den Eingabesatz durch mehrere Schichten maskierter Selbstaufmerksamkeit, Encoder-Decoder-Aufmerksamkeit und Feedforward-Netzwerke verarbeitet haben, eine Folge kontinuierlicher Darstellungen (Vektor von Gleitkommazahlen) für jede Position im Zielsatz (in unserem Fall Französisch). Diese Darstellungen müssen in tatsächliche Wörter umgewandelt werden. Hier kommt die letzte lineare und Softmax-Schicht ins Spiel.
Der Decoder macht im Wesentlichen Folgendes:
Durch die Kombination dieser Schritte kann der Transformer die Struktur und Bedeutung des gesamten Satzes besser verstehen als frühere Modelle. Dank des Self-Attention-Mechanismus und der parallelen Verarbeitung kann der Transformer die Nuancen und die Struktur sowohl der Ausgangs- als auch der Zielsprache effektiv erfassen, was ihn für Aufgaben wie die maschinelle Übersetzung äußerst leistungsfähig macht.