Modelle, die das Deep Learning geprägt haben: 2015-2016

ResNet

Tiefe neuronale Netzwerke benötigen oft viel Zeit zum Training und neigen zu Überanpassung. 2015 entwickelte ein Team bei Microsoft das Residual-Learning-Framework, um tiefe Netzwerke effizienter und genauer zu machen. Die Forschungsergebnisse erschienen in der Arbeit Deep Residual Learning for Image Recognition, und ResNet (Residual Network) wurde geboren.

Wenn Netzwerke immer tiefer werden, sinkt die Genauigkeit irgendwann rapide ab. Dieses „Degradationsproblem“ macht die Optimierung schwieriger.

ResNet löst das Problem durch „residuale Abbildungen“. Statt zu erwarten, dass jede Schicht eine komplexe Abbildung direkt erfüllt, erlaubt ResNet den Schichten, nur die Unterschiede („Residuen“) zu lernen. Der folgende Code zeigt den Baustein eines Residual Networks:

// Baustein eines Residual Network

Mit F(x)+x lässt sich diese Technik einfach durch Vorwärtsnetzwerke mit Shortcut-Verbindungen realisieren.

ResNets erzielen bessere Ergebnisse bei tieferen Netzwerken. Sie bieten hohe Genauigkeit und bewältigen komplexe Probleme effektiver. Erste Tests erfolgten mit ImageNet, das über 1,2 Millionen Bilder und 1000 Klassen umfasst.

ResNet-Architektur

Die ResNet-Architektur ist einfacher als klassische neuronale Netzwerke. Das Bild unten zeigt ein VGG-Netzwerk, ein 34-Schichten-Netzwerk und ein 34-Schichten-Residual Network. Während VGG-Netzwerke mit zunehmender Tiefe immer mehr Filter verwenden, bleibt ResNet schlanker und effizienter.

// ResNet-Architektur Visualisierung

In ResNets sorgen Shortcut-Verbindungen für eine Identitätsabbildung. Diese Verbindungen fügen nötigenfalls Nullen hinzu, um die Dimensionen zu vergrößern. Mathematisch beschreibt F(x{W}+x) diesen Vorgang.

// Tabelle der ResNet-Architekturen

ResNet-Blöcke bestehen aus zwei oder drei Schichten, abhängig von der Netzwerktiefe (z. B. ResNet 18, 50, 152).

ResNet Training und Ergebnisse

ImageNet-Bilder wurden für das Training auf 224 × 224 skaliert und normalisiert. Mit stochastischem Gradientenabstieg trainierte das Team die Netzwerke in Mini-Batches von 256. Die Lernrate begann bei 0,1 und wurde bei Fehlersteigerung halbiert. Insgesamt liefen 60 × 10⁴ Iterationen. Dropout-Schichten nutzten die Forscher nicht.

ResNet zeigte exzellente Ergebnisse, insbesondere bei tiefen Architekturen. Der Graph unten vergleicht die Fehlerraten von 18- und 34-Schichten-Netzwerken. Links sehen Sie einfache Netzwerke, rechts die ResNet-Modelle. Dünne rote Linien zeigen den Trainingsfehler, fette Linien den Validierungsfehler.

// Graphen des ResNet-Trainings

Die Tabelle zeigt die Top-1-Fehlerraten bei ImageNet-Tests:

// Tabelle der ImageNet-Validierungsfehler

Wide ResNet

Wide Residual Networks (Wide ResNet) verbessern das ursprüngliche ResNet. Statt die Tiefe zu erhöhen, setzen sie auf breitere Blöcke, was ähnliche oder bessere Ergebnisse liefert. Diese Methode stellten Sergey Zagoruyko und Nikos Komodakis 2016 vor.

Wide ResNet Architektur

Ein Wide ResNet besteht aus breiteren ResNet-Blöcken, die jeweils BatchNormalization, ReLU und Faltungen kombinieren:

// Wide ResNet Architektur-Diagramm

Wide ResNet Training und Ergebnisse

Die Tests auf CIFAR-10 zeigten, dass breitere ResNet-Blöcke hervorragende Ergebnisse liefern. Optimal funktionierten:

  • Faltungstyp: B(3, 3)
  • Zwei Schichten pro Block
  • Eine Tiefe von 28 und eine Breite von 10
  • Dropout zur Vermeidung von Überanpassung

Die Tabelle unten vergleicht Wide ResNet mit anderen Netzwerken:

// CIFAR-10 und CIFAR-100 Ergebnistabelle

Inception v3

Inception v3 optimiert frühere Inception-Architekturen, um weniger Rechenressourcen zu verbrauchen. Christian Szegedy und sein Team stellten das Modell 2015 vor. Es verwendet Techniken wie faktorisierte Faltungen, Regularisierung und asymmetrische Faltungen.

Inception v3

Inception v3 optimiert frühere Inception-Architekturen, um weniger Rechenleistung zu benötigen. Christian Szegedy und sein Team entwickelten das Modell 2015 und beschrieben es in der Arbeit Rethinking the Inception Architecture for Computer Vision. Im Vergleich zu VGGNet bietet Inception v3 bessere Effizienz bei der Parameteranzahl und den eingesetzten Ressourcen.

Das Modell setzt auf Techniken wie:

  • Faktorisierte Faltungen zur Reduktion der Parameteranzahl
  • Regularisierung zur Verbesserung der Generalisierung
  • Dimensionsreduktion für effizientes Training
  • Parallele Berechnungen zur Beschleunigung

Inception v3 Architektur

Die Inception v3 Architektur wird schrittweise aufgebaut. Die wichtigsten Optimierungen umfassen:

  1. Faktorisierte Faltungen: Reduzieren die Anzahl der Parameter. Zum Beispiel ersetzen zwei 3 × 3 Faltungen (18 Parameter) eine 5 × 5 Faltung (25 Parameter).
  2. Kleinere Faltungen: Reduzieren die Berechnungszeit, ohne an Genauigkeit zu verlieren.
  3. Asymmetrische Faltungen: Eine 3 × 3 Faltung wird durch eine Kombination aus 1 × 3 und 3 × 1 Faltungen ersetzt.
  4. Hilfsklassifikator: Unterstützt das Training tiefer Netzwerke, indem er die Fehlerrate reduziert.
  5. Effizientes Pooling: Senkt die Gittergröße, ohne Rechenkosten drastisch zu erhöhen.

// Inception v3 Architektur-Diagramm

Inception v3 Training und Ergebnisse

Das Team trainierte Inception v3 auf ImageNet und verglich die Ergebnisse mit anderen Modellen. Bei Einsatz von Hilfsklassifikatoren, RMSProp und Label Glättung erreichte das Modell eine der niedrigsten Fehlerraten:

// Ergebnisse von Inception v3

SqueezeNet

SqueezeNet bietet eine kompakte Alternative zu AlexNet. Das Modell nutzt fast 50x weniger Parameter und ist dreimal schneller. Forscher von DeepScale, der University of California, Berkeley und Stanford University veröffentlichten SqueezeNet 2016 in der Arbeit SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size.

Die Architektur basiert auf drei Hauptstrategien:

  • Verwendung von 1 × 1 Filtern statt 3 × 3 Filtern
  • Reduktion der Eingabekanäle für 3 × 3 Filter
  • Spätes Downsampling für größere Aktivierungskarten

SqueezeNet Architektur und Ergebnisse

SqueezeNet kombiniert „Squeeze“- und „Expand“-Schichten. Die „Squeeze“-Schicht verwendet 1 × 1 Filter, die dann in eine „Expand“-Schicht mit einer Mischung aus 1 × 1 und 3 × 3 Filtern eingespeist werden:

// Visualisierung der SqueezeNet Fire Module

Ein Eingabebild passiert zuerst eine eigenständige Faltungsschicht und danach acht „Fire Modules“ (fire2-9). Der folgende Vergleich zeigt die Unterschiede zwischen SqueezeNet und AlexNet:

// Vergleich von SqueezeNet und AlexNet

SqueezeNet benötigt weniger Speicher und vereinfacht dadurch die Bereitstellung. Anfangs implementierte das Team das Modell in Caffe. Inzwischen ist es auf vielen Plattformen verfügbar.

Fazit

ResNet, Wide ResNet, Inception v3 und SqueezeNet haben die Entwicklung des Deep Learning nachhaltig beeinflusst. Sie zeigen, wie man Leistung und Effizienz in neuronalen Netzwerken optimiert und die Grenzen des Möglichen erweitert.

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren:

centron Managed Cloud Hosting in Deutschland

Deep Learning mit PyTorch: Training, Validierung und Genauigkeit

Python, Tutorial
Tiefes Lernen mit PyTorch: Training, Validierung und Genauigkeit Content1 Einführung2 Voraussetzungen3 Importe und Setup4 Anatomie neuronaler Netzwerke5 Modellziel6 Das richtige Training7 Generalisierung und Validierung8 Leistungsmessung9 Datensatz10 Architektur des ConvNet11 Zusammenführung…