AlexNet heeft de ImageNet LSVRC-2012-uitdaging in 2012 grotendeels gewonnen met een enorme voorsprong (15,3% Versus 26,2% (tweede spot) foutpercentage). Hier onderzoeken we de subtiliteiten van de neurontechniek uit het verwante papier ImageNet-karakterisering met Profound Convolutional Neural Systems.
De kenmerken van het papier
Gebruik Relu in plaats van Tanh om niet-lineariteit op te nemen. Het versnelt de snelheid met meerdere keren met een vergelijkbare precisie.
Gebruik dropout in plaats van regularisatie om overfitting te beheren. Hoe dan ook, de voorbereidingstijd wordt vermenigvuldigd met het uitvaltempo van 0,5.
Dekking van de pooling om de grootte van het systeem te verminderen. Het vermindert de beste 1- en top-5-foutenpercentages met respectievelijk 0,4% en 0,3%.
De engineering
Het bevat 5 convolutionele lagen en 3 volledig geassocieerde lagen. Relu wordt aangebracht na een zeer convolutionele en volledig geassocieerde laag. Dropout wordt voor het eerste en het tweede volledig geassocieerde jaar aangebracht. De beeldgrootte in de bijbehorende architectuurgrafiek zou 227 * 227 moeten zijn in plaats van 224 * 224, zoals Andrei Karpathy in zijn befaamde CS231n Course aangeeft. Des te interessanter is dat de infogrootte 224 * 224 is met 2 demping in de pytorch burn vision. De opbrengstbreedte en de taligheid zou moeten zijn (224-11+4)/4 + 1=55,25! De verduidelijking hier is pytorch Conv2d toe te passen vloerbeheerder op het bovenstaande resultaat, en langs deze lijnen, de laatste demping wordt genegeerd.
Het systeem heeft 62,3 miljoen parameters en vereist 1,1 miljard rekeneenheden in een forward pass. We kunnen ook convolutielagen waarnemen, die 6% van het aanzienlijke aantal parameters vertegenwoordigen, en 95% van de berekening uitgeven. Dit leidt tot het andere papier van Alex, dat deze component gebruikt om de uitvoering te verbeteren. De essentiële gedachte van dat papier is als volgt in het geval dat je geïntrigeerd bent:
Dupliceer convolutielagen in verschillende GPU’s; Breng de volledig bijbehorende lagen over naar verschillende GPU’s.
Voer een cluster van het voorbereiden van informatie in convolutielagen voor elke GPU (Information Parallel).
Voer de gevolgen van convolutionele lagen in de gedissemineerde volledig geassocieerde lagen samen te voegen per cluster (Model Parallel) Wanneer de laatste stap is gezet voor elke GPU. Backpropogate hellingen clusteren per groep en synchroniseren de belastingen van de convolutionele lagen.
Het is duidelijk dat het gebruik maakt van de hoogtepunten die we hierboven hebben besproken: convolutionele lagen hebben een paar parameters en bundels van berekening, volledig geassocieerde lagen zijn de exacte inverse.
Voorbereiding van
Het systeem duurt 90 jaar in vijf of zes dagen om zich voor te bereiden op twee GTX 580 GPU’s. SGD met leersnelheid 0,01, energie 0,9 en gewicht rot 0,0005 wordt gebruikt. De leersnelheid wordt door 10 gedeeld zodra de exacte niveaus zijn bereikt. De hellingsgraad wordt tijdens de voorbereiding meerdere malen verlaagd.