Quale strato consuma più tempo nell'allenamento della CNN? Livelli di convoluzione vs livelli FC


11

In Convolutional Neural Network, quale strato consuma il massimo tempo in allenamento? Livelli di convoluzione o livelli completamente connessi? Possiamo prendere l'architettura AlexNet per capirlo. Voglio vedere l'interruzione del tempo del processo di allenamento. Voglio un confronto dei tempi relativi in ​​modo che possiamo prendere qualsiasi configurazione GPU costante.

Risposte:


11

NOTA: ho fatto questi calcoli in modo speculativo, quindi alcuni errori potrebbero essersi insinuati. Si prega di informare di tali errori in modo da poterlo correggere.

In generale, in qualsiasi CNN il tempo massimo di addestramento va nella Back-Propagation degli errori nel Livello completamente connesso (dipende dalla dimensione dell'immagine). Anche la memoria massima è occupata da loro. Ecco una slide di Stanford sui parametri di VGG Net:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Chiaramente puoi vedere che i livelli completamente collegati contribuiscono a circa il 90% dei parametri. Quindi la memoria massima è occupata da loro.

(3*3*3)(3*3*3)224*224224*224*(3*3*3)64224*22464*224*224*(3*3*3)87*106

56*56*25656*56(3*3*256)56*56256*56*56*(3*3*256)1850*106

Striode=1

chun'nnelSoutput*(pioXelOutputheioght*pioXelOutputwiodth)*(fiolterheioght*fiolterwiodth*chun'nnelSionput)

Grazie alle GPU veloci siamo in grado di gestire facilmente questi enormi calcoli. Ma negli strati FC deve essere caricata l'intera matrice che causa problemi di memoria che generalmente non è il caso degli strati convoluzionali, quindi l'addestramento degli strati convoluzionali è ancora facile. Inoltre, tutti questi devono essere caricati nella memoria della GPU stessa e non nella RAM della CPU.

Anche qui è la tabella dei parametri di AlexNet:

inserisci qui la descrizione dell'immagine

Ed ecco un confronto delle prestazioni di varie architetture della CNN:

inserisci qui la descrizione dell'immagine

Ti suggerisco di dare un'occhiata alla CS231n Lecture 9 della Stanford University per una migliore comprensione degli angoli e delle fessure delle architetture della CNN.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.