Która warstwa zużywa więcej czasu na szkolenie CNN? Warstwy splotu vs warstwy FC

11

Która warstwa w Convolutional Neural Network zużywa maksymalny czas na trening? Warstwy splotowe czy w pełni połączone? Możemy wziąć architekturę AlexNet, aby to zrozumieć. Chcę zobaczyć zerwanie czasu treningu. Chcę względnego porównania czasu, abyśmy mogli wziąć dowolną stałą konfigurację GPU.

Ruchit Dalwadi
źródło

Odpowiedzi:

11

UWAGA: Wykonałem te obliczenia spekulacyjnie, więc niektóre błędy mogły się wkraść. Poinformuj o wszelkich takich błędach, aby móc je poprawić.

Ogólnie w każdym CNN maksymalny czas szkolenia przypada na propagację wsteczną błędów w warstwie w pełni połączonej (zależy od wielkości obrazu). Zajmują także maksymalną pamięć. Oto slajd ze Stanford na temat parametrów sieci VGG:

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Wyraźnie widać, że w pełni połączone warstwy przyczyniają się do około 90% parametrów. Zajmują więc maksymalną pamięć.

(3)3)3))(3)3)3))224224224224(3)3)3))6422422464224224(3)3)3))87106

56562565656(3)3)256)56562565656(3)3)256)1850106

strjaremi=1

dohzannmilsoutput(pjaxmilOutputhmijasolhtpjaxmilOutputwjareth)(fajaltmirhmijasolhtfajaltmirwjarethdohzannmilsjanput)

Dzięki szybkim procesorom graficznym jesteśmy w stanie łatwo poradzić sobie z tymi ogromnymi obliczeniami. Ale w warstwach FC należy załadować całą macierz, co powoduje problemy z pamięcią, co na ogół nie ma miejsca w przypadku warstw splotowych, więc trening warstw splotowych jest nadal łatwy. Wszystkie te muszą zostać załadowane do samej pamięci GPU, a nie do pamięci RAM procesora.

Oto także tabela parametrów AlexNet:

wprowadź opis zdjęcia tutaj

A oto porównanie wydajności różnych architektur CNN:

wprowadź opis zdjęcia tutaj

Proponuję zapoznać się z wykładem CS231n Wykład 9 Uniwersytetu Stanforda, aby lepiej zrozumieć zakamarki architektury CNN.

DuttaA
źródło
4

Ponieważ CNN zawiera operację splotu, ale DNN używa konstruktywnej dywergencji do treningu. CNN jest bardziej złożony pod względem notacji Big O.

Na przykład:

1) Złożoność czasu CNN
https://arxiv.org/pdf/1412.1710.pdf

2) W pełni połączone warstwy / Deep Neural Network (DNN) / Multi Layer Perceptron (MLP) https://www.researchgate.net/post/What_is_the_time_complexity_of_Multilayer_Perceptron_MLP_and_other_neural_networks

ketul parikh
źródło