Отличается ли инициализация веса для плотных и сверточных слоев?

В плотном слое следует инициализировать веса в соответствии с некоторым эмпирическим правилом. Например, в RELU веса должны исходить из нормального распределения и масштабироваться как 2/n, где n — количество входных данных для слоя (согласно Эндрю Нг).

Справедливо ли то же самое для сверточных слоев? Как правильно инициализировать веса (и смещения) в сверточном слое?




Ответы (1)


Распространенным инициализатором для сигмовидных сетей является Инициализатор Xavier (также известный как Инициализатор Glorot), названный в честь Ксавьера Glorot, одного из авторов "Понимание сложности обучения нейронных сетей с глубокой прямой связью". Формула учитывает не только количество входящих соединений, но и исходящих. Авторы доказывают, что при такой инициализации распределение активаций примерно нормальное, что способствует градиентному течению в обратном проходе.

Для сетей на основе relu лучшим инициализатором является Инициализатор He из "Delving Deep в выпрямители: превосходство на уровне человека по классификации ImageNet» Кайминг Хе и др., которые доказывают те же свойства для активации relu.

Плотный и сверточный слой в этом случае не сильно отличаются, но важно помнить, что веса ядра распределяются между входным изображением и пакетом, поэтому количество входящих подключений зависит от нескольких параметров, включая размер ядра и шаг, и может не легко вычислить вручную.

В тензорном потоке инициализация He реализована в функции variance_scaling_initializer() (которая, по сути, является более общим инициализатором, но по умолчанию выполняет инициализацию He), а инициализатор Xavier — это логически xavier_initializer().

См. также это обсуждение CrossValidated.

person Maxim    schedule 07.01.2018
comment
Спасибо, variance_scaling_initializer() в tflearn работает очень хорошо. - person Ziofil; 08.01.2018
comment
@Максим. Меняет ли инициализация весов плотного слоя конечный результат? - person Akhilesh; 30.01.2018
comment
@Akhilesh Да, NN может не сходиться только из-за инициализации - person Maxim; 30.01.2018