Fonction d'activation

De testwiki
Version datée du 15 octobre 2024 à 16:15 par imported>Hplotter (Caractéristiques des fonctions d'activation : form.)
(diff) ← Version précédente | Version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Dans le domaine des réseaux de neurones artificiels, la fonction d'activation est une fonction mathématique appliquée à un signal en sortie d'un neurone artificiel. Le terme de "fonction d'activation" vient de l'équivalent biologique "potentiel d'activation", seuil de stimulation qui, une fois atteint entraîne une réponse du neurone. La fonction d'activation est souvent une fonction non linéaire. Un exemple de fonction d'activation est la fonction de Heaviside, qui renvoie tout le temps 1 si le signal en entrée est positif, ou 0 s'il est négatif.

Caractéristiques des fonctions d'activation

Les fonctions d'activation sont utilisées selon leurs caractéristiques :

  • Non-linéarité : Quand une fonction est non linéaire, un réseau neuronal à 2 couches peut être considéré comme un approximateur de fonction universel[1]. Note: La fonction identité a l'effet inverse, rendant un réseau neuronal multicouches équivalent à un réseau neuronal à une mono-couche.
  • Différentiable partout : Cette propriété permet de créer des optimisations basées sur les gradients[2].
  • Étendue : Quand la plage d'activation est finie, les méthodes d'apprentissage basées sur les gradients sont plus stables (impact sur un nombre de poids limités). Quand la plage est infinie, l'apprentissage est généralement plus efficace (impact sur davantage de poids).
  • Monotone: Lorsque la fonction est monotone, la surface d'erreur associée avec un modèle monocouche est certifié convexe[3].
  • Douce (dérivée monotone) : Les fonctions à dérivée monotone ont été montrées comme ayant une meilleure capacité à généraliser dans certains cas. Ces fonctions permettent d'appliquer des principes comme le rasoir d'Ockham[4].
  • Identité en 0 (f(x)x quand x0) : Ces fonctions permettent de faire un apprentissage rapide en initialisant les poids de manière aléatoire. Si la fonction ne converge pas vers l'identité en 0, alors un soin spécial doit être apporté lors de l'initialisation des poids[5].

Liste de fonctions d'activation usuelles

Comparatif des principales fonctions, avec leur étendue, leur continuité, si elles sont monotones, douces et si elles convergent vers l'identité en 0.

Nom Graphe Équation Dérivée Étendue Ordre de continuité Monotone Lisse
(dérivée monotone)
Identité en 0
Identité/Rampe f(x)=x f(x)=1 C Modèle:Yes Modèle:Yes Modèle:Yes
Marche/Heaviside f(x)={0six<01six0 f(x)={0six0?six=0 {0,1} C1 Modèle:Yes Modèle:Non1 Modèle:Non1
Logistique (ou marche douce, ou sigmoïde) f(x)=11+ex f(x)=f(x)(1f(x)) [0;1] C Modèle:Yes Modèle:Non1 Modèle:Non1
Tangente hyperbolique f(x)=tanh(x)=21+e2x1 f(x)=1f(x)2 [1;1] C Modèle:Yes Modèle:Non1 Modèle:Yes
Arc tangente f(x)=tan1(x) f(x)=1x2+1 [π2,π2] C Modèle:Yes Modèle:Non1 Modèle:Yes
Signe doux[6] f(x)=x1+|x| f(x)=1(1+|x|)2 [1;1] C1 Modèle:Yes Modèle:Non1 Modèle:Yes
Unité de rectification linéaire (ReLU)[7] f(x)={0six<0xsix0 f(x)={0six<01six0 + C0 Modèle:Yes Modèle:Yes Modèle:Yes
Unité de rectification linéaire paramétrique (PReLU)[8] f(x)={αxsix<0xsix0 f(x)={αsix<01six0 C0 Modèle:Yes Modèle:Yes Modèle:Yes
Unité exponentielle linéaire (ELU)[9] f(x)={α(ex1)six<0xsix0 f(x)={f(x)+αsix<01six0 [α,+[ C1 si
α=1
Modèle:Yes Modèle:Yes Oui, ssiα1
Unité de rectification linéaire douce (SoftPlus)[10] f(x)=ln(1+ex) f(x)=11+ex + C Modèle:Yes Modèle:Yes Modèle:Non1
Identité courbée f(x)=x2+112+x f(x)=x2x2+1+1 C Modèle:Yes Modèle:Yes Modèle:Yes
Exponentielle douce paramétrique (Modèle:Lang)[11] f(α,x)={ln(1α(x+α))αsiα<0xsiα=0eαx1α+αsiα>0 f(α,x)={11α(α+x)siα<0eαxsiα0 C Modèle:Yes Modèle:Yes Oui, ssiα0
Sinusoïde f(x)=sin(x) f(x)=cos(x) [1;1] C Modèle:Non1 Modèle:Non1 Modèle:Yes
Sinus cardinal f(x)={sin(x)xsix01six=0 f(x)={0six=0cos(x)xsin(x)x2six0 [0,217234...;1] C Modèle:Non1 Modèle:Non1 Modèle:Non1
Fonction gaussienne f(x)=ex2 f(x)=2xex2 ]0;1] C Modèle:Non1 Modèle:Non1 Modèle:Non1
Swish ou SiLU (Sigmoid Linear Unit)[12] f(x)=xsigmoid(βx) = x1+eβx f(x)=1+eβx+βxeβx(1+eβx)2 ]e;] (si β=1) C Modèle:Non1 Modèle:Non1 Modèle:Oui1

Structures alternatives

Une classe spéciale de fonction d'activation est regroupée dans les fonctions à base radiale (RBFs). Elles sont souvent utilisées dans les réseaux neuronaux RBF, très efficaces en tant qu'approximations de fonctions universelles. Si ces fonctions peuvent être très variées, on retrouve généralement une des trois formes suivantes (en fonction d'un vecteur Modèle:Mvar :

  • Fonction gaussienne : ϕ(vi)=exp(vici22a2)
  • Fonction multiquadratique : ϕ(vi)=vici2+a2
  • Fonction multiquadratique inverse: ϕ(vi)=1vici2+a2

Modèle:Mvar est le vecteur représentant le centre de la fonction, Modèle:Mvar est un paramètre permettant de régler l'étalement de la fonction.

Les machines à support vectoriel (SVMs) peuvent utiliser une classe de fonctions d'activation qui inclut à la fois les sigmoïdes et les RBF. Dans ce cas, l'entrée est transformée pour refléter un Modèle:Lang, basé sur peu d'entrées (appelées vecteurs support Modèle:Mvar. La fonction d'activation pour les couches cachées de ces machines est souvent appelée "noyau du produit intérieur" : K(vi,x)=ϕ(vi). Les vecteurs supports sont représentés comme les centres de RBF dont le noyau serait égal aux fonctions d'activation, mais ils prennent une unique forme de perceptron :

ϕ(vi)=tanh(β1+β0jvi,jxj),

β0 et β1 doivent satisfaire certains critères de convergence. Ces machines peuvent aussi accepter des fonctions d'activation polynomiale d'un ordre arbitraire[13]:

ϕ(vi)=(1+jvi,jxj)p.

Voir aussi

Références

Modèle:Reflist

Modèle:Portail