Question

Récemment, j'ai étudié le réseau rétropropagation et ont fait un peu d'exercice manuel. Après cela, je suis venu avec une question (ne peut-être pas de sens): est-il important dans la suite de deux méthodes de remplacement différentes:  1. Formation progressive: les poids sont immédiatement mis à jour une fois que tous sont connus de la delta Wij et avant de présenter le prochain vecteur de formation.  2. Lot de formation: delta du Wij sont calculées et stockées pour chaque vecteur de formation exemplaire. Cependant, les années delta Wij ne sont pas utilisés immédiatement pour mettre à jour les poids. la mise à jour de poids se fait à la fin d'une époque de formation.

J'ai googlé pendant un certain temps, mais n'ont pas trouvé aucun résultat.

Était-ce utile?

La solution

Alors, ce que vous faites référence est les deux modes pour effectuer l'apprentissage de descente de gradient. En mode discontinu, les modifications de la matrice de pondération sont cumulés sur une présentation complète de l'ensemble de données d'apprentissage (une «époque); la formation en ligne met à jour le poids après la présentation de chaque vecteur comprenant l'ensemble de la formation.

Je crois que le consensus est que la formation en ligne est supérieure parce qu'elle converge beaucoup plus rapide (la plupart des études rapportent aucune différence apparente précision). (Voir par exemple, Randall Wilson et Tony Martinez, Le Inefficacité général de lot de formation pour l'apprentissage Descente du Gradient , Réseaux de Neurones (2003).

La raison pour laquelle converge de formation en ligne plus rapide est qu'il peut suivre des courbes dans la surface d'erreur sur chaque époque. La signification pratique de ceci est que vous pouvez utiliser un taux d'apprentissage plus large (et convergent donc avec moins de cycles à travers les données de formation).

En d'autres termes, le changement de poids cumulé des augmentations de formation en lots avec la taille de l'ensemble de la formation. Le résultat est que la formation par lots utilise de grandes étapes à chaque itération, et manque donc des minima locaux dans la topologie de l'espace d'erreur -. Solveur votre plutôt oscille que converge

La formation par lots est généralement le « par défaut » (le plus souvent utilisé dans les manuels ML, etc.) et il n'y a rien de mal avec de l'utiliser aussi longtemps qu'elle converge dans vos limites de temps acceptables. Encore une fois, la différence de performance (résolution ou précision de la classification) est faible ou négligeable.

Autres conseils

Oui, il y a une différence entre ces deux méthodes. Les deltas qui se sont calculés en fonction du vecteur d'entrée et des coefficients de pondération du réseau. Si vous modifiez les poids, les deltas sont calculées à partir du vecteur d'entrée suivant sera différent que si vous ne modifiez pas le poids.

Alors, pour le vecteur d'entrée première, les mêmes deltas va se calculer quelle que soit la méthode que vous choisissez. Maintenant, pour la méthode successive, les poids du réseau changeront, alors que dans la méthode simultanée, les poids restent les mêmes pour l'instant. Lorsque le 2ème vecteur d'entrée est présenté, les deux méthodes produisent maintenant deltas différentes, puisque les poids sont différents entre les deux réseaux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top