AlexNet gewann die ImageNet LSVRC-2012-Herausforderung 2012 mit großem Vorsprung (15,3 % gegenüber 26,2 % (zweiter Platz) Fehlerquote). Hier untersuchen wir die Feinheiten der Neuronentechnik aus dem verwandten Papier ImageNet Characterization with Profound Convolutional Neural Systems.

Die Merkmale des Papiers

Verwenden Sie Relu anstelle von Tanh, um Nichtlinearität einzubeziehen. Dadurch wird die Geschwindigkeit um ein Vielfaches bei ähnlicher Präzision erhöht.

Verwenden Sie eher Abbruch als Regularisierung, um die Überbesetzung zu bewältigen. Wie auch immer, die Vorbereitungszeit wird mit der Abbruchrate von 0,5 multipliziert.

Deckungspooling, um die Größe des Systems zu verringern. Sie verringert die besten 1 und Top-5 Fehlerquoten um 0,4% bzw. 0,3%.

Die Technik

Es enthält 5 Faltungsschichten und 3 vollständig zugeordnete Schichten. Relu wird nach einer sehr gefalteten und vollständig zugeordneten Schicht aufgetragen. Dropout wird vor dem ersten und dem zweiten vollständig zugeordneten Jahr angewendet. Die Bildgröße in der begleitenden Architekturgrafik sollte 227 * 227 und nicht 224 * 224 betragen, wie Andrei Karpathy in seinem berühmten CS231n-Kurs darauf hinweist. Umso interessanter ist es, dass die Info-Größe 224 * 224 mit 2 Polstern in der Pytorch-Brenn-Vision beträgt. Die Ausbeute Breite und Höhe sollte (224-11+4)/4 + 1=55,25 betragen! Die Klarstellung hier ist, dass der Pytorch Conv2d-Bodenverwalter auf das obige Ergebnis angewendet wird, und in diesem Sinne wird die letzte Polsterung außer Acht gelassen.

Das System hat 62,3 Millionen Parameter und erfordert 1,1 Milliarden Berechnungseinheiten in einem Vorwärtspass. Wir können ebenfalls Faltungsschichten beobachten, die 6% der beträchtlichen Anzahl von Parametern ausmachen, 95% der Berechnung verbrauchen. Dies führt Alex’ anderes Papier an, das diese Komponente zur Verbesserung der Ausführung verwendet. Der wesentliche Gedanke dieses Papiers ist der folgende, für den Fall, dass Sie neugierig geworden sind:

Duplizieren von Faltungsschichten in verschiedene GPUs; Übertragen der vollständig zugeordneten Schichten in verschiedene GPUs.

Fügen Sie für jede GPU eine Gruppe von vorbereitenden Informationen in Faltungsschichten ein (Informationsparallel).

Einspeisung der Folgen der Faltungsschichten in die verbreiteten, vollständig verbundenen Schichten clumpweise (Modell Parallel) Wenn der letzte Fortschritt für jede GPU erreicht ist. Rückpropogate Neigungen Cluster für Cluster durch die Gruppe und synchronisieren Lasten der Faltungsschichten.

Offensichtlich nutzt es die oben erwähnten Highlights aus: Faltungsschichten haben eine Reihe von Parametern und Berechnungsbündeln, vollständig verbundene Schichten sind genau umgekehrt.

Vorbereitung

Das System benötigt 90 Jahre in fünf oder sechs Tagen für die Vorbereitung auf zwei GTX 580-GPUs. SGD mit Lernrate 0,01, Energie 0,9 und Gewichtsverfall 0,0005 wird verwendet. Die Lernrate wird durch 10 geteilt, sobald die Genauigkeitsstufen erreicht sind. Die Neigungsrate wird während des Vorbereitungsverfahrens mehrfach verringert.