Transfer Learning & BERT Transformer Funktionsweise

von | 18. November 2020 | Tech Deep Dive

Transfer Learning ist eine Lernmethode im Bereich des maschinellen Lernens, die erlernte Erkenntnisse von einem Anwendungsfall auf einen anderen ähnlichen Anwendungsfall überträgt. Zu Beginn wurde diese Technologie hauptsächlich zur Bildanalyse eingesetzt, doch in den letzten Jahren gewann Transfer Learning auch im Bereich der Textverarbeitung / Natural language processing (NLP) zunehmend an Bedeutung. 2018 wurde Bidirectional Encoder Representations from Transformers (BERT) von Google veröffentlicht und gilt als Fundament für eine neue Art der Textverarbeitung. Dieser Artikel soll die Grundlagen von Transfer Learning und die Funktionsweise von Google BERT erläutern.

Das Suchverhalten der Menschen auf Google hat sich in den letzten 15 Jahren enorm verändert. Besonders seit der Einführung von virtuellen Assistenten wie Siri, Alexa oder Google Assistant steigt die Komplexität der Fragestellungen. Der Trend der Suchanfragen bewegt sich stark von Short-Tail Fragen hin zu Long-Tail-Fragen. Durch die Konzeptionierung des neuronalen Transfer Learning Modells BERT, verbesserte Google die Art und Weise, wie die Anfragen der Nutzer zu verstehen sind. Somit können bestmögliche Ergebnisse basierend auf deren Suchanfragen geliefert werden. Sprachmodelle wie BERT sind ein Beispiel dafür, dass Informationen, die aus einem Datensatz gelernt wurden, für bestimmte Aufgaben in andere Datensätze übertragen werden können.

Einsatz & Vorteile von Transfer Learning

Im Allgemeinen basieren Machine Learning Methoden darauf, dass die Trainings- und Testdaten aus dem gleichen Merkmalsraum (feature space) und der gleichen Verteilung stammen. Ändert sich allerdings aufgrund eines neuen Anwendungsfalls die Verteilung, müssen solche statistischen Modelle unter Verwendung neu gesammelter Trainingsdaten von Grund auf neu aufgebaut werden. Das Erweitern der benötigten Trainingsdaten oder das Erstellen neuer Modelle sind jedoch in vielen Fällen zu teuer, wenn nicht sogar unmöglich. Um den Aufwand für das Sammeln neuer Trainingsdaten zu reduzieren, ist Transfer Learning eine besonders hilfreiche Methode. Durch den Zuwachs an neuen Trainingsdaten, die im Zuge des Transfer Learning aggregiert werden, kann das Modell zudem schnell lernen und somit einen Zusammenhang von komplexen Thematiken erkennen.

Trainingsdaten sind somit für die Weiterentwicklung eines Machine Learning Modells essenziell. Transfer Learning bietet den Vorteil, dass weniger Trainingsdaten für eine Lösung eines Systems benötigt werden. Ist der Zugriff neuer Trainingsdaten eines bereits fertigen Modells über Transfer Learning möglich, reichen für die Weiterentwicklung sehr viel weniger bereits vorhandene Daten aus. Der Grund dafür ist, dass ein Modell über Transfer Learning bereits Features aus einem anderen Datensatz lernen kann. Außerdem ist durch Transfer Learning eine Verkürzung der Trainingszeit möglich. Angenommen es soll ein Modell entwickelt werden, das Hauskatzen auf Bildern erkennt und es ist bereits ein vortrainiertes Modell vorhanden, das Raubkatzen auf Bildern erkennt. Mit Transfer Learning kann versucht werden, mithilfe der Raubkatzen-Daten das Modell für die Erkennung von Hauskatzen anzupassen. Dabei hilft, dass viele Strukturen bzw. Muster in den Daten ähnlich sind und nicht erneut gelernt werden müssen.

Grundlagen Google Bert

BERT bedeutet Bidirectional Encoder Representations from Transformers und wird von Google als eines der wesentlichsten Updates der letzten Jahre bezeichnet. Es ist eine spezielle Anwendung von Transfer Learning und gilt als Grundstein für eine neue Art des Natural Language Processing. NLP bezieht sich auf einen Bereich der KI und beschäftigt sich mit Textanalyse und /-verarbeitung von natürlicher Sprache. Der Computer soll hierbei in der Lage sein, die Art und Weise zu verstehen, wie Menschen natürlich kommunizieren. Das Algorithmus-Modell BERT basiert auf neuronalen Netzwerken, was bis dato ausschließlich als Standard bei der Bildverarbeitung fungierte. Google ermöglicht es damit, für die Suchanfragen gezieltere Antworten anzuzeigen. Ein erheblicher Unterschied zum Vorgängermodell RankBrain ist, dass BERT bei Suchanfragen den Inhalt und speziell das Verständnis der einzelnen Wörter im Gesamtkontext in sogenannten Long-Tail-Suchanfragen verbessert. Dies ist einem Rechenmodell namens Transformer zu danken.

Ein Transformer verfolgt nicht nur die Bedeutung jedes einzelnen Wortes in einem Satz, sondern setzt zusätzlich ein Wort in Beziehung zu allen anderen Wörtern in diesem Satz. Zudem wird die Erkennung der Bedeutung von Füllwörtern wie „für“, „am“ oder „zum“ verbessert. Dies hilft Google das Verständnis der eigentlichen Absicht von Long-Tail Suchanfragen besser zu verstehen. Nach dem Update von BERT ist es somit möglich, eine Frage so zu stellen, als würde man einen guten Freund um Rat fragen.

Insbesondere seit der Einführung von virtuellen Assistenten wie Siri, Alexa oder Google Assistant und der daraus höheren Popularität von „Voice-Searches“ gewinnen längere Suchanfragen immer mehr an Bedeutung. Der Statistik-Dienst Comscore verdeutlicht dies mit einer Statistik. So soll der Anteil von Voice-Searches bis Ende 2020 bei 50 Prozent liegen. BERT möchte dabei Featured Snippets mehr zum Vorschein bringen. Dies sind hervorgehobene Einträge nach der Eingabe einer Google-Suche, die dem Nutzer für die schnellere und übersichtlichere Antwortfindung dient.

featured snippet
© Google

Funktionsweise von BERT Transformer

Indem das Forschungsteam von Google Modelle namens Transformatoren entwickelt haben kann die Technologie von BERT das eigene hochmoderne Fragebeantwortungssystem trainieren. Um die Absicht hinter einer Suchanfrage zu verstehen, werden die Wörter im Verhältnis zu allen anderen Wörtern in einem Satz verarbeitet, statt eines nach dem anderen in der Reihenfolge. Somit kann der BERT Transformator sowohl wiederkehrende als auch hochkomplexe Modelle wie z.B. die Qualität von Übersetzungen genauer darstellen. Außerdem eignet sich der BERT Transformer ebenfalls wesentlich besserer für moderne maschinelle Lern-Hardware, da er weniger Berechnungen für das Training von Übersetzungsmodellen benötigt.

Bei Einsatz von Transformatoren wird in jedem Schritt ein Mechanismus angewendet, der direkte Beziehungen zwischen den Wörtern unabhängig von der jeweiligen Satzposition modelliert. Der Transformator vergleicht zur Berechnung der Beziehung für ein bestimmtes Wort, wie zum Beispiel „Gymnasium“, dieses mit jedem anderen Wort im Satz. Das Ergebnis dieses Vergleichs wird als ’Attention Score‘ bezeichnet. Er bestimmt somit den Zusammenhang zu jedem anderen Wort des Satzes. Das Wort „Gymnasium“ kann deshalb einen hohen Attention Score erhalten, wenn das Modell einen Zusammenhang mit Universität feststellt.

Der Attention Score jedes einzelnen Wortes wird im folgenden Schritt für einen gewichteten Mittelwert aller Wörter verwendet. Diese werden daraufhin in ein vollständig verbundenes Netzwerk eingespeist, um einen neuen Zusammenhang zwischen den Wörtern „Gymnasium“ und „Universität“ zu erzeugen, der die zeitliche Reihenfolge der beiden Institute widerspiegelt. Der BERT Transformer ist der Mittelpunkt zwischen der Texteingabe und der Textausgabe, wobei für die Texteingabe ein sogenannter Encoder und für die Textausgabe ein Decoder benutzt wird.

Die unten stehende Abbildung zeigt, dass die Encoder-Komponente eine Reihe von einzelnen Encodern und die Decoder-Komponente eine Reihe einzelner Decoder ist. Die Encoder sind unterteilt in die Feed Forward Neural Network und SelfAttention Schicht. Hierbei durchläuft die Eingabe des Encoders zuerst die Self-Attention Schicht, die zur Betrachtung aller Wörter dient, während der Encoder ein bestimmtes Wort codiert. Die Ausgaben der Self-Attention Schicht werden anschließend in die Feed Forward Neural Network Schicht übertragen, welches unabhängig auf jede Position angewendet wird. Bei dem Decoder wird derselbe Prozess durchgeführt, wobei der einzige Unterschied dabei die Attention Schicht ist, da sie den Decoder zur Konzentration auf die relevanten Wörter des Eingabesatzes unterstützt.

Transformer Architektur
© Google

Jedes Eingabewort wird mithilfe eines embedding algorithm in einen 512 Bytes großen Vektor verwandelt. Embedding algorithm ist eine natürlich sprachliche Modellierungstechnik, bei denen Wörter oder Ausdrücke aus dem Vokabular auf Vektoren reeller Zahlen abgebildet werden. Die Einbettung der Vektoren erfolgt ausschließlich in dem untersten Kodierer.

Vorgehen im Encoder

Alle Encoder erhalten eine Liste von Vektoren mit jeweils 512 Bytes. Nachdem die Wörter in der Eingabe eingebettet wurden, fließt jedes Wort zuerst durch die Self-Attention und dann durch die Feed Forward Schicht des Encoders. Ein besonderer Vorteil von BERT Transformer ist, dass jedes Wort in jeder Position durch einen eigenen Pfad im Encoder fließt. Die Self-Attention Schicht berechnet die Gewichtung eines Wortes innerhalb des Satzes mithilfe von Vektoren. Für jedes eingegebene Wort werden zunächst drei Vektoren erstellt, die bereits vortrainiert wurden:

  • Abfragevektor (Queries): 64 Byte
  • Schlüsselvektor (Keys): 64 Byte
  • Wertvektor (Values): 64 Byte

Dann wird die Self-Attention Punktzahl berechnet. Im folgenden Bild werden dafür die beiden Wörter „Thinking“ und „Machines“ als Beispiel aufgeführt.

Berechnung der Punktzahl je Eingabewort
© Jay Alammar

Die Punktzahl bestimmt, wie stark der Fokus auf andere Wörter des Eingabesatzes zu legen ist, wenn ein Wort an einer bestimmten Position kodiert wird. Die Punktzahl des bewertenden Wortes kalkuliert sich aus der Multiplikation des Abfragevektors q1 und dem Schlüsselvektor k1. Bei Verarbeitung der Self-Attention für das Wort „Thinking“, ergibt sich die Punktzahl 112 aus q1 und k1. Die zweite Punktzahl mit dem Wert 96 ergibt sich aus q1 und k2. Um die Werte für ein positives Ergebnis zu normalisieren, bestehen die nächsten beiden Schritte aus der Teilung der beiden Punktzahlen durch 8 (Die Quadratwurzel der Bytes – 64) und dem anschließenden Durchlauf einer Softmax Operation.

Softmax normalisiert die Werte, sodass sie alle positiv sind und sich zu 1 addieren lassen. In diesem Fall ist die Softmax Zahl bei der Punktzahl 112 0,88 und bei 96 0,12. Das heißt, dass q1 multipliziert mit k1 einen höheren Anerkennenswert hat als q1 mit k2. Der fünfte Schritt besteht aus der Multiplikation des einzelnen Wertvektors mit dem Softmax Wert. Schritt Sechs ist die Zusammenfassung der gewichteten Wertvektoren, was die Ausgabe der Self-Attention Schicht ergibt. Der resultierende Vektor wird an das neuronale Feed-Forward-Netzwerk weitergeleitet.

Vorgehen im Decoder

Der Encoder verarbeitet zu Beginn das Eingabewort. Wie in folgender Abbildung zu erkennen ist, wird der Ausgang des letzten Encoders dann in einen Satz von Aufmerksamkeitsvektoren K und V umgewandelt. Diese werden von jedem Decoder in seiner ’Encoder-Decoder-Aufmerksamkeit-Schicht verwendet, um dem Decoder zu helfen, sich auf geeignete Stellen in der Eingangssequenz zu konzentrieren. Die Abbildung zeigt außerdem, dass nach Abschluss der Kodierungsphase die Dekodierungsphase beginnt. Jeder Schritt in der Dekodierungsphase gibt ein Element des Ausgabewortes aus, wie in diesem Fall die Übersetzung von „Ich“ zum englischen Wort „I“.

Decoder Prozess
© Jay Alammar

In den folgenden Schritten wird der Vorgang der Übersetzung jedes einzelnen Worts wiederholt, bis am Ende die Übersetzung von „Ich studiere Data Science“ zu ’I study Data Science’ vollzogen wurde. Anschließend erscheint ein Symbol, dass die abgeschlossene Ausgabe des Transformer Decoders anzeigt. Für den finalen Schritt nach der Ausgabe des Decoders dient die Linear-Schicht und Softmax Schicht. Wobei die Linear-Schicht ein einfaches, vollständig verbundenes neuronales Netzwerk ist, dass den Ausgabesatz des Decoders in einen größeren Vektor, einen sogenannten Logistikvektor, projiziert.

Als Beispiel hierfür wird ein Modell mit 100.000 eindeutig englischen Wörtern dargestellt, die bereits aus einem Trainingsdatensatz bekannt sind. Somit wäre der Logistikvektor dementsprechend 100.000 Zellen breit, da jede Zelle der Punktzahl eines eindeutigen Wortes entspricht. Anschließend wandelt die Softmax-Schicht die Punktzahlen in Wahrscheinlichkeiten um. Die Zelle mit der höchsten Wahrscheinlichkeit wird ausgewählt, damit das verbundene Wort als Ausgabesatz dargestellt wird.

Aus diesem Grund kann das vortrainierte BERT Modell mit den neu entwickelten Komponenten des Transformers relativ genau vorhersagen, ob die Übersetzung von dem deutschen Satz in den englischen Satz richtig ist und ob die Reihenfolge der Wörter innerhalb des Satzes logisch aufgebaut ist. Nachdem das Modell ausreichend lange auf einem ausreichend großen Datensatz trainiert wurde, sind die Ergebnisse der Wahrscheinlichkeitsverteilungen beispielhaft auf folgender Abbildung einsehbar.

Decoder Prozess - transfer learning
© Jay Alammar

Die Wahrscheinlichkeitsverteilung jedes Wortes wird dabei durch einen Vektor repräsentiert. Bei der ersten Wahrscheinlichkeitsverteilung (Position 1) hat die höchste Wahrscheinlichkeit die Zelle, die mit dem Wort ’I’ assoziiert ist. Die zweite Wahrscheinlichkeitsverteilung auf Position 2 hat die höchste Wahrscheinlichkeit in der Zelle, die mit dem Wort ’study’ einhergeht. Dieses Vorgehen wird wiederholt, bis mit dem Symbol ’eos’ das Satzende gekennzeichnet wird. Das Best-Case Szenario, dass jede Position mit einer Wahrscheinlichkeitsverteilung von 1,0 aufführt, wäre zwar optimal, dies entspricht aber nicht der Realität. Im Vergleich zu anderen neuronalen Netzwerken, schneidet der Genauigkeitsgrad von BERT sehr gut ab.

Der Stanford Question Answering Dataset (SQuAD) zeigt bei Bert dabei einen durchschnittlichen Genauigkeitsfaktor von 93.16 % auf. Hierbei ist auffällig, dass BERT allerdings nur auf Position 7 in diesem Ranking gelistet ist. Dies ist aufgrund dessen zurückzuführen, da BERT im Jahr 2018 als einer der wichtigsten Meilensteine in der Transfer Learning Historie aufgeführt wird und seitdem als Vorgänger Modell für viele andere Modelle dient.

Dieser Blog-Artikel hat sich an die Arbeit von Maximilian Linner und Timo Müller zum Thema „Nutzung von Transfer-Learning basierten Ansätzen zur Textanalyse“ angelehnt.

Autor:innen

MATIN EMRICH

Matin Emrich unterstützt seit Februar 2020 die Alexander Thamm GmbH als Werkstudent. An der Hochschule für angewandte Wissenschaften München absolviert er derzeit sein letztes Master-Semster in Wirtschaftsinformatik. Seine Fächer und Themen für Studienarbeiten richtete er stets nach Themen der Datascience oder des Machine Learnings.

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert