В некоторых уроках я обнаружил, что было указано, что инициализация весов «Ксавье» (статья: Понимание сложности обучения глубоких нейронных сетей с прямой связью ) является эффективным способом инициализации весов нейронных сетей.
Для полностью связанных слоев в этих уроках было практическое правило:
где - дисперсия весов для слоя, инициализированного с нормальным распределением, а , - количество нейронов в родительском и текущем слоях.п я п п о у т
Существуют ли аналогичные эмпирические правила для сверточных слоев?
Я изо всех сил пытаюсь выяснить, что было бы лучше для инициализации весов сверточного слоя. Например, в слое, где форма весов имеет (5, 5, 3, 8)
размер ядра, то есть 5x5
фильтрация трех входных каналов (вход RGB) и создание 8
карт объектов ... будет 3
считаться количеством входных нейронов? Или, скорее 75 = 5*5*3
, потому что входные данные являются 5x5
патчи для каждого цветового канала?
Я бы согласился с обоими: конкретным ответом, разъясняющим проблему, или более «общим» ответом, объясняющим общий процесс поиска правильной инициализации весов и предпочтительно связывания источников.
Я второй ответ Эрика здесь. Я также принимаю «квадратный» термин, а не только этот термин. Несмотря на это, когда вы подключаете сигмоид глубоко в своей сети к выходу "RelU" .... это может привести к остановке тренировки. Это из-за неограниченного выхода "Relu", который может заставить градиент в сигмоиде падать до 0, и обучение не происходит. Таким образом, в этих случаях у меня есть коэффициент «scaleDown» для моей сети, который будет уменьшать отклонение инициализации на этот коэффициент. Я продолжаю эмпирически настраивать веса, пока не произойдет обучение. Простой способ найти - сохранить модель сразу после 1 итерации и взглянуть на вывод RELU (который связан с сигмоидом). Продолжайте настраивать веса, пока этот выход RELU не станет разумным. А затем использовать эти веса для обучения. Это хорошее начало. Если он все еще рушится после нескольких итераций, немного утяжелите их, пока не достигнете стабильности. Это просто взлом, который я использовал. Это сработало для меня для моей настройки. Так что делюсь своим опытом. Разные вещи работают для разных установок.
Удачи!
источник