AlexNet ha ampiamente vinto la sfida 2012 di ImageNet LSVRC-2012 con un enorme vantaggio (15,3% contro il 26,2% (secondo posto) dei tassi di errore). Qui esaminiamo le sottigliezze dell’ingegneria neuronale dalla relativa carta ImageNet Characterization with Profound Convolutional Neural Systems.

Le caratteristiche della carta

Utilizzare il Relu piuttosto che il Tanh per includere la non linearità. Accelera la velocità di più volte con una precisione simile.

Per gestire l’overfitting utilizzare il droppout piuttosto che la regolarizzazione. In ogni caso, il tempo di preparazione viene moltiplicato per il ritmo di caduta di 0,5.

Cover pooling per diminuire le dimensioni del sistema. Diminuisce i migliori tassi di errore 1 e top-5 rispettivamente dello 0,4% e dello 0,3%.

L’ingegneria

Contiene 5 strati convoluzionali e 3 strati completamente associati. Relu viene applicato dopo uno strato molto convoluzionale e completamente associato. Dropout viene applicato prima del primo e del secondo anno completamente associato. La dimensione dell’immagine nel grafico dell’architettura di accompagnamento dovrebbe essere 227 * 227 piuttosto che 224 * 224, come viene chiamato l’attenzione da Andrei Karpathy nel suo rinomato corso CS231n. Tanto più interessante è il fatto che le dimensioni delle informazioni sono 224 * 224 con 2 ammortizzatori nella visione a torcia. La larghezza di rendimento e l’altezza dovrebbe essere (224-11+4)/4 + 1=55,25! Il chiarimento qui è pytorch Conv2d applicare l’amministratore di piano per il risultato di cui sopra, e lungo queste linee, l’ultima ammortizzazione è ignorato.

Il sistema ha 62,3 milioni di parametri e richiede 1,1 miliardi di unità di calcolo in un passaggio in avanti. Possiamo anche osservare strati di convoluzione, che rappresentano il 6% del considerevole numero di parametri, spende il 95% del calcolo. Questo porta all’altro lavoro di Alex, che utilizza questo componente per migliorare l’esecuzione. Il pensiero essenziale di quel documento è il seguente nel caso in cui si sia incuriositi:

Duplicare gli strati di convoluzione in varie GPU; Convogliare gli strati completamente associati in varie GPU.

Alimentare un cluster di preparazione delle informazioni in strati convoluzionali per ogni GPU (Information Parallel).

Alimentare le conseguenze degli strati convoluzionali negli strati disseminati completamente associati cluster per cluster (Modello Parallelo) Quando l’ultimo avanzamento viene realizzato per ogni GPU. Le inclinazioni di backpropogate raggruppano per gruppo e sincronizzano i carichi degli strati convoluzionali.

Chiaramente, sfrutta i punti salienti di cui abbiamo parlato sopra: gli strati convoluzionali hanno un paio di parametri e grappoli di calcolo, gli strati completamente associati sono l’esatto inverso.

Preparazione

Il sistema impiega 90 anni in cinque o sei giorni per prepararsi su due GPU GTX 580. Viene utilizzato l’SGD con velocità di apprendimento 0,01, energia 0,9 e peso rotore 0,0005. Il tasso di apprendimento è partizionato di 10 una volta che i livelli di esattezza. La velocità di inclinazione è diminuita più volte durante la procedura di preparazione.