Pourquoi la rétropropagation ne fonctionne-t-elle pas lorsque vous initialisez tous les poids à la même valeur (disons 0,5), mais fonctionne bien lorsque des nombres aléatoires sont donnés?
L'algorithme ne devrait-il pas calculer l'erreur et travailler à partir de là, malgré le fait que les poids soient initialement les mêmes?
la source
Pour compléter la réponse de Thierry, vous pouvez penser l'erreur en fonction du vecteur poids c'est-à-dire en fonction de que vous souhaitez minimiser. L'algorithme de rétropropagation fonctionne en regardant un voisinage local d'un point et en voyant quelle direction conduira à une erreur plus petite. Cela vous donnera alors un minimum local.Rn→ R
Ce que vous voulez, c'est un minimum global, mais vous n'avez aucun moyen garanti de le trouver. Et si votre surface a plusieurs minima locaux, vous pourriez avoir des ennuis.
Mais s'il n'en a que quelques-uns, la stratégie de Thierry devrait fonctionner - effectuer plusieurs recherches de minima locaux en commençant à des points sélectionnés au hasard devrait augmenter les chances de trouver le minimum global.
Et dans le cas heureux où il n'y a qu'un minimum - n'importe quel vecteur de poids initial vous y mènera.
la source