www.wikidata.de-de.nina.az
Ein Transformer ist eine Methode mit der ein Computer eine Folge von Zeichen in eine andere Folge von Zeichen ubersetzen kann Dies kann z B benutzt werden um Text von einer Sprache in eine andere zu ubersetzen Dazu wird ein Transformer mittels maschinellem Lernen auf einer grossen Menge von Beispiel Daten trainiert bevor das trainierte Modell dann zur Ubersetzung verwendet werden kann Transformer gehoren zu den Deep Learning Architekturen Transformer wurden 2017 im Rahmen der Neural Information Processing Systems Konferenz veroffentlicht Weitere Beispielanwendungen von Transformern sind die Textgenerierung oder die Zusammenfassung langerer Texte Transformer weisen hierbei eine bessere Effizienz gegenuber Long short term memory Architekturen LSTM auf und sind die Grundarchitektur vieler vortrainierter Machine Learning Modelle wie Bidirectional Encoder Representations from Transformers BERT 1 und Generative Pretrained Transformer GPT Auch in AlphaFold2 sind Transformer als Evoformer in der Architektur enthalten Inhaltsverzeichnis 1 Hintergrund 2 Architektur 2 1 Dekodierer 3 Attention Modul 4 Quellen 5 WeblinksHintergrund BearbeitenVor der Einfuhrung des Transformers wurden in der Verarbeitung naturlicher Sprache NLP rekurrente Modelle wie LSTM GRU und Seq2Seq eingesetzt welche eine Eingangssequenz sequenziell abarbeiten Diese Methoden wurden spater durch einen Aufmerksamkeitsmechanismus engl attention erweitert Transformer bauen auf dem Aufmerksamkeitsmechanismus auf und verzichten auf die rekurrente Struktur Sie erzielen bei geringerem Rechenaufwand ahnliche oder bessere Ergebnisse bei der Transformation von Sequenzen als rekurrente Modelle Architektur Bearbeiten nbsp Transformer ModellarchitekturEin Transformer besteht im Wesentlichen aus in Serie geschalteten Kodierern Encoder und in Serie geschalteten Dekodierern Decoder 2 3 4 Die Eingabesequenz wird durch eine sogenannte Embedding Schicht in eine Vektorreprasentation uberfuhrt Die Gewichte der Embedding Schicht werden wahrend des Trainings angepasst Im Falle des Transformers kommt zusatzlich eine Positionskodierung zum Einsatz wodurch die sequentielle Abfolge der Worter berucksichtigt werden kann Ein Wort erhalt somit zu Beginn eines Satzes eine andere Reprasentation als am Ende 3 Die Eingabesequenz wird in der Vektorreprasentation einer Serie von Kodierern ubergeben und in eine interne Reprasentation uberfuhrt Diese interne Reprasentation bildet die Bedeutung der Eingabesequenz abstrakt ab 4 und wird durch die Dekodierer in eine Ausgabesequenz ubersetzt 4 Die Eingabesequenz wird hierbei in Batches verarbeitet wobei die Lange der Kodierer Dekodierer Pipeline die maximale Lange der Eingabesequenz beschrankt 3 Je nach Grosse des Netzwerks konnen beispielsweise einzelne Satze oder auch ganze Absatze verarbeitet werden Bei Eingabesequenzen welche kurzer sind als die Lange der Kodierer Dekodierer Pipeline wird Padding genutzt um die Eingabesequenz aufzufullen 3 Ein Kodierer besteht aus einem Self Attention Modul und einem Feedforward Modul wahrend der Dekodierer aus einem Self Attention Modul einem Kodierer Dekodierer Attention Modul und einem Feedforward Modul besteht 4 Dekodierer Bearbeiten Wahrend der Inferenz kann ein Dekodierer zur autoregressiven Erzeugung von Sequenzen verwendet werden Der Dekodierer wird mit einer Startsequenz abgefragt und sagt dann das nachste wahrscheinlichste Token vorher welches im nachsten Schritt Teil der Eingabe wird und so weiter Wahrend des Trainings des Dekodierers wird dieser Prozess durch Teacher Forcing und Maskierung im Dekodierer ersetzt womit das Training stark beschleunigt wird Attention Modul BearbeitenDie Aufgabe des Attention Moduls besteht darin die Korrelation eines Eingabesymbols zu den anderen Eingabesymbolen zu berechnen etwa die Zuordnung eines Pronomens zum zugehorigen Nomen 4 Man unterscheidet zwischen der Einbettung engl embedding x i displaystyle x i nbsp bei der es sich um das als Vektor kodierte Eingabesymbol handelt dem Abfragevektor engl query q i displaystyle q i nbsp dem Schlusselvektor engl key k i displaystyle k i nbsp und dem Wertevektor engl value v i displaystyle v i nbsp Aus jeder Einbettung werden die anderen drei Vektoren berechnet indem diese mit wahrend des Trainings erlernten Matrizen Q displaystyle Q nbsp K displaystyle K nbsp und V displaystyle V nbsp multipliziert werden q j x i Q i j displaystyle q j x i cdot Q ij nbsp k j x i K i j displaystyle k j x i cdot K ij nbsp v j x i V i j displaystyle v j x i cdot V ij nbsp Hieraus wird eine Bewertung engl score s i displaystyle s i nbsp berechnet s i q i k i displaystyle s i q i cdot k i nbsp und schliesslich durch die Quadratwurzel der Lange der Schlusselvektoren dim k displaystyle dim k nbsp geteilt um stabilere Gradienten zu erhalten s i dim k displaystyle frac s i sqrt dim k nbsp Hierauf wird die Softmax Funktion s displaystyle sigma nbsp angewendet s s i dim k displaystyle sigma left frac s i sqrt dim k right nbsp Dieser Wert wird nun mit dem Wertevektor multipliziert Dies fuhrt dazu dass fur die Bedeutung unwichtige Symbole mit einem kleinen Wert und fur die Bedeutung wichtige Symbole mit einem hohen Wert multipliziert werden z i s s i dim k v i displaystyle z i sigma left frac s i sqrt dim k right cdot v i nbsp wobei der Vektor z i displaystyle z i nbsp die berechnete Ausgabe des Attention Moduls darstellt Der Vektor z displaystyle z nbsp reprasentiert die Wahrscheinlichkeitsverteilung uber das Vokabular der moglichen Ausgabesymbole Der Unterschied zwischen dem Self Attention Modul und dem Kodierer Dekodierer Attention Modul besteht darin dass das Self Attention Modul ausschliesslich die Werte des vorhergehenden Kodierers bzw Dekodierers verwendet und die Vektoren q i displaystyle q i nbsp k i displaystyle k i nbsp und v i displaystyle v i nbsp berechnet Das Kodierer Dekodierer Attention Modul hingegen berechnet nur den Vektor q i displaystyle q i nbsp aus dem vorgelagerten Attention Modul wahrend die Vektoren k i displaystyle k i nbsp und v i displaystyle v i nbsp aus dem Kodierer bezogen werden In der Praxis wird die sogenannte Multi Head Attention eingesetzt Jeder Head besteht hierbei aus einer eigenen Version der Matrizen Q displaystyle Q nbsp K displaystyle K nbsp und V displaystyle V nbsp Jedes Attention Modul besitzt mehrere Heads Wenn ein Head fur eine bestimmte Eingabe x displaystyle x nbsp nicht relevant ist wird ein niedriger Wert berechnet wahrend ein fur eine Eingabe relevanter Head einen hohen Ausgabewert berechnet Quellen Bearbeiten Rainald Menge Sonnentag Wer wie was Textanalyse uber Natural Language Processing mit BERT In Heise Online 12 August 2019 abgerufen am 13 August 2020 Ashish Vaswani Noam Shazeer Niki Parmar Jakob Uszkoreit Llion Jones Aidan N Gomez Lukasz Kaiser Illia Polosukhin Attention Is All You Need In arxiv Google Brain 12 Juni 2017 abgerufen am 19 Juni 2020 englisch a b c d Alexander Rush The Annotated Transformer Harvard NLP abgerufen am 19 Juni 2020 englisch a b c d e Jay Alammar The Illustrated Transformer Abgerufen am 19 Juni 2020 englisch Weblinks BearbeitenTianyang Lin Yuxin Wang Xiangyang Liu Xipeng Qiu A Survey of Transformers PDF 8 Juni 2021 abgerufen am 15 Juni 2021 englisch Ubersicht uber Transformer Architekturen Michael Phi Illustrated Guide to Transformers Step by Step Explanation 1 Mai 2020 abgerufen am 15 Juni 2021 englisch Abgerufen von https de wikipedia org w index php title Transformer Maschinelles Lernen amp oldid 236674034