J'écris un cours de réseau de neurones et j'ai rencontré deux concepts que je ne comprends pas. Est-ce que quelqu'un pourrait me dire ce que le bias
et momentum
est et faitDéfinitions de réseau neuronal
Répondre
Le biais est une entrée constante donnée aux neurones. par exemple. Dans un réseau d'alimentation normal, vous pouvez avoir 2 unités d'entrée, 2 unités cachées et 1 unité de sortie. une valeur de polarisation constante (disons 1) ira dans les unités cachées et de sortie en plus de l'entrée des unités d'entrée. Momentum est le taux d'apprentissage supplémentaire utilisé au début de l'apprentissage pour rendre l'apprentissage plus rapide. par exemple. L'erreur d'apprentissage est habituellement très importante au début, donc vous commencez avec une grande dynamique et ajustez les poids de manière plus agressive. Plus tard au cours de l'apprentissage, à mesure que votre erreur diminue, l'élan devrait également diminuer afin que vous appreniez plus lentement, mais vous serez moins susceptible de dépasser la cible.
La polarisation permet au neurone d'accepter une plus grande plage de valeurs d'entrée. Momentum peut être considéré comme une taille de pas au cours du gradient décent.
Dans un nœud typique, la polarisation et toutes les entrées de la couche précédente sont pondérées, additionnées puis écrasées à la valeur de sortie. La fonction d'écrasement est centrée autour de zéro et diminue considérablement en sensibilité lorsque la somme pondérée devient très positive ou très négative. Cependant, vous voulez parfois que la partie sensible de l'écrasement se trouve dans une région de l'entrée autre que celle qui est proche de zéro. L'entrée de biais permet à l'algorithme d'apprentissage de décaler la réponse d'un nœud pour y parvenir. En plus de ce que Charles Ma a décrit, l'impulsion peut également aider à porter l'algorithme d'apprentissage à travers un minimum local pour trouver une meilleure solution.
Ah je vois. Comme après la fonction d'activation? Quel est le problème avec la partie sensible autour de 0? – Louis
bien, le biais est généralement inséré avant la fonction d'activation, dans le cadre de la sommation, l'effet est de déplacer l'ordonnée à l'origine de la fonction d'activation. Rien n'est «faux» d'avoir la partie sensible autour de zéro. Il est insuffisamment flexible pour ne garder que la partie sensible autour de zéro - cela réduirait considérablement la capacité du réseau de neurones à être une estimation de la fonction entrée/sortie représentée dans les données d'apprentissage. Dans un certain sens, chaque nœud estime une partie de la cartographie totale, sans le degré de liberté supplémentaire d'une entrée de biais, l'estimation a beaucoup plus d'erreur. – dkantowitz
Une manière intuitive de penser à la polarisation est comme le terme b dans une équation linéaire. Ce qui est défini comme:
y = mx + b
Le m terme est la pente et b vous indique où les intercepts en ligne avec l'axe des y. Si vous augmentez ou diminuez ce terme, la ligne se déplace de haut en bas sur l'axe des ordonnées. Un réseau de neurones crée un hyperplan pour séparer des groupes, donc le biais le déplacera de haut en bas pendant l'entraînement jusqu'à ce qu'il converge vers un minimum et, nous l'espérons, trouve une correspondance appropriée pour vos échantillons d'entraînement. Le moment, comme mentionné précédemment, réduira l'oscillation pendant la descente du gradient. Il augmentera la taille du pas au début de l'entraînement et le réduira vers la fin. Vous pouvez penser à cela en prenant des pas plus importants dans la direction du gradient négatif, en direction d'un minimum, et en prenant des pas plus petits pour vous rapprocher de lui. Ceci a un couple d'avantages:
- Il augmente la vitesse d'entraînement.
- Vous risquez moins de dépasser le minimum pour ne jamais converger, en particulier avec des taux d'apprentissage élevés.
- Possibilité d'outrepasser les minima locaux.
Un grand merci! Bien que je ne comprends toujours pas les avantages d'une constante de biais. – Louis
Je ne me souviens pas du raisonnement exact, mais le biais permet à votre réseau de classer les données qui ne se séparent pas à l'origine. c'est comme un changement dans la limite de la séparation. sans biais, vous devrez former une valeur de seuil pour chaque unité de sortie en plus de l'entraînement des poids, ce qui serait peu pratique et rompt probablement l'algorithme de propagation du dos.Donc, dans un filet d'alimentation, vous devriez toujours avoir un biais envers les unités cachées et les unités de sortie. –