paint-brush
Transformers: Zeitalter der Aufmerksamkeitvon@bhavdeepsethi
1,934 Lesungen
1,934 Lesungen

Transformers: Zeitalter der Aufmerksamkeit

von Bhavdeep Sethi7m2024/08/26
Read on Terminal Reader

Zu lang; Lesen

Einfache Erklärung des Transformer-Modells aus dem revolutionären Papier „Attention is All You Need“, das die Grundlage vieler hochmoderner Modelle wie BERT und GPT bildet.
featured image - Transformers: Zeitalter der Aufmerksamkeit
Bhavdeep Sethi HackerNoon profile picture
0-item



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:


  • Langsames Training: Da RNNs und LSTMs jeweils ein Wort verarbeiten, war das Training dieser Modelle anhand großer Datensätze zeitaufwändig.
  • Schwierigkeiten mit langen Sätzen: Diese Modelle hatten häufig Probleme, die Beziehungen zwischen Wörtern zu verstehen, die in einem Satz weit auseinander standen.
  • Eingeschränkte Parallelisierung: Da die Wörter sequenziell verarbeitet wurden, war es schwierig, die Vorteile moderner Computerhardware zu nutzen, die auf die gleichzeitige Ausführung vieler Operationen (Parallelisierung) ausgelegt ist.


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:

  • Parallele Verarbeitung: Im Gegensatz zu RNNs, die Wörter nacheinander verarbeiten, kann der Transformer alle Wörter in einem Satz gleichzeitig verarbeiten. Dies macht das Training viel schneller.
  • Besseres Verständnis des Kontexts: Dank des Self-Attention-Mechanismus kann der Transformer Beziehungen zwischen Wörtern erfassen, unabhängig davon, wie weit sie in einem Satz voneinander entfernt sind. Dies ist entscheidend für das Verständnis komplexer Sätze.
  • Skalierbarkeit: Das Modell kann durch Hinzufügen weiterer Ebenen problemlos skaliert werden, sodass es sehr große Datensätze und komplexe Aufgaben verarbeiten kann.


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.

Der Transformator - 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.


  1. 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.


  2. 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.


  • Lineare Schicht : Diese Schicht ist eine vollständig verbundene Schicht eines neuronalen Netzwerks, die die Ausgabe der letzten Decoderschicht (eine dichte Vektordarstellung für jede Position) in einen Vektor von der Größe des Zielvokabulars (z. B. alle möglichen Wörter der französischen Sprache) umwandelt.
  • Softmax-Ebene : Nach der linearen Transformation wird eine Softmax-Funktion angewendet, um diese Logits (Rohwerte) in Wahrscheinlichkeiten umzuwandeln. Diese Wahrscheinlichkeiten geben an, wie wahrscheinlich es ist, dass jedes Wort im Zielvokabular das richtige nächste Wort in der Übersetzung ist. So können wir erraten, welches Wort aus dem französischen Vokabular ausgewählt werden sollte (die Zelle mit der höchsten Wahrscheinlichkeit).


Der Decoder macht im Wesentlichen Folgendes:

  • Erster Schritt: Der Decoder beginnt mit <SOS> und generiert das erste Wort „La“.
  • Zweiter Schritt: Mit der Eingabe <SOS> La sagt das Modell das nächste Wort „Voiture“ voraus.
  • Dritter Schritt: Der Decoder nimmt <SOS> La Voiture und generiert das Wort „quit“.
  • Fortlaufender Prozess: Dieser Prozess wird fortgesetzt und erzeugt „était“, „garée“, „dans“, „le“, „garage“, „est“ und schließlich „bleue“.
  • End-of-Sequence-Token: Der Decoder generiert schließlich ein End-of-Sequence-Token <EOS>, um anzuzeigen, dass die Übersetzung abgeschlossen ist.


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.