Spline-VGP-Projekt
Untersuchung einer Spline-basierten Sigmoid-Aktivierung zur Abschwächung des Vanishing-Gradient-Problems in tiefen MLPs; reproduzierbare Experimente mit Auto-Plots im Vergleich zu ReLU und Sigmoid.
Status: Aktiv Begonnen: 2025-07-08 Aktualisiert: 2025-09-15
In diesem Projekt wird eine Spline-basierte Variante der Sigmoid-Aktivierung untersucht.
Die Funktion verhält sich im Zentrum ähnlich wie die klassische Sigmoid, läuft an den Rändern jedoch linear aus.
Das Ziel ist es, in tiefen MLPs stabilere Gradienten zu erreichen und das Vanishing-Gradient-Problem zu reduzieren.
Ziele und Vorgehen
- Reproduzierbare Experimente über YAML-Konfigurationen (Einzelläufe, Batch-Tests, Smoke-Tests)
- Datensätze: FashionMNIST und CIFAR-10, optional Tiny ImageNet
- Konsistente Logs pro Epoche mit Loss, Accuracy und Gradientenmetriken
- Automatisch generierte Plots für Lernkurven, Gradienten-Heatmaps und Trainingszeiten
- Fairer Vergleich zwischen ReLU, klassischer Sigmoid und Spline-Sigmoid
Technischer Rahmen
Die Aktivierungsfunktion wird mithilfe kubischer Hermite-Splines umgesetzt, mit konfigurierbarer Segmentanzahl und anpassbaren x-Grenzen.
Trainiert wird mit PyTorch, Adam und CrossEntropy, unter Einsatz deterministischer Seeds sowie geeigneter CUDNN- und TF32-Einstellungen.
Die Codebasis ist modular aufgebaut:
models/activations.py(Basisaktivierungen)models/sigmoid_spline_activation.py(Spline-Implementierung)training/trainer.py(Trainingslogik)training/utils.py(Hilfsfunktionen)
Erwartetes Ergebnis
Das Projekt soll nachvollziehbare und wiederholbare Vergleiche ermöglichen,
schnelle Explorationszyklen unterstützen und klare Artefakte wie Logs und Plots liefern.