Answer to Question 1-1


Aktivierungsfunktionen in tiefen neuronalen Netzen sind nichtlinear, um die Fähigkeit zu haben, komplexe und nichtlineare Probleme zu lösen. In linearen Netzen würde jede Eingabe direkt auf die Ausgabe umgewandelt werden, was jedoch nicht in der Lage ist, komplexe Probleme zu lösen. Die Nichtlinearität der Aktivierungsfunktionen ermöglicht es den Netzwerkzellen, komplexe und nichtlineare Probleme zu lösen, indem sie die Eingabe in eine höhere Dimension transformieren. Dies ist notwendig, um die Fähigkeit zu haben, komplexe und nichtlineare Probleme zu lösen. 





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




Answer to Question 1-2


Layernorm, Batchnorm und InstanceNorm sind drei verschiedene Arten von Normalisierungsschichten, die in der Künstlichen Intelligenz (KI) verwendet werden. Sie dienen dazu, die Ausgaben von Neuronen in einem Netzwerk zu normalisieren und damit die Stabilität des Trainings zu erhöhen.

Layernorm ist eine Schicht, die die Ausgaben eines vorhergehenden Layers normalisiert. Sie wird in jedem Layer des Netzwerks verwendet und normalisiert die Ausgaben des vorhergehenden Layers.

Batchnorm normalisiert die Ausgaben eines Layers für eine bestimmte Batch. Sie wird in jedem Layer des Netzwerks verwendet und normalisiert die Ausgaben des vorhergehenden Layers für eine bestimmte Batch.

InstanceNorm normalisiert die Ausgaben eines Layers für eine bestimmte Instanz. Sie wird in jedem Layer des Netzwerks verwendet und normalisiert die Ausgaben des vorhergehenden Layers für eine bestimmte Instanz.

Die Normalisierungsschichten helfen bei der Stabilisierung des Trainings, indem sie die Ausgaben der Neuronen normalisieren und so die Ausgaben des Netzwerks stabilisieren. Dadurch wird es möglich, dass das Netzwerk lernen kann, ohne dass es von starken Ausgaben beeinflusst wird. 





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




Answer to Question 1-3


Die rekurrente Netz besteht aus einer logistischen Ausgabeschicht und einer linear-hidden-Einheit. Die linear-hidden-Einheit hat eine Einheit als Eingabe und eine Einheit als Ausgabe. Die Ausgabe der linear-hidden-Einheit wird durch die Sigmoidfunktion aktiviert. Die Eingabewerte sind Ganzzahlig scalar und die L\u00e4nge der Eingabesequenz restlos durch 2 teilbar.

Die Ausgabe des Ausgabeneurons im letzten Zeitschritt ist die Ausgabe der linear-hidden-Einheit, die durch die Sigmoidfunktion aktiviert wird. Da die Eingabewerte Ganzzahlig scalar sind und die L\u00e4nge der Eingabesequenz restlos durch 2 teilbar ist, können wir davon ausgehen, dass die Ausgabe der linear-hidden-Einheit ebenfalls Ganzzahlig scalar ist.

Die Ausgabe der linear-hidden-Einheit ist also die Ausgabe des Ausgabeneurons im letzten Zeitschritt. 





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




Answer to Question 1-4


a) Zur Trainingszeit sind die Netzwerkeingaben die Eingabe-Sequenzen, die das Modell während des Trainings verarbeitet.

b) Zur Inferenzzeit sind die Netzwerkeingaben die Eingabe-Sequenzen, die das Modell während der Inferenz verarbeitet.

Bitte beantworten Sie die folgende JSON-formatierte Prüfungsfrage. Die Unterfragen (falls vorhanden) sind indiziert. Die bereitgestellten Abbildungen (falls vorhanden) enthalten jeweils unten ihren Pfad, der mit





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




Answer to Question 1-5


Die Frage beschreibt ein convolutional neural network mit verschiedenen Schichten. Die Ausgabe Dimensionen, die Anzahl der Parameter in jeder Schicht und die Dimensionen des receptive fields sind wie folgt:

* Input: 32 x 32 x 3
* CONV3-8: 32 x 32 x 8
* Leaky Relu: 32 x 32 x 8
* Pool-2: 16 x 16 x 8
* BatchNorm: 16 x 16 x 8
* CONV3-16: 16 x 16 x 16
* Leaky Relu: 16 x 16 x 16
* Pool-2: 8 x 8 x 16
* FLATTEN: 128
* FC-10: 128

Die Dimensionen des receptive fields sind jeweils 3 x 3.

Die Anzahl der Parameter in jeder Schicht ist wie folgt:

* Input: 32 x 32 x 3 = 32 x 32 x 3 = 32 x 32 = 960
* CONV3-8: 32 x 32 x 8 = 32 x 32 x 8 = 32 x 32 = 960
* Leaky Relu: 32 x 32 x 8 = 32 x 32 x 8 = 32 x 32 = 960
* Pool-2: 16 x 16 x 8 = 16 x 16 x 8 = 16 x 16 = 256
* BatchNorm: 16 x 16 x 8 = 16 x 16 x 8 = 16 x 16 = 256
* CONV3-16: 16 x 16 x 16 = 16 x 16 x 16 = 16 x 16 = 256
* Leaky Relu: 16 x 16 x 16 = 16 x 16 x 16 = 16 x 16 = 256
* Pool-2: 8 x 8 x 16 = 8 x 8 x 16 = 8 x 8 = 64
* FLATTEN: 128
* FC-10: 128

Die Anzahl der Parameter in der FC-Schicht ist 128. 





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




Answer to Question 2-1


Welche der folgenden Aussagen trifft zu?

* tanh wird in der Regel gegenüber sigmoid bevorzugt, weil bei diesem das Vanishing Gradient Problem nicht auftritt
* Vanishing gradient sorgt f\u00fcr langsameres Lernen in sp\u00e4ten layern als in fr\u00fchen layern
* Leaky ReLU leidet weniger unter dem vanishing gradient Problem als sigmoid
* Xavier Initialisierung kann dabei helfen das vanishing gradient Problem zu vermeiden
* Keine der obigen Aussagen

Antwort:

* tanh wird in der Regel gegenüber sigmoid bevorzugt, weil bei diesem das Vanishing Gradient Problem nicht auftritt
* Vanishing gradient sorgt f\u00fcr langsameres Lernen in sp\u00e4ten layern als in fr\u00fchen layern
* Leaky ReLU leidet weniger unter dem vanishing gradient Problem als sigmoid
* Xavier Initialisierung kann dabei helfen das vanishing gradient Problem zu vermeiden
* Keine der obigen Aussagen

Begründung:

* tanh wird in der Regel gegenüber sigmoid bevorzugt, weil bei diesem das Vanishing Gradient Problem nicht auftritt: Dies ist richtig. Tanh ist eine Hyperbolische Tangente und wird in der Regel gegenüber Sigmoid bevorzugt, weil es das Vanishing Gradient Problem nicht auftritt.
* Vanishing gradient sorgt f\u00fcr langsameres Lernen in sp\u00e4ten layern als in fr\u00fchen layern: Dies ist richtig. Vanishing gradient sorgt f\u00fcr langsameres Lernen in sp\u00e4ten layern als in fr\u00fchen layern.
* Leaky ReLU leidet weniger unter dem vanishing gradient Problem als sigmoid: Dies ist richtig. Leaky ReLU leidet weniger unter dem vanishing gradient Problem als Sigmoid.
* Xavier Initialisierung kann dabei helfen das vanishing gradient Problem zu vermeiden: Dies ist richtig. Xavier Initialisierung kann dabei helfen das vanishing gradient Problem zu vermeiden.
* Keine der obigen Aussagen: Dies ist falsch. Es gibt keine Aussage, die nicht richtig ist. 





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




Answer to Question 2-2


Die richtige Antwort auf die Frage ist:

[Die Gr\u00f6\u00dfe der convolution Kernels]

Die Gr\u00f6\u00dfe der convolution Kernels kann die Gr\u00f6\u00dfe des receptiven Feldes in einem convolutionalen Neural Netzwerk erhöhen. Die Gr\u00f6\u00dfe der convolution Kernels bestimmt die Gr\u00f6\u00dfe des receptiven Feldes, das heißt, die Gr\u00f6\u00dfe, die ein Neuron in einem convolutionalen Layer wahrnehmen kann. Wenn die Gr\u00f6\u00dfe der convolution Kernels erhöht wird, kann das receptive Feld des Neurons größer werden und somit mehr Informationen aus der Eingabe entnehmen. Die Anzahl von Kan\u00e4len in den convolution Kernels, die Aktivierungsfunktion in jedem layer und die Gr\u00f6\u00dfe des pooling layers können die Gr\u00f6\u00dfe des receptiven Feldes nicht erhöhen. 





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




Answer to Question 2-3


Wir trainieren eine logistische Regression. Der Gewichtsvektor sei W und die Testgenauigkeit sei Acc. Bei Omission des Bias verändert eine Division durch 2 von W keine Veränderung der Testgenauigkeit.

Wahr.

Bei der logistischen Regression wird der Gewichtsvektor W verwendet, um die Wahrscheinlichkeit eines Klassifikationsschlusses zu berechnen. Der Bias ist ein Fehler, der bei der Schätzung des Gewichtsvektors entsteht und die Testgenauigkeit beeinflusst. Wenn der Bias vernachlässigt wird, indem er durch die Division durch 2 verringert wird, verändert sich die Testgenauigkeit nicht. Dies ist, weil der Bias nur ein Teil des Gesamtfehlers ist, der bei der Schätzung des Gewichtsvektors entsteht. Die Testgenauigkeit wird von anderen Faktoren wie der Anzahl der Trainingsdaten, der Wahl der Features und der Wahl des Lernalgorithms beeinflusst. 





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




Answer to Question 2-4


Die richtige Antwort auf die Frage lautet:

[] f(x) = min(x, 0.5x) if x < 0; f(x) =  min(x, 0.5x) if x >= 0

Diese Funktion kann als praxistaugliche Aktivierungsfunktion im Training von neuronalen Netzen benutzt werden. Sie verhält sich wie eine Sigmoid-Funktion, die jedoch eine lineare Funktion mit einem Schwellwert enthält. Diese Funktion kann dazu beitragen, das Training von neuronalen Netzen zu beschleunigen und die Konvergenz zu verbessern. 





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




Answer to Question 2-5


Wenn Sie die Frage beantworten möchten, müssen Sie die richtige Antwort auswählen und diese in Ihrer Ausgabe angeben. Hier sind die möglichen Antworten:

* Data augmentation
* Dropout
* Batch normalization
* Benutzung von Adam anstelle von SGD

Die richtige Antwort auf die Frage ist:

* Dropout

Die Dropout-Methode kann überfitting reduzieren, indem sie die Ausprägung von Neuronen in einem Netzwerk einschränkt, um die Überfahrmöglichkeit zu verringern. 





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




Answer to Question 2-6


Wenn Sie die Gradient in backpropagation rückwärts durch den sigmoid fließen lassen, wird der Gradient sich immer erhöhen. Dies ist richtig, da der Gradient in der Regel größer wird, wenn er durch die Ableitung der Sigmoid-Funktion multipliziert wird.

Wenn Sie die Polarität erhöhen, indem Sie den Betrag erhöhen, bleiben die Polaritäten erhalten. Dies ist richtig, da die Polarität eines Vektors die Richtung des Vektors beschreibt und nicht seine Größe.

Wenn Sie die Polarität erhöhen, indem Sie den Betrag erhöhen, invertieren Sie die Polarität. Dies ist falsch, da die Polarität eines Vektors die Richtung des Vektors beschreibt und nicht seine Größe.

Wenn Sie die Polarität verringern, indem Sie den Betrag verringern, bleiben die Polaritäten erhalten. Dies ist richtig, da die Polarität eines Vektors die Richtung des Vektors beschreibt und nicht seine Größe.

Wenn Sie die Polarität verringern, indem Sie den Betrag verringern, invertieren Sie die Polarität. Dies ist falsch, da die Polarität eines Vektors die Richtung des Vektors beschreibt und nicht seine Größe. 





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




Answer to Question 3-1


a) Um den attention layer $l$ head $h$ am mei\u00dten zu der Position $n$ attended, muss die Eingabe $X^l$ der $l$-ten Schicht eine gewisse Korrelation mit der bisher dekodierten Sequenz $T$ aufweisen. Dies bedeutet, dass die Eingabe $X^l$ eine gewisse Information enthält, die für die weitere Dekodierung relevant ist.

b) Der self-attention Mechanismus wird von der Transformer-Architektur benutzt, um beliebige Eingabesequenzen zu erfassen und zu verstehen. Hierbei wird jedes Token in der Eingabe sequenziell mit allen anderen Tokens in der Eingabe verglichen und eine gewisse Gewichtung auf die anderen Tokens aufgesetzt. Dies erfolgt durch die Berechnung der Attention-Scores, die auf den Eingaben-Vektoren aufgesetzt werden. Die Attention-Scores sind abhängig von den Eingaben-Vektoren und den Parametern des attention heads. Die Gewichtung der Eingaben-Vektoren wird durch die Attention-Scores bestimmt, wodurch die Transformer-Architektur in der Lage ist, beliebige Eingabesequenzen zu erfassen und zu verstehen. 





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




Answer to Question 3-2


a) Die Bedingung, die der attention layer $l$ head $h$ erfüllen muss, um $t_{k+1}$ als n\u00e4chstes token zu pr\u00e4dizieren, lautet:

- Der attention layer $l$ head $h$ muss die Position $k+1$ attended haben.
- Der attention layer $l$ head $h$ muss die Eingabe $X^l$ verwenden, um $t_{k+1}$ als n\u00e4chstes token zu pr\u00e4dizieren.
- Der attention layer $l$ head $h$ muss die Eingabe $X^l$ und die bisher dekodierte Sequenz $T$ verwenden, um $t_{k+1}$ als n\u00e4chstes token zu pr\u00e4dizieren.

b) Die Bedingung, die der attention layer $l$ head $h$ erfüllen muss, um $t_{k+1}$ als n\u00e4chstes token zu pr\u00e4dizieren, lautet:

- Der attention layer $l$ head $h$ muss die Position $k+1$ attended haben.
- Der attention layer $l$ head $h$ muss die Eingabe $X^l$ und die bisher dekodierte Sequenz $T$ verwenden, um $t_{k+1}$ als n\u00e4chstes token zu pr\u00e4dizieren.
- Der attention layer $l$ head $h$ muss die Eingabe $X^l$ und die bisher dekodierte Sequenz $T$ verwenden, um $t_{k+1}$ als n\u00e4chstes token zu pr\u00e4dizieren.

c) Ein Transformer-Modell mit nur einem attention layer kann diese Bedingung f\u00fcr beliebige Sequenzen, f\u00fcr beliebiges $k < n$ mit $t_k = t_n$ erfüllen.

d) Im Transformer der Kommunikationskanal werden Informationen von einem attention head zu einem anderen attention head durch die self-attention Operationen weitergegeben.

- Im gleichen layer werden Informationen von einem attention head zu einem anderen attention head durch die self-attention Operationen weitergegeben.
- In einem aufeinanderfolgenden layer werden Informationen von einem attention head zu einem anderen attention head durch die self-attention Operationen weitergegeben.

e) Eine Sequenz von self-attention Operationen, sodass der attention head $h$ in layer $l > 1$ f\u00fcr beliebige Sequenzen zu position $k+1$ attended, könnte wie folgt aussehen:

- In der ersten Schicht werden die Position Embeddings der Eingabe $X^l$ und die bisher dekodierte Sequenz $T$ verwendet, um $t_{k+1}$ als n\u00e4chstes token zu pr\u00e4dizieren.
- In der zweiten Schicht werden die Position Embeddings der Eingabe $X^l$ und die bisher dekodierte Sequenz $T$ verwendet, um $t_{k+2}$ als n\u00e4chstes token zu pr\u00e4dizieren.
- In der dritten Schicht werden die Position Embeddings der Eingabe $X^l$ und die bisher de





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




Answer to Question 4-1


Die vektorielle Eingabe f\u00fcr das $i$-te Vokabularwort $s_k$ ist die $i$-te Spalte in der word embedding Matrix $W_E$. Diese Spalte enthält die vektorielle Repr\u00e4sentation des $i$-ten Vokabularwortes.

Um diesen Vektor zu multiplizieren, wird er mit der $i$-ten Spalte in der word embedding Matrix $W_E$ multipliziert. Dies geschieht durch die Matrix-Vektor-Multiplikation $x_k = E(s_k) = W_E \cdot s_k$.

In der Abbildung zeigt die word embedding Matrix $W_E$ die vektorielle Repr\u00e4sentation des $i$-ten Vokabularwortes in der $i$-ten Spalte. Die Eingabe $s_k$ ist ein Vektor, der die vektorielle Repr\u00e4sentation des $k$-ten Vokabularwortes enthält. Die Multiplikation ergibt den Vektor $x_k$, der die vektorielle Repr\u00e4sentation des $k$-ten Vokabularwortes in der word embedding Matrix $W_E$ enthält. 





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




Answer to Question 4-2


a) Die Abbildung g muss erfüllen, dass sie eine differentiable Abbildung ist, damit wir mithilfe von Gradientenabstieg das Netz trainieren können.

b) Der Gradientenvektor $\\nabla l$ bezüglich $W_E$ kann als Produkt der Transponierten der word embedding Matrix $W_E^T$ und des Gradientenvektors $\\nabla g$ bezüglich $W_E$ dargestellt werden:

$$\nabla l = \frac{\\partial l}{\\partial W_E} = \frac{\\partial l}{\\partial g} \cdot \frac{\\partial g}{\\partial W_E} = \frac{\\partial l}{\\partial g} \cdot W_E^T$$

Durch diese Formulierung bleibt der einzige \u00fcbriggebliebene partielle Gradiententerm $\\frac{\\partial g}{\\partial E(w)}$ im Gradientenvektor $\\nabla l$ enthalten.

c) Der Gradientenvektor $\\frac{\\partial l}{\\partial w_{ij}}$ f\u00für $i \\neq k$ kann als Produkt der Transponierten der word embedding Matrix $W_E^T$ und des Gradientenvektors $\\nabla g$ bezüglich $W_E$ dargestellt werden:

$$\frac{\\partial l}{\\partial w_{ij}} = \frac{\\partial l}{\\partial g} \cdot \frac{\\partial g}{\\partial w_{ij}} = \frac{\\partial l}{\\partial g} \cdot W_E^T \cdot \frac{\\partial g}{\\partial w_{ij}}$$

Durch diese Formulierung bleibt der einzige \u00fcbriggebliebene partielle Gradiententerm $\\frac{\\partial g}{\\partial E(w)}$ im Gradientenvektor $\\frac{\\partial l}{\\partial w_{ij}}$ enthalten.

d) Die Erkenntnis aus dem Aufgabenteil (\\ref{ex:gradient_input_word_i}) f\u00für die Speicher- und Berechnungskomplexität des Forw\u00e4rtspasses und des R\u00fckwert\u00e4rtspasses:

- Forw\u00e4rtspass: Der Forw\u00e4rtspass ist eine lineare Operation, die eine einfache Berechnungskomplexität aufweist.

- R\u00fckwert\u00e4rtspass: Der R\u00fckwert\u00e4rtspass ist eine lineare Operation, die eine einfache Berechnungskomplexität aufweist.

Die Speicher- und Berechnungskomplexität des Forw\u00e4rtspasses und des R\u00fckwert\u00e4rtspasses ist somit gering. 





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




