Neural Network
Ein Neural Network (Neuronales Netz) ist ein maschinelles Lernmodell, das vom menschlichen Gehirn inspiriert ist und durch Schichten miteinander verbundener Neuronen komplexe Muster in Daten erkennt und verarbeitet.
AIFortgeschrittendeep-learningmachine-learningpytorch
Was ist ein Neural Network?
Ein neuronales Netz besteht aus Eingabeschicht, einer oder mehreren versteckten Schichten (Hidden Layers) und einer Ausgabeschicht. Jede Verbindung zwischen Neuronen hat ein Gewicht (Weight), das während des Trainings angepasst wird, um Fehler zu minimieren.
Eingabe → [Hidden Layer 1] → [Hidden Layer 2] → Ausgabe
[x1] [Neuron A] [Neuron D] [y1]
[x2] →→→ [Neuron B] →→→ [Neuron E] →→→ [y2]
[x3] [Neuron C] [Neuron F]
Wie funktioniert das Training?
- Forward Pass: Eingabedaten werden durch das Netz geleitet und eine Vorhersage wird berechnet.
- Loss berechnen: Die Abweichung zwischen Vorhersage und tatsächlichem Wert wird mit einer Loss-Funktion gemessen.
- Backpropagation: Der Fehler wird rückwärts durch das Netz propagiert.
- Gewichte anpassen: Ein Optimierer (z.B. Adam) aktualisiert die Weights, um den Loss zu reduzieren.
Einfaches Beispiel mit PyTorch
import torch
import torch.nn as nn
# Einfaches Feedforward-Netz
class SimpleNet(nn.Module):
def __init__(self):
super().__init__()
self.layers = nn.Sequential(
nn.Linear(784, 256), # Eingabe: 784 Features
nn.ReLU(), # Aktivierungsfunktion
nn.Linear(256, 128),
nn.ReLU(),
nn.Linear(128, 10) # Ausgabe: 10 Klassen
)
def forward(self, x):
return self.layers(x)
model = SimpleNet()
print(model) # Zeigt Netzarchitektur
Wichtige Architekturen
| Typ | Anwendung | Beispiel |
|---|---|---|
| CNN | Bildverarbeitung | ResNet, VGG |
| RNN/LSTM | Sequenzdaten | Sprachmodelle (alt) |
| Transformer | Text, Audio, Bild | GPT, BERT |
| GAN | Datengenerierung | Bildgenerierung |
Praxishinweise für Entwickler
- Overfitting vermeiden: Nutze Dropout-Layer oder Regularisierung, wenn das Modell auf Trainingsdaten gut, auf Testdaten schlecht performt.
- GPU nutzen: Training auf CPU ist für große Netze unpraktikabel – setze auf CUDA (NVIDIA) oder MPS (Apple Silicon).
- Transfer Learning: Statt von Null zu trainieren, baue auf vortrainierten Modellen auf (z.B. via HuggingFace) – spart Zeit und Daten.
- Batch-Größe: Kleinere Batches = mehr Rauschen im Training (oft gut für Generalisierung), größere Batches = stabilere Gradienten.
Verwandte Begriffe
Inhouse statt Nachschlagewerk
Für den Transfer ins Unternehmen sind die Inhouse-Schulungen der passende nächste Schritt.