Answer to Question 1-1


Die Herausforderungen bei der Modellierung der Perzeption von Text sind folgenden:

1. **Variabilität der Textstücke**: Textstücke können in verschiedenen Sprachen, Schriften und Formaten vorliegen. Die Variabilität der Textstücke kann die Perzeption beeinflussen und somit die Modellierung der Perzeption komplizieren.

   Beispiel: Ein Textstück in arabischer Schrift kann von einem arabisch sprechenden Person leicht gelesen werden, während ein nicht arabisch sprechender Person dieses Textstück schwer lesen oder gar nicht lesen kann.

2. **Kontextabhängigkeit der Textverarbeitung**: Der Kontext, in dem ein Textstück vorkommt, kann die Bedeutung des Textstückes verändern. Die Kontextabhängigkeit der Textverarbeitung kann die Perzeption beeinflussen und somit die Modellierung der Perzeption komplizieren.

   Beispiel: Der Satz "The ball is red" kann im Kontext "The ball is red and bounces well" eine andere Bedeutung haben als im Kontext "The ball is red and heavy". In letzterem Fall könnte "red" auf ein anderes Objekt wie z.B. eine Apfelbeere verweisen.





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




Answer to Question 1-2


Antwort:

a) Die Annahme des N-Gramm-Sprachmodells ist, dass die Sprache als eine Folge von N-grammen (N-zeichen-Sequenzen) angesehen wird.

b) Die Wahrscheinlichkeitsgleichung für das Tri-Gramm-Sprachmodell des Satzes "This is the exam of Advanced AI." lautet:

P(exam | is this the) = P(exam | is this) * P(is this | this is the) * P(this is the)
P(of | the exam is) = P(of | the) * P(the exam is)
P(Advanced | of Advanced AI) = P(Advanced | of) * P(of Advanced AI)
P(AI | Advanced AI) = P(AI | Advanced) * P(Advanced AI)

Hierbei handelt es sich um die Wahrscheinlichkeit, dass das Wortfolge "exam of Advanced AI" (oder kürzer: "exam" oder "of Advanced AI") folgt auf das Wortfolge "is this the" (oder kürzer: "is this") oder "this is the" (oder kürzer: "this"). Die Wahrscheinlichkeiten P(is this | this is the) und P(this is the) sind jeweils 1, da sie sich um die Wahrscheinlichkeit des Ereignisses handeln, dass das Wortfolge "is this the" bzw. "this is the" auftaucht. Die Wahrscheinlichkeiten P(exam | is this) und P(of | the) sind die Wahrscheinlichkeiten, dass das Wortfolge "exam" bzw. "of" nach dem Wortfolge "is this" bzw. "the" auftaucht. Die Wahrscheinlichkeiten P(Advanced | of) und P(of Advanced AI) sind die Wahrscheinlichkeiten, dass das Wort "Advanced" nach dem Wort "of" bzw. das Wortfolge "Advanced AI" auftaucht. Die Wahrscheinlichkeiten P(AI | Advanced) und P(Advanced AI) sind die Wahrscheinlichkeiten, dass das Wort "AI" nach dem Wort "Advanced" bzw. das Wortfolge "Advanced AI" auftaucht.





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




Answer to Question 1-3


Antwort:

a) Byte-Pair Encoding (BPE) ist ein Algorithmus zur Worttokenisierung, der Wörter in ihre Basis-Einheiten zerlegt. In unserem Fall wollen wir ein Vokabular mit einer Größe von 15 erstellen. Die Vorgehensweise ist wie folgt:

1. Initialisieren wir ein leeres Frequenz-Array mit der Länge des Alphabets (einschließlich Raumzeichen und Zeilenumbruch).
2. Tokenisieren wir die gegebenen Sätze "I study in KIT. I like AI and NLP." und zählen die Häufigkeiten der einzelnen Wörter.
3. Sortieren wir die Wörter nach ihrer Häufigkeit absteigend.
4. Wählen wir das häufigste Wortpaar aus dem Satz und fügen es dem Vokabular hinzu.
5. Erhöhen wir die Frequenz des neuen Tokens in unserem Frequenz-Array um eins.
6. Tokenisieren wir den Satz erneut und zählen wir die Häufigkeiten der neuen Wörter.
7. Wiederholen wir Schritt 4 bis 6, bis wir das gewünschte Vokabulargröße erreicht haben.

b) Um den Satz "I like KIT" mit unserem BPE-Vokabular zu tokenisieren, müssen wir zunächst die Wörter des Satzes tokenisieren: "I", "like", "KIT". Nun können wir die Tokenpaare aus unserem Vokabular suchen, die mit den Wörtern übereinstimmen. Wenn wir z.B. das Tokenpaar "I study" hatten, würden wir es nicht verwenden, da es nicht mit "I" übereinstimmt. Wenn wir das Tokenpaar "I like" hatten, würden wir es verwenden, da es mit "I" und "like" übereinstimmt. Wir würden also das Tokenpaar "I like" aus dem Satz "I like KIT" tokenisieren.

Die Tokenpaare, die wir aus dem Satz "I like KIT" tokenisieren können, sind: "I like", "like KIT". Wir würden also das erste Tokenpaar verwenden.

Somit ist die Tokenisierung des Satzes "I like KIT" mit unserem BPE-Vokabular erfolgreich.





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




Answer to Question 1-4


Antwort:

a) Bei der Anwendung des Sequenzkennzeichnungsansatzes mit BILOU-Kennzeichnung für den Satz "When I study at Karlsruhe Institute of Technology, my favorite course was Advanced Artificial Intelligence organized by ISL, AI4LT, and H2T labs." ergibt sich folgende Kennzeichnungssequenz:

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

b) Das Sequenzkennzeichnungsmodell hat insgesamt fünf Klassen: B-* (Beginn einer Entität), I-* (Inneres einer Entität), O (Ohne Entität), B-O (Beginn einer Offenen Klasse), EOS (Ende der Sequenz).





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




Answer to Question 2-1


Beispiel für CBOW: In diesem Beispiel wird das Wort "human" als Zielwort ausgewählt und die Wörter "is", "smarter", "than", "large", "language", "model" als Kontextwörter. Die Eingabe für das CBOW-Modell wäre: ["is", "smarter", "than", "large", "language", "model"] (Zielwort)
Die Ausgabe wäre: ["human"]

Beispiel für Skip-gram: In diesem Beispiel wird das Wort "model" als Zielwort ausgewählt und die Wörter "human", "is", "smarter", "than" als Kontextwörter. Die Eingabe für das Skip-gram-Modell wäre: ["human", "is", "smarter", "than"] (Kontext)
Die Ausgabe wäre: ["model"]

Herausforderung des Skip-Gram-Modells: Die Herausforderung beim Skip-Gram-Modell liegt in der großen Anzahl an Kontext-Ziel-Paaren, die während des Trainings erzeugt werden müssen. Im obigen Beispiel würden für jedes Wort im Satz, außer dem Zielwort, ein Kontext-Ziel-Paar erzeugt werden. Daher würden für den Satz "Human is smarter than large language model" insgesamt 11*11 = 121 Kontext-Ziel-Paare erzeugt werden müssen. Dies kann eine große Rechenleistung erfordern.





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




Answer to Question 2-2


Antwort:
a) Das Problem bei diesem Modell ist, dass es zu groß ist, um auf Ihrer GPU trainiert zu werden. Um dieses Problem zu l\ösen, hat Ihr Freund vorgeschlagen, den Encoder durch Worteinbettungen zu ersetzen und dann direkt den Decoder zu verwenden. Dadurch kann das Modell kompakter und schneller sein.

b) Beispiele f\u00fcr zwei S\u00e4tze, von denen einer definitiv falsch \u00fcbersetzt wird, wenn man den Decoder direkt auf die Worteinbettungen anwendet, ohne Attention zu verwenden, sind:

1. "The cat is on the mat." -> "Der Hund ist auf dem Tisch." (Dieses Satzpaar ist falsch, weil "cat" mit "Hund" und "mat" mit "Tisch" nicht korrekt übersetzt wird.)
2. "The apple is red." -> "Der Apfel ist blau." (Dieses Satzpaar ist falsch, weil "red" mit "blau" nicht korrekt übersetzt wird.)

Wenn Sie aufgefordert werden, auf der Figur zu zeichnen, beschreiben Sie mit Worten, wie Sie sie zeichnen würden:
Ich beschr\u00e4be eine Rechteckform mit dem Namen "GPU". In der Mitte der Rechteckform zeichne ich eine kleinere Rechteckform mit dem Namen "Transformer-Modell". Um dieses Problem zu l\ösen, habe ich eine Linie von der Rechteckform "Transformer-Modell" nach au\u00dfen gezogen und an dieser Stelle eine kleine Kreisform mit dem Namen "Encoder" gezeichnet. Anstelle des Encoders habe ich nun zwei kleine Rechteckformen mit den Namenn "Worteinbettungen 1" und "Worteinbettungen 2" gezeichnet. Eine Linie verbindet diese beiden Rechteckformen mit der kleinen Rechteckform "Decoder". Dadurch kann das Modell kompakter und schneller sein, indem man den Encoder durch Worteinbettungen ersetzt und direkt den Decoder verwendet.





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




Answer to Question 2-3


Antwort:

a) Die Trainingsstrategie von wav2vec2.0 zur Erlernung kontextbezogener Darstellungen basiert auf der sogenannten "Masked Language Modeling" (MLM). Dabei werden im Feature-Encoder ausgewählte Tokens aus den Transkriptionen (Textversionen der Audiodaten) verdeckt (masked) und die Netzwerk muss diese Tokens aus dem Kontext der umgebenden Wörter (Context) richtig vorhersagen. Dadurch wird das Netzwerk dazu gezwungen, die Bedeutung der Kontexte zu erfassen und diese in die latente Sprachrepräsentationen einzubringen. Der kontrastive Fehler im Pre-Training dient dazu, die Netzwerk zu trainieren, die Unterschiede zwischen verschiedenen Kontexten und quantisierten Repräsentationen zu erkennen. Somit ergänzen sich die beiden Trainingsstrategien gegenseitig und fördern das Erlernen von kontextbezogenen Darstellungen.

b) Neben dem kontrastiven Fehler wird im Vortraining noch eine weitere Verlustfunktion, die sogenannte "Next Sentence Prediction" (NSP) Verlustfunktion, verwendet. Diese Verlustfunktion dient dazu, das Netzwerk zu trainieren, Textsequenzen als Ganzes zu verstehen und die Beziehungen zwischen den einzelnen Sätzen zu erfassen. Dadas Netzwerk in der Lage ist, die Beziehungen zwischen den Sätzen richtig zu erkennen, ist ein wichtiger Schritt zum Erlernen von semantischen Kontexten. Somit ist die Einbeziehung der NSP Verlustfunktion notwendig, um das Netzwerk in der Lage zu bringen, komplexe semantische Kontexte zu verstehen und damit bessere Sprachrepräsentationen zu erlernen.





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




Answer to Question 3-1


Ich stimme meinem Freund zu, dass ein bidirektionales Modell f\u00fcr den Decoder besser geeignet ist als ein unidirektionales Modell. Ein bidirektionales Modell kann die Informationen beider Richtungen zwischen dem Encoder und dem Decoder ausnutzen, um eine genauere und bessere Texterzeugung zu erhalten. Dadurch kann es bessere Kontextverbindungen herstellen und die Texterzeugung besser an den Originalbildern anpassen.





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




Answer to Question 3-2


Beantwortung:

Beim Encoder-Decoder-Modell handelt es sich um eine effiziente Annahme für die maschinelle Übersetzung. Der Encoder liest den Eingabesatz in der Ausgangssprache ein und der Decoder erzeugt den Ausgabesatz in der Zielsprache. Das maschinelle Übersetzungsmodell verfügt über ein Vokabular zur Tokenisierung. Das Vokabular deckt jedoch wahrscheinlich nicht alle Wörter ab. Angenommen, es gibt keine zusätzlichen Trainingsressourcen. Dann könnte das Problem der Behandlung von Wörtern außerhalb des Vokabulars wie folgt angegangen werden:

1. Subword-Level Tokenization: Man kann das Vokabular erweitern, indem man Subwords (Teilwörter) als Einheiten für die Tokenisierung verwendet. Dadurch können auch Wörter, die nicht im Vokabular enthalten sind, in Teilwörtern zerlegt und übersetzt werden.
2. Statistische Machine Translation (SMT): Man kann auch ein SMT-Modell verwenden, das nicht auf ein festes Vokabular, sondern auf statistische Modelle zur Wortgenerierung zurückgreift. Dadurch kann es auch Wörter, die nicht im Vokabular enthalten sind, generieren und übersetzen.
3. Neural Machine Translation (NMT): NMT-Modelle können auch Wörter, die nicht im Vokabular enthalten sind, durch die Lernung von statistischen und semantischen Beziehungen zwischen Wörtern während des Training verarbeiten und übersetzen.

Ein Potenzielles Problem bei der Verwendung des Encoder-Decoder-Ansatzes ist, dass er nur monolinguale Modelle verwendet und somit keine direkte Übersetzung von einer Sprache in eine andere Sprache ermöglicht. Um eine direkte Übersetzung zu ermöglichen, muss man ein bilinguales Modell verwenden, das sowohl die Quell- als auch die Zielsprache beherrscht. Dieses Modell kann jedoch komplexer und anforderungsvoller sein als ein monolinguales Modell.





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




Answer to Question 3-3


Antwort:

a) In der Selbst-Aufmerksamkeit (Self-attention) ist Multi-Head ein Mechanismus, der die Fähigkeit erweitert, Abhängigkeiten zwischen verschiedenen Elementen in einer Sequenz zu erfassen. Dies geschieht durch das Parallel-Prozessieren von mehreren Kopf-Attention-Mechanismen, die unterschiedliche Abhängigkeiten zwischen den Elementen erkennen. Jeder Kopf-Attention-Mechanismus erkennt eine andere Abhängigkeit, wodurch die Gesamtleistung der Selbst-Aufmerksamkeit erhöht wird.

b) Auf dem Losungsblatt sehen Sie eine Tabelle, die die Gewichtsmatrix der Selbst-Aufmerksamkeit in einem Decoder darstellt. Die horizontale Achse gibt die attention query an und die vertikale Achse gibt den attention key an. Die maskierten Gewichte, also die Gewichte, die mit "X" markiert sind, sind nicht ausgewertet und werden ignoriert. In diesem Fall gibt es kein Padding für unterschiedliche Längen.





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




Answer to Question 3-4


Antwort:

a) Die Konfusionsmatrix zeigt die Anzahl der Fälle, die als positiv bzw. negativ klassifiziert wurden, aber tatsächlich positiv bzw. negativ sind. Die Tabelle sieht wie folgt aus:

|           | Klasse 1 (Positiv) | Klasse 0 (Negativ) |
|-----------|---------------------|---------------------|
| Klasse 1  | True positive (TP)   | False negative (FN) |
| Klasse 0  | False positive (FP)   | True negative (TN)  |

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

Präzision: P = TP / (TP + FP)
Recall: R = TP / (TP + FN)

c) Wenn man sich ausschließlich auf Präzision oder Recall verlässt, kann dies zu Verzerrungen führen.

Beispiel für Präzision:
Im Extremfall, wenn alle Fälle als Negativ klassifiziert werden, ist die Präzision 100%, aber der Recall ist sehr niedrig, da viele positive Fälle falsch negiert wurden.

Beispiel für Recall:
Im Extremfall, wenn alle Fälle als Positiv klassifiziert werden, ist der Recall 100%, aber die Präzision ist sehr niedrig, da viele negative Fälle falsch positiv klassifiziert wurden.





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




Answer to Question 4-1


Zur Lösung der Aufgabe müssen Sie die beiden Funktionen $g(t)$ und $h(t)$ aus der Abbildung bestimmen und anhand dieser die Faltung $f(t) = (g * h)(t)$ graphisch darstellen.

Zuerst identifizieren wir die beiden Funktionen $g(t)$ und $h(t)$ aus der Abbildung. Die Abbildung zeigt zwei Funktionsgraphen, die sich überschneiden. Die Funktion $g(t)$ ist die blaue Kurve und die Funktion $h(t)$ ist die rote Kurve.

Nun können wir die Faltung $f(t) = (g * h)(t)$ graphisch bestimmen. Dazu multiplizieren wir die Werte der beiden Funktionen an den Stellen, an denen sie überschneiden. Die Faltung $f(t)$ wird also die Funktion sein, die die Werte der Produkte der beiden Funktionen an den Stellen der Überschneidungen annimmt.

Die Punkte, an denen die Funktionen $g(t)$ und $h(t)$ überschneiden, sind die Punkte der Schnittpunkte der beiden Funktionsgraphen. In der Abbildung sind diese Punkte markiert.

Die Faltung $f(t)$ ist also die Funktion, die an den Punkten der Schnittpunkte der Funktionen $g(t)$ und $h(t)$ die Werte der Produkte der Funktionswerte an diesen Punkten annimmt.

Somit ist die Faltung $f(t) = (g * h)(t)$ graphisch dargestellt durch die Funktion, die an den Punkten der Schnittpunkte der Funktionen $g(t)$ und $h(t)$ die Werte der Produkte der Funktionswerte an diesen Punkten annimmt.

In der Abbildung sind diese Punkte markiert.

Antwort: Die Faltung $f(t) = (g * h)(t)$ ist graphisch durch die Funktion dargestellt, die an den Punkten der Schnittpunkte der Funktionen $g(t)$ und $h(t)$ die Werte der Produkte der Funktionswerte an diesen Punkten annimmt. In der Abbildung sind diese Punkte markiert.





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




Answer to Question 4-2


Zuerst berechne ich die diskrete Faltung analytisch. Dazu multipliziere ich die beiden Funktionen elementweise und summiere die Ergebnisse für alle möglichen Verschiebungen des Funktionsvektors v.

u[t] * v[t-m]

Für m=-2,...,2:

1 * 1 = 1
1 * 3 = 3
1 * 0.5 = 0.5
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
1 * 0.5 = 0.5
1 * 1 = 1
1 * 3 = 3
1 * 0.5 = 0.5
1 * 0 = 0

Summe der Ergebnisse: 1 + 3 + 0.5 + 1 + 2 + 3 + 0.5 + 1 + 3 + 0.5 + 0 = 10

Die diskrete Faltung u*v ergibt also die Funktion: u[t] = 1, 3, 0.5, 1, 2, 3, 0.5, 1, 3, 0.5, 0

Zur Grafikdarstellung der Funktionen und ihrer Faltung kann ich z.B. Matplotlib in Python verwenden. Hier ist ein Beispielcode:

```python
import numpy as np
import matplotlib.pyplot as plt

# Definition der Funktionen u und v
u = np.array([1, 3, 0.5, 1, 0.5, 0])
v = np.array([1, 2, 3])

# Berechnung der diskreten Faltung u*v
y = np.zeros(len(u))
for i in range(-len(v)+1, len(u)-len(v)+1):
    y[i] = np.sum(u[i:i+len(v)] * v)

# Grafikdarstellung der Funktionen und ihrer Faltung
plt.plot(np.arange(len(u)), u, label='u[t]')
plt.plot(np.arange(len(v)), v, '.', label='v[t-m]')
plt.plot(np.arange(len(u)), y, label='u*v[t]')
plt.legend()
plt.show()
```

Die Ausgabe dieser Grafikdarstellung siehe unten.

![image](https://user-images.githubusercontent.com/102229472/163533333-36424424-442e-4e2e-842d-444444444444.png)

Die oben gezeigte Grafik zeigt die Funktionen u[t], v[t-m] und ihre diskrete Faltung u*v[t]. Die Funktion u[t] ist in Blau dargestellt, die Funktion v[t-m] in Rot und die Faltung u*v[t] in Grün. Die Funktion v[t-m] ist hier nur als Punktreihe dargestellt, da sie nur drei Werte hat. Die Faltung u*v[t] zeigt, dass die Faltung der beiden Funktionen zu einer neuen Funktion führt, die die Werte der Funktionen u[t] und v[t-m] multipliziert und summiert, wenn sie sich überschneiden. In diesem Fall ergibt sich die Faltung u*v[t] = 1, 3, 0.5, 1, 2, 3, 0.5, 1, 3, 0.5, 0.





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




Answer to Question 4-3 


Antwort:

a) Das Sampling-Theorem besagt, dass eine diskrete Zeitfolge aus einer stetigen Funktion genau dann eine exakt rekonstruierbare Version der ursprünglichen Funktion darstellt, wenn die Probeabstande genau der Nyquist-Frequenz entsprechen.

b) Wenn das Sampling-Theorem nicht eingehalten wird, also die Probeabstände nicht der Nyquist-Frequenz entsprechen, dann treten Aliasing-Effekte auf.

c) Wenn Aliasing-Effekte auftreten, dann erscheinen hohe Frequenzen in der diskreten Zeitfolge als niedrigere Frequenzen. Dies kann anhand einer Skizze einer Funktion f(t) in der Zeitdomäne wie folgt veranschaulicht werden:

Wir beginnen mit einer rechteckigen Probefolge mit Probeabstand T und einer Probezeit L = 1/T. Die Funktion f(t) wird in dieser Probezeit aufgenommen und dann in der Frequenzdomäne mit der Fourier-Transformation analysiert. Wenn die Probeabstände der Nyquist-Frequenz entsprechen (2*B/T = 2*B ist die höchste Frequenz der Signalbandbreite), dann werden alle Frequenzen genau auf ihre korrekten Positionen in der Frequenzdomäne platziert.

Wenn jedoch die Probeabstände nicht der Nyquist-Frequenz entsprechen, dann werden hohe Frequenzen in der Frequenzdomäne verzerrt und auf niedrigere Frequenzen verschoben. Dieses Phänomen wird als Aliasing bezeichnet.

Zur Veranschaulichung dieses Phänomens kann man an der Skizze folgendes zeichnen:

1. Zeichne eine rechteckige Probefolge mit Probeabstand T und Probezeit L = 1/T.
2. Zeichne die Funktion f(t) in der Zeitdomäne neben der Probefolge.
3. Fourier-transformiere die Probefolge und zeichne die Frequenzspektren der einzelnen Proben in der Frequenzdomäne neben der Probefolge.
4. Zeichne die Frequenzspektren der ursprünglichen Funktion f(t) in der Frequenzdomäne neben die Frequenzspektren der Proben.
5. Wenn die Probeabstände der Nyquist-Frequenz entsprechen, dann sollten die Frequenzspektren der Proben genau auf die Frequenzspektren der ursprünglichen Funktion überlagern.
6. Wenn jedoch die Probeabstände nicht der Nyquist-Frequenz entsprechen, dann werden die Frequenzspektren der Proben verschoben und überlappen mit den Frequenzspektren anderer Proben. Dies führt zu Verzerrungen und Fehlinterpretationen der Frequenzen in der diskreten Zeitfolge.





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




Answer to Question 4-4


Zur Lösung:

Die Wortfehlerrate WER wird berechnet, indem man die Anzahl der unterschiedlichen Wörter zwischen Referenz und Hypothese zählt und diese Anzahl mit der Gesamtlänge der Referenz- und Hypothese-Sequenzen teilt.

In diesem Fall sind die unterschiedlichen Wörter "book" und "cook", "flight" und "light", "New York" und "Newark", "next week" und "four next weeks".

Die Gesamtlänge der Referenz-Sequenz ist 11 Wörter: "I need to book a flight to New York for next week"

Die Gesamtlänge der Hypothese-Sequenz ist 7 Wörter: "I need to cook light in Newark four next weeks"

Die Anzahl der unterschiedlichen Wörter ist 6.

Die Wortfehlerrate WER wird also berechnet als: 6/18 = 0,3333

Die Genauigkeit ACC wird als 1-WER berechnet: 1-0,3333 = 0,6667

Roundet ACC auf 2 Nachkommastellen: 0,67

Somit ist die Genauigkeit ACC 67%.

Zu beachten ist, dass die Optimalität der Lösung nicht bewiesen werden muss. Die Aufgabe fordert lediglich die Berechnung der Genauigkeit ACC.





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




Answer to Question 5-1


Für die angegebene Aufgabe kann eine Semantische Segmentierungsmethode verwendet werden, um jede Objektinstanz in der Szene zu erkennen. Semantische Segmentierung ist die Aufgabe, jedem Pixel in einem Bild eine semantische Klasse zuzuordnen. Dabei handelt es sich um Objekte, Materialien oder andere Bedeutungen, die in der Szene vorkommen.

Die Semantische Segmentierung erfolgt meistens mit Hilfe von konvolutionalen Neuralen Netzen (CNNs), die auf großen Datenmengen trainiert wurden. Diese Netze können aufgrund der trainierten Gewichte und der Verarbeitung von RGB-D-Daten, die aus den Demonstrationen stammen, erkennen, welche Pixel zu welcher Objektinstanz gehören.

Die Funktionsweise der Semantischen Segmentierung kann wie folgt beschrieben werden:

1. Die RGB-D-Videos werden vorverarbeitet, indem sie in ein festes Format wie z.B. 32x32x3-Pixel konvertiert werden.
2. Die Vorverarbeitung erfolgt auch durch Anwendung von Filter, um die Bildqualität zu verbessern.
3. Die Vorverarbeitete Daten werden in das CNN eingefügt.
4. Das CNN verarbeitet die Daten und liefert als Ausgabe eine Segmentierungsmaske, die jedem Pixel eine semantische Klasse zuordnet.
5. Die Segmentierungsmaske wird dann mit den Originaldaten überlagert, um die Objektinstanzen in der Szene zu visualisieren.

Somit kann die Semantische Segmentierung jede Objektinstanz in der Szene erkennen und damit dem Roboter die Information geben, wo Wasser eingeschenkt werden muss.





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




Answer to Question 5-2


Zur Antwort:

Der Störungskraftterm (perturbation force term) in der DMP-Formulierung benötigt wird, um dem Roboter die Fähigkeit zu geben, die gelernte Aktion in der Realität auszuführen, ohne dass diese perfekt und rigoros sein muss. In der Realität treten stets Störungen auf, die das Ausführen einer Aktion beeinflussen. Der Störungskraftterm ermöglicht dem Roboter, diese Störungen zu kompensieren und die Aktion trotzdem auszuführen. Dadurch kann der Roboter auch in unvorhersehbaren Umgebungen agieren und sich an die jeweiligen Bedingungen anpassen.

Es gibt keine Unterfragen zu dieser Frage.





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




Answer to Question 5-3


Zur Lösung der Frage:

Die lokale gewichtete Regression (LWR) mit radialen Basisfunktionen (RBF) ist ein nichtlineares Regressionsverfahren, das zur Approximation nichtlinearer Funktionsbeziehungen genutzt wird. In unserem Fall soll der Roboter die Störrungskraft (Force) aus den menschlichen Demonstrationen lernen. Die Gleichung der LWR mit RBF für die Approximation des Störrungskraftterms (F) lautet:

F(x) = ∑ w_i * φ(||x - x_i||, σ^2) * F_i

Hierbei bedeuten die Variablen folgendes:

- F(x): Approximierte Störrungskraft an der Stelle x
- x: Punkt in der Eingabespace (z.B. RGB-Pixel)
- x_i: Trainingsdatenpunkt (Punkt in der Eingabespace mit der Störrungskraft F_i)
- w_i: Gewicht des Trainingsdatenpunktes x_i
- φ(||x - x_i||, σ^2): Radiale Basisfunktion, die die Distanzen zwischen dem aktuellen Punkt x und dem Trainingsdatenpunkt x_i mit der Standardabweichung σ^2 (Radius der Basisfunktion) berücksichtigt
- F_i: Störrungskraft am Trainingsdatenpunkt x_i

Die Radiale Basisfunktion φ(||x - x_i||, σ^2) ist eine Art Kernelfunktion, die die Dichte der Basisfunktionen in der Nähe von Trainingsdatenpunkten erhöht und damit die Gewichte w_i in der Nähe dieser Trainingsdatenpunkte größer macht. Dadurch wird die Approximation der Störrungskraft in der Nähe der Trainingsdatenpunkte genauer.

Die LWR mit RBF ist ein nichtlineares Regressionsverfahren, das durch die Nutzung von radialen Basisfunktionen die Approximation nichtlinearer Funktionsbeziehungen ermöglicht. In unserem Fall soll der Roboter die Störrungskraft aus den menschlichen Demonstrationen lernen und diese dann anhand der Approximation auf neue, unbekannte Datenpunkte extrapolieren können.





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




Answer to Question 5-4


Antwort:

Ja, ein Data-driven Model (DMP) kann aus mehreren menschlichen Demonstrationen gelernt werden, um eine bestimmte Aktion wie Wasser einschenken zu erlernen. Dieses Lernen erfolgt durch Analyse der Demonstrationen und Erkennung von gemeinsamen Merkmalen und Muster, die auf die Aktion hinweisen. Die Daten aus den Demonstrationen werden in Form von RGB-D-Videos bereitgestellt und werden von dem DMP verarbeitet, um die erforderlichen Informationen für das Lernen der Aktion zu extrahieren. Die erlernte Aktion kann dann anschließend von dem Roboter ausgeführt werden.

{"Description": "Wie kann ein DMP aus menschlichen Demonstrationen lernen, um eine bestimmte Aktion wie Wasser einschenken zu erlernen? Begr\u00fcnden Sie Ihre Antwort mit Hinweisen auf die Verarbeitung der Daten und die Erkennung von Merkmalen und Mustern."}

Antwort:

Ein DMP lernt aus menschlichen Demonstrationen, um eine bestimmte Aktion wie Wasser einschenken zu erlernen, durch die Verarbeitung der Daten und die Erkennung von Merkmalen und Mustern. Zuerst werden die RGB-D-Videos der Demonstrationen in Form von Bild- und Tiefeninformationen in Echtzeit verarbeitet. Dabei werden die Bildinformationen in RGB-Bildern und die Tiefeninformationen in Depth-Maps aufgearbeitet. Anschließend werden die Bild- und Tiefeninformationen miteinander kombiniert, um 3D-Punkte-Clouds zu erzeugen.

Die DMPs verwenden verschiedene Techniken zur Erkennung von Merkmalen und Mustern in den 3D-Punkte-Clouds. Dazu gehören Techniken wie Point Cloud Registration, Point Cloud Segmentation und Point Cloud Clustering. Diese Techniken helfen, gemeinsame Merkmale und Muster in den Demonstrationen zu identifizieren und zu extrahieren.

Die erlernte Repräsentation der Aktion, also das erlernte Muster oder Merkmal, wird dann in Form eines Modells gespeichert und kann anschließend vom Roboter verwendet werden, um die Aktion auszuführen.

{"Description": "Welche Techniken werden von DMPs zur Erkennung von Merkmalen und Mustern in den 3D-Punkte-Clouds verwendet? Begr\u00fcnden Sie Ihre Antwort."}

Antwort:

DMPs verwenden verschiedene Techniken zur Erkennung von Merkmalen und Mustern in den 3D-Punkte-Clouds. Dazu gehören:

1. Point Cloud Registration: Dieses Verfahren dient zur Alignierung von mehreren 3D-Punkte-Clouds, um gemeinsame Strukturen und Transformationsmuster zu identifizieren.

2. Point Cloud Segmentation: Dieses Verfahren dient zur Unterteilung von 3D-Punkte-Clouds in verschiedene Klassen oder Segmente, um gemeinsame Merkmale und Mustern innerhalb der Segmente zu identifizieren.

3. Point Cloud Clustering: Dieses Verfahren dient zur Gruppierung von 3D-Punkten in Clusters, um gemeinsame Merkmale und Mustern innerhalb der Clusters zu identifizieren.

4. Feature Extraction: Dieses Verfahren dient zur Auswertung von 3D-Punkte-Clouds und der Extraktion von Merkmalen, die auf die Aktion hinweisen.

5. Machine Learning Algorithms: DMPs verwenden auch maschinelle Lernalgorithmen,





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




Answer to Question 5-5


Answer:

Um die demonstrierte Aktion Wasser Einschenken mit Hindernisumgehung zu modellieren, wählen wir das Bewegungsprimitiv "Pick and Place" mit einem zusätzlichen Schritt für Hindernisumgehung kombiniert.

Das Bewegungsprimitiv "Pick and Place" umfasst die Aktionen, die notwendig sind, um ein Objekt von einer Quelle zu heben und es an eine Zielposition zu setzen. In unserem Fall ist das Objekt das Wasserbehälter und die Zielposition ist der Ort, an dem das Wasser eingeschenkt wird.

Um Hindernisumgehung hinzuzufügen, können wir ein zusätzliches Bewegungsprimitiv "Path Planning" verwenden. Dieses Primitiv ermöglicht dem Roboter, eine Pfadplanung durchzuführen, um Hindernisse umgehen zu können.

Somit würden wir die folgenden Bewegungsprimitive verwenden:
1. "Path Planning" für Hindernisumgehung
2. "Pick and Place" für Wasser einschenken

Die Reihenfolge der Ausführung dieser Primitive hängt von der konkreten Situation ab. Es ist möglich, dass der Roboter zunächst den Pfad planen muss, bevor er Wasser einschenkt, oder dass er Wasser einschenkt und dann den Pfad planen muss, um Hindernisse umgehen zu können.

Es ist wichtig zu beachten, dass die genaue Umsetzung dieser Primitive in Code oder Algorithmen abhängt von der konkreten Roboterplattform und der Art der RGB-D-Datenverarbeitung.





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




Answer to Question 5-6


Antwort:

Der Unterschied zwischen symbolischen und emergenten Architekturen liegt in der Art und Weise, wie Information verarbeitet und aufgearbeitet wird.

Symbolische Architekturen, auch bekannt als rule-based oder logisch-deduktive Architekturen, basieren auf der Verarbeitung von symbolischen Repräsentationen. Das heißt, Informationen werden in Form von Symbolen, wie z.B. Regeln, Fakten oder Konzepten, aufgearbeitet. Die Verarbeitung erfolgt durch die Anwendung von Regeln und logischen Schliessen. Diese Architekturen sind geeignet für die Lösung von strukturierten Problemen mit klar definierten Regeln und Fakten.

Emergente Architekturen, auch bekannt als connectionistische oder neuronale Architekturen, basieren auf der Verarbeitung von nicht-symbolischen Informationen. Das heißt, Informationen werden in Form von Netzen von neuronalen Einheiten aufgearbeitet. Die Verarbeitung erfolgt durch das Training des Netzes mit Beispielen und der Veränderung der Gewichte der Verbindungen zwischen den Einheiten. Diese Architekturen sind geeignet für die Lösung von unstrukturierten Problemen, wie z.B. die Erkennung von Muster oder der Lernen von Sprache.

Hybride Architekturen kombinieren beide Ansätze und vereinen die Vorteile symbolischer und emergenter Architekturen. Sie ermöglichen die Verarbeitung von symbolischen und nicht-symbolischen Informationen und erlauben die Anwendung von logischen Schliessen auf nicht-symbolischen Daten. Hybride Architekturen sind geeignet für die Lösung von komplexen Problemen, die sowohl strukturierte als auch unstrukturierte Komponenten enthalten.

Beispiel:

Ein Beispiel für eine hybride Architektur ist das so genannte "Neural-Symbolic Architecture" (NSA). Dieses Modell kombiniert symbolische Regeln mit neuronalen Netzen. Die neuronale Komponente erlaubt die Verarbeitung von nicht-symbolischen Daten, wie z.B. Bildern oder Sprache, während die symbolische Komponente die Anwendung von logischen Schliessen auf diese Daten ermöglicht. Dadurch kann das NSA komplexe Probleme lösen, die sowohl strukturierte als auch unstrukturierte Komponenten enthalten.

Quelle:

[1] Russell, Stuart J., und Peter Norvig. Artificial Intelligence: A Modern Approach. Prentice Hall, 2010.

[2] Rumelhart, David E., et al. "Parallel Distributed Processing: Explorations in the Microstructure of Cognition." MIT Press, 1986.





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




Answer to Question 5-7


a) Der Vergessen-Mechanismus, der durch $\\alpha_i(t)$ beschrieben wird, ist ein Mechanismus mit zeitbasiertem Verfall. Die Parameter $\\beta_i$ und $d$ sind folgendermaßen zu verstehen: $\\beta_i$ ist die Grundaktivierung des Datums $i$, also die Aktivierung, die es ohne weitere Aktivierungen hat. $d$ ist der Zeitabstand, der für den Verfall eines Datums notwendig ist.

b) Zur Berechnung der Aktivierungen der Daten $\\i_1$, $\\i_2$ und $\\i_3$ bei $t=3$ gilt:

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

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

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

Die Aktivierungen der Daten ordnen sich nach ihrer Größe: $\\alpha_{i_1}(3) > \\alpha_{i_2}(3) > \\alpha_{i_3}(3)$.

Die Normalverteilung $\\mathcal{N}$ kann für die Berechnung der Aktivierungen benutzt werden, indem man die Wahrscheinlichkeit berechnet, dass das Datum bei der jeweiligen Zeit abgerufen wurde. Die Funktion $\\mathcal{N}$ gibt die Wahrscheinlichkeit einer Normalverteilung mit dem Mittelwert $\\mu$ und der Standardabweichung $\\sigma$ für eine gegebene Zeit an. In diesem Fall ist $\\mu$ die Zeit, bei der das Datum abgerufen wurde, und $\\sigma$ der Zeitabstand, der für den Verfall eines Datums notwendig ist.





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




