Beim Training neuronaler Netzwerke wird typischerweise ein Iterationsverfahren verwendet, um
ein Kostenfunktional J zu minimieren. Warum wird das Minimum nicht berechnet, indem dessen
Gradient gebildet und gleich Null gesetzt wird?
Es ist in der Praxis oft nicht möglich, das Minimum der Kostenfunktion eines neuronalen Netzwerks direkt zu berechnen, indem der Gradient gebildet und gleich Null gesetzt wird, aus folgenden Gründen:
Komplexität der Kostenfunktion: Die Kostenfunktionen von neuronalen Netzwerken sind in der Regel hochdimensional und nicht konvex. Daher gibt es oft lokale Minima, Sättel und Plateaus, die die Berechnung eines globalen Minimums erschweren.
Rechenintensität: Für große neuronale Netzwerke mit vielen Parametern wäre die Berechnung der Nullstellen des Gradienten extrem rechenintensiv und in vielen Fällen praktisch nicht umsetzbar.
Daher wird stattdessen ein iteratives Optimierungsverfahren, wie Gradientenabstieg, verwendet. Es ermöglicht das Lernen in kleinen Schritten, wodurch die Modelle effizienter und effektiver trainiert werden können.
Formulieren Sie das Gradientenverfahren zur Minimierung von J und nennen Sie drei Faktoren,
die dessen Konvergenzgeschwindigkeit beeinflussen.
Das Gradientenverfahren (auch Gradientenabstieg genannt) ist ein iterativer Optimierungsalgorithmus zur Minimierung einer Funktion. Bei der Anwendung auf die Kostenfunktion J eines neuronalen Netzwerks verläuft es in etwa wie folgt:
Starte mit einer initialen Schätzung für die Parameter des Netzwerks (z.B. zufällige Werte).
Berechne den Gradienten von J bezüglich dieser Parameter. Der Gradient zeigt die Richtung des steilsten Anstiegs von J an.
Aktualisiere die Parameter in die entgegengesetzte Richtung des Gradienten. Die Größe des Schritts wird durch eine Lernrate bestimmt.
Wiederhole die Schritte 2 und 3, bis das Verfahren konvergiert (d.h. die Parameteränderungen werden sehr klein) oder eine bestimmte Anzahl von Iterationen erreicht ist.
Drei Faktoren, die die Konvergenzgeschwindigkeit des Gradientenverfahrens beeinflussen, sind:
Lernrate: Eine zu große Lernrate kann dazu führen, dass das Verfahren an der optimalen Lösung vorbeispringt und nicht konvergiert, während eine zu kleine Lernrate zu einer sehr langsamen Konvergenz führt.
Initialisierung der Parameter: Eine schlechte Initialisierung kann dazu führen, dass das Verfahren in einem schlechten lokalen Minimum konvergiert.
Die Eigenschaften der Kostenfunktion selbst: Wenn die Kostenfunktion viele lokale Minima, Sättelpunkte oder flache Regionen hat, kann das die Konvergenz verlangsamen oder das Verfahren in suboptimalen Lösungen feststecken lassen.
Welche Aufgabe hat eine Softmax-Schicht am Ausgang eines neuronalen Netzwerks zur Klassifikation? Beschreiben Sie, wie basierend auf dem Ergebnis der Softmax-Schicht eine Klassenzuordnung vorgenommen wird.
Eine Softmax-Schicht hat die Aufgabe, den Vektor der "rohen" Ausgaben (auch "Logits" genannt) eines Neuronalen Netzwerks so zu normalisieren, dass sie als Wahrscheinlichkeiten interpretiert werden können. Diese Wahrscheinlichkeiten geben an, wie wahrscheinlich das Netzwerk glaubt, dass die Eingabe zu einer bestimmten Klasse gehört.
Die Softmax-Funktion wandelt einen n-dimensionalen Vektor von beliebigen Realzahlen in einen n-dimensionalen Vektor von Realzahlen zwischen 0 und 1 um, dessen Elemente sich zu 1 addieren. Dies ist nützlich, da wir so die Ausgabe eines Modells als Wahrscheinlichkeitsverteilung interpretieren können.
Wie funktioniert L2 Regularisierung?
Nicht nur den Fehler minimieren, sondern auch die Gewichte.
Denn große Gewichte sind ein Anzeichen für Overfitting.
Welche Rolle spielt Konvexität für die Lossfunktion ?
Wichtig
Konvexität ist wichtig für die Lossfunktion in Machine Learning, da sie die Optimierung erleichtert. Eine konvexe Funktion hat ein
globales Minimum, was bedeutet, dass wir die bestmögliche Lösung finden können, wenn wir dieses Minimum erreichen.
schnellere Konvergenz und eine einfachere Analyse. Dennoch sind viele fortschrittliche Modelle in Deep Learning nicht-konvex, was die Optimierung schwieriger macht, obwohl diese Modelle in der Praxis oft sehr effektiv sind.
einfache Analyse
Was ist eine Batch Size?
Gibt an wieviele Daten gleichzeitig verarbeitet werden. Eine Batchsize von vier bedeutet, dass bsp vier Bilder inklusive 4 labels gleichzeitig geladen werden
Was ist eine Epoche ?
Daher ist eine korrektere Formulierung: Wenn beispielsweise eine Datenmenge 1000 Beispiele enthält und die Batch-Size 100 ist, dann dauert es 10 Iterationen, um eine vollständige Epoche abzuschließen, d.h., um alle Daten einmal durchzugehen.
Was ist das Problem bei der Softmax Aktivierungsfunktion?
Wie wird dieses Problem gelöst ?
Für sehr kleine oder sehr große Werte kann die Funktion für den PC nicht mehr darstellbare Werte liefern
Deswegen wird oft np.max(array) abgezogen
Wovon hängt die Wahl der Aktivierungsfunktion an der Ausgabeschicht ab?
Die Auswahl der Aktivierungsfunktion für die Ausgabeschicht eines neuronalen Netzwerks hängt in der Regel von der Art des Problems ab, das Sie lösen möchten. Hier sind einige allgemeine Regeln:
Binäre Klassifikation
Mehrklassen Klassifaktionem
Regression
Autoencoder
Welche Eigenschaften für Aktivierungsfunktionen wären wünschenswert?
sollten differenzierbar sein (zumindest abgesehen von einzelnenPunkten ),
Ableitungen sollten einfach zu bestimmen sein.
Welche Verlustfunktionen werden bei Regression eingesetzt ?
• Mean squared error
• Mean absolute error
• Huber loss
Welche Verlustfunktionen werden für Klassifikation eingesetzt ?
• Cross Entropy
• Hinge
• Kullback Leibler Divergence
Was ist der Unterschied zwischen Regression und Klassifikation ?
Der Unterschied zwischen Regression und Klassifikation besteht also darin, dass Regression die Vorhersage eines numerischen Werts involviert, während Klassifikation die Zuordnung zu vordefinierten Klassen beinhaltet.
Was ist die Idee der Batch Normalisierung
Durchführung einer Normalisierung für jeden Knoten einer Schicht
Verwendung eines normalisierten Vektors als input der Aktivierungsfunktion
Reduzierzierung der Abhängigkeiten von Gewichten vorhergehender Schichten
Warum und wie wirkt Batch Normalization?
Die Inputs in die Aktivierungen einer Schicht sind bei Verwendung von Batch Normalization weniger sensitiv gegenüber Änderungen an den Gewichten vorhergehender Schichten (Reduzierung des sog. „Covariate Shift“).
Gut gegen vanashing/exploding Gradients
Stabileres Training
Regularisierende Wirkung bei stochastischem Gradientenverfahren
Welche drei Eigenschaften muss das Kostenfunktional erfüllen + kurze erklärung
Differenzierbarkeit: Ein effektives Kostenfunktional sollte differenzierbar sein, da beim Training eines neuronalen Netzes Gradientenabstiegsverfahren verwendet werden, die auf der Berechnung von Ableitungen basieren.
Konvexität: Ein effektives Kostenfunktional sollte idealerweise konvex sein, um ein globales Minimum zu garantieren. Wenn ein Kostenfunktional mehrere lokale Minima hat, könnte das neuronale Netz in einem suboptimalen lokalen Minimum stecken bleiben.
Verlustanzeige: Ein gutes Kostenfunktional sollte den Unterschied zwischen den vorhergesagten und den tatsächlichen Ausgaben des neuronalen Netzes widerspiegeln. Je größer der Unterschied, desto größer sollte der Verlust sein.
Welchem Effekt soll beim Training von neuronalen Netzwerken durch Regularisierung entgegen gewirkt werden? Erläutern Sie diesen und geben Sie zwei weitere Gegenmaßnahmen an.
Regularisierung ist eine Technik im Maschinenlernen, die zur Verhinderung von Overfitting (Überanpassung) verwendet wird.
Die Regularisierung wirkt diesem Problem entgegen, indem sie eine Kostenfunktion hinzufügt wie den Cross-Validator
Was kann passieren wenn zu stark reguliert wird ?
Wenn zu stark regularisiert wird, kann das Problem des Underfitting auftreten. Das Modell wird dann zu simpel und kann die zugrundeliegende Struktur der Daten nicht gut erfassen, was zu schlechten Vorhersagen sowohl auf Trainings- als auch auf Testdaten führt.
Last changeda year ago