AlexNet ist eine Architektur für neuronale Faltungsnetzwerke, die für die Bildklassifizierung entwickelt wurde und insbesondere durch ihre Leistung in der ImageNet Large Scale Visual Recognition Challenge (ILSVRC) Bekanntheit erlangte. Sie klassifiziert Bilder in 1.000 verschiedene Objektkategorien und gilt als die erste weithin anerkannte Anwendung tiefer Faltungsnetzwerke in der großflächigen visuellen Erkennung. Entwickelt wurde sie 2012 von Alex Krizhevsky in Zusammenarbeit mit Ilya Sutskever und seinem Doktorvater Geoffrey Hinton an der University of Toronto. Das Modell enthält 60 Millionen Parameter und 650.000 Neuronen. Das Hauptergebnis der ursprünglichen Arbeit war, dass die Tiefe des Modells für seine hohe Leistung entscheidend war, was zwar rechenintensiv war, aber durch die Nutzung von Grafikprozessoren (GPUs) während des Trainings möglich wurde.
Die drei bildeten das Team SuperVision und reichten AlexNet am 9. September 2012 in der ImageNet Large Scale Visual Recognition Challenge ein. Das Netzwerk erreichte eine Top-5-Fehlerrate von 15,3 % und gewann damit den Wettbewerb, mehr als 10,8 % über dem Zweitplatzierten. Die Architektur beeinflusste eine große Anzahl nachfolgender Arbeiten im Bereich Deep learning, insbesondere bei der Anwendung von neural networks auf die Computer Vision.
Architektur
AlexNet enthält acht Schichten: Die ersten fünf sind Faltungsschichten, auf einige folgen Max-Pooling-Schichten, und die letzten drei sind vollständig verbundene Schichten. Das Netzwerk ist, mit Ausnahme der letzten Schicht, in zwei Kopien aufgeteilt, die jeweils auf einer GPU laufen, da das Netzwerk nicht in den Speicher einer einzelnen Nvidia GTX 580 3GB GPU passte. Die gesamte Struktur kann als (CONV → RN → MP)2 → (CONV3 → MP) → (FC → DO)2 → Linear → Softmax geschrieben werden, wobei CONV = Faltungsschicht (mit ReLU-Aktivierung), RN = lokale Antwortnormalisierung, MP = Max-Pooling, FC = vollständig verbundene Schicht (mit ReLU-Aktivierung), Linear = vollständig verbundene Schicht (ohne Aktivierung) und DO = Dropout.
Bemerkenswerterweise waren die Faltungsschichten 3, 4 und 5 ohne Pooling oder Normalisierung miteinander verbunden. Es verwendete die nicht-sättigende ReLU-Aktivierungsfunktion, die besser trainierte als Tanh und Sigmoid. Diese Wahl war ein Schlüsselfaktor für schnellere Trainingszeiten und bessere Leistungen.
Training
Der Trainingstell des ImageNet-Datensatzes enthielt 1,2 Millionen Bilder. Das Modell wurde über 90 Epochen über einen Zeitraum von fünf bis sechs Tagen mit zwei Nvidia GTX 580 GPUs (je 3 GB) trainiert. Diese GPUs hatten eine theoretische Leistung von 1,581 TFLOPS in float32 und wurden bei der Veröffentlichung für 500 US-Dollar verkauft. Ein einzelner Vorwärtslauf von AlexNet benötigte etwa 1,43 GFLOPs. Basierend auf diesen Werten konnten die beiden GPUs unter idealen Bedingungen theoretisch über 2,200 Vorwärtsläufe pro Sekunde durchführen.
Die Bilder des Datensatzes wurden im JPEG-Format gespeichert und benötigten 27 GB Speicherplatz. Das neuronale Netz verwendete 2 GB RAM auf UNDDO auf jeder GPU und rund 5 GB System-RAM während des Trainings. Die GPUs waren für les übliche Training verantwortlich, während die CPUs für das Laden von Bildern von der Festplatte und der Durchführung von Data Augmentation an den Bildern zuständig waren.
Das Training wurde mit Momentum-Gradientenabstieg durchgeführt, mit einer Batch-Größe von 128 Beispielen, Momentum von 0,9 und Gewichtsabfall von 0,0005. Die Lernrate begann bei 10−2 und wurde manuell um das Zehnfache reduziert, wenn die Validierungsfehler zu stoppen schien. Sie wurde während des Trainings dreimal reduziert und endete bei 10−.
Es wurden zwei Formen der Datenüberung verwendet, beide direkt vom CPU berechnet, also "rechenfrei":
- Jedes Bild aus ImageNet wurde zuerst skaliert, damit seine kürzere Seite eine Länge von 256 hatte. Dann wurde ein zentrales 256×256 Quadrat ausgeschnit-sizing;ts und normiert (Teilen der Pixelwerte, um Set 0 bis 1 zu liegen, Dann: Subtrahieren von [0,485, 0,456, 0,406], dann Dividieren durch [0.229, 0.224, 0.225]). Diese sind Mittelwert und Standardabweichung für Werte für ImageNet, was zu einer Weißung der Eingabedaten führt.
- Extrahieren zufälliger 224×224-Paetzen (sowie ihrer horizontalen Spiegelbilder) aus dem 256×256-Bild. Dies vergrößert die Trainingmgset 2048-fach.
- Zufällige Veränderung der RGB-Daten jedes Bildes entlang der drei Hauptrichtungen der RGB-Werte seiner Pixel.
Die Auflösung von 224×224 wurde gewählt, weil 256 - 16 - 16 = 224 gilt, das heißt, aus einem 256×256-Bild entsteht durch eine Umrandung von 16 Pixeln auf jeder der vier Seiten ein Bild von 224×224.
Es verwendete lokale Response-Normalisierung und Dropout-Regularisierung mit einem Drop-Wert von 0,5. Alle Gewichte wurden als Gauß-Verteilungen mit Mittelwert 0 und Standardabweichung 0.01 initialisiert. Die Parameterrungen in den Faltungsschichten 2, 4, 5 und allen vollständig verbundenen Schichten wurden auf 1 initialisiert, um das Problem der toten ReLU-Neuronen zu vermeiden.
Bei der Testzeit wird zum Vorhersagen der Klasse eines Bildes mit einem trainierten AlexNet dieses Zuerst so skaliert, dass die kürzere Seite Länge 256 hat. Dann wird das zentrale 256×256-Quadrat ausgeschnitten. Anschließend werden die fünf 224×224-Patchen (die vier Eckfelder und das Zentrums- und deren Seiten, horizontal Spiegelbilder) berechnet, also insgesamt 10 Patches aus. Die vom Netzwerk vorhergesagten Wahrscheinlichkeiten über alle 10 Patches gemittelt.
ImageNet-Wettbewerb
Die Version zur Teilnahme an der ImageNet-Competition 2012 bestand aus einem Ensemble von 7 AlexNets. Konkret wurden auf dem ILSVRC-2012-Trainingsdatensatz (1,2 Millionen Bilder) 5 AlexNets der zuvor beschriebenen Architektur (mit 5 CONV-Schichten) trainiert. Zusätzlich wurden 2 Varianten trainiert, die durch Hinzufügen einer zusätzlichen CONV-Schicht über der letzten Pooling-Schicht erhalten wurden. Diese wurden trainiert, indem zunächst auf dem gesamten ImageNet-Fall-2011-Release (15 Millionen Bilder in 22.000 Kategorien) trainiert und danach auf dem ILSVRC-2012-Datensatz feinabgestimmt wurde. Das Finale System aus 7 AlexNets verwendete die Durchschnittswerte der vorhergesagten Wahrscheinlichkeiten.
Geschichte
Frühere Arbeit
1980 schlug Kunihiko Fukushima ein frühes CNN namens Neocognitron vor, das mit einem unüberwachten Lernalgorithmus trainiert wurde. LeNet-5 (Yann LeCun et al., 1989) wurde über überwachtes Lernen mit Rückpropagation trainiert, wobei eine Architektur im Wesentlichen mit AlexNet im kleinen Maßstab identisch ist. Max-Pooling wurde 1990 für Sprachverarbeitung verwendet (im Wesentlichen ein 1-dimensionales CNN) und für die Erkennungswendung 1992 im Cresceptron.
In den 2000er Jahren, als sich die GPU-Hardware zeigte, haben einige Forscher diese für allgemeine Berechnungen adaptiert, insbesondere auch für Verbesserungen im neuronalen ("260" (2006) trainierten ein CNN auf GPU, das 4 Mal schneller als eine 1.000-fache CPU-Training war. Raina et al. (2009) trainierten ein Deep Belief Network mit 100 Millionen Parametern auf einer Nvidia GeForce GTX 280. Eine Faltungsschicht von Dan Cireșan et al. (2011) der wurde IDSIA IDSIA (2011) war 60-fach schneller als eine 100-fach-verwendete Implementierung. Zwischen 15. Mai 2011 und 10 . Die 2012 waren ihre CNNs in vier Bildwettbewerben und erzielten die modernsten Ergebnisse für mehrere Bilddatenbanken. Laut dem AlexNet-Paper ist Cireșans früheres Netz "ähnlich". Beide wurden mitCUDA für die Steuerung von GPUs generiert.
Computer Vision
Während des Zeitraums ab 1990-2010 waren neuronale Netze nicht besser als andere Machine learning-Methoden wie Kernregression, Support Vector Machines und anderen klassischen Techniken. Der deutliche Sieg für ILSVRC-2012 von AlexNet zeigte, dass die erweiterte Architektur diese Methoden um großen Abstand übertreffen konnte, das zu einem Paradigmenwechsel in der Computer Vision führte. Der Erfolg trieb die schnelle Verbreitung von Deep Learning in diesem Bereich und beeinflusste nachfolgende Systeme wie ResNet und Varische.
Vermächtnis
Die Auswirkungen von AlexNet reichen über die Visuals hinaus und prägten die breitere Artificial intelligence-Bewegung. Es zeigte die Effektivität von Deep Learning in großem Umfang, die Investitionen in GPU-gestützte Berechnungen motivierte und die Entwicklung von Frameworks wie CUDA förderte. Die Prinzipien der Score von Deep Learning, darunter die hierarchische Merkmalsanalyse, wurden später auf andere Bereiche integriert, einschließlich der transformers in der Verarbeitung natürlicher Sprache und Sprachmodelle. Die Arbeit ist nebst den bekannt–bis heute. Die Autoren - Krizhevsky, Sutskever und ab und gingen bis in die künstliche Darwin: Hinton wurde ein prominenter Forscher auf dem Gebiet. Hinton heute leitet eine Position an.
Im Original werden die genannten Punkte wie folgt korrigiert oder ergänzt: