Answer to Question 1-1
a) Richtig. One-Hot-Wortrepräsentationen können verwendet werden, um Synonyme zu finden, da jedes Wort einzeln codiert wird und Ähnlichkeiten aufgrund des Vorkommens der gleichen Einsen in der Darstellung erkannt werden können.

b) Falsch. Die englische Sprache ist nicht morphologisch reicher als die deutsche, da die deutsche Sprache eine reichere Morphologie mit Deklinationen und Komposita aufweist.

c) Falsch. Die Syntax steht in der Hierarchie der Sprache auf einer höheren Ebene als die Semantik, da die Syntax die Struktur und Anordnung von Wörtern bestimmt, während die Semantik die Bedeutung dieser Wörter festlegt.

d) Falsch. Word2Vec wird nicht anhand der globalen Worthäufigkeitsmatrix trainiert, sondern basierend auf der lokalen Kontextinformation jedes Wortes im Trainingskorpus.

e) Richtig. Wenn Byte-Pair-Encoding (BPE) für die Segmentierung von Teilwörtern angewendet wird, werden weniger häufige Wörter eher teilwort- als wortbasiert segmentiert, da seltenere Teilsequenzen öfter als Teil von Wörtern erscheinen.

f) Richtig. Im Vergleich zu Hidden Markov Models (HMMs) erlauben Conditional Random Fields (CRFs) eine einfachere Integration von neuen Merkmalen, da CRFs diskriminativ sind und Merkmale flexibel hinzugefügt werden können, um die Leistung des Modells zu verbessern.





****************************************************************************************
****************************************************************************************




Answer to Question 1-2
1. Dense Word Embeddings enthalten mehr semantische Informationen über die Wörter im Vergleich zu spärlichen Merkmalen. Durch die Verwendung von Wortvektoren mit kontinuierlichen Werten können komplexe Beziehungen zwischen Wörtern erfasst werden, während bei spärlichen Merkmalen nur binäre Informationen vorhanden sind.
2. Dense Word Embeddings können auch mit Techniken wie Word2Vec oder GloVe erstellt werden, die es ermöglichen, semantische Ähnlichkeiten zwischen Wörtern zu erfassen. Dies erleichtert Aufgaben wie Wortähnlichkeiten, Wortebenenklassifikation und semantische Ähnlichkeiten in natürlicher Sprache.





****************************************************************************************
****************************************************************************************




Answer to Question 1-3
a) Um Repräsentationen für die Produkte zu erstellen, könnte man ähnliche Ideen wie beim Lernen von Wortrepräsentationen verwenden. Zuerst könnte man die Co-Purchase-Matrix normalisieren, um die Häufigkeit des gemeinsamen Kaufs zwischen zwei Produkten in Bezug auf die Gesamthäufigkeit des Kaufs jedes einzelnen Produkts zu berücksichtigen. Anschließend könnte man Techniken wie Matrixfaktorisierung oder neuronale Netze anwenden, um embeddings für die Produkte zu lernen. Diese embeddings würden dann als Repräsentationen für die Produkte dienen. 

b) Auf der Grundlage der Produktrepräsentationen in der vorherigen Teilfrage könnte man Nutzern, die Interesse an einem der Produkte gezeigt haben, ähnliche Produkte empfehlen, indem man die Distanz zwischen den embeddings des Produkts, an dem der Benutzer interessiert ist, und den embeddings anderer Produkte berechnet. Produkte mit den ähnlichsten embeddings würden dann als Empfehlungen für den Benutzer dienen.





****************************************************************************************
****************************************************************************************




Answer to Question 1-4
a) Eine Eigenschaft von CNNs, die für die Aufgabe der Spamerkennung von Vorteil ist, im Gegensatz zu RNNs, ist die Fähigkeit, lokale Muster zu erkennen und zu lernen. Dadurch können CNNs spezifische Merkmale in den E-Mails extrahieren, unabhängig von der Position in der E-Mail-Sequenz, was bei RNNs aufgrund ihrer sequenziellen Natur schwieriger ist.

b) Ein CNN-basiertes Modell für die Spamerkennungsaufgabe könnte wie folgt beschrieben werden:
   - **Eingabe**: Die Eingabe wäre die gesamte E-Mail in Form einer Sequenz von Wörtern oder Zeichen.
   - **Zwischenoperationen**: Das Modell würde eine oder mehrere Convolutional Layers enthalten, gefolgt von Pooling-Schichten wie MaxPooling, um relevante Merkmale zu extrahieren und die Dimensionalität zu reduzieren.
   - **Ausgabe**: Die Ausgabe wäre eine Klassifizierung, ob die E-Mail als Spam oder Nicht-Spam eingestuft wird.
   - **Größe der Feature-Map**: Die Größe der Feature-Map hängt von der Architektur des CNNs ab, normalerweise nimmt die Feature-Map Größe mit zunehmender Netzwerktiefe ab.

c) Als alternative Metrik für die Bewertung des Modells könnte die Precision-Recall-Kurve verwendet werden. Diese Metrik wäre hilfreich, da sie direkt zeigt, wie gut das Modell Spam-Mails von Nicht-Spam-Mails unterscheiden kann, unabhängig von der Klassenverteilung im Datensatz.





****************************************************************************************
****************************************************************************************




Answer to Question 1-5
a) Um Tom ein Modell vorzuschlagen, das für die Extraktion von Krankheitsbezeichnungen in medizinischen Dokumenten geeignet ist und nicht RNN-basiert ist, könnte ein Modell auf der Basis von Transformer-Netzwerken vorgeschlagen werden. 

Die Eingabe für das Modell könnte eine Sequenz von Token repräsentieren, die durch Word Embeddings dargestellt sind. Diese Token können direkt aus den medizinischen Dokumenten extrahiert und tokenisiert werden. 

Für die Zwischenoperationen könnte das Transformer-Modell verwendet werden, um die Kontextinformationen zwischen den Token zu erfassen und Beziehungen innerhalb des Textes zu modellieren. 

Die Ausgabe des Modells könnte eine Sequenz von Labels sein, die angibt, ob ein Token eine Krankheitsbezeichnung ist oder nicht. Dies kann als ein Sequenz-Labeling-Problem formuliert werden, bei dem jedes Token mit einem Label versehen wird.

b) Eine Herausforderung bei der Verwendung von vortrainierten Word Embeddings wie GloVe besteht darin, dass diese Embeddings möglicherweise nicht speziell auf medizinische Texte oder auf die spezifische Aufgabe der Krankheitsbezeichnungsextraktion trainiert sind. 

Um diese Herausforderung zu überwinden, könnten die GloVe-Embeddings feinabgestimmt werden, indem sie auf den spezifischen Datensatz und die spezifische Aufgabe des Modells angepasst werden. Dies kann durch das Einfrieren der vortrainierten Embeddings während des Trainings und die Aktualisierung der Gewichte während des Fine-Tuning-Prozesses erreicht werden. Dadurch kann das Modell besser an die spezifischen Eigenschaften der Krankheitsbezeichnungen in den medizinischen Dokumenten angepasst werden.





****************************************************************************************
****************************************************************************************




Answer to Question 2-1
a) 
Für das einfache Unigramm-Modell mit insgesamt $N=10.000$ Wörtern, count("there")$=110$ und count("their")$=50$, ergibt die obige Regel für die beiden Sätze folgende Entscheidungen:
- Für den Satz "He saw their football in the park" wird "their" vorhergesagt.
- Für den Satz "He saw their was a football" wird "their" vorhergesagt.

Ist dies eine gute Lösung? 
Nein, dies ist keine gute Lösung, weil das Unigramm-Modell nur Einzelwörter betrachtet und nicht die Kontextabhängigkeit von Wörtern berücksichtigt. In diesem Fall wird fälschlicherweise "their" statt "there" vorhergesagt, da "there" normalerweise häufiger vorkommt als "their" in der englischen Sprache.

b) 
Ein einfaches Bigramm-Modell könnte besser sein als das Unigramm-Modell, da es die Wahrscheinlichkeit eines Wortes basierend auf dem vorherigen Wort berechnet. Dadurch kann es die Kontextabhängigkeit von Wörtern besser berücksichtigen und möglicherweise genauere Vorhersagen treffen.

Allerdings könnte ein Bigramm-Modell in der Praxis Probleme haben, wenn es mit seltenen Bigrammen konfrontiert wird, für die count($x$)=0 ist. In solchen Fällen könnte das Modell keine sinnvollen Vorhersagen treffen und zu Fehlern führen.





****************************************************************************************
****************************************************************************************




Answer to Question 2-2
a) Um die Maske bei MLM für ein Maskierungsverhältnis von 20% zu markieren, würde ich zufällig eine Position in der Eingabesequenz auswählen und diese Stelle in der Abbildung "figures/Mask_under_MLM.pdf" kennzeichnen.

b) CLM benötigt mehr Iterationen über die Trainingsdaten im Vergleich zu MLM, wenn andere Bedingungen unverändert bleiben. Das liegt daran, dass CLM kausal ist und auf vorherigen Token basiert, während MLM die Maskierung von zufälligen Token verwendet, was dazu führen kann, dass mehr Iterationen benötigt werden, um das Modell korrekt anzupassen.

c) MLM erfordert nicht, dass die Eingabesequenzen um eine Position nach rechts verschoben werden wie CLM, weil es bei MLM darum geht, zufällig Token zu maskieren und das Modell daraus lernen zu lassen. Beim Verschieben um eine Position nach rechts, wie in der Abbildung "figures/Mask_under_MLM.pdf" dargestellt, würde die Eingabe von den Maskierungsvorgängen profitieren und das Modell anders trainieren.

d) PrefixLM ist oft leistungsfähiger als CLM, wenn andere Bedingungen unverändert bleiben. Dies liegt daran, dass bei PrefixLM der Modellinput aus einem vorgegebenen Präfix besteht, was dem Modell mehr Information über den Kontext gibt und es bei der Generierung kohärenterer und sinnvollerer Texte unterstützt. Die in der Abbildung "figures/Illustration_of_language_model_training.png" gezeigte Illustration könnte weitere Einblicke in diesen Unterschied bieten.





****************************************************************************************
****************************************************************************************




Answer to Question 2-3
a) Nein, die kontextuellen Embeddings für die beiden Wörter "left" im Satz werden nicht die gleichen sein. Dies liegt an dem Fehlen des Positional Encoding im Modell. Das Positional Encoding ist entscheidend, um die Position eines Tokens im Satz zu berücksichtigen. Ohne Positional Encoding würde das Modell die beiden Vorkommen des Wortes "left" als identisch betrachten, da es keine Unterscheidung zwischen ihrer Position im Satz gibt. 

Im Self-Attention Mechanismus werden Query, Key und Value verwendet, um die Gewichtung der Wörter im Satz zu berechnen. Die Query wird verwendet, um zu bestimmen, welche Teile des Inputs (hier des Satzes) relevant sind. Der Key wird verwendet, um die Beziehung zwischen der Query und anderen Wörtern im Satz zu verstehen. Der Value wird schließlich verwendet, um die gewichtete Information zu liefern, die im Output verwendet wird. Ohne das Positional Encoding, das Informationen über die Position der Wörter im Satz liefert, sind die Query und Key nicht in der Lage, die Unterschiede zwischen den beiden Vorkommen des Wortes "left" zu erkennen, und daher würden die kontextuellen Embeddings für sie gleich sein.

b) Nein, in diesem Fall können wir kein Skalarprodukt-Attention verwenden, da die Dimensionen von Query und Key unterschiedlich sind. Für das Skalarprodukt-Attention müssen die Dimensionen von Query und Key gleich sein, damit das Skalarprodukt berechnet werden kann. In diesem Fall mit 1024 Dimensionen für die Query und 512 Dimensionen für den Key ist das Skalarprodukt-Attention nicht direkt anwendbar.

c) Das Positional Encoding im Transformer ermöglicht es dem Modell, verschiedene Positionen im Satjson-Frage. Dies geschieht durch die Verwendung von sinus- und cosinusförmigen Funktionen mit verschiedenen Frequenzen, basierend auf der Position des Tokens im Satz und der Merkmalsdimension. Da diese Funktionen vorab definiert sind und keine trainierbaren Parameter enthalten, können verschiedene Positionsinformationen auf eine eindeutige Weise in das Modell eingeführt werden.

Um ein trainierbares Positional Encoding zu erhalten, könnte man einen Ansatz verfolgen, der es dem Modell ermöglicht, die Positionsinformationen während des Trainings zu lernen. Dies könnte erreicht werden, indem man das Positional Encoding als Teil der Netzwerkarchitektur macht und es zusammen mit den anderen Parametern des Modells optimiert. Durch die Hinzufügung von Trainierbarkeit zum Positional Encoding könnte das Modell lernen, wie es Positionsinformationen am besten nutzen kann, um die Leistung zu verbessern.





****************************************************************************************
****************************************************************************************




Answer to Question 2-4
a) Richtig. Greedy-Decoding erfordert mehr Speicherplatz als Beam-Search, da es alle vorherigen Ausgaben speichern muss, um die nächste Ausgabe zu generieren.

b) Falsch. Bei dem Decoding können wir direkt ein Ensemble von Textgenerierungsmodellen mit verschiedenen Vokabularen erstellen, um die Diversität der generierten Texte zu erhöhen.

c) Richtig. Wenn wir bei der Dekodierung die Satzwahrscheinlichkeit nicht nach der Sequenzlänge normalisieren, werden kürzere Sequenzen bevorzugt, da sie insgesamt höhere Wahrscheinlichkeiten haben.

d) Richtig. Beim Top-k-Sampling führt ein höherer Wert von k zu einer höheren Variabilität der erzeugten Ausgabe, da mehr Auswahlmöglichkeiten für das nächste Token zur Verfügung stehen.





****************************************************************************************
****************************************************************************************




Answer to Question 2-5
Der unterschiedliche Wortlaut in der Übersetzung vom Englischen ins Deutsche wie im obigen Beispiel hat einen stärkeren Einfluss auf den BLEU-Score als auf den COMET-Score. 

- BLEU bewertet Übereinstimmungen auf Wortebene und misst die Ähnlichkeit zwischen dem Referenztext und dem Ausgabetext basierend auf n-gram Overlap. Daher wird der BLEU-Score negativ beeinflusst, wenn die Übersetzung des Systems vom Referenztext abweicht, selbst wenn die Bedeutung erhalten bleibt. In diesem Fall wird System 1 möglicherweise eine etwas niedrigere BLEU-Bewertung erhalten, da der Ausdruck "Sie" anstelle von "du" verwendet wird.

- COMET hingegen berücksichtigt semantische Ähnlichkeiten zwischen den Sätzen und kann auch synonyme Varianten korrekt bewerten. Daher wird der COMET-Score nicht so stark beeinflusst wie der BLEU-Score bei solchen leichten Wortlautvariationen. Beide Systeme könnten also ähnliche COMET-Bewertungen erhalten, da die Bedeutung in beiden Ausgaben weitgehend erhalten bleibt.





****************************************************************************************
****************************************************************************************




Answer to Question 3-1
**Frage:**
Aufgabenspezifische Adaption mit Large Language Models.
In den Vorlesungen haben wir verschiedene Möglichkeiten gesehen, Large Language Models für bestimmte Aufgaben anzupassen. Einige Ansätze sind:
- Direct Prompting
- (Promptless) Finetuning
- In-Context Learning

**Unterfragen:**
a) Ordnen Sie die Ansätze nach der Anzahl der trainierten Parameter in der aufgabenspezifischen Anpassungsphase. Erläutern Sie kurz, warum.
b) Ordnen Sie die Ansätze nach der für die Inferenz (Decoding) benötigten Speichermenge. Erläutern Sie kurz, warum.
c) Für eine bestimmte Aufgabe haben Sie 8 Eingabe-Ausgabe-Paare. Welchen Ansatz würden Sie wählen und warum?

---

**Antwort:**
a) Die Ansätze lassen sich nach der Anzahl der trainierten Parameter in der aufgabenspezifischen Anpassungsphase wie folgt ordnen:
1. Direct Prompting
2. (Promptless) Finetuning
3. In-Context Learning

Direct Prompting erfordert in der Regel die Anpassung der wenigsten Parameter, da nur minimale Änderungen am Modell selbst vorgenommen werden, um spezifische Aufgaben zu lösen. Im Gegensatz dazu erfordert (Promptless) Finetuning eine umfassendere Anpassung der Modellparameter, um die Leistung auf spezifischen Aufgaben zu verbessern. In-Context Learning, das das Training auf kontextuellen Informationen basiert, kann eine noch größere Anzahl von Parametern erfordern, je nach Komplexität der Aufgabe.

b) Die benötigte Speichermenge für Decoding/Inferenz lässt sich wie folgt ordnen:
1. Direct Prompting
2. (Promptless) Finetuning
3. In-Context Learning

Direct Prompting erfordert in der Regel die geringste Speichermenge für Decoding, da die Anpassungen minimal sind und keine umfangreiche Modellanpassung erfordern. (Promptless) Finetuning kann etwas mehr Speicherplatz benötigen, da das Modell spezifisch für die Aufgabe feinabgestimmt wird. In-Context Learning kann die größte Speichermenge erfordern, da es viele parametrische Anpassungen je nach Kontext erfordern kann.

c) Für eine Aufgabe mit nur 8 Eingabe-Ausgabe-Paaren würde ich den Ansatz des Direct Promptings wählen. Da Direct Prompting nur minimale Anpassungen erfordert und weniger trainierbare Parameter im Vergleich zu den anderen Ansätzen benötigt, ist es effektiv für kleinere Datensätze geeignet. Das Risiko von Overfitting wird reduziert, da das Modell relativ wenige parameterbasierte Anpassungen erhält. Somit ist Direct Prompting in diesem Szenario eine passende Wahl.





****************************************************************************************
****************************************************************************************




Answer to Question 3-2
a) Zur Berechnung der Anzahl der in der Feinabstimmungsphase trainierten Parameter mit Adapters, können folgende Schritte durchgeführt werden:
- Berechnen der Anzahl der Parameter für eine lineare Projektion von 1024 Dimensionen auf 256 Dimensionen: \(1024 \times 256 + 256\) (Gewichtsmatrix und Bias-Vektor)
- Multiplizieren dieser Anzahl mit der Anzahl der Schichten im Modell (12)
- Das ergibt die Gesamtanzahl der trainierten Parameter.

b) Um die Anzahl der in der Feinabstimmungsphase trainierten Parameter mit Prompt-Tuning zu bestimmen, können folgende Schritte durchgeführt werden:
- Berechnen der Anzahl der Parameter für die 50 reservierten Prompt-Token
- Multiplizieren dieser Anzahl mit der Dimension der Embeddings (1024)
- Das ergibt die Gesamtanzahl der trainierten Parameter.

c) Mögliche Erklärungen dafür, dass dem Modell mit Prompt-Tuning der Speicherplatz ausgeht, obwohl es insgesamt weniger Parameter hat als das Modell mit Adapters, könnten sein:
- Die Prompt-Tokens benötigen zusätzlichen Speicherplatz, da sie fest vorbelegt sind und möglicherweise mehr Speicher benötigen als die Adapter-Parameter.
- Die Struktur des Prompt-Tuning erfordert möglicherweise zusätzliche Speicherressourcen im Vergleich zu Adapters.

d) Der Hauptunterschied zwischen Prompt-Tuning und Prefix-Tuning liegt in der Art und Weise, wie die Eingabe für Modellanpassungen bereitgestellt wird:
- Prompt-Tuning verwendet reservierte Tokens als Eingabe für das Modell, um die gewünschte Antwort zu forcieren, während Prefix-Tuning Präfixe als Eingabe verwendet.
- Ein Vorteil von Prompt-Tuning gegenüber Prefix-Tuning ist die explizitere Steuerung der Modellausgabe durch festgelegte Token. Ein Nachteil könnte sein, dass die Speicheranforderungen höher sind, da spezielle Tokens reserviert werden müssen.





****************************************************************************************
****************************************************************************************




Answer to Question 3-3
**Antwort:**

a) Um das vortrainierte Übersetzungsmodell anzupassen, um Informationen aus dem Objekterkennungsmodell zu nutzen, könnten wir einen multimodalen Ansatz verfolgen. Die Eingabe des modifizierten Modells wäre sowohl der vom Objekterkennungsmodell generierten Liste der erkannten Objekte als auch der zu übersetzenden Textsequenz. Diese beiden Eingaben könnten in getrennten Pfaden des Modells verarbeitet werden, wobei zum Beispiel der Objekterkennungsinformationen ein eigener Aufmerksamkeitsmechanismus zugewiesen wird, um wichtige Objekte in der Übersetzung stärker zu berücksichtigen. 

Für den Fall, dass die Objektbezeichnung nicht im Vokabular des trainierten Übersetzungsmodells enthalten ist, könnte man entweder eine unbekannte Token-Behandlung einsetzen, bei der das Modell lernt, wie es mit unbekannten Objekten umgehen soll, oder eine spezielle Behandlung für solche Fälle implementieren, um vielleicht eine allgemeine Beschreibung des Objekts auszugeben.

b) Um zu analysieren, ob das Modell die Informationen aus dem Objekterkennungsmodell tatsächlich nutzt, könnte man verschiedene Techniken anwenden. Eine Möglichkeit wäre, das Verhalten des Aufmerksamkeitsmechanismus im Modell zu visualisieren, um zu sehen, ob und wie stark die Informationen der erkannten Objekte in den verschiedenen Schritten der Übersetzung berücksichtigt werden.

c) Um das vortrainierte Übersetzungsmodell anzupassen, um zusätzlich das kodierte Bild zu verwenden, könnte man einen multimodalen Ansatz verfolgen, bei dem sowohl die Texte als auch die Bilder gemeinsam verarbeitet werden. Die 1024-dimensionalen Vektoren könnten zum Beispiel mit den bereits vorhandenen Embedding-Schichten des Übersetzungsmodells verbunden werden, jedoch unter Verwendung von zusätzlichen Schichten zur Anpassung der Dimensionen, falls sie nicht übereinstimmen. Falls die Größe des kodierten Bildes nicht mit der Embedding-Dimension des Übersetzungsmodells übereinstimmt, könnte man Techniken wie lineare Transformationen oder Faltungsschichten verwenden, um die Dimensionen anzupassen und die Informationen aus Bildern effektiv einzubinden.





****************************************************************************************
****************************************************************************************




Answer to Question 3-4
a) Die Retrieval-Augmented Generation (RAG) unterscheidet sich von der traditionellen Generierung dadurch, dass RAG sowohl auf generative als auch auf abgerufene Inhalte zurückgreifen kann, während traditionelle Generierung nur auf gelernten Wissen basiert. RAG könnte den Wahrheitsgehalt von Large Language Models verbessern, da sie relevante Informationen aus externen Quellen abrufen kann, um die Generierung zu unterstützen und Fehlinformationen zu vermeiden.

b) Ich stimme zu, dass Halluzinationen bei der maschinellen Übersetzung leichter zu erkennen sind als bei der allgemeinen Texterstellung mit Large Language Models. Dies liegt daran, dass bei der Übersetzung der Vergleich mit einer vorhandenen Referenzübersetzung möglich ist, während bei der allgemeinen Texterstellung dieser direkte Vergleich fehlt, was die Erkennung von Halluzinationen erschwert.

c) Das Abschneiden langer Dokumente beim Training von Large Language Models kann zu Problemen mit der Modellhalluzination führen, da wichtige Kontextinformationen verloren gehen und das Modell möglicherweise falsche Annahmen trifft. Dieses Problem kann entschärft werden, indem das Training mit Techniken wie Aufteilung langer Dokumente in kürzere Abschnitte oder Verwendung von Aufmerksamkeitsmechanismen verbessert wird, um relevante Teile des Dokuments zu berücksichtigen.





****************************************************************************************
****************************************************************************************




