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.

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.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.