Frage: Was versteht man unter der Architektur von neuronalen Netzwerken?
Antwort:
Neuronale Netze: Sammlung von miteinander verbundenen Neuronen.
Neuron: Berechnet gewichtete Summe seiner Eingaben (Eingangsvektor x) und Gewichte (w), fügt Bias (b) hinzu.
Gewichtete Summe: ∑wixi+b∑wixi+b für Eingabe xixi und Gewicht wiwi.
Aktivierungsfunktion: Wird nach der Summierung angewendet, ermöglicht nicht-lineares Verhalten.
Ziel: Ermöglicht dem Netzwerk, komplexe Muster und Beziehungen zu lernen.
Die Struktur ermöglicht es dem Netzwerk, von einfachen bis zu komplexen Funktionen zu lernen und Anpassungen während des Trainingsprozesses vorzunehmen.
Frage: Was ist der Prozess des Trainings von neuronalen Netzwerken?
Überwachte Methode: Verwendet ein Datenset aus Eingaben x und ihren entsprechenden Labels y, um das Modell für Aufgaben wie Regression und Klassifikation zu trainieren.
Empirischer Verlust: Ist der Durchschnitt der Unterschiede zwischen den Vorhersagen des Modells und den tatsächlichen Werten, quantifiziert durch eine Verlustfunktion LL.
Ziel: Minimierung des empirischen Verlustes L^(θ), um die optimalen Modellparameter θ∗ zu finden.
Iterativer Algorithmus:
Vorhersage: Nutze aktuelle Modellparameter θ, um einen Ausgabewert y^für die Eingabedaten zu berechnen.
Verlustberechnung: Ermittle, wie weit die Vorhersage y^ vom tatsächlichen Label y entfernt ist.
Gradientenberechnung: Bestimme, wie die Modellparameter θθ geändert werden müssen, um den Verlust zu verringern.
Parameteraktualisierung: Passe θθ an, um den Verlust zu reduzieren, wobei αα die Schrittgröße der Anpassung angibt.
Frage: Was ist die Backpropagation in neuronalen Netzwerken?
Frage: Was ist der Stochastische Gradientenabstieg (SGD) beim Lernen von neuronalen Netzwerken?
Minibatch-Lernen: Verwendung eines Subsets BB von Trainingsbeispielen zur Approximation der Erwartung, anstatt des gesamten Datensatzes.
Minibatches: Typischerweise zwischen 32-512 Trainingsbeispiele pro Batch, um die Gradienten zu berechnen und die Gewichte zu aktualisieren.
Beispiel: Bei 1000 Trainingsbeispielen und einer Minibatch-Größe von 100:
Iteration: Eine Aktualisierung der Modellgewichte, indem der Verlust von 100 Beispielen berechnet, deren Gradient gemittelt und die Gewichte entsprechend angepasst werden.
Epoche: Ein vollständiger Durchlauf durch die Trainingsdaten, hier entspricht das 10 Iterationen.
Mehrere Epochen: Training mit denselben Beispielen in verschiedenen Anordnungen über mehrere Durchläufe hinweg, um das Modell besser anzupassen und die Wahrscheinlichkeit von Overfitting zu erhöhen, wenn nicht genügend Daten vorhanden sind.
Frage: Was sind Parameter und Hyperparameter in neuronalen Netzwerken und warum sind Hyperparameter wichtig?
Parameter:
Beziehen sich in neuronalen Netzwerken fast immer auf Gewichte und Biases der Neuronen.
Werden vom System während des Trainings gelernt, nicht manuell vom Programmierer gesetzt.
Hyperparameter:
Einstellungen des Trainingsalgorithmus, die vor dem Training definiert werden müssen.
Auswahl muss manuell erfolgen.
Bedeutung von Hyperparametern:
Wichtig für erfolgreiches Training; schlechte Wahl kann das Training verlangsamen oder verhindern.
Optimale Hyperparameter können die Leistung bestehender Netzwerke ohne architektonische Änderungen verbessern.
Beispiele für den Einfluss von Hyperparametern:
2018: Google-Forscher veröffentlichen das BERT-Netzwerk, das alle vorherigen Benchmarks übertrifft.
2019: Facebook veröffentlicht ein Netzwerk mit identischer Architektur, aber unterschiedlichen Hyperparametern, was eine Verbesserung von 22% bringt.
Frage: Was ist die Verlustlandschaft in neuronalen Netzwerken und von welchen Faktoren hängt das Lernen ab?
Verlustlandschaft:
Visualisiert den Verlust (oft empirischer Verlust genannt) eines neuronalen Netzwerks als Funktion der Parameter θθ.
Enthält verschiedene Typen von Minima und Plateaus, wie globale Minima, lokale Minima und flache Plateaus oder Sattelpunkte.
Lernfaktoren:
Auftreten lokaler Minima/Sattelpunkte: Punkte, an denen der Gradient des Verlusts null ist, aber nicht unbedingt das niedrigste mögliche Verlustniveau darstellen.
Steigung der Verlustlandschaft: Kann anzeigen, wie schnell ein Lernalgorithmus konvergieren kann.
Eigenschaften lokaler Minima/Sattelpunkte: Bestimmen, ob ein Lernalgorithmus aus diesen Punkten "entkommen" kann.
Lernrate: Beeinflusst die Größe der Schritte, die während des Trainings gemacht werden, und somit, wie schnell das Netzwerk konvergiert oder ob es möglicherweise über das Ziel hinausschießt.
Frage: Was ist Gradientenabstieg und wie vergleicht er sich mit Newtons Methode in der Optimierung?
Gradientenabstieg:
Iteratives Optimierungsverfahren erster Ordnung, um das Minimum einer Funktion zu finden.
Nutzt Informationen des Gradienten (erste Ableitung), um die Richtung des steilsten Abstiegs zu bestimmen.
Keine Informationen über die Krümmung des Gradienten!
Vorsicht:
Die Richtung des steilsten Abstiegs ist nicht immer die beste Richtung für die Optimierung.
Newtons Methode:
Optimierungsverfahren zweiter Ordnung, das sowohl erste als auch zweite Ableitungen (die Krümmung) verwendet.
Kann effizienter sein, da sie die Form der Verlustfunktion berücksichtigt, aber rechenintensiver ist als der Gradientenabstieg.
Frage: Was sind Optimierungsmethoden zweiter Ordnung und was ist dabei das Hauptproblem?
Frage: Was ist Momentum in der iterativen Optimierung und was ist die dahinterliegende Intuition?
Frage: Wie funktioniert das Momentum-Verfahren anhand eines Beispiels?
Frage: Was ist Adam (Adaptive Moment Estimation) in der Optimierung?
Frage: Was ist der Einfluss der Lernrate auf das maschinelle Lernen und wie wählt man die passende Lernrate aus? (wichtigster Hyperparameter)
Einfluss der Lernrate:
Eine zu niedrige Lernrate führt zu langsamen Fortschritten; das Netzwerk braucht viele Schritte, um das Minimum zu finden.
Eine angemessene Lernrate ermöglicht es, das Minimum in einer kurzen Zeit zu finden.
Eine zu hohe Lernrate kann über das Ziel hinausschießen und die Konvergenz verhindern.
Hohe Lernraten reduzieren den Verlust schnell, können aber das Minimum verfehlen und sogar zu Divergenz führen.
Kleine Lernraten können dazu führen, dass das Netzwerk in lokalen Minima stecken bleibt.
Auswahl der Lernrate:
Es gibt keinen optimalen Wert; häufig liegen die Werte zwischen 0.0001 und 0.1.
Verschiedene Werte sollten validiert werden, um die beste Lernrate zu finden.
Ian Goodfellow empfiehlt im "Deep Learning Book": "Wenn du nur Zeit hast, einen Hyperparameter zu justieren, dann justiere die Lernrate."
Besser ist es, die Lernrate während des Trainings dynamisch anzupassen.
Praktische Ratschläge:
Experimentiere mit verschiedenen Werten innerhalb eines sinnvollen Bereichs.
Nutze dynamische Anpassungen wie Lernraten-Zeitpläne oder adaptive Lernraten-Algorithmen wie Adam..
Frage: Was sind dynamische Lernraten und welche Methoden gibt es, um diese anzupassen?
Frage: Wie wirkt sich die Verwendung dynamischer Lernraten auf den Adam-Optimierer aus?
Adam passt individuelle Lernraten für jeden Parameter an.
Trotz dieser individuellen Anpassung profitiert Adam von dynamischen Lernraten und erzielt damit bessere Ergebnisse.
Eine Kombination von Adam mit dynamischen Lernraten wie stufenweisem Zerfall oder Kosinuszerfall führt zu einer allgemein besseren Leistung im Vergleich zu einer statischen Lernrate, wie aus der Farbdarstellung des Verlustes für verschiedene Hyperparameterkombinationen ersichtlich ist. Insbesondere der Kosinuszerfall scheint generell bessere Ergebnisse für unterschiedliche Kombinationen von Hyperparametern zu erzielen.
Frage: Wie helfen zyklische Lernraten dabei, lokale Minima zu überwinden und was ist heute üblicher?
Antwort: Zyklische Lernraten ermöglichen es, lokale Minima zu überwinden, indem sie hohe Lernraten verwenden. Zu Beginn jedes Zyklus steigt der Verlust an, weil die Gewichte außerhalb des lokalen Minimums springen. Langfristig können jedoch bessere Minima gefunden werden. Heutzutage ist ein regelmäßiger Verfall jedoch häufiger als zyklische Lernraten.
PaperWarum verwenden wir kleine Minibatches beim Training von Modellen und ist es möglich, die Größe der Minibatches einfach zu erhöhen, wenn wir auf Supercomputern trainieren?
Kleine Minibatches werden verwendet, weil das gesamte Datenset normalerweise nicht in den Speicher passt. Das Erhöhen der Größe der Minibatches ist nicht optimal, da der Generalisierungsfehler zunimmt (das globale Minimum der Trainingsdaten ist immer ein Overfit). Es ist nicht ratsam, die Größe der Minibatches einfach zu erhöhen, wenn wir auf Supercomputern trainieren. Stattdessen sollten wir uns auf andere Methoden wie Parallelisierung und verteiltes Training konzentrieren, um die Trainingszeit zu verkürzen und die Leistung zu verbessern.
Neues Thema: Regularization
Was zeigt das Experiment über Overfitting für neuronale Netzwerke?
Das Experiment zeigt, dass neuronale Netzwerke in der Lage sind, falsche Labels aus Millionen von Bildern zu merken, wenn sie mit zufälligen (falschen) Labels trainiert werden. Dies führt zu einer hohen Genauigkeit im Training, aber einer sehr niedrigen Genauigkeit im Test, da keine Korrelation zwischen Bild und Label besteht. Um das massive Overfitting für reguläre Datensätze zu verhindern, müssen wir Methoden wie Regularisierung, Dropout, Early Stopping und Data Augmentation anwenden.
Was ist Regularisierung in neuronalen Netzwerken und warum ist sie wichtig?
Regularisierung sind Strategien, die darauf abzielen, den Generalisierungsfehler zu reduzieren, möglicherweise auf Kosten eines erhöhten Trainingsfehlers. Sie ist wichtig, um Modelle zu erstellen, die nicht nur auf Trainingsdaten, sondern auch auf ungesehenen Daten gut performen. Es gibt verschiedene Methoden der Regularisierung, wie z.B. Early Stopping, Parameterregularisierung (Weight Decay), Dropout, Data Augmentation und mehr.
Was ist “Early Stopping” in der Modelltraining?
“Early Stopping” stoppt das Training eines Modells, wenn der Verlust auf den Validierungsdaten ansteigt, um Überanpassung zu vermeiden.
Das Training wird nach einer bestimmten Anzahl von Epochen beendet, wenn keine Verbesserung der Validierungsverluste festgestellt wird.
Alternativ kann das Training abgeschlossen werden, aber die Validierungsniederlage und die Modellgewichte nach jeder Epoche gespeichert werden.
Die Modellgewichte mit der kleinsten Validierungsniederlage werden verwendet
Was ist Parameter Regularization (Weight Decay) und wie funktioniert es?
Verhindert Overfitting
Bestraft große Parameterwerte
Fügt Regularisierungsterm zur Verlustfunktion hinzu
Hyperparameter λ steuert Einfluss der Regularisierung
Parameter Regularization (Weight Decay) ist eine Methode, um Overfitting in neuronalen Netzwerken zu verhindern. Sie bestraft große Parameterwerte, indem sie einen Regularisierungsterm zur Verlustfunktion hinzufügt. Der Hyperparameter λ steuert den Einfluss der Regularisierung.
Was ist Dropout in Bezug auf neuronale Netze und wie funktioniert es? (Mit Beispiel)
Verhindert Überanpassung
Deaktiviert zufällig Neuronen während des Trainings
Reduziert die Abhängigkeit von einzelnen Neuronen
Dropout ist eine Methode, um Überanpassung in neuronalen Netzen zu verhindern. Es deaktiviert zufällig Neuronen (und ihre Verbindungen) während des Trainings mit einer bestimmten Wahrscheinlichkeit, um Überanpassung zu vermeiden. Dies reduziert die Abhängigkeit von einzelnen Neuronen und verbessert die Robustheit des Modells
Alles in Grün sollte man kennen:
Last changeda year ago