Причина, по которой я задаю этот вопрос, связана с тем, что в VGG19 есть уровни пакетной нормализации (в отличие, например, от VGG16).
Я пытаюсь обучить сеть Faster-RCNN в Caffe. Я делаю это:
- Загрузка предварительно обученной модели VGG19 ImageNet (файл веса + prototxt)
- Удаление полностью связанных слоев из файла prototxt
- Добавление слоев RPN и Fast-RCNN поверх сверточных слоев магистрали VGG19
Я ничего не менял относительно lr_mult
значений сверточных слоев. В файле prototxt сверточные слои (например, conv1_1
и т. Д. Имеют ненулевые lr_mult
значения, тогда как значения lr_mult
слоев пакетной нормализации установлены на 0 (слои, названные как conv1_1/bn
).
Означает ли тот факт, что слои пакетной нормализации заморожены, что сверточные слои также заморожены? Или мне следует установить lr_mult
на 0 также в слоях с именем convX_X
?
Обновление: после выполнения другого процесса обучения с обнулением lr_mult
всех сверточных слоев время обучения резко сократилось, что означает, что ответ заключается в том, что значение lr_mult
необходимо установить равным 0 также в convX_X
слои.