Programming lesson
PixelHop und PixelHop++: Ein Tutorial zur feedforward-basierten Bildklassifikation mit Successive Subspace Learning
Lerne in diesem Tutorial die Grundlagen von PixelHop und PixelHop++ kennen – zwei interpretierbare SSL-Modelle zur Bildklassifikation. Erfahre, wie Saab-Transforms, Channel-wise Saab und die Module 1-3 funktionieren, und vergleiche sie mit traditionellen CNNs.
Einleitung: Warum Feedforward-Designs im KI-Zeitalter wichtig sind
Während Backpropagation-basierte CNNs wie ResNet oder EfficientNet in vielen Bereichen dominieren, gewinnen feedforward-designte Alternativen zunehmend an Bedeutung – besonders wenn Interpretierbarkeit, geringer Speicherbedarf und schnelles Training gefragt sind. Im Jahr 2026, wo KI-Modelle immer größer werden, aber auch der Wunsch nach effizienten, erklärbaren Lösungen wächst, sind Methoden wie PixelHop und PixelHop++ hochaktuell. Sie basieren auf dem Successive Subspace Learning (SSL) Prinzip, das ohne Backpropagation auskommt und alle Parameter in einem Feedforward-Durchlauf bestimmt. Dieses Tutorial führt dich durch die Konzepte, die in der Hausaufgabe EE569 Homework #6 behandelt werden.
Grundlagen: Saab-Transform und Channel-wise Saab
Der Saab-Transform (Subspace Approximation via Augmented Kernels) ist das Herzstück von PixelHop. Er extrahiert Merkmale aus Bildern, indem er lokale Nachbarschaften in einen niedrigdimensionalen Unterraum projiziert. Der Unterschied zu herkömmlichen CNNs: Es gibt keine nichtlinearen Aktivierungsfunktionen zwischen den Schichten, sondern nur lineare Transformationen mit einem Bias. Der Channel-wise Saab-Transform (c/w Saab) erweitert dies, indem er für jeden Kanal separate Saab-Transformationen durchführt – das reduziert die Anzahl der Parameter und erhöht die Effizienz.
Vergleich mit CNNs: FF-CNN vs. BP-CNN
Ein feedforward-designtes CNN (FF-CNN) bestimmt alle Gewichte in einem Durchlauf, z.B. durch Least-Squares-Regression. Ein Backpropagation-CNN (BP-CNN) lernt dagegen iterativ durch Fehlerrückführung. FF-CNNs sind schneller zu trainieren und leichter interpretierbar, erreichen aber oft nicht die Genauigkeit von BP-CNNs bei komplexen Aufgaben. PixelHop und PixelHop++ sind Beispiele für FF-CNNs, die auf SSL basieren.
PixelHop und PixelHop++: Die SSL-Architektur
PixelHop und PixelHop++ bestehen aus drei Modulen:
- Modul 1 (Hop1): Extrahiert lokale Merkmale mit Saab-Transform aus kleinen Nachbarschaften (z.B. 5x5 Pixel).
- Modul 2 (Hop2): Wendet erneut Saab-Transform auf die Merkmale von Hop1 an, um höherrangige Merkmale zu lernen.
- Modul 3 (Hop3): Nutzt globale Merkmale (z.B. nach Max-Pooling) für die Klassifikation mit einem XGBoost-Klassifikator.
Der Unterschied zwischen PixelHop und PixelHop++ liegt im Detail: PixelHop verwendet den einfachen Saab-Transform, während PixelHop++ den channelweisen Saab-Transform einsetzt. Dadurch ist PixelHop++ kompakter und benötigt weniger Parameter, was besonders bei begrenztem Speicherplatz – wie in mobilen Anwendungen oder Edge-Geräten – vorteilhaft ist.
Praktische Umsetzung: MNIST und Fashion-MNIST
In der Hausaufgabe wird der PixelHop++-Classifier auf MNIST und Fashion-MNIST trainiert. Du wirst die Module mit Hyperparametern wie Nachbarschaftsgröße 5x5, Stride 1 und Max-Pooling von 2x2 auf 1x1 aufbauen. Die Energieschwellen TH1 und TH2 steuern, welche Merkmale behalten werden. Ein XGBoost mit 100 Bäumen dient als Klassifikator. Du wirst Trainingszeit, Genauigkeit und Modellgröße messen und mit PixelHop vergleichen.
Tipp zur Durchführung
Nutze den bereitgestellten Code für c/w Saab von GitHub. Achte darauf, die Klassen balanciert zu halten (z.B. 1000 Bilder pro Klasse bei 10.000 Trainingsbildern). Experimentiere mit TH1-Werten (z.B. 0.001, 0.01, 0.1) und beobachte den Einfluss auf Testgenauigkeit und Modellgröße. Ein niedriger TH1 behält mehr Merkmale, erhöht aber die Parameteranzahl.
Fehleranalyse und Verbesserungsvorschläge
Nach dem Training solltest du eine Confusion-Matrix erstellen. Oft werden ähnliche Klassen wie Pullover und Kleid oder Sneaker und Sandale verwechselt. Um schwierige Klassen zu verbessern, könntest du mehr Trainingsdaten für diese Klassen verwenden, die Nachbarschaftsgröße anpassen oder ein anderes Klassifikationsverfahren wie Random Forest testen.
Fazit: SSL als Trend im maschinellen Lernen
PixelHop und PixelHop++ zeigen, dass interpretierbare Modelle auch bei Bildklassifikation konkurrenzfähig sein können. Im Jahr 2026, wo KI-Transparenz und Effizienz immer wichtiger werden – etwa in der Medizintechnik oder bei autonomen Systemen – sind solche Methoden ein wertvolles Werkzeug. Mit diesem Tutorial hast du die Grundlagen, um die Hausaufgabe zu lösen und die Konzepte hinter SSL zu verstehen.