59
Machine-Learning (Subject) / Kapitel 7-11 (Lesson)
Advertisement
- Für die drei Fälle Regression, binäre Klassikfikation und Klassifikation in mehr als 2 Klassen: 1.Wie viele Neuronen hat die Ausgabeschicht? 2.Welche Aktivierungsfunktion wird in den Neuronen der Ausgabeschicht eingestellt? 3.Welche Loss-Function wird im Training minimiert? Art Anzahl OutputN Aktivierungsfunktion Fehler/Loss-Function Regression: 1 Ausgabeneuron, Identity-Funktion, Loss: (Mean-/Sum-) Squared-Error K=2: 1 Ausgabeneuron, Sigmoid-Funktion, Loss: Binäre Kreuzentropie K>2: K Ausgabeneuronen, Softmax-Funktion, Loss: Kreuzentropie
- Ein SLP wird für die Regression einer eindimensionalen linearen Funktion y=f(x) eingesetzt. Wie lassen sich die Funktionsparametern an den Gewichten des SLPs ablesen? Was verändert sich wenn nicht eine lineare, sondern eine -quadratische -kubische eindimensionale Funktion gelernt werden soll? Das Gewicht w0 ist der bias (y-achsenabschnitt) und die anderen Gewichte sind die Steigung. Beim Lernen von nicht-linearen Funktionen hat das Single-Layer-Perzeptron einen höheren Grad an Gewichten( wij statt wi ) und man berechnet den Sinus der nicht-linearen Funktionen. z.B. w1,2 * sin(x1)
- Worin besteht der Unterschied zwischen Batch- und Onlinelernen? Batch-Lernen: Für eine Iteration an Gewichtsanpassungen werden alle Trainingselemente berücksichtigt Online-Lernen: Für eine Iteration an Gewichtsanpassungen wird nur ein Trainingselement berücksichtigt Mini-Batch-Lernen: Für eine Iteration an Gewichtsanpassungen werden gleichgroße Batches an Trainingselementen berücksichtigt
- Was ist Dropout? Wozu dient es? Temporär ( meist eine Gewichtsanpassung lang) werden zufällig ausgewählte Neuronenverbindungen gekappt. Dadurch wird Overfitting vermieden.
- Warum müssen die Daten bevor sie auf ein neuronales Netz gegeben werden standardisiert (normalisiert) werden? Die Eingabewerte gehen direkt über einen Faktor in die Gewichtsanpassung, daher würde das Netz viel zu stark an Merkmale mit hohen Eingabewerten angepasst werden. z.B. Alter {0 bis 125} vs Jahreseinkommen {0-1.000.000.000} Daher normalisiert man im Preprocessing mit einem MixMax oder Standard-Scaler auf Werte zwischen 0 und 1.
- Was ist bei der Auswahl der Neuronenzahl in der verborgenen Schicht zu beachten? Zu viele Neuronen (N>75) führen zu Overfitting. Zu wenige Neuronen (N<5) führen zu Underfitting.
- Durch welche Parameter kann die Gefahr des Overfitting in einem MLP reduziert werden? Durch die Anzahl der Neuronen N, Dropout-Rate p , Weight-Decay γ, Epochenzahl t
- Warum sollten die Gewichte initial relativ klein gewählt werden? Bei Aktivierungsfunktionen mit Sättigungsbereich ( Sigmoid, Relu, ...) landet man mit hohen Gewichten direkt im Sättigungsbereich wodurch sich zu Beginn die Gewichte durch Anpassungen kaum oder gar nicht ändern.
- Was versteht man unter Backpropagation? Rekursive Gewichtsanpassung
- Nennen Sie wesentliche Vorteile von tiefen neuronalen Netzen. + Man erspart sich Preprocessing hochdimensionaler Daten + kein Domänenwissen ist notwendig + Anwendung ungelabelter Daten ist möglich ( Autoencoder) + Multitask-Learning parallelisierbar + Vortrainiertes Netz mit verschiedenen Classifier-Schichten kombinierbar
- Advertisement
- Wodurch wird die Anzahl der zu lernenden Parameter in Convolutional Neural Networks (CNN) vergleichsweise gering gehalten? Durch Weight-Sharing von Eingabemerkmalen, die zur selben Featuremap gehören.
- Welche Layer-Typen werden in einem CNN unterschieden? Convolutional-Layer, Pooling-Layer und fully-connected Dense-Layer Sonstige: Dilation-Layer Deconvolution-Layer Batch-Normalization-Layer
- Was bringt Pooling? -Es reduziert die Größe der Input-Channels und damit die Komplexität -"Shift invariance" (benachbarte Merkmale haben beim Pooling denselben Output)
- Was ist ein Fully-Connected Layer und wo wird dieser Layer-Typ typisch im CNN eingesetzt? Ein SLP bzw. MLP bei dem alle Neuronen einer Schicht mit denen der vorherigen Schicht verbunden sind. In CNNs findet man fully-connected Layer meist am Ende als Classifier/ Regression. Dort werden die gelernte Featuremaps serialisiert zu einem Feature-Vektor und dieser dann mit einer (ggfs. zufälligen ) Gewichtsmatrix multipliziert. Das Ergebnis wird auf die Softmax-Funktion gegeben, wonach sich das Netz z.B. bei Klassifikation für das Neuron mit dem höchsten Wert entscheidet. ( K Klassen -> K Ausgabeneuronen )
- Wieviele Ausgabeneuronen hat ein CNN? Classifier: K Klassen -> K Ausgabeneuronen Regression: 1 Ausgabeneuron
- Wie wird ein CNN trainiert? Mit Gradientenabstiegsverfahren
- Worin besteht der Unterschied zwischen Lernen mit Lehrer und Lernen mit Kritiker? Lehrer: Feedback vor und nach Eingabe, teilt dem Netz in jedem Zustand mit was zu tun ist. Kritiker: Feedback sporadisch positiv oder negativ, lässt Netz erst eine Zeit alleine rechnen
- Was sind Zustand, Aktion und Reward im Fall des Atari-Klassikers Pong? Zustand: der aktuelle Frame sowie seine 3 Vorgänger-Frames Aktion: Hoch / Runter Reward: +1 Score beim Treffen des gegnerischen Tores
- Wodurch wird ein Zustand im Fall eines Krabbelroboters definiert, was sind Aktionen, was Rewards? Zustand: zwei Motoren mit je zwei Winkeleinstellungen Aktion: Gelenke bewegen Reward: horizontale Fortbewegung -1 < 0 > +1
- Wodurch wird ein Zustand im Fall von Backgammon definiert, was sind Aktionen, was Rewards? Zustand: Würfel, Position und Augenzahl Aktion: Welche Steine um wieviele Positionen nach vorn ziehen Reward: Steine kommen ins Ziel -> kleiner Reward Alle Steine im Ziel -> großer Reward
- Was versteht man unter einer nicht-deterministischen Umgebung? Für das Netz ist nicht genau definiert, was eine Belohnung oder ein besserer Zustand ist.
- Wann kann die Pfadsuche nicht mit dem A*-Algorithmus gelöst werden? Wenn die Umgebung nicht deterministisch ist.
- Was repräsentiert die Belohnungsfunktion V(s)? Sie definiert für eine bestimmte Strategie den zukünftigen Erwartungswert an Belohnungen
- Was ist eine optimale Strategie ? Pi π* = die Strategie mit dem maximalen mit maximalem Erwartungswert V(s) einer Belohnung
- Worin besteht der Unterschied zwischen modell-basiertem Lernen und Q-Learning? Q-Learning: Das Netz weiß nicht, mit welcher Wahrscheinlichkeit es einen Reward bekommt. Modell-basiert: Man muss die Wahrscheinlichkeit der Folgezustände kennen (Übergangswahrscheinlichkeiten)
- Wann wird Exploration benötigt und was versteht man unter Exploit/Explore-Tradeoff? Exploit: bekannte Zustände/ Rewards werden stärker bevorzugt , bzw. gewichtet (Gewohnheit) Exploration: es werden zufällig neue Zustände ausgewählt TradeOff: Balance zwischen neuen Wegen und genügend Rewards finden
- Welche Aufgabe übernimmt das CNN im Context des Deep-Reinforcement-Learning? Es übernimmt Regression, dafür ist aufgrund der hohen Zustandskomplexität besser geeignet
- Was wird im Emulator gemacht? Aus dem aktuellen Zustand und einer Aktion wird der Reward des Folgezustands berechnet.
- Was wird im Fall des Anwendungsbeispiels Atari-Klassiker in das CNN eingegeben? Was wird ausgegeben? Input: die 4 zuletzt gerenderten Frames (Zustände) Output: Bewertung Q(Zustand s, Aktion a) für jede mögliche Aktion auf Basis des Zustandes
- Was versteht man im Kontext des Q-Network CNN unter Replay-Memory? Das Q-Netz speichert im Replay-Memory die Quadrupel (s, a, r, s') ab, bestehend aus einem Zustand, der ausgeführten Aktion, dem damit erreichten Reward und dem Folgezustand.
- Advertisement
- Welche Loss-Function wird im CNN (=Q-Network) für die in der Vorlesung behandelte Anwendung minimiert? Was ist die Sollausgabe (Target) und woher kommt diese? Der Mean-Square-Error (MSE). Die SOLL-Ausgabe ist der Zustand des früheren Netzes, es spielt also quasi gegen eine alte Version von sich selbst.
- Nennen Sie einen wesentlichen Unterschied des vorgestellten CNNs für Deep-Reinforcement-Learning im Vergleich zu den CNNs für Objekterkennung. Das CNN für Deep-Reinforcement-Learning hat kein Pooling-Layer, es verkleinert die Inputs durch die Stride-Length ( Schrittweite).
- Welche neuronalen Netze kommen in AlphaGo für welchen Zweck zum Einsatz? CNN für Deep Reinforcement Lernt Belohnungsfunktion V(s) selbst mit einem Deep NN.
- Welche Aktion wählt AlphaGo im aktuellen Zustand aus? MonteCarlo Tree Search -> optimale Strategie um eigens gelernte Belohnugsfunktion zu maximieren.
- Wofür können RNNs eingesetzt werden? allgemein für voneinander abhängige Datensätze z.B. Zeitreihen, Texte
- Inwiefern haben RNNs ein Gedächtnis? Die Ausgaben der RNN-Layer hängen nicht nur vom Input, sondern auch von den vorherigen Outputs und Gewichten ab. Das bedeutet, alles bisher gesehene fließt in die Modellierung mit ein.
- Wie werden RNNs belernt? Welches Problem tritt dabei bei den herkömmlichen RNNs auf? Durch Gradientenabstiegsverfahren mit Matrizenmultiplikation. Probleme: wirklich langfristige Abhängigkeit fehlt aufgrund von "Gradient-Vanishing" (alte Gradienten werden mit der Zeit sehr klein und verursachen keine Anpassung mehr)
- Nennen Sie je eine RNN-Anwendung der Kategorie One-to-Many, Many-to-One, Many-to-Many. One-To-Many: Image Captioning, aus Bilder Wörter generieren Many-To-One: Sequenzklassifikation, z.B. Temperaturvorhersage, Handysensoren, oder Sätze hinsichtlich Stimmung klassifizieren Many-To-Many: Übersetzung
- Welche 3 Gates werden im LSTM unterschieden? Forget-Gate: Was im LTM vergessen werden kann Update-Gate: Was aus der aktuellen Eingabe ins LTM kommt LTM-Output-Gate: Was aus dem LTM ins Output kommt
- Mit welchem Nachteil sind alle rekurrenten Netze (auch LSTMs, GRUs, ...) behaftet? Ihre Operationen sind nicht richtig für GPUs parallelisierbar
- Welches Problem löst Attention in rekurrenten neuronalen Netzen? Jeder zeitliche Zustand hat die Chance stärker in den Output einzufließen mittels α-Koeffizienten (Fokus auf Relevante Zustände) Dadurch erzielt man wesentlich bessere Ergebnisse, als wenn man alte Zustände als "umso älter desto irrelevanter " ansieht.
- Erklären Sie das Prinzip eines Hierarchischen Attention Network (HAN) am Beispiel einer typischen HAN-Anwendung. Beispiel : Textübersetzung 1Absatz 2Satz Attention-Layer 3Wort 4Buchstabe
- Worin besteht der große Vorteil eines Transformers? Er kann parallelisiert werden.
- Was ist Self-Attention? Die Self-Attention beeinflusst wie stark jedes Wort von allen anderen Wörtern im Satz abhängt.
- Woraus werden die Elemente q,k,v im Encoder woraus im Decoder eines Transformers berechnet? Encoder: aus dem Word-Embedding-Vektor, bzw. aus Wort-Repräsentationen Decoder: k und v aus dem Input Satz, q wird aus dem Zielsatz berechnet.
- Aus welchen Komponenten besteht ein GAN und welche Funktion haben diese? Was ist Ein- und Ausgabe dieser Komponenten? Diskriminator : Klassifikation von realen Daten und Fake-DatenInput: Daten, welche teils Fake, teils Real sindOutput: True (1) oder False (0) Generator: Generieren von Fake-Daten, die ähnlich zu realen Daten sindInput: Random DatenOutput: Fake Daten
- Welche Fehlerfunktion wird bei GANs eingestellt und wo? Ausschließlich der Diskriminator bekommt eine Fehlerfunktion. Da er nur True und False unterscheidet, hat er binäre Kreuzentropie als Fehlerfunktion.
- Wie wird ein GAN trainiert? Bei GANs werden abwechselnd Diskriminator und Generator für sich allein trainiert: Phase 1: Der Generator klassifizert unechte, sowie echte Daten als 1 und minimiert seine Fehler beim Generieren von Fake-Daten Phase 2: Der Diskriminator bekommt Reale und Fake Daten vom Generator und unterscheidet diese. Dabei minimiert auch er seinen Fehler.
- Wo werden die künstlich generierten Inhalte ( z.B Bilder) bei GANs abgegriffen? Am Ausgang / Output des Generators
- Was ist ein Autoencoder? Ein spezielles MLP, welches darauf trainiert wird, dass an der Ausgabe eine möglichst gute Annäherung der Eingabe greifbar ist. Das bedeutet, aus einem d-dimensionalen Input x wird ein d'-dimensionaler Output y generiert, aus dem man eine Repräsentation von x generieren kann, die es wiederum möglich macht den Input x zu rekonstruieren.