Почему обратное распространение не работает, когда вы инициализируете все веса одним и тем же значением (скажем, 0,5), но работает нормально, когда заданы случайные числа?
Разве алгоритм не должен вычислять ошибку и работать оттуда, несмотря на то, что веса изначально одинаковы?
источник
Чтобы добавить к ответу Тьерри, вы можете думать об ошибке как о функции вектора весов, т.е. как о функции от которую вы хотели бы минимизировать. Алгоритм обратного распространения работает, просматривая локальную окрестность точки и видя, какое направление приведет к меньшей ошибке. Это даст вам локальный минимум.рN→ R
То, что вы хотите, это глобальный минимум, но у вас нет гарантированного способа его найти. И если на вашей поверхности есть несколько локальных минимумов, то у вас могут быть проблемы.
Но если его всего несколько, стратегия Тьерри должна сработать - выполнение нескольких поисков локальных минимумов, начиная со случайно выбранных точек, должно увеличить шансы на нахождение глобального минимума.
И в счастливом случае, когда есть только один минимум - любой начальный весовой вектор приведет вас к этому.
источник