Was bedeutet BERT?
Bidirectional Encoder Representations from Transformers
Was ist der Unterschied zwischen Satz- und Tokenleveltasks, nenne Beispiele für beides.
Satzleveltasks:
Beziehungen zwischen Sätzen vorhersagen, indem sie ganzheitlich untersucht werden
BSP:
Natural Language Schlussfogerungen
Paraphrasieren
Tokenleveltasks:
Model muss feinen Output auf Tokenlevel generieren
Eigennamenerkennung
Frage-Antwort Aufgaben
Welche 2 Strategien gibt es pre-trained Language Representationen downstram anzuwenden?
Feature based:
nutzt aufgabenspezifische Architektur
pretrainte Representationen
zusätliche Features
Fine tuning:
führen wenige aufgabenspezifische Parameter ein
trainieren für downstream Task in dem alle pretrained Parameter finegetuned werden
Welches Problem gibt es mit Standartarchitekturen oder GPTs und wie will BERT dieses Problem lösen?
unidirektionale Architektur (z.B. von links nach rechts)
in den Self Attention Layers des Decoders kann jeder Token nur auf vorherige bezogen werden
BERT:
nutzt masked language Ansatz für pretraining
lernt original Token ID der maskierten Tokens durch deren Kontext vorherzusagen
kann dafür Kontext von rechts und links einer Sequenz nutzen
next Sentence predicition task
=>reduziert Notwendigkeit von komplexen Task spezifischen Architekturen
erreicht sowohl in Token- als auch Sentencelevel Tasks State of the Art Performance
Welche unsupervised feature based approaches gibt es?
pretrained Embeddings führen zu deutlicher Verbesserung zu neugelernten Embeddings
links nach rechts LMs
bei nachfortgendem Wort korrekt und inkorrekt unterscheiden
für gröbere Granularitäten wie Sentence Embeddings oder Paragraphembeddings
rank canidate next sentence
ELMo = Predecessor
hatte recht nach links und links nach rechts Architketur
beides verketten => beidseite Representaion jedes Tokens
Welche unsupervised finetuning tasks gibt es?
Modelle werden mit kontextualer Tokenrepresentation an ungelabeltem Text gepretrained
superviesdes Finetuning für Downstream Task
=> nur wenige Paramenter müssen von null gelernt werden
Welchen Approach für Pretraining und Finetunig wurde für BERT gewählt?
pre-training
Model wurde mit ungelabelten Daten über verschiedene Aufgaben trainiert
fine tuning
Model wird mit Parametern aus pre-training initialisiert
mit gelabelten Daten für Downstream Task finegetuned
jeder Downstream Task hat eigene finegetunde Modelle die mit gleichen pretraining Parametern initialisiert werden
=> vereinheitliche Architektur über verschiedene Aufgaben
nur minimale Unterschiede zwischen pre-trained Architektur und finalen Architektur
Was sind Input- und Outputrepresentationen im BERT-Model?
Und welche Besonderheiten gibt es für den Input
Outputrepresentationen
in der Lage einzelne Sätze oder Satzteile in einer Tokensequenz zu representieren
Satz kann willkürliche Textspanne sein
Sequenz ist Inputtokensequenz
einzelner Satz
Satzpaar durch [SEP] Token getrennt
jeder Token erhält Embedding ob es zu Satz A oder B gehört
WordPiece Embeddings mit 30000 Wörtern als Vokabular
Erster Token der Sequenz [CLS]
Wie funktioniert Masked Language Modeling?
Modelle vor BERT
in Standartmodellen nur lernen von links nach rechts
sonst könnte jedes Wort sich selbst sehen
einfach nächstes Wort zu erraten
BERT
15% zufällige Tokens werden maskiert -> müssen erraten werden
die finalen hidden Vektoren die den maskierten Tokens entsprechen werden in Output Softmax über das Vokabular durchgeführt
=> Es werden nur maskierte Wörter erraten dann ganzer Input konsturiert
Welches Problem gibt es beim MLM und wie wird es gelöst?
Missmatsch zwischen Pretraining und finetuning, da [MASK] Token im Finetuning nicht auftaucht
Lösung:
nich alle vom Trainingsgenerator gewählten Tokens werden auch maskiert
der ithe Token wird ausgetauscht durch:
80% dem [MASK] Token
10% einem random Token
10% Originaltoken wird behalten
Ti wird genutzt um mittels Cross entropy loss den Originaltoken zu ermitteln
Wie funktioniert Next Sentence Prediction?
Viele Downstram Tasks, wie Fragen beantworten beruhen darauf Beziehungen von Sätzen untereinander zu verstehen
Sätze A und B werden ausgetauscht
50% der Zeit ist B tatsächlich der Satz der auf A folgt (is next)
50% ist B zufälliger Satz aus dem Trainingskorpus (not next)
=> wichtig für Frage Antwort Aufgaben und NL interpreting
Welchen Unterschied bei den Next Sentence Prediciton Tasks gibt es bei BERT zu vorherigen Modellen?
der Self-Attention Mechanismus ist in der Lage viel Downstream Aufgaben zu modelieren
bisherige Aplikationen:
erst Textpaare encoden
dann bidirektionale Cross attention darauf angewendet
=> BERTs self-Attention Mechanismus vereinigt beide Schritte
denn Verkettetes Textpaar mit self-Attention zu encoden beinhaltet effektiv bidirektionale Cross attention
Wie funktioniert finetuning bei BERT?
für jede Aufgabe werden die spezifischen Inputs & Outputs BERT gefüttert und alle Parameter end-to-end gefinetuned
Satz A und B sind analog zu Input
Satzpaaren bei Paraphrasieren
Fragen Antwort Paare
Für Tokenlevel-Tasks werden die Tokenrepresentationen in einen Outputlayer gefüttert
[CLS] in Outputlayer -> dient als Klassifikation
=> verglichen mit Pretraining ist finetuning günstig
Was ist GLUE und was misst es?
General Language Unterstanding Evaluation
Kollektion verschiedener NL Verständnisaufgaben
Sowohl BERTlarge als BERTbase outperformten alle Systeme in allen Aufgaben
BERTlarge outperformte BERTbase in allen Augaben vor allem in denen mit kleinen Datensätzen
Was ist SQuAD v1.1
Standford Question Answering Datenset = Kollektion von 100k Crowdsourceden Frage Antwort Paaren
Es wird Frage und Abschnitt aus Wikipedia gegeben
Spanne der Antwort muss aus Abschnitt rausgesucht werden
Frage nutzt Embedding A, Antwort Embedding B
Startvektor S und Endvektor E werden während dem finetuning eingeführt
Wahrscheinlichkeit das Wort i der Start der Antwortspanne ist, wird berechnet:
Dotprodukt aus Ti und S gefolgt von Softmax über ganzen paragraphen
Ende der Antwortspanne genauso berechnet
Score für Antwortspanne von i nach j berechnet
=> BERT outperformte alle exsistierenden Systeme deutlich
Was ist SQuAD v2.0
erweitert SQuAD 1.1 um die Möglichkeit, dass keine Antwortmöglichkeit in dem Paragraph existiert
=> macht das Problem realistischer
die Antwortspanne für keine Antwort begrinnt und endet beim [CLS] Token
=> Wahrscheinlichkeitsspanne wurde so erweitert, dass [CLS] Token miteinbezogen wurde
Vorhersage:
S*C+E*C = Snull = keine Antwortspanne
Verglichen mit Wert der besten Antwortspanne die nicht 0 ist si,j
=> eine nicht Null Antwort wird angenommen, wenn si,j > snull
Was ist SWAG?
= Situations with adversavial Generations
die plausieblste von 4 Optionen aussuchen, wie eine Passage weitergeht
Eingeführter Parameter
Vektor aus Skalarprodukt aus [CLS] Token (representiert einen Score für jede Wahl)
normalisiert mit Softmax
Was sind Ablationsstudien und welche wurden an BERT druchgeführt?
wird genutzt um den Effekt der Pre-Training Aufgaben für BERT festzusellen
es werden die gleichen Daten, fine-tuning schemen und Hyperparameter wie bei BERT-Base verwendet
Welche Ablationsstudien wurden durchgeführt?
keine NSP = Model wird auf maskierte Tokens trainiert, ohne next Sentence Prediction
weglassen des MLM = left-to-right model, ebenfalls ohne next sentence Predicition (ähnlich zu chatgpt)
Welche Konsequenzen entstanden aus den Ablationsstudien?
entfernen des NSP Tasks
Reduzierte Performance in QNLI, MNLI, SQuAD v1.1
LTR Model
performte schlechter als MLM Modell
theoretisch könnte man auch LTR und RTL Model seperat trainieren und jeden Token als Verknüpfung der beiden Trainingsansätze betrachten
doppelt so teuer
nicht intuitiv
weniger Leistungsfähig als tiefes bidirektionales Model
Welche Effekte hat die Modellgröße auf die Performance?
großere Modelle führten zu Verbesserung bei allen 4 Datensätzen, auch kleinen Datensätzen
Vergrößern des Hidden Size führte zur Verbesserung bei großangelegten Aufgaben
Übersetzung
Language Modeling
=> scaling zu größeren Modellgrößen verbessert auch die Leistung bei sehr kleinen Aufgaben
Wie würde sich ein Feature based Approach auf BERT auswirken?
es werden fixe features aus dem pre-traintend Model extrahiert und gemeinsam auf Downstram Task trainiert
nicht jede Aufgabe kann einfach mit Encoder dargestellt werden
deshalb anhängen von aufgabenspezifischen Architektur
kann günstiger sein, da nicht alle Parameter finegetuned werden
viele kleine Modelle für kleine Aufgaben
=> BERT performed feature based ähnlich wie state-of -the art-modelle
Was zeichnet Decoder only Modelle aus?
sind unidirektionale Modelle
maskieren Tokens nach dem aktuellen Token (vor Softmax auf - unendlich)
=> Aufgabe immer den nächsten Token vorhersagen
=> generieren neuen Text
Was zeichnet Encoder only Modelle aus?
Maskieren random eine bestimmte Anzahl (15%) der Tokens des Inputs
anhand des Kontexts der anderen Tokens müssen maskierte Tokens erraten werden
=> produzieren keinen Text
=> gut in Fragen beantworten, Klassifizierungsaufgaben, Labeling Tasks
Was ist der Cloze Task und wie hilft er Modelverbeserung?
Wöter oder Phrasen sind aus dem Text entfernt und müssen erraten werden
kontextuelles lernen
nicht nur das Wort selbst sondern auch Kontext muss verstanden werden
überprüft Verständnis von Vokabular in Kontext
MLM ist praktisch Cloze Task
kann guter Classifier sein, wie viel Kontext ein Model gelernt hat
Was sind Encoder- Decodermodelle?
besitzen sowohl Encoder als auch Decoder Element
Self-Attention im Encoder kann kompletten Input betrachten
Output des letzten Encoder Teil des Decoder Inputs
Decoder darf nur vorangegangen Token betrachten
=> gut für Aufgaben wie Übersetzungen
=> braucht Kontext und Word Predictions
Was ist ELMo?
erstellt Embeddings für Wörter und Inputsequenzen abhängig von ihrem Kontext
Gegensatz für fixe Wortembeddings die kontextunabhängig genutzt werden
=> Nutzt bidirektionales LSTM, das spezifisch trainiert wurde um diese Embeddings zu erstellen
wird durch next word prediction trainiert
einmal in forward, einmal in backward model
=> versteht nicht nur nicht nur vorangegange Wörter sondern auch kommende
=> grupiert hidden States für jedes Wort von forward und backward Embeddings
Was ist Cross Entropieloss und wofür wird er eingesetzt?
Misst Performance eines Klassifikationsmodells, dessen Output zwischen 0 und 1 liegt
Wahrscheinlichkeinten für mögliche Outputs angibt
erhöht sich, wenn Vorhersage weiter von richtigem Label entfernt ist
bestraft vor allem deutlich falsche Vorhersagen
=> Ziel Wert der Kreuzentropie zu verringern = bessere Modelllesitung
es wird Fehler zwischen 2 Wahrscheinlichkeitsverteilungen gemessen
wenn p hoch ist wird l niedrig -> Model wird belohnt
Standpunkt das Vorhersage zu Label passt
Was ist das Dot-Product?
= Skalarprodukt
Multiplikation 2er Vektoren -> ergibt reele Zahl
Was ist ein BiLSTM?
= Bidirektional Long short term Memory
Typ von RNN das sequenziell Daten forward und backward prozessiert
=> erlaubt Model sowohl vorangegangen, als auch zukünftigen Kontext festzuhalten
LSTM
Für Erkennung von Long term Abhänigkeiten
nutzt Mechanismen um selektiv Informationen zu merken und zu vergessen
Bidirektionalität
einen Forward und backward layer mit eigenen hidden states und weights
Vielseitigkeit von BERT Algorhytmen für Aufgaben?
Text Klassifikation
Text in vorher definierte Kathegorien filtern (Spam, Reddit-Post flaggen)
Frage-Antwort
kann aus vorgegebenem Text relevantesten Abschnitt als Antowort aussuchen
Named Entity Recognition (NER)
Identifizieren und Klassifizieren von Entitis wie Menschen, Organisationen, etc.
Paraphrase Detektion
kann erkennen ob Sätze paraphrasiert sind
Textual Entailment
kann erkennen ob Sätze logisch aufeinander folgen
Vorteile von BERT über GPTs für biologische Auswertungen?
in DNA beeinflussen Motive oder long range dependencies die Regulation sowohl up- als auch downstream
=> Bidirektionale Attention ist wichtig
sehr gut in Erkennungs- und Klassifizierungsaufgaben
Motive erkennen
Sequenzen Klassifizieren
gehören zu bestimmtem Protein
Exon/Intron
Funktionale Elementbestimmung
sehr gut in Sequenzalignement Aufgaben
da berücksichtigen von beidseitigem Kontext
=> ABER in Sequenz vorhersagen/Lücken in Sequenzen füllen GPT besser
Mutations- und Varianten Effektbestimmung
versteht Auswirkung von Mutation in Kontext zur Sequenz
Last changed2 months ago