Qu'est-ce que Fonction d'activation ?

Fonction appliquée, dans chaque neurone d'un réseau de neurones, à la somme pondérée des entrées (plus le biais). L'utilisation d'une fonction non linéaire permet à un réseau à plusieurs couches de représenter des relations complexes. Dans les couches cachées, on utilise souvent ReLU ; dans la couche de sortie, on utilise souvent la fonction sigmoïde pour la classification binaire, la fonction softmax pour la classification multiclasse et la fonction identité (qui ne fait rien) pour la régression.

Nom japonais: 活性化関数

« Fonction d'activation » apparaît dans 5 questions d'entraînement réparties sur 2 thèmes, dont Bases de l'apprentissage automatique, Pile matérielle et logicielle de l'IA.

Domaine: Bases de l'apprentissage automatique

Pourquoi une fonction non linéaire est nécessaire

Sans fonction d'activation (avec la fonction identité), chaque couche se réduit à une multiplication par une matrice et à l'addition d'un vecteur. Comme une suite de transformations linéaires se ramène toujours à une seule transformation linéaire, un réseau, aussi profond soit-il, ne peut alors représenter qu'une expression du premier degré des entrées. Intercaler des fonctions d'activation non linéaires permet de représenter des relations qu'une seule droite ne sépare pas, comme XOR, et des relations encore plus complexes.

Fonctions courantes

La fonction sigmoïde σ(z) = 1 ÷ (1 + e^(−z)) produit une sortie comprise entre 0 et 1, que l'on peut traiter comme une probabilité. tanh produit une sortie comprise entre −1 et 1, centrée sur 0. ReLU(z) = max(0, z) est une fonction simple qui renvoie telles quelles les entrées positives et 0 pour les entrées nulles ou négatives ; légère à calculer et peu sujette à la disparition du gradient, elle est la norme dans les couches cachées des réseaux profonds. Des versions lissées de ReLU, comme GELU, sont aussi très utilisées.

Lien avec la disparition du gradient

Pour des entrées de grande valeur absolue, la fonction sigmoïde et tanh saturent à une valeur constante et leur dérivée devient presque nulle. Comme la dérivée de la sigmoïde ne dépasse pas 0,25, l'empilement des couches fait diminuer le gradient par multiplications successives lors de la rétropropagation, et les couches proches de l'entrée apprennent difficilement (disparition du gradient). ReLU, dont la dérivée vaut 1 sur la partie positive, réduit peu le gradient. En revanche, un neurone dont l'entrée est toujours négative garde un gradient nul et cesse d'apprendre ; il existe donc aussi des variantes comme Leaky ReLU, qui ont une petite pente sur la partie négative.

S'entraîner : questions sur Fonction d'activation

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 ?

  1. 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
  2. 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
  3. 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).

Questions fréquentes

La fonction softmax est-elle une fonction d'activation ?

On la considère comme l'une des fonctions d'activation de la couche de sortie en classification multiclasse. Mais alors que les autres fonctions d'activation se calculent séparément pour chaque neurone, la fonction softmax utilise toutes les valeurs de la couche de sortie pour les convertir en probabilités de somme 1.

A-t-elle un rapport avec l'« activation » des procédés de fabrication des semi-conducteurs ?

Aucun. La fonction d'activation des réseaux de neurones tire son nom de l'imitation de l'excitation (le déclenchement) des neurones biologiques. Dans la fabrication des semi-conducteurs, l'activation désigne le fait de placer par traitement thermique les impuretés implantées sur les sites du réseau cristallin, afin qu'elles produisent des porteurs.

« Fonction d'activation » dans les explications

Questions mentionnant « Fonction d'activation » (5)

  1. 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 ?
  2. Quel est le principal objectif de la « fusion d'opérateurs » utilisée dans les calculs d'IA ?
  3. Quelle définition du « graphe de calcul » utilisé dans les frameworks et compilateurs d'IA est correcte ?
  4. Quelle fonction logique ne peut pas être représentée par un perceptron simple, composé seulement d'une couche d'entrée et d'une couche de sortie (un neurone unique qui produit 0 ou 1 selon un seuil) ?
  5. Dans un petit réseau de neurones dont les entrées sont x₁ = 1 et x₂ = 2, les deux neurones de la couche cachée valent h₁ = ReLU(x₁ + x₂ − 1) et h₂ = ReLU(x₁ − 2x₂ + 1), et la sortie vaut y = 2h₁ + 3h₂ + 1. Quelle est la valeur de y ?

Termes associés

Rétropropagation Fusion d'opérateurs Graphe de calcul Algorithme des k-moyennes (k-means) Analyse en composantes principales (ACP) Apprentissage non supervisé Apprentissage par renforcement Apprentissage par transfert (transfer learning) Apprentissage supervisé Descente de gradient (gradient descent)

Retour au glossaire