Deep Learning for Beginners - Cheatsheet
Einführung in die Geschichte und Entwicklung von Deep Learning
Definition:
Einführung in die Geschichte und Entwicklung von Deep Learning: Überblick über die Evolution von neuronalen Netzen und deren Techniken.
Details:
- 1943: McCulloch-Pitts-Neuronen als erstes mathematisches Modell neuronaler Netze.
- 1957: Perzeptron entwickelt von Frank Rosenblatt.
- 1980er: Backpropagation als Trainingstechnik für Mehrschicht-Netze.
- 1990er-2000er: SVMs und andere ML-Techniken dominieren, 'KI Winter'.
- 2006: 'Deep Learning' populärisiert durch Geoffrey Hinton mit dem 'Deep Belief Network'.
- 2012: AlexNet gewinnt ImageNet-Wettbewerb, Durchbruch für DL in der Computer Vision.
- Heutige Zeit: Einsatz in verschiedensten Anwendungsbereichen - Sprachverarbeitung, Bildverarbeitung, autonome Systeme, etc.
Konzept von Neuronen und neuronalen Netzwerken
Definition:
Grundbausteine in Deep Learning, modelliert nach biologischen Neuronen.
Details:
- Künstliches Neuron: Berechnet gewichtete Summe der Eingänge, wendet Aktivierungsfunktion an.
- Mathematisch: \( y = f(\sum_{i=1}^{n} w_i x_i + b) \)
- Neuronal Network: Zusammenschluss vieler Neuronen in Schichten.
- Typen von Schichten: Eingabeschicht, versteckte Schichten, Ausgabeschicht.
- Feedforward-Netzwerk: Informationen fließen nur vorwärts.
- Training durch Backpropagation: Fehler wird rückwärts durch das Netzwerk propagiert, Gewichte werden aktualisiert.
Feedforward-Netze und Backpropagation
Definition:
Feedforward-Netze sind eine Art von neuronalen Netzen, bei denen Informationen nur in eine Richtung, von den Eingabeschichten zu den Ausgabeschichten, fließen. Backpropagation ist ein Algorithmus zur Optimierung der Gewichte in neuronalen Netzen durch Fehlerausbreitung vom Ausgang zurück durch das Netzwerk.
Details:
- Feedforward-Netze haben keine Zyklen.
- Bestehen aus einer Eingabeschicht, einer oder mehreren versteckten Schichten und einer Ausgabeschicht.
- Backpropagation minimiert den Fehler durch Berechnung des Gradienten des Fehlerfunktions.
- Fehlerfunktion: \[E = \frac{1}{2}(y - \hat{y})^2 \]
- Gewichtsaktualisierung: \[ w_{ij}(t+1) = w_{ij}(t) - \eta \frac{\partial E}{\partial w_{ij}} \]
- \( \eta \) ist die Lernrate.
- Iterativer Prozess bis zur Konvergenz oder maximalen Epochen.
Aktivierungsfunktionen: ReLU, Sigmoid, Tanh
Definition:
Aktivierungsfunktionen bestimmen die Ausgabe eines Neurons in einem neuronalen Netzwerk.
Details:
- ReLU (Rectified Linear Unit): \( f(x) = \text{max}(0, x) \)
- Sigmoid: \( f(x) = \frac{1}{1 + e^{-x}} \)
- Tanh (Hyperbolic Tangent): \( f(x) = \text{tanh}(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} \)
- Eigenschaften:
- ReLU: Einfach, schnell, kann Neuronen inaktivieren (wenn x < 0)
- Sigmoid: Ausgabebereich [0, 1], problematisch bei vanishing gradient
- Tanh: Ausgabebereich [-1, 1], ebenfalls vanishing gradient Problem
Konvolutionale Schichten und ihre Funktionsweise
Definition:
Konvolutionale Schichten extrahieren Merkmale aus dem Eingabedaten durch Filter, die über das Eingabebild gleiten.
Details:
- Konvolution: \[ (f * g)(t) = \int_{-\infty}^{\infty} f(\tau)g(t-\tau) d\tau \]
- Filter/Kernel: Kleine Matrizen, die über das Bild gleiten.
- Padding: Randauffüllung zum Erhalt der Bildgröße.
- Strides: Schrittweite des Filters.
- Output: Feature Map, die lokale Merkmale hervorhebt.
- Parameter: Anzahl der Filter, Größe der Filter, Stride, Padding.
LSTM-Zellen und ihre Architektur
Definition:
Long Short-Term Memory (LSTM)-Zellen sind spezielle rekurrente neuronale Netzeeinheiten, die effektiv Langzeitabhängigkeiten in Sequenzdaten modellieren können.
Details:
- LSTM-Zellen adressieren das Vanishing Gradient Problem.
- Bestandteile: Eingangstor, Vergessenstor, Ausgabetor, Zellzustand.
- Aktivierungsfunktionen: Sigmoid, tanh.
- Gleichungen:
- Vergessenstor: \( f_t = \sigma(W_f \cdot [h_{t-1}, x_t] + b_f) \)
- Eingangstor: \( i_t = \sigma(W_i \cdot [h_{t-1}, x_t] + b_i) \)
- Aktualisierung des Zellzustands: \( \tilde{C_t} = \tanh(W_C \cdot [h_{t-1}, x_t] + b_C) \)
- Neuer Zellzustand: \( C_t = f_t * C_{t-1} + i_t * \tilde{C_t} \)
- Ausgabetor: \( o_t = \sigma(W_o \cdot [h_{t-1}, x_t] + b_o) \)
- Neuer versteckter Zustand: \( h_t = o_t * \tanh(C_t) \)
Techniken zur Vermeidung von Überanpassung (z.B. Dropout)
Definition:
Techniken zur Reduzierung von Überanpassung in neuronalen Netzen, um Generalisierung auf unverarbeitete Daten zu verbessern.
Details:
- Dropout: Zufälliges Deaktivieren von Neuronen während des Trainingsprozesses.
- L2-Regularisierung: Hinzufügen eines Verlustterms zur Kostfunktion, um große Gewichte zu vermeiden: \[ L_{\text{new}} = L + \lambda \sum_{w}w^2 \]
- Frühes Stoppen: Beenden des Trainings, wenn die Leistung auf einem Validierungsdatensatz nicht mehr verbessert wird.
- Datenaugmentation: Generierung zusätzlicher Trainingsdaten durch bewusste Veränderung originaler Daten.
- Batch-Normalisierung: Normalisierung der Eingaben jeder Schicht, um schnelle Konvergenz und Stabilität zu erreichen.