BERT: Wie beschreiben Vektoren treffend den Sinngehalt von Wörtern?

BERT Assoziationsmodelle|Assoziationen der Vektoren|Darstellungen der Assoziationen zwischen den Worten in unterschiedlichen Assoziationsmodulen|Überblick über alle Assoziationen der unterschiedlichen Assoziationsmodule|Architektur des BERT-Modells|Darstellungen der Assoziationen zwischen den Worten in unterschiedlichen Assoziationsmodulen|Überblick über alle Assoziationen der unterschiedlichen Assoziationsmodule|Architektur des BERT-Modells||||
© Jesse Vig

Im letzten Blog-Beitrag haben wir gelernt, wie kontextintensive Einbettungsvektoren zur Interpretation von Worten mit Hilfe von Assoziationsmodulen berechnet werden können. Wir stellten zudem fest, dass eine Prognoseaufgabe benötigt wird, welche das Training der unbekannten Parameter des Modells ermöglicht. An diesem Punkt setzt das BERT (Bidirectional Encoder Representations from Transformers) Modell an. BERT wurde 2018 von Jacob Devlin und seinen Kollegen von Google entwickelt und begegnet uns beispielsweise täglich in Googles Suchmaschine. Es dient als Pretraining-Ansatz für verschiedene Probleme in der Verarbeitung und Interpretation von Sprache. Doch wie funktioniert dieses Modell?

Architektur des BERT Modells

Für die Vorhersage von Wörtern innerhalb eines Satzes ersetzt man eine zufällig ausgesuchte Teilmenge der Worte eines Satzes durch den Term „[MASK]“, auch maskierter Token genannt, und fordert, dass jedes ersetzte Wort allein mit Hilfe der entsprechenden Einbettung der letzten Schicht prognostiziert wird. Das bedeutet, dass das Modell anhand der Kontextwörter, die den maskierten Token umgeben, versucht vorherzusagen, was das maskierte Wort sein sollte. Genauer gesagt wird dabei die Wahrscheinlichkeit des ersetzten Wortes prognostiziert. Diese Wahrscheinlichkeit soll möglichst hoch sein.

Bert 1 1 - Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)
© ML2R
Architektur des BERT-Modells: Das Vortraining des Modells wird mit der Prognose maskierter Worte durchgeführt.

Als Eingabe werden die Wort- und Positionseinbettungsvektoren des Eingabetextes verwendet. Etwa 15% der Worte werden zufällig ausgewählt und durch „[MASK]“ ersetzt. Die Basisversion des Modells hat Einbettungsvektoren der Länge 768 und verwendet 12 Ebenen. Die entstehenden Einbettungsvektoren werden durch eine vollverbundene Schicht transformiert und deren Ausgabe wird als nächste Einbettungsvektoren für die zugehörigen Worte verwendet. Um die Trainierbarkeit dieser Assoziationsebene zu verbessern, werden sogenannte Bypass-Verbindungen benutzt, die Teile der Eingaben an den Assoziationsmodulen vorbeischleusen. Zudem werden durch eine sogenannte Ebenen-Normalisierung der Mittelwert und die Streuung der Einbettungsvektoren auf 0 beziehungsweise 1 normalisiert. Die berechneten Einbettungsvektoren einer Assoziationsebene werden nun als Eingaben für eine weitere Assoziationsebene genutzt, dieser Vorgang wiederholt sich. Das BERT-Basis-Modell verwendet insgesamt 12 übereinandergestapelte Assoziationsebenen.

Aus den finalen Einbettungsvektoren der letzten Schicht werden dann die Wahrscheinlichkeiten der maskierten Ausgabeworte prognostiziert. Da allein der Einbettungsvektor des maskierten Wortes als Eingabe zur Prognose der Wortwahrscheinlichkeiten benutzt wird, ist das Modell gezwungen, möglichst viele Informationen über dieses Wort in dem Vektor zu kodieren. Dabei ist BERT in der Lage, nicht nur Worte vor dem maskierten Wort als Kontext zu verwenden, sondern auch dahinterliegende Worte. Es ergibt sich ein sehr aussagekräftiger kontextabhängiger Einbettungsvektor für das jeweilige maskierte Wort.

Eigenschaften von BERT

Das BERT-Basis-Modell hat mit zwölf Ebenen insgesamt 110 Millionen Parameter und BERT-Large mit 24 Ebenen 340 Millionen Parameter. Zusätzlich zur Prognose der maskierten Worte musste BERT auch vorhersagen, ob der nächste Satz ein zufällig ausgesuchter Satz ist oder der tatsächliche Nachfolgesatz. Allerdings hatte diese Aufgabe keine großen Auswirkungen auf die Prognosefähigkeiten des Modells.

Zum Training von BERT wurden die englische Wikipedia und ein Buchkorpus mit 3,3 Milliarden Wörtern verwendet. Diese Wörter wurden durch insgesamt 30.000 häufige Wörter und Wortteile dargestellt. Seltene Wörter werden dabei aus Wortteilen zusammengesetzt. Es wurden keine Annotationen der Texte durch Menschen benötigt, das Training im maschinellen Lernprozess ist also unüberwacht. Es konnten Sequenzen von maximal 512 Worten betrachtet werden. Das Training verwendet das Gradientenabstiegsverfahren und dauerte auf 64 besonders mächtigen Grafikprozessoren vier Tage.  Dabei kann man „rückwirkend“ auch die Einbettungsvektoren in der Eingabe für alle Worte und Wortteile bestimmen.

Es zeigt sich, dass BERT exzellente Ergebnisse für die Prognose der maskierten Worte erzielt und die zusätzlich eingebundenen Ebenen die Genauigkeit stark erhöhen. Maskiert man beispielsweise in den Trainingsdaten 15% der Worte, so ist BERT in der Lage, mit einer Genauigkeit von 45,9% die ursprünglichen Worte (beziehungsweise Wortteile) zu prognostizieren, obwohl in vielen Fällen mehrere Werte an einer Position plausibel wären.

BERT erlaubt die Darstellung der Stärke der Assoziationen zwischen Worten

Es ist möglich, für das trainierte Modell die Stärke der Assoziationen zwischen den einzelnen Worten grafisch darzustellen. Diese Assoziationen hängen natürlich von den Eingabeworten und der Zusammensetzung der einzelnen Einbettungsvektoren ab. Jedes Assoziationsmodul betrachtet andere Aspekte und stellt Beziehungen zwischen unterschiedlichen Worten her.

Assoziationsmodul2 1 1 - Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)
© Christopher Manning
Darstellungen der Assoziationen zwischen den Worten in unterschiedlichen Assoziationsmodulen.

Die vorstehende Grafik zeigt die Assoziationen von zwei Modulen in der Ebene 8 für unterschiedliche Texte. Dabei symbolisiert „[CLS]“ den Beginn des Textes und „[SEP]“ das Ende eines Satzes. Die beiden linken Grafiken enthalten die Assoziation zwischen einem direkten Objekt und einem Verb (rote Linien). In den rechten Grafiken zeigen die roten Linien die Assoziation von Adjektiven und Artikeln mit dem Nomen. Während des Trainings ergab es sich, dass diese Assoziationsmodule sich auf die Darstellung syntaktischer Zusammenhänge konzentrierten, während andere Assoziationsmodule komplementäre Aufgaben übernahmen. Die Zuordnung der Darstellungsaufgaben zu den Assoziationsmodulen ergibt sich dabei aus den zufällig gewählten Anfangsparametern.

Die nachfolgende Grafik zeigt für den Text „[CLS] the cat sat on the mat [SEP] the cat lay on the rug [SEP]“ die Struktur aller Assoziationsmodule der zwölf Ebenen. Dabei wird deutlich, dass die Sondersymbole „[CLS]“ und „[SEP]“ in vielen Assoziationsmodulen eine große Rolle spielen. Andererseits gibt es eine Reihe von Assoziationen mit sehr unterschiedlicher Gestalt, die spezielle Beziehungen zwischen den Worten des Eingabetextes herstellen.

Assoziationsmodul2 2 1 - Lamarr Institute for Machine Learning (ML) and Artificial Intelligence (AI)
© Jesse Vig
Überblick über alle Assoziationen der unterschiedlichen Assoziationsmodule für den Satz aus der dritten Abbildung

BERT erlaubt eine zuverlässige Interpretation von Wortbedeutungen

Beim Training hat BERT die Aufgabe, Fragen der Art „Die Blätter an den Bäumen sind [MASK]“ zu beantworten. BERT muss daher neben den syntaktischen Regeln der Sprache auch inhaltliche Zusammenhänge erfassen.  Es hat sich gezeigt, dass das BERT-Model und dessen Weiterentwicklungen sehr viele Kenntnisse über Sprache und deren Bedeutung durch das unüberwachte Training erwerben können. Es ist möglich, diese Modelle durch ein überwachtes Nachtraining (Finetuning) mit relativ wenigen Trainingsdaten an spezielle semantische Aufgaben anzupassen. Die erzielbare Prognosegenauigkeit durch dieses Transferlernen ist wesentlich höher als bei dem bisherigen Vorgehen, da das BERT-Modell sprachliche Muster viel besser interpretieren kann. Dies wird in der Beitrags-Reihe über Sprachverständnis durch Transferlernen gezeigt. Die Monographie bietet einen breiten, leicht verständlichen Überblick über Transferlernen und tiefe Neuronale Netze.

Was man sich über BERT merken sollte

Ausgangspunkt für die Konstruktion des BERT-Modells war die Beobachtung, dass die Schreibweise von Worten unabhängig von ihrer Bedeutung ist. Da die Schreibweise wenig über die Bedeutung des Wortes aussagt, wird der Sinngehalt von Worten durch Einbettungsvektoren repräsentiert. Weil die Wortbedeutung von den umgebenden Worten abhängt, sind kontextabhängige Einbettungen erforderlich. Sie können zum Beispiel durch eine Reihe von Assoziationsmodulen bestimmt werden.

Das BERT-Modell besteht aus einer Reihe von Ebenen, in denen unterschiedliche Assoziationsmodule parallel berechnet und aussagekräftige Einbettungsvektoren ausgegeben werden. Zur Prognose von maskierten Worten werden die Parameter dieser Assoziationsmodule so optimiert, dass die maskierten Worte möglichst gut prognostiziert werden können. Hierdurch wird die Gesamtheit des Textes für die Wortprognose ausgewertet und das Modell erfasst sehr viele syntaktische und semantische Zusammenhänge natürlicher Sprache. Durch Finetuning ist es möglich, mit diesem Modell viele Probleme der Interpretation natürlicher Sprache zu lösen.  Das Modell zeigt, dass ein Sprachmodell, das bidirektional trainiert wird, die Bedeutung der Worte besser erschließen kann als wenn man nur die vorherigen Worte als Kontext verwendet. Die Anwendungsfelder sind vielseitig in der heutigen Zeit und werden in kommenden Blogbeiträgen vorgestellt.

Mehr Informationen in den zugehörigen Publikationen:

Devlin, J. et al. 2018: Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805, PDF.

Manning, C. 2019. Emergent linguistic structure in deep contextual neural word representations. Vortrag auf dem Workshop on Theory of Deep Learning: Where next?, Link.

Paaß, G. und Hecker, D. 2020: Künstliche Intelligenz — Was steckt hinter der Technologie der Zukunft? Springer Nature, Wiesbaden, Link.

Rönnqvist, S. et al. 2019: Is multilingual BERT fluent in language generation? arXiv preprint arXiv:1910.03806, PDF.

Vig, J. 2019: BERTVIZ: A Tool for Visualizing Multihead Self-Attention in the BERT Model. ICLR 2019 Debugging Machine Learning Workshop, PDF.

Gerhard Paaß,

12. März 2021

Themen

Dr. Gerhard Paaß

Dr. Gerhard Paaß ist Senior Data Scientist am Fraunhofer Institut IAIS in Sankt Augustin im Team Natural Language Unterstanding. Er vermittelt in unterschiedlichen Kursen und Vorlesungen Kenntnisse über Maschinelles Lernen und Deep Learning und hat eine Monographie über „Künstliche Intelligenz“ verfasst. Sein Forschungsfeld ist die kontrollierte Erzeugung von Texten unter Verwendung von Zusatzwissen.

Weitere Blogartikel