Когда использовать (He или Glorot) нормальную инициализацию поверх равномерного init? И каковы его эффекты с нормализацией партии?

51

Я знал, что Residual Network (ResNet) сделал обычную инициализацию популярной. В ResNet используется обычная инициализация He , в то время как первый уровень использует равномерную инициализацию He.

Я просмотрел документ ResNet и документ «Углубление в выпрямители» (документ об инициализации), но я не нашел упоминаний о обычном init против стандартного init.

Также:

Пакетная нормализация позволяет нам использовать гораздо более высокие скорости обучения и быть менее внимательным к инициализации.

В реферате Batch Normalization говорится, что Batch Normalization позволяет нам быть менее внимательными к инициализации.

Сама ResNet все еще заботится о том, когда использовать обычный init или обычный init (вместо того, чтобы просто использовать обычный init).

Так:

  • Когда использовать (He или Glorot) нормально распределенную инициализацию поверх равномерной инициализации?
  • Каковы нормально-распределенные эффекты инициализации с нормализацией партии?

Примечания в сторону:

  • Это рифмуется с использованием обычного init с Batch Normalization, но я не нашел ни одной статьи, подтверждающей этот факт.
  • Я знал, что ResNet использует He init вместо Glorot init, потому что он хорошо работает в глубокой сети.
  • Я понял о Глороте .
  • Мой вопрос о нормальном и унифицированном init.
rilut
источник

Ответы:

34

Нормальная и единообразная инициализация кажется довольно неясной на самом деле.

Если мы ссылаемся исключительно на инициализационные работы Глота и Хэ , они оба используют похожий теоретический анализ: они находят хорошую дисперсию для распределения, из которого взяты исходные параметры. Эта дисперсия адаптируется к используемой функции активации и выводится без явного учета типа распределения. Таким образом, их теоретические выводы справедливы для любого типа распределения определенной дисперсии. На самом деле, в работе Глорот используется равномерное распределение, тогда как в статье Он выбирается гауссово. Единственное «объяснение» этого выбора в статье He:

Последние глубокие CNN в основном инициализируются случайными весами, взятыми из гауссовых распределений

со ссылкой на статью AlexNet . Он действительно был выпущен немного позже инициализации Глота, но, тем не менее, нет оправдания использованию нормального распределения.

На самом деле, в обсуждении системы отслеживания проблем Keras они также кажутся немного запутанными, и в основном это может быть только вопросом предпочтений ... (то есть гипотетически Бенджио предпочел бы равномерное распределение, тогда как Хинтон предпочел бы нормальные ...) Одним из обсуждений является небольшой тест, сравнивающий инициализацию Glorot с использованием равномерного и гауссовского распределения. В конце концов, кажется, что форма выигрывает, но это не совсем понятно.

В оригинальной газете ResNet говорится только, что они использовали гаисианский инициал He для всех слоев, я не смог найти, где написано, что они использовали унифицированный инициал He для первого слоя. (может быть, вы могли бы поделиться ссылкой на это?)

Что касается использования гауссовского init с пакетной нормализацией, то с BN процесс оптимизации менее чувствителен к инициализации, поэтому я бы сказал, что это просто соглашение.

tlorieul
источник
Я неправильно понял это. Вы правы, что ResNet вообще не использует какой-либо унифицированной инициализации. Я стою исправлено.
Rilut
0

Пожалуйста, прочитайте гипер-параметры в действии! Часть II - Весовые инициализаторы

rocksyne
источник
1
Пожалуйста, избегайте размещения только ссылок. Любая ссылка может через некоторое время перестать работать, и новые читатели не смогут проверить ответ. Вы можете опубликовать ссылку, но всегда добавляйте сводку самой важной части в виде текста.
Тасос
Комментарий @Tasos хорошо отмечен. Было слишком много информации, чтобы подвести итоги, и именно поэтому я разместил ссылку, и я понял, что ваши ссылки не работают. Благодарю.
Rockyne