Que signifie le terme non-linéarités saturantes?

30

Je lisais l'article ImageNet Classification with Deep Convolutional Neural Networks et dans la section 3, ils expliquaient l'architecture de leur Convolutional Neural Network, ils expliquaient comment ils préféraient utiliser:

non linéarité non saturanteF(X)=muneX(0,X).

car il était plus rapide de s'entraîner. Dans cet article, ils semblent faire référence aux non-linéarités saturantes comme les fonctions les plus traditionnelles utilisées dans les CNN, la sigmoïde et les fonctions tangentes hyperboliques (c'est-à-dire et comme saturant).F(X)=tunenh(X)F(X)=11+e-X=(1+e-X)-1

Pourquoi appellent-ils ces fonctions "saturantes" ou "non saturantes"? Dans quel sens ces fonctions sont-elles "saturantes" ou "non saturantes"? Que signifient ces termes dans le contexte des réseaux de neurones convolutifs? Sont-ils utilisés dans d'autres domaines de l'apprentissage automatique (et des statistiques)?

Charlie Parker
la source
J'ai également trouvé cette réponse quora très utile.
frank

Réponses:

26

Intuition

Une fonction d'activation saturante serre l'entrée.


Définitions

  • F est non saturant ssi(|limz-F(z)|=+)(|limz+F(z)|=+)
  • F est saturant ssi n'est pas non saturant.F

Ces définitions ne sont pas spécifiques aux réseaux de neurones convolutifs.


Exemples

La fonction d'activation de l'unité linéaire rectifiée (ReLU), qui est définie comme est non saturante car :F(X)=muneX(0,X)limz+F(z)=+

entrez la description de l'image ici

La fonction d'activation sigmoïde, qui est définie comme est saturante, car elle écrase les nombres réels entre :F(X)=11+e-X[0,1]

entrez la description de l'image ici

La fonction d'activation tanh (tangente hyperbolique) est saturée car elle écrase les nombres réels entre :[-1,1]

entrez la description de l'image ici

(les chiffres proviennent de CS231n , licence MIT)

Franck Dernoncourt
la source
1
ah, c'est logique! Je sais que ce n'était pas ma question initiale, mais quelle est cette propriété importante dans le contexte du ML et des CNN?
Charlie Parker
Pour les ANN, pour éviter d'avoir une unité avec une sortie importante qui impacte trop la couche de sortie de l'ANN.
Franck Dernoncourt
Quelle est la différence entre le bronzage et le sigmoïde? les deux écrasent les chiffres dans une plage fermée! Je ne comprends pas, pouvez-vous élaborer davantage sur cette abit? Je suis un peu mauvais en mathématiques. (par la façon dont je viens d'un point de vue CNN)
Rika
@FranckDernoncourt Voulez-vous dire saturer pour la fonction d'activation tanh? Je suppose qu'il y a une faute de frappe? :)
CoderSpinoza
1
@tenCupMaximum: Pour saturer les moyens de remplir jusqu'à un point où ne peut être ajouté. Dans le contexte d'une fonction saturante, cela signifie qu'après un certain point, toute nouvelle augmentation de l'entrée de la fonction n'entraînera plus une augmentation (significative) de sa sortie, qui a (très presque) atteint sa valeur maximale. La fonction à ce point est "tout remplie", pour ainsi dire (ou saturée ).
Ruben van Bergen
0

Les fonctions d'activation les plus courantes sont LOG et TanH. Ces fonctions ont une plage compacte, ce qui signifie qu'elles compressent la réponse neuronale en un sous-ensemble borné des nombres réels. Le LOG compresse les entrées en sorties entre 0 et 1, le TAN H entre -1 et 1. Ces fonctions affichent un comportement limitant aux limites.

A la frontière, le gradient de la sortie par rapport à l'entrée ∂yj / ∂xj est très petit. Donc, le gradient est petit, donc de petits pas vers la convergence, donc plus de temps pour converger.

Pradi KL
la source