Answer to Question 1-1
Hier sind zwei Herausforderungen bei der Modellierung der Perzeption von Text mit jeweils einem Beispiel:

1. Ambiguität und Mehrdeutigkeit von Wörtern und Sätzen
Beispiel: Der Satz "Er sah das Mädchen mit dem Fernglas" kann auf zwei Arten interpretiert werden - entweder benutzt er ein Fernglas um das Mädchen zu sehen, oder er sieht ein Mädchen, das ein Fernglas bei sich trägt. Die korrekte Interpretation hängt vom Kontext ab und erfordert Weltwissen.

2. Einfluss von Kontext, Vorwissen und Erwartungen auf die Textwahrnehmung  
Beispiel: Der Satz "Der Arzt hatte gute Nachrichten für den Patienten" wird anders interpretiert, wenn man vorher weiß, dass der Patient eine schwere Krankheit hat und auf Testergebnisse wartet. Das Vorwissen beeinflusst die Erwartungen und lenkt die Aufmerksamkeit beim Lesen auf bestimmte Aspekte. Ohne diesen Kontext wäre die Interpretation allgemeiner.





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




Answer to Question 1-2
a. Die Annahme des N-Gramm-Sprachmodells ist die Markov-Annahme, die besagt, dass die Wahrscheinlichkeit eines Wortes nur von den vorhergehenden N-1 Wörtern abhängt. Das bedeutet, dass der Kontext auf die letzten N-1 Wörter beschränkt ist, um die Wahrscheinlichkeit des nächsten Wortes vorherzusagen.

b. Die Wahrscheinlichkeitsgleichung des Satzes "This is the exam of Advanced AI." aus einem Tri-Gramm-Sprachmodell lautet:

P(This is the exam of Advanced AI.) = 
P(This | <s> <s>) * 
P(is | <s> This) * 
P(the | This is) * 
P(exam | is the) * 
P(of | the exam) * 
P(Advanced | exam of) * 
P(AI. | of Advanced) * 
P(</s> | Advanced AI.)

Dabei steht <s> für den Satzanfang und </s> für das Satzende. Die Wahrscheinlichkeit jedes Wortes hängt von den beiden vorhergehenden Wörtern ab, wie es für ein Tri-Gramm-Modell charakteristisch ist.





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




Answer to Question 1-3
a) Schritt-für-Schritt-Erstellung des BPE-Vokabulars mit einer Größe von 15:

Schritt 1: Initialisierung des Vokabulars mit einzelnen Zeichen
Vokabular: {'i', ' ', 's', 't', 'u', 'd', 'y', 'n', 'k', 'l', 'e', 'a', 'd', 'p', '.'}

Schritt 2: Füge "/w" am Ende jedes Wortes hinzu und zähle die Häufigkeit der Zeichenpaare
Sätze mit "/w": "i/w study/w in/w kit./w i/w like/w ai/w and/w nlp./w"
Häufigste Zeichenpaare: ('i', '/w'), (' ', 's'), ('s', 't'), ('t', 'u'), ('u', 'd'), ('d', 'y'), ('y', '/w'), (' ', 'i'), ('i', 'n'), ('n', '/w'), (' ', 'k'), ('k', 'i'), ('i', 't'), ('t', '.'), ('.', '/w'), (' ', 'l'), ('l', 'i'), ('k', 'e'), ('e', '/w'), (' ', 'a'), ('a', 'i'), ('a', 'n'), ('n', 'd'), ('d', '/w'), (' ', 'n'), ('l', 'p'), ('p', '.'), ('.', '/w')

Schritt 3: Merge die häufigsten Zeichenpaare, bis die gewünschte Vokabulargröße erreicht ist
Merge 1: i/w
Merge 2: in/w
Merge 3: study/w
Merge 4:  s
Merge 5: st
Merge 6: tu
Merge 7: dy/w
Merge 8: it./w
Merge 9:  i/w
Merge 10:  l
Merge 11: li
Merge 12: ke/w
Merge 13: ai/w
Merge 14: and/w

Finales BPE-Vokabular mit Größe 15:
{'i/w', 'in/w', 'study/w', ' s', 'st', 'tu', 'dy/w', 'it./w', ' i/w', ' l', 'li', 'ke/w', 'ai/w', 'and/w', ' k'}

b) Tokenisierung des Satzes "I like KIT." mit dem generierten BPE-Vokabular:

"I like KIT." -> "i/w like/w kit./w"

Tokenisiert: ["i/w", " l", "i", "ke/w", " k", "it./w"]





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




Answer to Question 1-4
a. Die BILOU-Kennzeichnungssequenz für den Satz sieht folgendermaßen aus:

When O
I O
study O
at O
Karlsruhe B-University
Institute I-University
of I-University
Technology L-University
, O
my O
favorite O
course O
was O
Advanced B-Course
Artificial I-Course
Intelligence L-Course
organized O
by O
ISL U-Lab
, O
AI4LT U-Lab
, O
and O
H2T U-Lab
labs O
. O

b. Bei der Ausgabe des Sequenzkennzeichnungsmodells gibt es 7 Klassen:
1. O (Outside)
2. B-University
3. I-University
4. L-University
5. B-Course
6. I-Course
7. L-Course
8. U-Lab





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




Answer to Question 2-1
a) Für das Continuous-Bag-of-Words (CBOW) Modell mit einer Fenstergröße von 2 ergibt sich aus dem Satz "Human is smarter than large language model" folgendes beispielhafte Trainingsbeispiel:
Kontext (Input): "Human", "smarter"
Zielwort (Output): "is"

Für das Skip-Gram Modell mit einer Fenstergröße von 2 ergibt sich aus demselben Satz folgendes beispielhafte Trainingsbeispiel:
Kontext (Input): "is"
Zielwörter (Output): "Human", "smarter"

b) Die Herausforderung beim Skip-Gram-Modell besteht darin, dass für jedes Kontextwort die Wahrscheinlichkeiten aller Wörter im Vokabular berechnet werden müssen, was bei einem großen Vokabular sehr rechenintensiv sein kann.

Eine Lösung für dieses Problem ist die Verwendung von Negative Sampling. Dabei werden für jedes Trainingsbeispiel nur eine kleine Anzahl von "negativen" Wörtern zufällig ausgewählt, anstatt alle Wörter im Vokabular zu berücksichtigen.

Beispiel für den Satz "Human is smarter than large language model":
Kontext (Input): "is"
Positive Beispiele (tatsächliche Nachbarwörter): "Human", "smarter"
Negative Beispiele (zufällig ausgewählte Wörter): "model", "than", "large"

Durch die Verwendung von Negative Sampling wird der Rechenaufwand erheblich reduziert, da nur eine kleine Teilmenge des Vokabulars für jedes Trainingsbeispiel berücksichtigt werden muss.





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




Answer to Question 2-2
a) Das Problem bei diesem vorgeschlagenen Modell ist, dass es die Reihenfolge und den Kontext der Wörter im Quellsatz nicht berücksichtigt. Durch das Ersetzen des Encoders durch einfache Worteinbettungen gehen wichtige Informationen über die Satzstruktur und die Beziehungen zwischen den Wörtern verloren. Der Encoder im Transformer-Modell verwendet Self-Attention, um diese Informationen zu erfassen und eine kontextabhängige Repräsentation des Quellsatzes zu erstellen. Ohne den Encoder fehlt dem Decoder diese wichtige kontextuelle Information, was zu fehlerhaften Übersetzungen führen kann.

b) Ein Beispiel für zwei Sätze, bei denen einer definitiv falsch übersetzt wird:

1. "I saw a man with a telescope." (Ich sah einen Mann mit einem Teleskop.)
2. "I saw a man with a dog." (Ich sah einen Mann mit einem Hund.)

Im ersten Satz kann "with a telescope" entweder bedeuten, dass der Mann ein Teleskop bei sich hatte oder dass ich den Mann durch ein Teleskop sah. Ohne den Kontext, den der Encoder liefert, kann das vorgeschlagene Modell nicht zwischen diesen beiden Interpretationen unterscheiden und würde wahrscheinlich eine falsche Übersetzung liefern.

Im zweiten Satz ist die Bedeutung eindeutig, da "with a dog" nur bedeuten kann, dass der Mann einen Hund bei sich hatte. Dieser Satz würde wahrscheinlich korrekt übersetzt werden, da keine Mehrdeutigkeit vorliegt.





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




Answer to Question 2-3
a) Die Trainingsstrategie, die wav2vec2.0 auf den Ausgaben des Feature-Encoders implementiert, ist Masked Language Modeling (MLM). Dabei werden zufällig Teile der Eingabesequenz maskiert und das Modell muss diese maskierten Teile basierend auf dem Kontext vorhersagen. Der kontrastive Fehler misst die Ähnlichkeit zwischen den Kontextrepräsentationen C des maskierten Inputs und den quantisierten Repräsentationen Q des ursprünglichen unveränderten Inputs. Durch die Minimierung des kontrastiven Fehlers lernt das Modell, aussagekräftige Kontextrepräsentationen zu generieren, die den ursprünglichen quantisierten Repräsentationen ähnlich sind, auch wenn Teile der Eingabe fehlen.

b) Neben dem kontrastiven Fehler gibt es während des Vortrainings noch die Diversity Loss als weitere Verlustfunktion. Sie stellt sicher, dass die gelernten Repräsentationen im Quantisierungsmodul vielfältig und unterscheidbar sind. Ohne die Diversity Loss besteht die Gefahr, dass das Modell zu einer trivialen Lösung konvergiert, bei der alle Inputs auf dieselbe Repräsentation abgebildet werden. Die Diversity Loss fördert die Lernung eines reichhaltigen Repräsentationsraums, in dem ähnliche Inputs ähnliche, aber unterscheidbare Codierungen haben. Sie ist notwendig für die Lernung aussagekräftiger Repräsentationen, die für nachfolgende Aufgaben nützlich sind.





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




Answer to Question 3-1
Nein, ich würde meinem Freund in diesem Fall nicht zustimmen. Für die Aufgabe der Textgenerierung aus Bilddarstellungen ist ein unidirektionales Decoder-Modell besser geeignet als ein bidirektionales Modell. 

Die Gründe dafür sind:

1. Bei der Textgenerierung soll der Decoder immer das nächste Wort basierend auf den vorherigen generierten Wörtern vorhersagen. Ein unidirektionales Modell, das nur auf die vorherigen Wörter schaut, spiegelt diesen sequentiellen Generierungsprozess gut wider.

2. Ein bidirektionales Modell würde sowohl vorherige als auch nachfolgende Wörter betrachten. Das ist für viele Aufgaben wie Named Entity Recognition oder Sentiment Analysis sinnvoll. Für die Textgenerierung ist es aber ungeeignet, da nachfolgende Wörter zu einem bestimmten Zeitpunkt noch gar nicht generiert wurden und daher nicht zur Verfügung stehen.

3. Die Verwendung zukünftiger Informationen in einem bidirektionalen Decoder könnte sogar zu inkonsistenten oder unsinnigen generierten Textbeschreibungen führen, da der Kontext durcheinandergebracht wird.

Zusammengefasst ist ein von links nach rechts gerichtetes, unidirektionales Decoder-Modell die natürliche und sinnvolle Wahl für die Aufgabe der Textgenerierung aus Bilddarstellungen. Es modelliert den sequentiellen Generierungsprozess und vermeidet Probleme, die bei der Verwendung zukünftiger Informationen in einem Decoder auftreten würden.





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




Answer to Question 3-2
Hier ist mein Vorschlag, um das Problem der Behandlung von Wörtern außerhalb des Vokabulars (Out-of-Vocabulary, OOV) in einem Encoder-Decoder-Modell für die maschinelle Übersetzung anzugehen:

Man könnte eine Technik namens Subword-Tokenisierung anwenden. Dabei werden seltene Wörter in häufigere Subword-Einheiten zerlegt. Zum Beispiel könnte man das seltene Wort "Übersetzungsmodell" in die Subwords "über", "setz", "ungs" und "modell" aufteilen, wenn diese Subwords häufiger im Vokabular vorkommen. 

Beim Encoding würde man die OOV-Wörter dann in ihre Subword-Bestandteile zerlegen. Der Decoder lernt beim Training die Subwords wieder zu ganzen Wörtern zusammenzusetzen.

Durch diesen Ansatz kann das Modell auch mit OOV-Wörtern umgehen, indem es sie aus bekannten Subwords zusammensetzt. Das Vokabular muss dann nur die häufigsten Subwords enthalten statt alle möglichen ganzen Wörter.

Ein potenzielles Problem dieses Ansatzes ist, dass die Ausgabe des Decoders manchmal keine korrekten Wörter ergibt, wenn die gelernten Subword-Kombinationen nicht stimmen. Zum Beispiel könnte fälschlicherweise "übersetzungsmodell" statt "Übersetzungsmodell" erzeugt werden. Solche Fehler müssten nachträglich korrigiert werden.

Insgesamt ermöglicht die Subword-Tokenisierung aber eine gute Behandlung von OOV-Wörtern mit dem Nachteil gelegentlicher Wortfehler in der Ausgabe. Es ist ein praktikabler Ansatz, wenn keine zusätzlichen Trainingsressourcen verfügbar sind.





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




Answer to Question 3-3
a) Multi-Head Attention bedeutet, dass mehrere Aufmerksamkeitsschichten parallel verwendet werden. Jede Schicht hat ihre eigenen Gewichtsmatrizen für Query, Key und Value. Die Ergebnisse der einzelnen Schichten werden am Ende zusammengefügt. Dies ermöglicht es dem Modell, verschiedene Arten von Beziehungen und Abhängigkeiten in den Daten zu erfassen, da jede Schicht auf unterschiedliche Aspekte achten kann. Durch die Kombination der Schichten erhält man eine reichhaltigere und vielseitigere Repräsentation.

b) In der gegebenen Tabelle, die die Gewichtsmatrix der Self-Attention in einem Decoder darstellt, würde ich die Gewichte unterhalb der Diagonale (von oben links nach unten rechts) mit "X" markieren. Das heißt, alle Felder in der unteren linken Dreiecksmatrix unterhalb und einschließlich der Diagonale erhalten ein "X". 

Der Grund dafür ist, dass im Decoder eines Sequence-to-Sequence Modells die Ausgabe zum Zeitpunkt t nur von den vorherigen Ausgaben bis t-1 abhängen darf, nicht aber von zukünftigen Ausgaben. Durch die Maskierung der Gewichte wird verhindert, dass die Aufmerksamkeit Informationen aus der Zukunft bezieht, was zu einem Informationsleck führen würde. Die Maskierung stellt sicher, dass die Prädiktion nur auf den bereits generierten Tokens basiert.





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




Answer to Question 3-4
a) Basierend auf der Konfusionsmatrix in der Abbildung:
True Positive (TP): Positive Vorhersage und tatsächlich positiv
False Positive (FP): Positive Vorhersage, aber tatsächlich negativ 
True Negative (TN): Negative Vorhersage und tatsächlich negativ
False Negative (FN): Negative Vorhersage, aber tatsächlich positiv

b) Die Gleichungen für Präzision und Recall lauten:

Präzision = TP / (TP + FP)
Die Präzision gibt an, wie viele der als positiv klassifizierten Fälle tatsächlich positiv sind.

Recall = TP / (TP + FN) 
Der Recall gibt an, wie viele der tatsächlich positiven Fälle vom Modell erkannt wurden.

c) Verzerrungen bei ausschließlicher Betrachtung von Präzision oder Recall:

Präzision: Angenommen ein Modell zur Betrugserkennung klassifiziert von 1000 Transaktionen nur 10 als betrügerisch, davon sind 9 korrekt. Die Präzision wäre mit 90% sehr hoch, aber das Modell würde die meisten Betrugsfälle übersehen.

Recall: Nehmen wir an, ein Modell zur Erkennung von Spam-Emails markiert 99% aller Emails als Spam, darunter auch viele normale Emails. Der Recall bezüglich Spam wäre sehr hoch, aber das Modell wäre nicht praktisch nutzbar.

Für eine ausgewogene Bewertung sollten daher immer Präzision und Recall gemeinsam betrachtet werden, z.B. mit dem F1-Score als harmonisches Mittel.





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




Answer to Question 4-1
Hier ist meine Antwort zur grafischen Faltung der beiden gegebenen Funktionen g(t) und h(t):

Um die Faltung f(t) = (g * h)(t) grafisch zu bestimmen, würde ich wie folgt vorgehen:

1. Spiegelung der Funktion h(t) an der y-Achse, um h(-t) zu erhalten. In der Grafik würde ich dazu die Rechteckfunktion h(t) an der vertikalen Achse spiegeln.

2. Verschiebung von h(-t) entlang der t-Achse. Ich würde das gespiegelte Rechteck h(-t) schrittweise von links nach rechts über die Funktion g(t) schieben. 

3. Für jede Position von h(-t) bestimme ich die Fläche unter dem Produkt g(t) · h(-t). Dies entspricht dem Integral von g(t) · h(t-τ) über τ. Grafisch multipliziere ich die sich überlappenden Funktionswerte und summiere die Flächenstücke.

4. Der jeweilige Flächeninhalt wird als Funktionswert f(t) an der entsprechenden Stelle t eingetragen. 

5. Durch Wiederholen der Schritte 3 und 4 für alle t erhalte ich den vollständigen Verlauf der Faltung f(t).

Relevante Punkte, die ich in der Grafik markieren würde:

- Start der Überlappung bei t=1, wenn die rechte Flanke von h(-t) die linke Flanke von g(t) erreicht. Hier beginnt f(t) anzusteigen.

- Maximum der Überlappung bei t=3, wenn h(-t) symmetrisch unter dem Dreieck von g(t) liegt. Hier erreicht f(t) den Maximalwert.

- Ende der Überlappung bei t=5, wenn die linke Flanke von h(-t) die rechte Flanke von g(t) verlässt. Hier fällt f(t) wieder auf 0 ab.

Die resultierende Faltung f(t) hätte also näherungsweise die Form eines symmetrischen Dreiecks mit der Basis von t=1 bis t=5 und dem Maximum bei t=3.





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




Answer to Question 4-2
Hier ist die Lösung für die diskrete Faltung u*v der gegebenen Funktionen u[t] und v[t]:

Die diskrete Faltung ist definiert als:

(u*v)[n] = Summe von k=-unendlich bis +unendlich von u[k] * v[n-k]

Wir berechnen die Faltung für verschiedene Werte von n:

n = 0:
(u*v)[0] = u[0]*v[0] + u[1]*v[-1] + u[2]*v[-2] + u[3]*v[-3] + u[4]*v[-4]
         = 1*0 + 3*0 + 0.5*0 + 1*0 + 0.5*0 = 0

n = 1: 
(u*v)[1] = u[0]*v[1] + u[1]*v[0] + u[2]*v[-1] + u[3]*v[-2] + u[4]*v[-3]
         = 1*1 + 3*0 + 0.5*0 + 1*0 + 0.5*0 = 1

n = 2:
(u*v)[2] = u[0]*v[2] + u[1]*v[1] + u[2]*v[0] + u[3]*v[-1] + u[4]*v[-2] 
         = 1*2 + 3*1 + 0.5*0 + 1*0 + 0.5*0 = 5

n = 3:
(u*v)[3] = u[0]*v[3] + u[1]*v[2] + u[2]*v[1] + u[3]*v[0] + u[4]*v[-1]
         = 1*0 + 3*2 + 0.5*1 + 1*0 + 0.5*0 = 6.5

n = 4:
(u*v)[4] = u[0]*v[4] + u[1]*v[3] + u[2]*v[2] + u[3]*v[1] + u[4]*v[0]
         = 1*3 + 3*0 + 0.5*2 + 1*1 + 0.5*0 = 5

n = 5:
(u*v)[5] = u[0]*v[5] + u[1]*v[4] + u[2]*v[3] + u[3]*v[2] + u[4]*v[1] 
         = 1*0 + 3*3 + 0.5*0 + 1*2 + 0.5*1 = 11.5

n = 6:
(u*v)[6] = u[0]*v[6] + u[1]*v[5] + u[2]*v[4] + u[3]*v[3] + u[4]*v[2]
         = 1*0 + 3*0 + 0.5*3 + 1*0 + 0.5*2 = 2.5

n = 7:
(u*v)[7] = u[0]*v[7] + u[1]*v[6] + u[2]*v[5] + u[3]*v[4] + u[4]*v[3]
         = 1*0 + 3*0 + 0.5*0 + 1*3 + 0.5*0 = 3

Für alle anderen n ist (u*v)[n] = 0.

Zusammengefasst ergibt sich für die diskrete Faltung u*v:

(u*v)[n] = 0   if n=0
           1   if n=1 
           5   if n=2
           6.5 if n=3
           5   if n=4
           11.5 if n=5
           





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




Answer to Question 4-3
a) Das Sampling-Theorem, auch bekannt als Nyquist-Shannon-Abtasttheorem, besagt, dass ein kontinuierliches, bandbegrenztes Signal mit einer Frequenz, die größer als die doppelte maximale Frequenz des Signals ist, abgetastet werden muss, um das ursprüngliche Signal aus den abgetasteten Werten perfekt rekonstruieren zu können. Mit anderen Worten, die Abtastfrequenz muss mindestens doppelt so hoch sein wie die höchste im Signal vorkommende Frequenz.

b) Wenn das Sampling-Theorem nicht eingehalten wird, d.h. wenn die Abtastfrequenz zu niedrig ist, tritt das Phänomen des Aliasing auf. Aliasing ist eine Verfälschung des rekonstruierten Signals, bei der hochfrequente Komponenten fälschlicherweise als niedrigfrequente Komponenten interpretiert werden.

c) Um das Aliasing-Phänomen zu veranschaulichen, würde ich folgende Skizze in der Zeitdomäne zeichnen:

1. Zeichnen Sie eine sinusförmige Funktion f(t) mit einer relativ hohen Frequenz.
2. Markieren Sie auf der Zeitachse äquidistante Punkte, die die Abtastzeitpunkte darstellen. Der Abstand zwischen den Punkten sollte größer sein als die halbe Periodendauer der Funktion f(t).
3. Zeichnen Sie eine zweite sinusförmige Funktion g(t) mit einer niedrigeren Frequenz, die durch die Abtastpunkte verläuft.

Die Skizze zeigt, dass aufgrund der zu niedrigen Abtastfrequenz die hochfrequente Funktion f(t) fälschlicherweise als die niedrigfrequente Funktion g(t) rekonstruiert wird. Dies ist das Ergebnis des Aliasing-Effekts, der auftritt, wenn das Sampling-Theorem nicht eingehalten wird.





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




Answer to Question 4-4
Zur Berechnung der Erkennungsgenauigkeit ACC müssen wir zunächst die Wortfehlerrate WER bestimmen. Dazu vergleichen wir die Referenz (REF) mit der Hypothese (HYP) und zählen die Einfügungen, Auslassungen und Ersetzungen.

REF: I need to book a flight to New York for next week
HYP: I need to cook light in Newark four next weeks

Auslassungen (D): 1 ("a")
Einfügungen (I): 1 ("s" in "weeks") 
Ersetzungen (S): 4 ("cook" statt "book", "light" statt "flight", "in" statt "to", "Newark" statt "New York", "four" statt "for")

Anzahl der Wörter in der Referenz (N): 12

WER = (I + D + S) / N
= (1 + 1 + 4) / 12
= 6 / 12 
= 0,5

Die Wortfehlerrate WER beträgt also 0,5.

Die Erkennungsgenauigkeit ACC berechnet sich nun wie folgt:

ACC = 1 - WER 
= 1 - 0,5
= 0,5

In Prozent ausgedrückt und gerundet ergibt sich:

ACC = 50%

Die Erkennungsgenauigkeit ACC für das gegebene Referenz-Hypothese-Paar beträgt somit 50%.





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




Answer to Question 5-1
Um jede Objektinstanz in der Szene aus den RGB-D-Videos zu erkennen, kann die Methode der instanzbasierten Segmentierung verwendet werden. Hier ist eine Erklärung, wie diese Methode funktioniert:

Die instanzbasierte Segmentierung zielt darauf ab, jede einzelne Objektinstanz in einem Bild oder Video zu identifizieren und zu segmentieren. Im Gegensatz zur semantischen Segmentierung, die Pixel nur basierend auf ihrer Klassenzugehörigkeit klassifiziert, unterscheidet die instanzbasierte Segmentierung zwischen verschiedenen Instanzen derselben Objektklasse.

Der typische Ablauf ist wie folgt:

1. Zuerst wird ein Objekterkennungsmodell wie Mask R-CNN verwendet, um Objektvorschläge (bounding boxes) für potenzielle Objektinstanzen im Bild zu generieren. 

2. Für jeden Objektvorschlag wird dann eine Instanzmaske vorhergesagt, die genau die Pixel dieser spezifischen Objektinstanz segmentiert. Dafür werden häufig encoder-decoder Architekturen wie U-Net eingesetzt.

3. Die Tiefeninformation aus den RGB-D Daten kann als zusätzliches Merkmal genutzt werden, um die Segmentierung zu verbessern, z.B. um Vorder- und Hintergrund besser zu trennen.

4. Durch Anwendung auf alle Bilder des Videos erhält man eine Segmentierung und Verfolgung der einzelnen Objektinstanzen über die Zeit.

5. Die segmentierten Objektinstanzen (z.B. Flasche, Glas, Hände) können dann verwendet werden, um relevante Merkmale für das Lernen der Aktionen zu extrahieren, z.B. Bewegungstrajektorien, räumliche Relationen usw.

Insgesamt ermöglicht die instanzbasierte Segmentierung eine detaillierte Erfassung der manipulierten Objekte, was eine wichtige Voraussetzung für das Lernen komplexer Handlungsabläufe aus Demonstrationen ist.





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




Answer to Question 5-2
Der Störungskraftterm (perturbation force term) in der Formulierung der Dynamic Movement Primitives (DMPs) wird aus folgenden Gründen benötigt:

1. Anpassungsfähigkeit: Der Störungskraftterm ermöglicht es dem Roboter, auf unvorhergesehene Änderungen oder Hindernisse in der Umgebung zu reagieren. Wenn während der Ausführung der gelernten Aktion "Wasser Einschenken" eine Störung auftritt, wie z.B. eine Verschiebung des Glases oder ein Hindernis im Weg, kann der Störungskraftterm die Bewegung des Roboters anpassen, um die Störung zu kompensieren und die Aufgabe erfolgreich abzuschließen.

2. Generalisierung: Durch den Störungskraftterm können die gelernten DMPs auf leicht unterschiedliche Situationen verallgemeinert werden. Wenn sich beispielsweise die Position oder Größe des Glases ändert, kann der Störungskraftterm die gelernte Bewegung entsprechend modifizieren, um sich an die neuen Gegebenheiten anzupassen, ohne dass der Roboter die Aktion komplett neu lernen muss.

3. Robustheit: Der Störungskraftterm trägt zur Robustheit des gelernten Verhaltens bei. In realen Umgebungen können immer Abweichungen und Ungenauigkeiten auftreten. Durch die Fähigkeit, auf diese Störungen zu reagieren und die Bewegung entsprechend anzupassen, wird die Robustheit der gelernten Aktion erhöht und die Erfolgsrate verbessert.

4. Feinabstimmung: Der Störungskraftterm ermöglicht eine Feinabstimmung der gelernten Bewegung. Basierend auf dem Feedback während der Ausführung kann der Störungskraftterm genutzt werden, um die Bewegung weiter zu optimieren und an spezifische Anforderungen anzupassen. Dies kann zu einer verbesserten Leistung und Genauigkeit der Aktion "Wasser Einschenken" führen.

Zusammenfassend ist der Störungskraftterm in der DMP-Formulierung entscheidend, um die Anpassungsfähigkeit, Generalisierung, Robustheit und Feinabstimmung der gelernten Aktion zu ermöglichen. Er trägt dazu bei, dass der Roboter in der Lage ist, auf Störungen und Veränderungen in der Umgebung zu reagieren und die Aufgabe "Wasser Einschenken" erfolgreich auszuführen, auch wenn die Bedingungen von den ursprünglichen Demonstrationen abweichen.





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




Answer to Question 5-3
Die Gleichung der lokal gewichteten Regression (LWR) mit radialen Basisfunktionen (RBF) zur Approximation des Störungskraftterms lautet:

$f(\mathbf{x}) = \sum_{i=1}^{N} w_i \phi_i(\mathbf{x})$

Dabei sind:

- $f(\mathbf{x})$: Die approximierte Funktion des Störungskraftterms an der Stelle $\mathbf{x}$
- $N$: Die Anzahl der Stützstellen (Datenpunkte) aus den menschlichen Demonstrationen
- $w_i$: Die Gewichte, die den Einfluss jeder Stützstelle auf die Approximation bestimmen. Diese werden durch Minimierung eines gewichteten Fehlermaßes bestimmt.
- $\phi_i(\mathbf{x})$: Die radiale Basisfunktion (RBF) für die $i$-te Stützstelle, typischerweise eine Gaußfunktion:
  
  $\phi_i(\mathbf{x}) = \exp\left(-\frac{\|\mathbf{x} - \mathbf{c}_i\|^2}{2\sigma_i^2}\right)$

  - $\mathbf{c}_i$: Das Zentrum der $i$-ten RBF, entspricht der Position der $i$-ten Stützstelle im Eingangsraum
  - $\sigma_i$: Die Breite (Standardabweichung) der $i$-ten RBF, bestimmt die Reichweite des Einflusses der Stützstelle
  - $\|\mathbf{x} - \mathbf{c}_i\|$: Der euklidische Abstand zwischen dem Eingangspunkt $\mathbf{x}$ und dem Zentrum $\mathbf{c}_i$ der $i$-ten RBF

Die LWR mit RBF approximiert somit den Störungskraftterm als gewichtete Summe von radialen Basisfunktionen, die um die Stützstellen aus den Demonstrationen zentriert sind. Die Gewichte werden so bestimmt, dass Stützstellen in der Nähe des Eingangspunkts einen größeren Einfluss haben.





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




Answer to Question 5-4
Ja, ein Dynamic Movement Primitive (DMP) für eine bestimmte Aktion wie "Wasser Einschenken" kann aus fünf menschlichen Demonstrationen gelernt werden. Hier sind die Gründe dafür:

1. DMPs sind eine kompakte Repräsentation von Bewegungstrajektorien, die aus wenigen Demonstrationen gelernt werden können. Fünf Demonstrationen sind in der Regel ausreichend, um die wesentlichen Merkmale der Bewegung zu erfassen.

2. DMPs sind generalisierbar und können an neue Startpositionen, Zielpositionen und Ausführungsgeschwindigkeiten angepasst werden. Daher müssen die Demonstrationen nicht exakt identisch sein, sondern sollten die Hauptcharakteristiken der Aktion abdecken.

3. Durch das Lernen aus mehreren Demonstrationen kann die Variabilität der menschlichen Bewegungsausführung berücksichtigt werden. Unterschiede zwischen den Demonstrationen werden gemittelt, um eine robuste und repräsentative DMP zu erhalten.

4. RGB-D-Videos liefern sowohl visuelle Informationen (RGB) als auch Tiefeninformationen (D), die für das Lernen der Bewegungstrajektorie und der Objektinteraktionen nützlich sind. Aus den Videos können die relevanten Merkmale extrahiert werden, um die DMP zu parametrisieren.

5. Vorausgesetzt, die fünf Demonstrationen decken die wesentlichen Aspekte der Aktion "Wasser Einschenken" ab (z.B. Greifen der Flasche, Ausrichten über dem Glas, Kippen der Flasche, Stoppen des Eingießens), kann eine DMP gelernt werden, die die Aktion erfolgreich reproduziert.

Zusammenfassend lässt sich sagen, dass fünf menschliche Demonstrationen in Form von RGB-D-Videos in der Regel ausreichen, um eine DMP für eine bestimmte Aktion wie "Wasser Einschenken" zu lernen, vorausgesetzt, die Demonstrationen sind von guter Qualität und Variabilität.





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




Answer to Question 5-5
Für die beschriebene Aufgabe, bei der ein Roboter die Aktion "Wasser Einschenken" aus menschlichen Demonstrationen lernen und dabei ein Hindernis umgehen soll, würde ich Dynamic Movement Primitives (DMPs) als Bewegungsprimitiv wählen, um die demonstrierte Aktion zu modellieren. 

Die Gründe dafür sind:

1. DMPs erlauben es, die demonstrierten Trajektorien zu generalisieren und auf neue Startpunkte und Zielpunkte anzupassen. Dadurch kann der Roboter flexibel auf verschiedene Ausgangssituationen reagieren.

2. Durch die Einführung eines Zwischenpunkts (via-point) außerhalb der demonstrierten Trajektorien kann das DMP-Framework diesen Zwischenpunkt explizit in die gelernte Bewegung integrieren. Die DMPs werden dann so optimiert, dass sie diesen Zwischenpunkt mit einbeziehen und trotzdem einen glatten Übergang zu den demonstrierten Trajektorien gewährleisten.

3. DMPs sind robust gegenüber Störungen und können in Echtzeit an Veränderungen der Umgebung angepasst werden. Wenn der Roboter während der Ausführung auf unvorhergesehene Hindernisse trifft, können die DMPs entsprechend moduliert werden, um darauf zu reagieren.

4. Durch ihre kompakte Repräsentation eignen sich DMPs gut, um aus wenigen Demonstrationen zu lernen. Die fünf bereitgestellten RGB-D-Videos sollten ausreichen, um die wesentliche Bewegung zu erfassen.

5. DMPs haben sich bereits in vielen Anwendungen als effektives Bewegungsprimitiv für das Lernen aus Demonstrationen bewährt und stellen somit eine solide Wahl für diese Aufgabe dar.

Zusammengefasst bieten Dynamic Movement Primitives die nötige Flexibilität, Generalisierungsfähigkeit und Robustheit, um die demonstrierte Aktion "Wasser Einschenken" zu modellieren und an die spezifische Anforderung der Hindernisvermeidung durch Einführung eines Zwischenpunkts anzupassen.





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




Answer to Question 5-6
Symbolische kognitive Architekturen gehen davon aus, dass Kognition auf der Manipulation von expliziten Symbolen und Regeln basiert. Wissen wird dabei in Form von symbolischen Repräsentationen gespeichert und verarbeitet, ähnlich wie in einem Computerprogramm. Ein Beispiel dafür ist die ACT-R Architektur.

Im Gegensatz dazu nehmen emergente kognitive Architekturen an, dass Kognition aus der Interaktion von einfachen subsymbolischen Einheiten entsteht, ohne explizite Regeln oder Symbole. Wissen ist dabei implizit in den Verbindungsstärken zwischen den Einheiten enkodiert, ähnlich wie in neuronalen Netzen. Ein Beispiel ist die konnektionistische Architektur.

Hybride kognitive Architekturen versuchen die Vorteile beider Ansätze zu kombinieren. Sie enthalten sowohl eine symbolische Ebene mit expliziten Regeln als auch eine subsymbolische Ebene, die emergentes Verhalten erzeugen kann. Beide Ebenen interagieren miteinander, um komplexe kognitive Funktionen zu realisieren. Auf diese Weise sollen die Stärken beider Paradigmen, wie Erklärbarkeit und Flexibilität, in einem Modell vereint werden.





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




Answer to Question 5-7
a) Es handelt sich bei dem durch $\alpha_i(t)$ gegebenen Vergessen-Mechanismus um einen Mechanismus mit zeitbasiertem Verfall. Die Parameter haben folgende Bedeutung:

$\beta_i$: Dieser Parameter gibt die Grundaktivierung oder Wichtigkeit (Importance) des Datums $i$ an. Je höher $\beta_i$, desto langsamer verfällt die Aktivierung von Datum $i$ über die Zeit.

$d$: Dieser Parameter bestimmt die Varianz $\sigma^2$ der Normalverteilung. Je größer $d$, desto breiter ist die Glockenkurve der Normalverteilung und desto langsamer verfällt die Aktivierung über die Zeit. $d$ steuert somit, wie schnell die Aktivierung zeitlich abklingt.

b) Gegeben:
- Zum Zeitpunkt $t = 1$ erhält das Gedächtnis das Datum $i_1$. 
- Zu Zeitpunkt $t = 2$ erhält das Gedächtnis das Datum $i_2$. 
- Zu Zeitpunkt $t = 3$ erhält das Gedächtnis das Datum $i_3$ und es werden die Daten $i_1$ und $i_2$ aus dem Gedächtnis abgerufen.
- $\beta_{i_1} = \beta_{i_2} = \beta_{i_3} = \beta$

Die Aktivierungen bei $t=3$ berechnen sich wie folgt:

$\alpha_{i_1}(3) = \beta \cdot (1 \cdot \mathcal{N}(\mu=1, \sigma^2=d)(3) + 1 \cdot \mathcal{N}(\mu=3, \sigma^2=d)(3))$

$\alpha_{i_2}(3) = \beta \cdot (1 \cdot \mathcal{N}(\mu=2, \sigma^2=d)(3) + 1 \cdot \mathcal{N}(\mu=3, \sigma^2=d)(3))$

$\alpha_{i_3}(3) = \beta \cdot (1 \cdot \mathcal{N}(\mu=3, \sigma^2=d)(3))$

Ordnung der Aktivierungen bei $t=3$:

$\alpha_{i_1}(3) > \alpha_{i_2}(3) > \alpha_{i_3}(3)$

Die Aktivierung von $i_1$ ist am höchsten, da es zweimal abgerufen wurde (bei $t=1$ und $t=3$). Die Aktivierung von $i_2$ ist am zweithöchsten, da es einmal hinzugefügt ($t=2$) und einmal abgerufen ($t=3$) wurde. Die Aktivierung von $i_3$ ist am niedrigsten, da es nur einmal hinzugefügt ($t=3$), aber nicht erneut abgerufen wurde.





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




