Cet article passe en revue de manière exhaustive le développement des fonctions d'activation dans l'apprentissage profond, depuis les premières fonctions Sigmoïde et Tanh, jusqu'à la série ReLU largement utilisée, en passant par les nouvelles fonctions d'activation récemment proposées telles que Swish, Mish et GeLU. Une analyse approfondie des expressions mathématiques, des caractéristiques, des avantages, des limites et des applications de diverses fonctions d'activation dans des modèles typiques est menée. Grâce à une analyse comparative systématique, cet article discute des principes de conception, des normes d'évaluation des performances et des orientations de développement futures possibles des fonctions d'activation, fournissant des conseils théoriques pour l'optimisation et la conception de modèles d'apprentissage profond.
1. Introduction
La fonction d'activation est un élément clé des réseaux de neurones, qui introduit des caractéristiques non linéaires à la sortie des neurones, permettant aux réseaux de neurones d'apprendre et de représenter des mappages non linéaires complexes. Sans fonction d'activation, quelle que soit la profondeur d'un réseau neuronal, il ne peut essentiellement représenter que des transformations linéaires, ce qui limite considérablement la capacité d'expression du réseau. Avec le développement rapide de l’apprentissage profond, la conception et la sélection des fonctions d’activation sont devenues des facteurs importants affectant les performances des modèles. Différentes fonctions d'activation ont des caractéristiques différentes, telles que la fluidité du gradient, la complexité de calcul, le degré de non-linéarité, etc. Ces caractéristiques affectent directement l'efficacité de la formation, la vitesse de convergence et les performances finales du réseau neuronal. Cet article vise à examiner de manière approfondie l'évolution des fonctions d'activation, à analyser en profondeur les caractéristiques de diverses fonctions d'activation et à explorer leur application dans les modèles modernes d'apprentissage profond. Nous aborderons les aspects suivants :
Fonctions d'activation classiques : y compris les premières fonctions d'activation couramment utilisées telles que Sigmoid et Tanh.
ReLU et ses variantes : dont ReLU, Leaky ReLU, PReLU, ELU, etc.
Nouvelles fonctions d'activation : fonctions récemment proposées telles que Swish, Mish et GeLU.
Fonctions d'activation spéciales : telles que Softmax, Maxout, etc.
Comparaison et sélection des fonctions d'activation : discutez des stratégies de sélection des fonctions d'activation dans différents scénarios.
Perspectives d'avenir : Explorer les orientations de développement possibles de la recherche sur la fonction d'activation.
Grâce à cette revue et analyse systématiques, nous espérons fournir une référence complète aux chercheurs et aux praticiens pour les aider à mieux sélectionner et utiliser les fonctions d'activation dans la conception de modèles d'apprentissage profond.
2. Fonction d'activation classique
2.1 Fonction sigmoïde
La fonction sigmoïde est l'une des premières fonctions d'activation largement utilisées, et son expression mathématique est la suivante : σ ( x ) = 1 1 + e − x sigma(x) = frac{1}{1 + e^{-x}}σ(X)=1+etttttt−X1
Caractéristiques et avantages:
La plage de sortie est limitée: La plage de sortie de la fonction Sigmoïde est comprise entre (0, 1), ce qui la rend particulièrement adaptée au traitement des problèmes de probabilité.
Lisse et différenciable: La fonction est fluide et différenciable dans tout le domaine, ce qui est bénéfique pour l'application de l'algorithme de descente de gradient.
Explicatif: La sortie peut être interprétée sous forme de probabilités, particulièrement adaptée à la couche de sortie des problèmes de classification binaire.
Inconvénients et limites :
problème de gradient qui disparaît: Lorsque la valeur d'entrée est grande ou petite, le gradient est proche de zéro, ce qui peut conduire au problème de gradient de disparition dans les réseaux profonds.
Sortie centre non nul: La sortie de Sigmoïde est entièrement positive, ce qui peut faire en sorte que l'entrée du neurone dans la couche suivante soit toujours positive, affectant la vitesse de convergence du modèle.
Complexité informatique: Implique des opérations exponentielles et la complexité de calcul est relativement élevée.
Scène applicable :
Premiers réseaux de neurones superficiels.
Couche de sortie pour les problèmes de classification binaire.
Scénarios dans lesquels la sortie doit être limitée à la plage (0, 1).
Comparaison avec d'autres fonctions :
Par rapport aux fonctions telles que ReLU apparues plus tard, l’application de Sigmoid dans les réseaux profonds a été considérablement limitée, principalement en raison de son problème de gradient de disparition. Cependant, dans certaines tâches spécifiques (telles que la classification binaire), le sigmoïde reste un choix efficace.
2.2 Fonction Tanh
La fonction Tanh (tangente hyperbolique) peut être considérée comme une version améliorée de la fonction Sigmoïde, et son expression mathématique est : tanh ( x ) = ex − e − x ex + e − x tanh(x) = frac{e^x - e^{-x}}{e^x + e^{-x}}tanh(X)=ettttttX+etttttt−XettttttX−etttttt−X
Caractéristiques et avantages:
sortie centre zéro: La plage de sortie de la fonction Tanh est comprise entre (-1, 1), ce qui résout le problème du centre non nul du Sigmoïde.
Dégradé plus fort: Dans les zones où l'entrée est proche de zéro, le gradient de la fonction Tanh est plus grand que la fonction Sigmoïde, ce qui permet d'accélérer l'apprentissage.
Lisse et différenciable: Semblable au Sigmoïde, Tanh est également lisse et différenciable.
Inconvénients et limites :
problème de gradient qui disparaît: Bien qu'amélioré par rapport à Sigmoïde, Tanh a toujours le problème de la disparition des gradients lorsque la valeur d'entrée est grande ou petite.
Complexité informatique: Semblable à Sigmoïde, Tanh implique également des opérations exponentielles et a une grande complexité de calcul.
Scène applicable :
Mieux que Sigmoïde dans les scénarios nécessitant une sortie centrée sur zéro.
Souvent utilisé dans les réseaux de neurones récurrents (RNN) et les réseaux de mémoire à long terme (LSTM).
Utilisé dans certains scénarios où une sortie normalisée est importante.
Amélioration et comparaison :
La fonction Tanh peut être considérée comme une version améliorée de la fonction Sigmoïde. La principale amélioration réside dans le centrage zéro de la sortie. Cette fonctionnalité permet à Tanh de mieux fonctionner que Sigmoid dans de nombreuses situations, en particulier dans les réseaux profonds. Cependant, par rapport aux fonctions telles que ReLU apparues plus tard, Tanh a toujours le problème de la disparition du gradient, ce qui peut affecter les performances du modèle dans les réseaux très profonds. Les deux fonctions d’activation classiques, Sigmoïde et Tanh, ont joué un rôle important dans les premiers jours de l’apprentissage profond, et leurs caractéristiques et limites ont également favorisé le développement de fonctions d’activation ultérieures. Bien qu'elles aient été remplacées par des fonctions d'activation mises à jour dans de nombreux scénarios, elles ont toujours leur valeur d'application unique dans des tâches et des structures de réseau spécifiques.
3. ReLU et ses variantes
3.1 ReLU (Unité linéaire rectifiée)
La proposition de la fonction ReLU constitue une étape importante dans le développement des fonctions d'activation. Son expression mathématique est simple : ReLU ( x ) = max ( 0 , x ) texte{ReLU}(x) = max(0, x)ReLU(X)=max(0,X)
Caractéristiques et avantages:
Le calcul est simple: La complexité informatique de ReLU est bien inférieure à celle de Sigmoid et Tanh, ce qui est bénéfique pour accélérer la formation du réseau.
Le gradient d’atténuation disparaît: Pour une entrée positive, le gradient de ReLU est toujours de 1, ce qui atténue efficacement le problème de gradient de disparition dans les réseaux profonds.
activation clairsemée: ReLU peut rendre la sortie d'une partie des neurones 0, conduisant à une expression clairsemée du réseau, ce qui est bénéfique dans certaines tâches.
explication biologique: Les propriétés inhibitrices unilatérales de ReLU sont similaires au comportement des neurones biologiques.
Inconvénients et limites :
Problème "Dead ReLU": Lorsque l'entrée est négative, le gradient est nul, ce qui peut conduire à une désactivation permanente du neurone.
sortie centrale non nulle: Les sorties de ReLU sont toutes des valeurs non négatives, ce qui peut affecter le processus d'apprentissage de la couche suivante.
Scène applicable :
Largement utilisé dans les réseaux neuronaux à convolution profonde (tels que ResNet, VGG).
Convient à la plupart des réseaux de neurones à action directe.
Comparaison avec d'autres fonctions :
Par rapport à Sigmoid et Tanh, ReLU présente des avantages significatifs dans les réseaux profonds, principalement en termes de vitesse d'entraînement et d'atténuation de la disparition du gradient. Cependant, le problème du « ReLU mort » a incité les chercheurs à proposer diverses versions améliorées.
3.2 Fuite de ReLU
Afin de résoudre le problème de « mort » de ReLU, Leaky ReLU a été proposé : Fuite ReLU ( x ) = { x , si x > 0 α x , si x ≤ 0 texte{Fuite ReLU}(x) ={X,siX>0αX,siX≤0Fuite de ReLU(X)={
X,αx,siX>0siX≤0 dans, alpha-alphaα est une petite constante positive, généralement 0,01.
Caractéristiques et avantages:
Résoudre le problème du « ReLU mort »: Conservez toujours un petit gradient lorsque l'entrée est négative pour éviter une désactivation complète des neurones.
Conservez les avantages de ReLU: Maintenir la linéarité sur le demi-axe positif, le calcul est simple, et il permet d'atténuer la disparition du gradient.
Inconvénients et limites :
Présentation des hyperparamètres: alpha-alphaαLa sélection des valeurs nécessite un réglage, ce qui augmente la complexité du modèle.
sortie centrale non nulle: Semblable à ReLU, la sortie n'est toujours pas centrée sur zéro.
Scène applicable :
Comme alternative dans les scénarios où ReLU fonctionne mal.
Utilisé dans les tâches qui doivent conserver des informations de valeur négative.
3.3 PReLU (ReLU paramétrique)
PReLU est une variante de Leaky ReLU, où la pente du demi-axe négatif est un paramètre apprenable : PReLU ( x ) = { x , si x > 0 α x , si x ≤ 0 texte{PReLU}(x) ={X,siX>0αX,siX≤0PRéLU(X)={
X,αx,siX>0siX≤0 ici alpha-alphaα sont des paramètres appris par rétropropagation.
Caractéristiques et avantages:
apprentissage adaptatif: Peut apprendre automatiquement la pente demi-axe négative la plus appropriée en fonction des données.
potentiel de performance: Dans certaines tâches, PReLU peut atteindre de meilleures performances que ReLU et Leaky ReLU.
Inconvénients et limites :
Augmenter la complexité du modèle: L'introduction de paramètres apprenables supplémentaires augmente la complexité du modèle.
Surapprentissage possible: Dans certains cas, peut conduire à un surapprentissage, en particulier sur de petits ensembles de données.
Scène applicable :
Tâches d'apprentissage profond sur des ensembles de données à grande échelle.
Scénarios nécessitant des fonctions d'activation adaptatives.
3.4 ELU (unité linéaire exponentielle)
ELU tente de combiner les avantages de ReLU et le traitement des entrées négatives. Son expression mathématique est : ELU ( x ) = { x , si x > 0 α ( ex − 1 ) , si x ≤ 0 texte{ELU}(x) ={X,siX>0α(ettttttX−1),siX≤0ÉLU(X)=