Funktionsweise von Transformern

Die Werkzeuge "Textanalyse" in der Toolbox "GeoAI" verwenden die kürzlich entwickelte Transformer-Architektur zum Durchführen von Tasks für die Verarbeitung natürlicher Sprache (NLP). Durch diese Architektur werden die Werkzeuge genauer und parallelisierbar, während gleichzeitig weniger beschriftete Daten für das Training benötigt werden.

Transformer sind Sprachmodelle, die selbstüberwacht anhand von großen Datenmengen in Form von reinem Text trainiert werden. Sie können diese vortrainierten Modelle mithilfe von Transfer Learning für die eigenen Daten optimieren. Transformer sind neuartige Architekturen gemäß der Abhandlung Attention Is All You Need, mit denen Tasks wie die Textklassifizierung, Textübersetzung, Textgenerierung und Entitätenerkennung gelöst werden sollen. Ein Transformer besteht aus zwei Haupkomponenten: einer Encodierungskomponente und einer Decodierungskomponente. Bei der Encodierungskomponente handelt es sich um einen Stapel von Encodern, die eine Eingabe erhalten und in eine Repräsentation in Form von Features encodieren. Die Decodierungskomponente ist ein Stapel von Decodern, welche die Repräsentation von der Encodierungskomponente zusammen mit anderen Eingaben verwenden, um eine Ausgabe in Form einer Zielsequenz zu generieren.

Transformer-Architektur
Allgemeine Darstellung der Komponenten eines Transformers

Je nach Task können Encoder und Decoder wie folgt verwendet werden:

  • Die Encodierungskomponente kann für Tasks wie die Textklassifizierung und die Erkennung benannter Entitäten verwendet werden. Einige bekannte Encodierungsmodelle sind ALBERT, BERT und RoBERTa.
  • Die Decodierungskomponente kann für Tasks wie die Textgenerierung verwendet werden. Einige bekannte Decodierungsmodelle sind CTRL und Transformer XL.
  • Zusammen können die Kompoenten für Tasks wie die Textübersetzung und -zusammenfassung verwendet werden. Einige bekannte Encodierungs-Decodierungs-Modelle sind BART und T5.

Encoder-Schichten
Allgemeine Darstellung der Komponenten eines Encoders

Die Struktur aller Encoder in der Encodierungskomponente ist identisch. Jeder Encoder verfügt über zwei untergeordnete Schichten:

  • Self-Attention-Schicht: In dieser Schicht können Modelle nach anderen Worten in der Eingabesequenz suchen, um die Encodierung eines aktuellen Wortes zu verbessern.

    Ein Beispiel hierfür bietet die folgende Eingabequenz: Der Mann konnte die Straße nicht überqueren, da er verletzt war. Das Wort "er" bezieht sich auf den Mann, der die Straße nicht überqueren konnte. Eine Self-Attention-Schicht ermöglicht es dem Modell in diesem Fall, das Wort "er" mit dem Wort "Mann" zu verknüpfen.

  • Feed-Forward-Schicht: Diese Schicht akzeptiert die Ausgabe der Aufmerksamkeitsschicht und transformiert sie in eine Form, die vom nächsten Encoder akzeptiert werden kann.

Alle Decoder in der Decodierungskomponente verfügen neben der Self-Attention-Schicht und der Feed-Forward-Schicht über eine Aufmerksamkeitsschicht (auch bezeichnet als Encoder-Decoder-Aufmerksamkeit). Diese Encoder-Decoder-Aufmerksamkeitsschicht ermöglicht die Fokussierung des Decoders auf bestimmte Abschnitte in der Eingabesequenz.

Decoder-Schichten
Allgemeine Darstellung der Komponenten eines Decoders

Ressourcen

Weitere Informationen finden Sie in den folgenden Ressourcen:


In diesem Thema
  1. Ressourcen