In diesem Beitrag werde ich häufig verwendete Architekturen für Faltungsnetzwerke diskutieren. Wie Sie sehen werden, folgen fast alle CNN-Architekturen den gleichen allgemeinen Entwurfsprinzipien für das sukzessive Anwenden von Faltungsebenen auf die Eingabe, wobei die räumlichen Dimensionen periodisch verkleinert werden, während die Anzahl der Feature-Maps erhöht wird.,

Während die klassischen Netzwerkarchitekturen einfach aus gestapelten Faltungsschichten bestanden, erforschen moderne Architekturen neue und innovative Wege, um Faltungsschichten auf eine Weise zu konstruieren, die ein effizienteres Lernen ermöglicht. Fast alle dieser Architekturen basieren auf einer wiederholbaren Einheit, die im gesamten Netzwerk verwendet wird.

Diese Architekturen dienen als allgemeine Designrichtlinien, die sich die Praktiker des maschinellen Lernens dann anpassen, um verschiedene Computer-Vision-Aufgaben zu lösen., Diese Architekturen dienen als umfangreiche Feature-Extraktoren, die für die Bildklassifizierung, Objekterkennung, Bildsegmentierung und viele andere erweiterte Aufgaben verwendet werden können.

Klassische Netzwerkarchitekturen (für historische Zwecke enthalten)

  • LeNet-5
  • lennet
  • VGG 16

Moderne Netzwerkarchitekturen

  • Gründung
  • ResNet
  • ResNeXt
  • DenseNet

LeNet-5

Das LeNet-5-Modell von Yann Lecun wurde 1998 entwickelt, um handschriftliche Ziffern zur Erkennung von Postleitzahlen in der Post zu identifizieren., Dieses bahnbrechende Modell führte das faltungsneuronale Netzwerk, wie wir es heute kennen, weitgehend ein.

Architektur

Faltungsebenen verwenden für jeden Filter eine Teilmenge der Kanäle der vorherigen Ebene, um die Berechnung zu reduzieren und einen Symmetriebruch im Netzwerk zu erzwingen. Die Subsampling-Schichten verwenden eine Form der durchschnittlichen Pooling.

Parameter: 60,000

Papier: Gradient-based learning applied to document recognition

AlexNet

AlexNet wurde von Alex Krizhevsky et al. im Jahr 2012 im ImageNet Wettbewerb zu konkurrieren., Die allgemeine Architektur ist LeNet-5 sehr ähnlich, obwohl dieses Modell erheblich größer ist. Der Erfolg dieses Modells (das 2012 im ImageNet-Wettbewerb den ersten Platz belegte) überzeugte viele der Computer Vision-Community, sich ernsthaft mit Deep Learning für Computer Vision-Aufgaben zu befassen.

Architektur

Parameter: 60 Millionen

Paper: ImageNet Classification with Deep Convolutional Neural Networks

VGG-16

Das 2014 eingeführte VGG-Netzwerk bietet eine tiefere und dennoch einfachere Variante der oben diskutierten Faltungsstrukturen., Zum Zeitpunkt seiner Einführung galt dieses Modell als sehr tief.

Architektur

Parameter: 138 Millionen

Paper: Very Deep Convolutional Networks for Large-Scale Image Recognition

Inception (GoogLeNet)

Im Jahr 2014 stellten Forscher von Google das Inception Network vor, das 2014 im ImageNet-Wettbewerb für Klassifizierungs-und Erkennungsherausforderungen den ersten Platz belegte.

Das Modell besteht aus einer Basiseinheit, die als „Inception cell“ bezeichnet wird, in der wir eine Reihe von Windungen in verschiedenen Skalen durchführen und anschließend die Ergebnisse aggregieren., Um Berechnungen zu sparen, werden 1×1-Windungen verwendet, um die Eingangskanaltiefe zu reduzieren. Für jede Zelle lernen wir eine Reihe von 1×1 -, 3×3-und 5×5-Filtern, mit denen Funktionen in verschiedenen Maßstäben aus der Eingabe extrahiert werden können. Max Pooling wird ebenfalls verwendet, wenn auch mit „gleicher“ Auffüllung, um die Abmessungen beizubehalten, damit die Ausgabe ordnungsgemäß verkettet werden kann.

Diese Forscher veröffentlichten ein Folgepapier, das effizientere Alternativen zur ursprünglichen Anfangszelle einführte., Windungen mit großen räumlichen Filtern (wie 5×5 oder 7×7) sind vorteilhaft in Bezug auf ihre Ausdruckskraft und Fähigkeit, Merkmale in größerem Maßstab zu extrahieren, aber die Berechnung ist unverhältnismäßig teuer. Die Forscher wiesen darauf hin, dass eine 5×5-Faltung durch zwei gestapelte 3×3-Filter günstiger dargestellt werden kann.

Während ein $5 \mal 5 \mal c$ Filter $25c$ Parameter benötigt, benötigen zwei $3 \mal 3 \mal c$ Filter nur$ 18c $ Parameter. Um einen 5×5-Filter am genauesten darzustellen, sollten keine nichtlinearen Aktivierungen zwischen den beiden 3×3-Ebenen verwendet werden., Es wurde jedoch entdeckt, dass “ die lineare Aktivierung der Verwendung rektifizierter linearer Einheiten in allen Stufen der Faktorisierung immer unterlegen war.“

Es wurde auch gezeigt, dass 3×3-Windungen weiter in aufeinanderfolgende 3×1-und 1×3-Windungen dekonstruiert werden konnten.

Wenn wir diese Einsicht verallgemeinern, können wir eine $n \times n$ – Faltung effizienter als eine $1 \times n$ – Faltung berechnen, gefolgt von einer $n \times 1$ – Faltung.

Architektur

Um die Gesamtleistung des Netzwerks zu verbessern, werden im gesamten Netzwerk zwei Hilfsausgänge hinzugefügt., Es wurde später entdeckt, dass der früheste Hilfsausgang keinen erkennbaren Einfluss auf die endgültige Qualität des Netzwerks hatte. Das Hinzufügen von Hilfsausgängen profitierte in erster Linie von der Endleistung des Modells und konvergierte zu einem etwas besseren Wert als dieselbe Netzwerkarchitektur ohne Hilfszweig. Es wird angenommen, dass das Hinzufügen von Hilfsausgängen eine regularisierende Wirkung auf das Netzwerk hatte.

Eine überarbeitete, tiefere Version des Inception-Netzwerks, die die effizienteren Inception-Zellen nutzt, ist unten dargestellt.,

Parameter: 5 Millionen (V1) und 23 Millionen (V3)

Papiere:

  • Tiefer gehen mit Windungen
  • Überdenken der Inception-Architektur für Computer Vision

ResNet

Tiefe Restnetze waren eine bahnbrechende Idee, die die Entwicklung viel tieferer Netzwerke ermöglichte (Hunderte von Schichten im Gegensatz zu zehn Schichten).

Es ist ein allgemein anerkanntes Prinzip, dass tiefere Netzwerke in der Lage sind, komplexere Funktionen und Darstellungen der Eingabe zu lernen, was zu einer besseren Leistung führen sollte., Viele Forscher beobachteten jedoch, dass sich das Hinzufügen weiterer Schichten letztendlich negativ auf die endgültige Leistung auswirkte. Dieses Verhalten wurde nicht intuitiv erwartet, wie von den Autoren unten erklärt.

Betrachten wir eine flachere Architektur und ihr tieferes Gegenstück, das mehr Ebenen hinzufügt. Es gibt eine Lösung durch die Konstruktion des tieferen Modells: Die hinzugefügten Ebenen sind Identitätszuordnung, und die anderen Ebenen werden aus dem erlernten flacheren Modell kopiert., Die Existenz dieser konstruierten Lösung zeigt an, dass ein tieferes Modell keinen höheren Trainingsfehler erzeugen sollte als sein flacheres Gegenstück. Experimente zeigen jedoch, dass unsere derzeitigen Löser keine Lösungen finden können, die vergleichbar gut oder besser sind als die konstruierte Lösung (oder dies nicht in realisierbarer Zeit tun können).,

Dieses Phänomen wird von den Autoren als Degradationsproblem bezeichnet – in Anspielung auf die Tatsache, dass zwar bessere Parameterinitialisierungstechniken und Batch-Normalisierung eine Konvergenz tieferer Netzwerke ermöglichen, diese jedoch häufig mit einer höheren Fehlerrate konvergieren als ihre flacheren Gegenstücke. Im Limit verschlechtert das einfache Stapeln von mehr Schichten die ultimative Leistung des Modells.,

Die Autoren schlagen eine Lösung für dieses Abbauproblem vor, indem sie Restblöcke einführen, in denen Zwischenschichten eines Blocks eine Restfunktion in Bezug auf die Blockeingabe lernen. Sie können sich diese Restfunktion als Verfeinerungsschritt vorstellen, in dem wir lernen, wie Sie die Eingabe-Feature-Map für Funktionen mit höherer Qualität anpassen. Dies wird mit einem „einfachen“ Netzwerk verglichen, in dem von jeder Ebene erwartet wird, dass sie neue und unterschiedliche Merkmalskarten lernt., Für den Fall, dass keine Verfeinerung erforderlich ist, können die Zwischenschichten lernen, ihre Gewichte schrittweise auf Null einzustellen, so dass der Restblock eine Identitätsfunktion darstellt.

Hinweis: Es wurde später entdeckt, dass eine geringfügige Änderung der ursprünglich vorgeschlagenen Einheit eine bessere Leistung bietet, indem Steigungen während des Trainings effizienter über das Netzwerk verteilt werden können.,

Wide Residual Networks
Obwohl sich das ursprüngliche ResNet-Papier auf die Schaffung einer Netzwerkarchitektur konzentrierte, um tiefere Strukturen durch Linderung des Abbauproblems zu ermöglichen, haben andere Forscher seitdem darauf hingewiesen, dass die Erhöhung der Netzwerkbreite (Kanaltiefe) eine effizientere Möglichkeit sein kann, die Gesamtkapazität des Netzwerks zu erweitern.

Architektur

Jeder farbige Ebenenblock repräsentiert eine Reihe von Windungen derselben Dimension., Das Feature-Mapping wird periodisch durch Strided Convolution, begleitet von einer Erhöhung der Kanaltiefe, heruntergefahren, um die zeitliche Komplexität pro Schicht zu erhalten. Gepunktete Linien bezeichnen Restverbindungen, bei denen wir die Eingabe über eine 1×1-Faltung entsprechend den Abmessungen des neuen Blocks projizieren.

Das obige Diagramm visualisiert die ResNet 34-Architektur., Für das ResNet 50-Modell ersetzen wir einfach jeden zweischichtigen Restblock durch einen dreischichtigen Engpassblock, der 1×1-Windungen verwendet, um die Kanaltiefe zu reduzieren und anschließend wiederherzustellen, was eine reduzierte Rechenlast bei der Berechnung der 3×3-Faltung ermöglicht.,

Parameter: 25 Millionen (ResNet 50)

Papiere:

  • Deep Residual Learning for Image Recognition
  • Identity Mappings in Deep Residual Networks
  • Wide Residual Networks

Die ResNeXt-Architektur ist eine Erweiterung des Deep residual Network, die den Standard-Residualblock durch einen ersetzt, der eine „Split-transform-merge“ – Strategie (dh. verzweigte Pfade innerhalb einer Zelle), die in den Inception-Modellen verwendet werden., Anstatt Windungen über die vollständige Eingabe-Feature-Map durchzuführen, wird die Eingabe des Blocks einfach in eine Reihe von niedrigeren (Kanal -) dimensionalen Darstellungen projiziert, von denen wir einige Faltungsfilter separat anwenden, bevor wir die Ergebnisse zusammenführen.

Diese Idee ist Gruppenfaltungen sehr ähnlich, was eine Idee war, die im AlexNet-Papier vorgeschlagen wurde, um die Faltungsberechnung über zwei GPUs hinweg zu teilen. Anstatt Filter mit der vollen Kanaltiefe des Eingangs zu erstellen, wird der Eingang wie unten gezeigt kanalweise in Gruppen aufgeteilt.,

Es wurde entdeckt, dass die Verwendung gruppierter Windungen zu einem Spezialisierungsgrad zwischen Gruppen führte, bei denen sich separate Gruppen auf verschiedene Eigenschaften des Eingabebildes konzentrierten.

Das ResNeXt-Papier bezieht sich auf die Anzahl der Zweige oder Gruppen als Kardinalität der ResNeXt-Zelle und führt eine Reihe von Experimenten durch, um die relativen Leistungssteigerungen zwischen der Erhöhung der Kardinalität, Tiefe und Breite des Netzwerks zu verstehen. Die Experimente zeigen, dass die Erhöhung der Kardinalität die Modellleistung effektiver fördert als die Erhöhung der Breite oder Tiefe des Netzwerks., Die Experimente legen auch nahe, dass „Restverbindungen für die Optimierung hilfreich sind, während aggregierte Transformationen (hilfreich für) stärkere Repräsentationen sind.“

Architektur

Die ResNeXt-Architektur imitiert einfach die ResNet-Modelle und ersetzt die ResNet-Blöcke für den ResNeXt-Block.

Papier: Aggregierte Resttransformationen für tiefe neuronale Netze

DenseNet

Die Idee hinter dichten Faltungsnetzwerken ist einfach: Es kann nützlich sein, auf Merkmalskarten von früher im Netzwerk zu verweisen., Somit wird die Merkmalzuordnung jeder Ebene mit der Eingabe jeder aufeinanderfolgenden Ebene innerhalb eines dichten Blocks verkettet. Auf diese Weise können spätere Layer innerhalb des Netzwerks die Funktionen früherer Layer direkt nutzen und die Wiederverwendung von Funktionen innerhalb des Netzwerks fördern. Die Autoren geben an: „Das Verketten von Feature-Maps, die von verschiedenen Ebenen gelernt wurden, erhöht die Variation in der Eingabe nachfolgender Ebenen und verbessert die Effizienz.“

Als ich zum ersten Mal auf dieses Modell stieß, dachte ich, dass es eine absurde Anzahl von Parametern haben würde, um die dichten Verbindungen zwischen Ebenen zu unterstützen., Da das Netzwerk jedoch in der Lage ist, jede vorherige Feature-Map direkt zu verwenden, stellten die Autoren fest, dass sie mit sehr kleinen Ausgangskanalitiefen arbeiten könnten (dh. 12 filter pro Schicht), wodurch die Gesamtzahl der benötigten Parameter erheblich reduziert wird. Die Autoren beziehen sich auf die Anzahl der Filter, die in jeder Faltungsebene verwendet werden, als „Wachstumsrate“, $k$, da jede aufeinanderfolgende Ebene $k$ mehr Kanäle als die letzte hat (als Ergebnis des Akkumulierens und Verkettens aller vorherigen Ebenen mit der Eingabe).,

Im Vergleich zu ResNet-Modellen wird berichtet, dass DenseNets eine bessere Leistung bei geringerer Komplexität erzielen.

Architektur

Für einen Großteil der Experimente in der Arbeit ahmten die Autoren die allgemeine ResNet-Modellarchitektur nach und tauschten einfach den dichten Block als wiederholte Einheit aus.

Parameter:

  • 0,8 Millionen (DenseNet-100, k=12)
  • 15.,3 Millionen (DenseNet-250, k=24)
  • 40 Millionen (DenseNet-190, k=40)

Papier: Dicht verbundene Faltungsnetze
Video: CVPR 2017 Best Paper Award: Dicht verbundene Faltungsnetze

Weiterlesen