Fonction d'activation
# Fonction d'activation

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. Note: La fonction identité a l'effet inverse, rendant un réseau neuronal multicouches équivalent à un réseau neuronal à une mono-couche.
* Partout différentiable : Cette propriété permet de créer des optimisations basées sur les gradients.
* É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.
* 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.
* Identité en 0 ($f(x)\approx x$ quand $x\approx 0$) : 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.

## 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 | É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$ | $\mathbb {R}$ | $C^{\infty }$ | Oui | Oui | Oui |
| Marche/Heaviside | $f(x)=\left\{{\begin{array}{rcl}0&{\mbox{si}}&x<0\\1&{\mbox{si}}&x\geq 0\end{array}}\right.$ | $f'(x)=\left\{{\begin{array}{rcl}0&{\mbox{si}}&x\neq 0\\?&{\mbox{si}}&x=0\end{array}}\right.$ | $\{0,1\}$ | $C^{-1}$ | Oui | Non | Non |
| Logistique (ou marche douce, ou sigmoïde) | $f(x)={\frac {1}{1+{\rm {e}}^{-x}}}$ | $f'(x)=f(x)(1-f(x))$ | $[0;1]$ | $C^{\infty }$ | Oui | Non | Non |
| Tangente hyperbolique | $f(x)=\tanh(x)={\frac {2}{1+{\rm {e}}^{-2x}}}-1$ | $f'(x)=1-f(x)^{2}$ | $[-1;1]$ | $C^{\infty }$ | Oui | Non | Oui |
| Arc tangente | $f(x)=\tan ^{-1}(x)$ | $f'(x)={\frac {1}{x^{2}+1}}$ | $\left[-{\frac {\pi }{2}},{\frac {\pi }{2}}\right]$ | $C^{\infty }$ | Oui | Non | Oui |
| Signe doux | $f(x)={\frac {x}{1+|x|}}$ | $f'(x)={\frac {1}{(1+|x|)^{2}}}$ | $[-1;1]$ | $C^{1}$ | Oui | Non | Oui |
| Unité de rectification linéaire (ReLU) | $f(x)=\left\{{\begin{array}{rcl}0&{\mbox{si}}&x<0\\x&{\mbox{si}}&x\geq 0\end{array}}\right.$ | $f'(x)=\left\{{\begin{array}{rcl}0&{\mbox{si}}&x<0\\1&{\mbox{si}}&x\geq 0\end{array}}\right.$ | $\mathbb {R} _{+}$ | $C^{0}$ | Oui | Oui | Oui |
| Unité de rectification linéaire paramétrique (PReLU) | $f(x)=\left\{{\begin{array}{rcl}\alpha x&{\mbox{si}}&x<0\\x&{\mbox{si}}&x\geq 0\end{array}}\right.$ | $f'(x)=\left\{{\begin{array}{rcl}\alpha &{\mbox{si}}&x<0\\1&{\mbox{si}}&x\geq 0\end{array}}\right.$ | $\mathbb {R}$ | $C^{0}$ | Oui | Oui | Oui |
| Unité exponentielle linéaire (ELU) | $f(x)=\left\{{\begin{array}{rcl}\alpha ({\rm {e}}^{x}-1)&{\mbox{si}}&x<0\\x&{\mbox{si}}&x\geq 0\end{array}}\right.$ | $f'(x)=\left\{{\begin{array}{rcl}f(x)+\alpha &{\mbox{si}}&x<0\\1&{\mbox{si}}&x\geq 0\end{array}}\right.$ | $\left[-\alpha ,+\infty \right[$ | $C^{1}$ si $\alpha =1$ | Oui | Oui | Oui, ssi$\alpha \approx 1$ |
| Unité de rectification linéaire douce (SoftPlus) | $f(x)=\ln(1+{\rm {e}}^{x})$ | $f'(x)={\frac {1}{1+{\rm {e}}^{-x}}}$ | $\mathbb {R} _{+}$ | $C^{\infty }$ | Oui | Oui | Non |
| Identité courbée | $f(x)={\frac {{\sqrt {x^{2}+1}}-1}{2}}+x$ | $f'(x)={\frac {x}{2{\sqrt {x^{2}+1}}}}+1$ | $\mathbb {R}$ | $C^{\infty }$ | Oui | Oui | Oui |
| Exponentielle douce paramétrique (soft exponential) | $f(\alpha ,x)=\left\{{\begin{array}{rcl}-{\frac {\ln(1-\alpha (x+\alpha ))}{\alpha }}&{\mbox{si}}&\alpha <0\\x&{\mbox{si}}&\alpha =0\\{\frac {{\rm {e}}^{\alpha x}-1}{\alpha }}+\alpha &{\mbox{si}}&\alpha >0\end{array}}\right.$ | $f'(\alpha ,x)=\left\{{\begin{array}{rcl}{\frac {1}{1-\alpha (\alpha +x)}}&{\mbox{si}}&\alpha <0\\{\rm {e}}^{\alpha x}&{\mbox{si}}&\alpha \geq 0\end{array}}\right.$ | $\mathbb {R}$ | $C^{\infty }$ | Oui | Oui | Oui, ssi$\alpha \approx 0$ |
| Sinusoïde | $f(x)=\sin(x)$ | $f'(x)=\cos(x)$ | $[-1;1]$ | $C^{\infty }$ | Non | Non | Oui |
| Sinus cardinal | $f(x)=\left\{{\begin{array}{rcl}{\frac {\sin(x)}{x}}&{\mbox{si}}&x\neq 0\\1&{\mbox{si}}&x=0\end{array}}\right.$ | $f'(x)=\left\{{\begin{array}{rcl}0&{\mbox{si}}&x=0\\{\frac {\cos(x)}{x}}-{\frac {\sin(x)}{x^{2}}}&{\mbox{si}}&x\neq 0\end{array}}\right.$ | $[\sim -0,217234...;1]$ | $C^{\infty }$ | Non | Non | Non |
| Fonction gaussienne | $f(x)={\rm {e}}^{-x^{2}}$ | $f'(x)=-2x{\rm {e}}^{-x^{2}}$ | $]0;1]$ | $C^{\infty }$ | Non | Non | Non |

## 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 fonction universels. si ces fonctions peuvent être très variées, on retrouve généralement une des trois formes suivantes (en fonction d'un vecteur v :

* Fonction gaussienne : $\,\phi (v_{i})=\exp \left(-{\frac {\|v_{i}-c_{i}\|^{2}}{2a^{2}}}\right)$
* Fonction multiquadratique : $\,\phi (v_{i})={\sqrt {\|v_{i}-c_{i}\|^{2}+a^{2}}}$
* Fonction multiquadratique inverse: $\,\phi (v_{i})={\frac {1}{\sqrt {\|v_{i}-c_{i}\|^{2}+a^{2}}}}$

où $c_i$ est le vecteur représentant le centre de la fonction, a 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 decision boundary hyperplane, basé sur peu d'entrées (appelées vecteurs support x. La fonction d'activation pour les couches cachées de ces machines est souvent appelée "noyau du produit intérieur" : $K(v_{i},x)=\phi (v_{i})$. 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 :

    $\,\phi (v_{i})=\tanh \left(\beta _{1}+\beta _{0}\sum _{j}v_{i,j}x_{j}\right)$,

Où $\beta _{0}$ et $\beta _{1}$ doivent satisfaire certains critères de convergence. Ces machines peuvent aussi accepter des fonctions d'activation polynomiale d'un ordre arbitraire:

    $\,\phi (v_{i})=\left(1+\sum _{j}v_{i,j}x_{j}\right)^{p}$.
