Почему веса нейронных сетей инициализируются случайными числами?


9

Почему начальные веса нейронных сетей инициализируются как случайные числа? Я где-то читал, что это делается для того, чтобы «нарушить симметрию», и это ускоряет обучение нейронной сети. Как нарушение симметрии делает обучение быстрее?

Разве инициализация весов в 0 не будет лучшей идеей? Таким образом, веса смогут быстрее найти свои значения (положительные или отрицательные)?

Есть ли какая-то другая основная философия, стоящая за рандомизацией весов, кроме надежды на то, что они будут близки к оптимальным значениям при инициализации?

Ответы:


6

Основная интуиция, стоящая за инициализацией слоев веса в маленькие (и разные) значения, заключается просто в том, что смещение системы нарушается, и значения веса могут перемещаться и расходиться, и расходиться в разные значения.

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

Если вместо этого вы будете иметь все свои веса до некоторой постоянной величины, каждый вес будет обновляться с очень медленной (~ фиксированной) скоростью, и это не очень поможет, особенно если начальные значения «очень далеки» от конечных значений.

Надеюсь, что это помогает, весело учиться :)


То, что вы говорите, рандомизация начальных весов эквивалентна тому, чтобы дать каждому весу толчок в направлении, в котором он должен двигаться (и разрыв, чтобы расширяться).
Шаян RC

Я не думаю, что это должно быть в правильном направлении, вы также можете начать с начального веса [-0,5, +0,5], где конечные значения могут быть [+0,5, -0,5], ключевая идея заключается в разные значения ..
Субхайан

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

Математика, стоящая за этим, будет полезной, но еще более полезной будет несколько практических советов: например, насколько малыми должны быть начальные веса (10 ^?). Как они различаются для разных типов сетей? Есть ли какие-то магические числа, которые работают для всех?
Шаян RC
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.