Articles

Fonction Sigmoïde

Qu’est-ce que la fonction Sigmoïde ?

Une fonction sigmoïde est une fonction mathématique qui a une courbe caractéristique en forme de S. Il existe un certain nombre de fonctions sigmoïdes communes, telles que la fonction logistique, la tangente hyperbolique et l’arctangente

. En apprentissage automatique, le terme

fonction sigmoïde est normalement utilisé pour désigner spécifiquement la fonction logistique, également appelée fonction sigmoïde logistique.

Toutes les fonctions sigmoïdes ont la propriété de mapper toute la ligne numérique dans une petite plage telle qu’entre 0 et 1, ou -1 et 1, donc une utilisation d’une fonction sigmoïde est de convertir une valeur réelle en une qui peut être interprétée comme une probabilité.

L’une des fonctions sigmoïdes les plus utilisées est la fonction logistique, qui mappe toute valeur réelle à la plage (0, 1). Notez la forme caractéristique en S qui a donné leur nom aux fonctions sigmoïdes (de la lettre grecque sigma).

Les fonctions sigmoïdes sont devenues populaires dans le deep learning car elles peuvent être utilisées comme fonction d’activation dans un réseau de neurones artificiels. Ils ont été inspirés par le potentiel d’activation des réseaux neuronaux biologiques.

Les fonctions sigmoïdes sont également utiles pour de nombreuses applications d’apprentissage automatique où un nombre réel doit être converti en probabilité. Une fonction sigmoïde placée comme dernière couche d’un modèle d’apprentissage automatique peut servir à convertir la sortie du modèle en un score de probabilité, ce qui peut être plus facile à utiliser et à interpréter.

Les fonctions sigmoïdes sont une partie importante d’un modèle de régression logistique. La régression logistique est une modification de la régression linéaire pour une classification à deux classes et convertit une ou plusieurs entrées à valeur réelle en une probabilité, telle que la probabilité qu’un client achète un produit. L’étape finale d’un modèle de régression logistique est souvent définie sur la fonction logistique, ce qui permet au modèle de produire une probabilité.

Formule de fonction sigmoïde

Toutes les fonctions sigmoïdes sont monotones et ont une dérivée première en forme de cloche. Il existe plusieurs fonctions sigmoïdes et certaines des plus connues sont présentées ci-dessous.

Trois des fonctions sigmoïdes les plus courantes : la fonction logistique, la tangente hyperbolique et l’arctangente. Tous partagent la même forme de base en S.

Formule de la fonction sigmoïde logistique

L’une des fonctions sigmoïdes les plus courantes est la fonction sigmoïde logistique. Ceci est souvent appelé la fonction Sigmoïde dans le domaine de l’apprentissage automatique. La fonction sigmoïde logistique est définie comme suit:

Définition mathématique de la fonction sigmoïde logistique, une fonction sigmoïde commune

La fonction logistique prend n’importe quelle entrée à valeur réelle et génère une valeur comprise entre zéro et un.

Formule de la fonction Tangente hyperbolique

Une autre fonction sigmoïde commune est la fonction hyperbolique. Cela mappe toute entrée à valeur réelle dans la plage comprise entre -1 et 1.

Définition mathématique de la tangente hyperbolique

Formule de la fonction arctangente

Une troisième fonction sigmoïde alternative est l’arctangente, qui est l’inverse de la fonction tangente.

La fonction arctangente

La fonction arctangente mappe toute entrée à valeur réelle dans la plage – π/2 à π/2.

Dans les graphiques ci-dessous, nous pouvons voir à la fois la courbe tangente, une fonction trigonométrique bien connue, et l’arctangente, son inverse:

Calcul de la Fonction Sigmoïde

Exemple de Calcul de la Fonction Sigmoïde logistique

En prenant la fonction sigmoïde logistique, nous pouvons évaluer la valeur de la fonction en plusieurs points clés pour comprendre la forme de la fonction.

À x=0, la fonction sigmoïde logistique s’évalue à:

Ceci est utile pour l’interprétation du sigmoïde en tant que probabilité dans un modèle de régression logistique, car il montre qu’une entrée nulle donne une sortie de 0,5, indiquant des probabilités égales pour les deux classes.

À x=1, on trouve une valeur légèrement plus grande :

et par x=5, la valeur de la fonction sigmoïde devient très proche de 1.

En effet, dans la limite de x tendant vers l’infini, la fonction sigmoïde converge vers 1, et vers -1 dans le cas de l’infini négatif, mais la dérivée de la fonction n’atteint jamais zéro. Ce sont des propriétés très utiles de la fonction sigmoïde, car elle tend vers une limite mais a toujours un gradient non nul.

Exemple de Calcul de la Fonction Tangente hyperbolique

De même, nous pouvons calculer la valeur de la fonction tanh à ces points clés. Plutôt que d’être centrée autour de 0,5, la fonction tanh est centrée sur 0.

À 1, la fonction tanh a augmenté relativement beaucoup plus rapidement que la fonction logistique :

Et enfin, de 5, la fonction tanh a convergé beaucoup plus étroitement vers 1, dans les 5 décimales :

En fait, les fonctions tangente hyperbolique et arctangente convergent beaucoup plus rapidement que la fonction sigmoïde logistique.

Exemple de calcul de la Fonction Arctangente

Nous pouvons évaluer la fonction arctangente aux mêmes points pour voir où elle converge:

Notez que contrairement aux deux autres fonctions sigmoïdes montrées ci-dessus, l’arctangente converge vers π/2 plutôt que 1. De plus, l’arctangente converge plus lentement, car à x = 5 elle n’est même pas proche de sa valeur finale. Ce n’est que par des nombres assez importants, tels que x = 5000, que l’arctangente devient très proche de π/ 2.

Résumé des trois fonctions sigmoïdes

Nous pouvons comparer les propriétés clés des trois fonctions sigmoïdes indiquées ci-dessus dans un tableau:

Sigmoid function Logistic function tanh arctan
Value in the limit x →-∞ 0 -1 -π/2
Value at x = 0 0.5 0 0
Value in the limit x →∞ 1 1 π/2
Converges Fast Very fast Very slow

Sigmoid Function vs. ReLU

Dans les réseaux de neurones artificiels modernes, il est courant de voir à la place de la fonction sigmoïde, le redresseur, également connu sous le nom d’unité linéaire rectifiée, ou ReLU, être utilisé comme fonction d’activation. La ReLU est définie comme suit :

Définition de la fonction d’activation du redresseur

Graphique de la fonction ReLU

La fonction ReLU présente plusieurs avantages principaux par rapport à une fonction sigmoïde dans un réseau de neurones. Le principal avantage est que la fonction ReLU est très rapide à calculer. De plus, un potentiel d’activation dans un réseau de neurones biologiques ne continue pas à changer pour les entrées négatives, de sorte que le ReLU semble plus proche de la réalité biologique si l’objectif est d’imiter les systèmes biologiques.

De plus, pour x positif

la fonction ReLU a un gradient constant de 1, alors qu’une fonction sigmoïde a un gradient qui converge rapidement vers 0. Cette propriété rend les réseaux de neurones avec des fonctions d’activation sigmoïdes lents à s’entraîner. Ce phénomène est connu sous le nom de problème du gradient de disparition. Le choix de ReLU comme fonction d’activation atténue ce problème car le gradient de la ReLU est toujours 1 pour un

x positif et le processus d’apprentissage ne sera donc pas ralenti par le fait que le gradient devienne petit.

Cependant, le gradient zéro pour x négatif peut poser un problème similaire, connu sous le nom de problème du gradient zéro, mais il est possible de compenser cela en ajoutant un petit terme linéaire dans x pour donner à la fonction ReLU une pente non nulle en tous points.

Applications de la fonction sigmoïde

Fonction sigmoïde logistique dans la régression logistique

Un domaine clé de l’apprentissage automatique où la fonction sigmoïde est essentielle est un modèle de régression logistique. Un modèle de régression logistique est utilisé pour estimer la probabilité d’un événement binaire, tel que mort vs vivant, malade vs bien, transaction frauduleuse vs honnête, etc. Il génère une valeur de probabilité comprise entre 0 et 1.

Dans la régression logistique, une fonction sigmoïde logistique est adaptée à un ensemble de données où la ou les variables indépendantes peuvent prendre n’importe quelle valeur réelle, et la variable dépendante est soit 0, soit 1.

Par exemple, imaginons un ensemble de données de mesures et de diagnostics tumoraux. Notre objectif est de prédire la probabilité de propagation d’une tumeur, compte tenu de sa taille en centimètres.

Quelques mesures des dimensions et des résultats de la tumeur

En traçant l’ensemble des données, nous avons une tendance générale selon laquelle, plus la tumeur est grande, plus elle a de chances de se propager, bien qu’il y ait un chevauchement évident des deux classes dans la plage de 2,5 cm à 3,5 cm:

Un graphique des résultats de la tumeur par rapport aux dimensions de la tumeur

En utilisant la régression logistique, nous pouvons modéliser l’état de la tumeur y (0 ou 1) en fonction de la taille de la tumeur x en utilisant la formule sigmoïde logistique:

où nous devons trouver les valeurs optimales m et b, qui nous permettent de décaler et d’étirer la courbe sigmoïde pour correspondre aux données.

Dans ce cas, l’ajustement de la courbe sigmoïde nous donne les valeurs suivantes:

Nous pouvons remettre ces valeurs dans la formule sigmoïde et tracer la courbe:

Cela signifie que, par exemple, étant donné une tumeur de taille 3cm , notre modèle de régression logistique permettrait de prédire la probabilité de propagation de cette tumeur comme:

Intuitivement, cela a du sens. Dans les données d’origine, nous pouvons voir que les tumeurs d’environ 3 cm sont plus ou moins réparties uniformément entre les deux classes.

Considérons une tumeur de taille 6 cm. Toutes les tumeurs de l’ensemble de données original de taille 4 cm ou plus s’étaient propagées, nous nous attendions donc à ce que notre modèle renvoie une probabilité élevée de propagation de la tumeur:

Le modèle a renvoyé une probabilité très proche de 1, indiquant la quasi-certitude que y = 1.

Cela montre comment les fonctions sigmoïdes, et la fonction logistique en particulier, sont extrêmement puissantes pour la modélisation des probabilités.

Pourquoi la fonction logistique est-elle utilisée dans la régression logistique, et non une autre fonction sigmoïde ?

La raison pour laquelle la fonction logistique est utilisée dans la régression logistique, et aucune des autres variantes sigmoïdes, n’est pas seulement due au fait qu’elle renvoie commodément des valeurs comprises entre 0 et 1. La régression logistique est dérivée de l’hypothèse que les données des deux classes sont normalement distribuées.

Imaginons que les tumeurs non étalées et les tumeurs étalées suivent chacune une distribution normale. Les tumeurs non étalées sont normalement distribuées avec une moyenne de 1,84 cm et un écart-type de 1 cm, et les tumeurs étalées sont normalement distribuées avec une moyenne de 4,3 cm, également avec un écart-type de 1 cm. Nous pouvons tracer à la fois la fonction de densité de probabilité de ces deux distributions normales:

En chaque point, nous pouvons calculer le rapport de cotes des deux distributions, qui est la fonction de densité de probabilité des tumeurs étalées divisée par la somme des deux fonctions de densité de probabilité (tumeurs non étalées + étalées):

Tracer le rapport de cotes en fonction de x , nous pouvons voir que le résultat est la courbe sigmoïde logistique d’origine.

La raison pour laquelle la fonction logistique est choisie pour la régression logistique est due à une hypothèse que nous modélisons deux classes qui sont toutes deux normalement distribuées, et la fonction logistique provient naturellement du rapport des fonctions de densité de probabilité normales.

Fonction sigmoïde en tant que fonction d’activation dans les réseaux de neurones artificiels

Un réseau de neurones artificiels se compose de plusieurs couches de fonctions, superposées les unes aux autres:

Un réseau de neurones à réaction avec deux couches cachées

Chaque couche contient généralement des poids et des biais et fonctionne comme une petite régression linéaire. Une partie cruciale des couches est également la fonction d’activation.

Formule pour la première couche cachée d’un réseau de neurones à réaction, avec des poids notés W et des biais par b, et la fonction d’activation g.

Cependant, si chaque couche du réseau de neurones ne contenait que des poids et des biais, mais aucune fonction d’activation, l’ensemble du réseau serait équivalent à une seule combinaison linéaire de poids et de biais. En d’autres termes, la formule du réseau de neurones pourrait être factorisée et simplifiée jusqu’à un simple modèle de régression linéaire. Un tel modèle serait capable de prendre des dépendances linéaires très simples mais incapable d’effectuer les tâches impressionnantes pour lesquelles les réseaux de neurones sont réputés, telles que la reconnaissance d’images et de voix.

Des fonctions d’activation ont été introduites entre les couches dans les réseaux de neurones afin d’introduire une non-linéarité. À l’origine, des fonctions sigmoïdes telles que la fonction logistique, l’arctangente et la tangente hyperbolique étaient utilisées, et aujourd’hui ReLU et ses variantes sont très populaires. Toutes les fonctions d’activation ont le même objectif: introduire une non-linéarité dans le réseau. Les fonctions sigmoïdes ont été choisies parmi les premières fonctions d’activation en raison de leur similitude perçue avec le potentiel d’activation dans les réseaux neuronaux biologiques.

Grâce à l’utilisation d’une fonction sigmoïde en différents points d’un réseau neuronal multicouche, des réseaux neuronaux peuvent être construits pour que des couches successives reprennent des caractéristiques de plus en plus sophistiquées d’un exemple d’entrée.

Histoire de la fonction sigmoïde

En 1798, le clerc et économiste anglais Thomas Robert Malthus a publié un livre sous un pseudonyme intitulé Un Essai sur le principe de la population, affirmant que la population augmentait selon une progression géométrique (doublant tous les 25 ans) alors que les réserves alimentaires augmentaient arithmétiquement, et que la différence entre les deux était due à une famine généralisée.

À la fin des années 1830, le mathématicien belge Pierre François Verhulst expérimentait différentes façons de modéliser la croissance de la population, et voulait rendre compte du fait que la croissance d’une population est finalement auto-limitante et n’augmente pas de manière exponentielle pour toujours. Verhulst a choisi la fonction logistique comme ajustement logique au modèle exponentiel simple, afin de modéliser le ralentissement de la croissance d’une population qui se produit lorsqu’une population commence à épuiser ses ressources.

Au cours du siècle suivant, des biologistes et d’autres scientifiques ont commencé à utiliser la fonction sigmoïde comme outil standard pour modéliser la croissance de la population, des colonies bactériennes aux civilisations humaines.

En 1943, Warren McCulloch et Walter Pitts ont développé un modèle de réseau de neurones artificiels utilisant une coupure dure comme fonction d’activation, où un neurone émet 1 ou 0 selon que son entrée est supérieure ou inférieure à un seuil.

En 1972, les biologistes Hugh Wilson et Jack Cowan de l’Université de Chicago tentaient de modéliser les neurones biologiques par calcul et publiaient le modèle Wilson–Cowan, dans lequel un neurone envoie un signal à un autre neurone s’il reçoit un signal supérieur à un potentiel d’activation. Wilson et Cowan ont choisi la fonction sigmoïde logistique pour modéliser l’activation d’un neurone en fonction d’un stimulus.

À partir des années 1970 et 1980, un certain nombre de chercheurs ont commencé à utiliser des fonctions sigmoïdes dans des formulations de réseaux de neurones artificiels, en s’inspirant des réseaux de neurones biologiques. En 1998, Yann LeCun a choisi la tangente hyperbolique comme fonction d’activation dans son réseau de neurones convolutifs révolutionnaire LeNet, qui a été le premier à reconnaître les chiffres manuscrits avec un niveau de précision pratique.

Au cours des dernières années, les réseaux de neurones artificiels se sont éloignés des fonctions sigmoïdes au profit de la fonction ReLU, car toutes les variantes de la fonction sigmoïde nécessitent un calcul intensif, et la ReLU fournit la non-linéarité nécessaire pour tirer parti de la profondeur du réseau, tout en étant très rapide à calculer.