In der Welt des maschinellen Lernens gewinnt die Auswahl des richtigen Modells und dessen Implementierung immer mehr an Bedeutung. Besonders bei tiefen neuronalen Netzwerken wie ResNet18, die häufig als Baseline-Architekturen für Bildklassifizierungsaufgaben dienen, kann die jeweils verwendete Bibliothek oder Modellvariante einen erheblichen Einfluss auf das Trainingsergebnis haben. Zwei der bekanntesten Quellen für ResNet18-Modelle sind Timm, eine von Ross Wightman entwickelte Bibliothek, und TorchVision, das offizielle Computer-Vision-Paket von PyTorch. Während der zugrundeliegende Architektur-Entwurf beider Modelle grundsätzlich gleich ist, zeigen sich bemerkenswerte Unterschiede in ihrer Performance beim Training von Grund auf, also ohne vortrainierte Gewichte. Eine genauere Untersuchung dieser Unterschiede hilft nicht nur bei der Auswahl der richtigen Implementierung, sondern beleuchtet auch wichtige Faktoren wie die Initialisierung von BatchNorm-Schichten, die oft unterschätzt werden, aber großen Einfluss auf den Trainingserfolg haben können.
Die Ausgangssituation zeigt sich durch Experimente mit dem leichteren Datensatz Imagenette, der als kompakter Ersatz für ImageNet dient und für schnelle Trainingsdurchläufe geeignet ist. Beim Training von ResNet18 aus Timm erreichte man nach fünf Epochen eine Validierungsgenauigkeit von rund 72,7 Prozent. Dagegen lag die Genauigkeit von TorchVision nach gleichem Trainingsaufwand bei etwa 78,2 Prozent – ein deutlicher Unterschied von fast sechs Prozentpunkten, der auf den ersten Blick überrascht, da es sich um dieselbe Netzwerkarchitektur handelt. Dieser Umstand führte zu der Frage, welche Faktoren diesen Unterschied verursachen. Ein erster Verdacht fiel auf zufällige Effekte durch unterschiedliche Initialisierungen oder Trainingsläufe.
Mehrfache Trainingsdurchläufe bestätigten jedoch die Stabilität der Ergebnisse und schlossen Zufall als Ursache aus. Die Diskussion in Fachkreisen, etwa in der FastAI-Community und in Gesprächen mit Ross Wightman, förderte den Begriff der sogenannten "zero initialization" zutage, ein Parameter, der in der Timm-Bibliothek standardmäßig aktiviert (True), in TorchVision aber typischerweise deaktiviert (False) ist. Konkret handelt es sich um die Initialisierung der zweiten BatchNorm-Schicht (bn2) in den BasicBlocks von ResNet. Der Parameter wird in Timm als zero_init_last_bn bezeichnet, in TorchVision als zero_init_residual. Wird die zero_initialization aktiviert, so werden die Gewichtungen der zweiten BatchNorm-Schicht im Residualblock mit Null initialisiert.
Das bedeutet, dass diese Schicht am Anfang des Trainings praktisch das Signal blockiert und der Residualpfad die Identitätsfunktion übernimmt. In der Theorie sollte dies das Lernen stabilisieren und zur Verbesserung der Netzleistung beitragen. Die TorchVision-Implementierung hingegen initialisiert diese BatchNorm-Gewichte mit Eins, wodurch bereits zu Beginn der Trainingsphase alle Schichten aktiv sind und mit dem Gradient-Update lernen. Um die Auswirkung dieser Initialisierungen zu verifizieren, wurden erneut Trainingsläufe durchgeführt, bei denen die Parameter explizit jeweils auf True oder False gesetzt wurden. Das Ergebnis zeigte, dass die Timm-Variante ohne zero_init_last_bn (also mit der BatchNorm-Gewichtung auf Eins initialisiert) die TorchVision-Performance in puncto Genauigkeit übertrifft.
Umgekehrt schnitten TorchVision-Modelle mit aktivierter zero_init_residual-Option hinsichtlich der Validierungsgenauigkeit schwächer ab als bei deaktivierter Option. Diese Beobachtung veranlasst zu einem genaueren Blick in die Architektur der Netzwerke. Bei Timm ist in den BasicBlocks eine zusätzliche ReLU-Aktivierung zu finden, die bei TorchVision als identische Funktion auch verwendet wird, aber in der Modellbeschreibung zuerst nicht offensichtlich ist. Diese Unterschiede in der internen Architektur und deren Implementierung können kleinere Effekte während des Trainings bedingen, doch der entscheidende Faktor bleibt die BatchNorm-Initialisierung. Die Einstellung der BatchNorm-Gewichte auf Null verändert das Lernverhalten insbesondere bei kürzeren Trainingszeiten signifikant.
Interessanterweise sind die Auswirkungen nicht durchweg negativ oder positiv. Ross Wightman weist darauf hin, dass bei kurzen Trainingsphasen die Initialisierung mit Null die Genauigkeit verschlechtert, während bei längeren Trainingsläufen dieser Effekt umgekehrt sein kann und die Nullinitialisierung langfristig sogar Vorteile bringt. Dies lässt vermuten, dass der Einfluss der BatchNorm-Initialisierung dynamisch mit der Trainingsdauer variiert und möglicherweise in Verbindung mit anderen Hyperparametern steht. Ein weiterer Punkt, der aus den Experimenten hervortritt, betrifft vortrainierte Modelle. Bei der Verwendung von vortrainierten Gewichten entfällt der Effekt der unterschiedlichen BatchNorm-Initialisierung praktisch, da die Gewichte durch den vorangegangenen Trainingsprozess bereits optimal gesetzt wurden und der Startpunkt der Gewichte diese Feinheiten überdeckt.
Somit betrifft das Thema vor allem den Bereich von Trainingsversuchen mit zufällig initialisierten Netzwerken. Das Fazit aus diesen Beobachtungen empfiehlt also keine pauschale Entscheidung für oder gegen eine bestimmte Initialisierung, sondern regt zu einem bewussten Umgang damit an. Für Anwender, die möglichst schnell valide Modelle trainieren möchten, kann es sinnvoll sein, die BatchNorm-Gewichte auf Eins zu setzen – wie es TorchVision standardmäßig tut. Wer hingegen über längere Zeiten trainiert und experimentieren möchte, sollte ein Auge auf die zero_init_last_bn-Option und deren mögliche Vorteile haben. Für die Praxis bedeutet dies außerdem, beim Vergleich verschiedener ResNet18-Implementierungen immer die Initialisierungsparameter zu beachten.
Werden sie vernachlässigt, drohen verzerrte Ergebnisse und Fehleinschätzungen der Leistungsfähigkeit eines Modells. Solche Details sind besonders relevant in Forschungsprojekten und bei der Entwicklung neuer Algorithmen, bei denen faire Baselines essenziell sind. In Zukunft könnten weitere Untersuchungen die Vorteile der zero initialization präziser erfassen, ebenso wie alternative Initialisierungstechniken, die das Trainingsverhalten verbessern. Auch der Einfluss anderer Model-Architekturvarianten und die Wechselwirkung mit verschiedenen Optimierern und Lernraten-Strategien bieten potenzielle Forschungsfelder. Die Erkenntnis, dass kleinste Änderungen in der Startkonfiguration großen Einfluss auf das Verhalten neuronaler Netzwerke haben können, unterstreicht die Bedeutung sorgfältiger Detailanalyse in der Deep-Learning-Forschung.
Zusammengefasst steht die Frage, welche ResNet18-Implementierung die bessere Wahl ist, damit in engem Bezug zur BatchNorm-Initialisierung. Während TorchVision bei kurzer Trainingsdauer verlässlich besser abschneidet, kann Timm durch bewusste Anpassung der Initialisierungsparameter bei längeren Trainingsvorgängen punkten. Anwender und Forscher werden gut beraten sein, diese Unterschiede zu verstehen und in ihre Auswahl ihrer Modellbasis und Trainingsstrategien einfließen zu lassen, um optimale Ergebnisse bei ihren spezifischen Anwendungen zu erzielen. Die veränderte Performance durch die BatchNorm-Initialisierung zeigt eindrucksvoll, wie tiefgreifend schon kleine architektonische Details Trainingsprozesse und damit letztlich die Genauigkeit von KI-Systemen beeinflussen können.