ПРИМЕЧАНИЕ. Я сделал эти расчеты умозрительно, поэтому, возможно, закрались некоторые ошибки. Пожалуйста, сообщите о любых таких ошибках, чтобы я мог их исправить.
Вообще в любом CNN максимальное время обучения идет в Обратном распространении ошибок в Полностью связанном слое (зависит от размера изображения). Также максимальная память также занята ими. Вот слайд из Стэнфорда о параметрах VGG Net:
Ясно, что вы можете видеть, что полностью связанные слои вносят вклад примерно в 90% параметров. Таким образом, максимальная память занята ими.
( 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
с т р я де = 1
с ч п п е л ыо у т р у т* ( Р я х е л О у т р у тч е я гч т* Р я х е л О у т р у тш я дт ч)∗ ( фя л т е гч е я гч т∗ fя л т е гш я дт ч* C h a n n e l sя п р у т)
Благодаря быстрым графическим процессорам мы легко справляемся с этими огромными вычислениями. Но в слоях FC должна быть загружена вся матрица, что вызывает проблемы с памятью, что, как правило, не относится к сверточным слоям, поэтому обучение сверточным слоям все еще легко. Кроме того, все они должны быть загружены в самой памяти графического процессора, а не в оперативной памяти процессора.
Также вот таблица параметров AlexNet:
А вот сравнение производительности различных архитектур CNN:
Я предлагаю вам проверить CS231n Лекцию 9 Стэнфордского университета для лучшего понимания закоулков архитектуры CNN.