Bases de l'apprentissage automatique
Dans un réseau de neurones à nombreuses couches, quelle est la raison pour laquelle l'utilisation de la fonction sigmoïde comme fonction d'activation rend difficile l'apprentissage des couches proches de l'entrée ?
- ALa dérivée de la fonction sigmoïde vaut au plus 0,25 ; le gradient diminue donc à chaque couche traversée lors de la rétropropagation et devient presque nul dans les couches proches de l'entrée
- BLa sortie de la fonction sigmoïde ne reste pas comprise entre 0 et 1 ; les valeurs grandissent donc à chaque couche et les calculs débordent
- CLa fonction sigmoïde a des points où elle n'est pas dérivable ; certaines couches ne peuvent donc pas obtenir de gradient lors de la rétropropagation
Afficher la réponse et l'explication
Réponse : A. La dérivée de la fonction sigmoïde vaut au plus 0,25 ; le gradient diminue donc à chaque couche traversée lors de la rétropropagation et devient presque nul dans les couches proches de l'entrée
Lors de la rétropropagation, les dérivées des fonctions d'activation de chaque couche se multiplient successivement dans le gradient. La dérivée de la sigmoïde vaut σ(z)(1 − σ(z)) et ne dépasse pas 0,25 ; après 10 couches par exemple, le gradient devient extrêmement petit : 0,25¹⁰ ≈ 9,5 × 10⁻⁷. C'est le problème de la disparition du gradient (vanishing gradient). Les parades sont d'utiliser ReLU, dont la dérivée vaut 1 sur la partie positive, d'ajouter des connexions résiduelles (skip connections) qui font passer le signal par-dessus des couches, de soigner l'initialisation des poids, ou d'utiliser la normalisation par lots (batch normalization).
Continuer : 9 autres questions sur Bases de l'apprentissage automatique