Почему функция активации SELU сохраняет среднее значение 0? - PullRequest
2 голосов
/ 05 апреля 2020

Из книги Аурелиена Герона "Практическое машинное обучение с Scikit-Learn, Keras & Tensorflow", стр. 337:

"Авторы показали, что если вы строите нейронную сеть, состоящую исключительно из стека плотных слоев, и если все скрытые слои используют функцию активации SELU, то сеть будет самостоятельно -нормализуйте : выходные данные каждого слоя будут стремиться к сохранению среднего значения 0 и стандартного отклонения 1 во время тренировки, что решает проблему исчезающих / взрывных градиентов.

Мой вопрос таков: почему оно сохраняет среднее значение 0? Отрицательные значения смещаются гораздо больше к 0, чем положительные значения, так почему же среднее значение на выходе не превышает среднее значение на входе?

1 Ответ

0 голосов
/ 05 апреля 2020

Обратите внимание, что оно не сохраняет среднее значение 0 само по себе, но только при запуске с дисперсии 1, поэтому отрицательные значения в основном малы и не

перемещены намного больше в сторону 0, чем положительные значения

В документе говорится, что нормализация дисперсии является основным эффектом, а из нее следует нормализация среднего:

Для интуиции основное свойство SELU состоит в том, что они демпфируют дисперсию для отрицательных net входов и увеличивают дисперсию для положительных net входов. Демпфирование дисперсии сильнее, если значения net находятся дальше от нуля, а увеличение дисперсии сильнее, если значения net близки к нулю. Таким образом, при большой дисперсии активаций в нижнем слое доминирует демпфирующий эффект, и дисперсия уменьшается в верхнем слое. И наоборот, для небольшой дисперсии увеличение дисперсии является доминирующим, а дисперсия увеличивается в более высоком уровне ...

Поэтому сети SELU контролируют дисперсию активаций и выводят ее в интервал, после чего среднее значение и дисперсия движется к фиксированной точке. Таким образом, сети SELU постоянно нормализуют дисперсию и впоследствии также нормализуют среднее значение.

Может быть, эта ссылка тоже поможет: https://medium.com/@damoncivin / self-normalizing-neural-network -snn-2a972c1d421

...