Une introduction douce à la fonction sigmoïde

Actualités de de l'Intelligence Artificielle - Machine Learning - Objets connectés

Une introduction douce à la fonction sigmoïde


Que vous implémentiez vous-même un réseau de neurones ou que vous utilisiez une bibliothèque intégrée pour l’apprentissage du réseau de neurones, il est d’une importance primordiale de comprendre la signification d’une fonction sigmoïde. La fonction sigmoïde est la clé pour comprendre comment un réseau de neurones apprend des problèmes complexes. Cette fonction a également servi de base pour découvrir d’autres fonctions qui conduisent à des solutions efficaces et bonnes pour l’apprentissage supervisé dans les architectures d’apprentissage profond.

Dans ce tutoriel, vous découvrirez la fonction sigmoïde et son rôle dans l’apprentissage à partir d’exemples dans les réseaux de neurones.

Après avoir terminé ce tutoriel, vous saurez :

  • La fonction sigmoïde
  • Séparabilité linéaire vs non linéaire
  • Pourquoi un réseau de neurones peut faire des limites de décision complexes si une unité sigmoïde est utilisée

Commençons.

Une introduction douce à la fonction sigmoïde.  Photo de Mehreen Saeed, certains droits réservés.

Une introduction douce à la fonction sigmoïde. Photo de Mehreen Saeed, certains droits réservés.

Présentation du didacticiel

Ce tutoriel est divisé en 3 parties ; elles sont:

  1. La fonction sigmoïde
    1. La fonction sigmoïde et ses propriétés
  2. Problèmes linéaires vs non linéairement séparables
  3. Utilisation d’un sigmoïde comme fonction d’activation dans les réseaux de neurones

Fonction sigmoïde

La fonction sigmoïde est une forme spéciale de la fonction logistique et est généralement notée σ(x) ou sig(x). Il est donné par :

(x) = 1/(1+exp(-x))

Propriétés et identités de la fonction sigmoïde

Le graphique de la fonction sigmoïde est une courbe en forme de S comme le montre la ligne verte dans le graphique ci-dessous. La figure montre également le graphique de la dérivée en rose. L’expression de la dérivée, ainsi que certaines propriétés importantes, sont indiquées sur la droite.

Graphique de la fonction sigmoïde et de sa dérivée.  Certaines propriétés importantes sont également indiquées.

Graphique de la fonction sigmoïde et de sa dérivée. Certaines propriétés importantes sont également indiquées.

Quelques autres propriétés comprennent:

  1. Domaine : (-∞, +∞)
  2. Plage : (0, +1)
  3. (0) = 0,5
  4. La fonction augmente de façon monotone.
  5. La fonction est continue partout.
  6. La fonction est dérivable partout dans son domaine.
  7. Numériquement, il suffit de calculer la valeur de cette fonction sur une petite plage de nombres, par exemple, [-10, +10]. Pour les valeurs inférieures à -10, la valeur de la fonction est presque nulle. Pour les valeurs supérieures à 10, les valeurs de la fonction sont presque un.

Le sigmoïde comme fonction d’écrasement

La fonction sigmoïde est également appelée fonction d’écrasement car son domaine est l’ensemble de tous les nombres réels et sa plage est (0, 1). Par conséquent, si l’entrée de la fonction est soit un très grand nombre négatif, soit un très grand nombre positif, la sortie est toujours comprise entre 0 et 1. Il en va de même pour tout nombre entre -∞ et +∞.

Sigmoïde comme fonction d’activation dans les réseaux de neurones

La fonction sigmoïde est utilisée comme fonction d’activation dans les réseaux de neurones. Juste pour revoir ce qu’est une fonction d’activation, la figure ci-dessous montre le rôle d’une fonction d’activation dans une couche d’un réseau de neurones. Une somme pondérée d’entrées passe par une fonction d’activation et cette sortie sert d’entrée à la couche suivante.

Une unité sigmoïde dans un réseau de neurones

Une unité sigmoïde dans un réseau de neurones

Lorsque la fonction d’activation d’un neurone est une fonction sigmoïde, c’est une garantie que la sortie de cette unité sera toujours comprise entre 0 et 1. De plus, comme le sigmoïde est une fonction non linéaire, la sortie de cette unité serait une non -fonction linéaire de la somme pondérée des entrées. Un tel neurone qui utilise une fonction sigmoïde comme fonction d’activation est appelé unité sigmoïde.

Vs linéaire. Séparabilité non linéaire ?

Supposons que nous ayons un problème de classification typique, où nous avons un ensemble de points dans l’espace et chaque point se voit attribuer une étiquette de classe. Si une ligne droite (ou un hyperplan dans un espace à n dimensions) peut diviser les deux classes, alors nous avons un problème linéairement séparable. D’un autre côté, si une ligne droite ne suffit pas pour diviser les deux classes, alors nous avons un problème non linéairement séparable. La figure ci-dessous montre les données dans l’espace à 2 dimensions. Chaque point se voit attribuer une étiquette de classe rouge ou bleue. La figure de gauche montre un problème linéairement séparable qui nécessite une frontière linéaire pour distinguer les deux classes. La figure de droite montre un problème non linéairement séparable, où une frontière de décision non linéaire est requise.

Linera vs.  Problèmes non linéairement séparables

Linera vs. Problèmes non linéairement séparables

Pour l’espace tridimensionnel, une frontière de décision linéaire peut être décrite via l’équation d’un plan. Pour un espace à n dimensions, la frontière de décision linéaire est décrite par l’équation d’un hyperplan.

Pourquoi la fonction sigmoïde est-elle importante dans les réseaux de neurones ?

Si nous utilisons une fonction d’activation linéaire dans un réseau de neurones, alors ce modèle ne peut apprendre que des problèmes linéairement séparables. Cependant, avec l’ajout d’une seule couche cachée et d’une fonction d’activation sigmoïde dans la couche cachée, le réseau de neurones peut facilement apprendre un problème non linéairement séparable. L’utilisation d’une fonction non linéaire produit des limites non linéaires et, par conséquent, la fonction sigmoïde peut être utilisée dans les réseaux de neurones pour l’apprentissage de fonctions de décision complexes.

La seule fonction non linéaire qui peut être utilisée comme fonction d’activation dans un réseau de neurones est celle qui augmente de façon monotone. Ainsi, par exemple, sin(x) ou cos(x) ne peuvent pas être utilisés comme fonctions d’activation. Aussi, la fonction d’activation doit être définie partout et doit être continue partout dans l’espace des nombres réels. La fonction doit également être dérivable sur tout l’espace des nombres réels.

Typiquement, un algorithme de rétropropagation utilise la descente de gradient pour apprendre les poids d’un réseau de neurones. Pour dériver cet algorithme, la dérivée de la fonction d’activation est requise.

Le fait que la fonction sigmoïde soit monotone, continue et dérivable partout, couplé à la propriété que sa dérivée peut être exprimée en termes d’elle-même, permet de dériver facilement les équations de mise à jour pour apprendre les poids dans un réseau de neurones lors de l’utilisation de l’algorithme de rétropropagation .

Rallonges

Cette section répertorie quelques idées pour étendre le didacticiel que vous souhaiterez peut-être explorer.

Si vous explorez l’une de ces extensions, j’aimerais le savoir. Postez vos découvertes dans les commentaires ci-dessous.

Lectures complémentaires

Cette section fournit plus de ressources sur le sujet si vous cherchez à approfondir.

Tutoriels

Ressources

Livres

Sommaire

Dans ce tutoriel, vous avez découvert ce qu’est une fonction sigmoïde. Concrètement, vous avez appris :

  • La fonction sigmoïde et ses propriétés
  • Limites de décision linéaires et non linéaires
  • Pourquoi l’ajout d’une fonction sigmoïde à la couche cachée permet à un réseau de neurones d’apprendre des limites non linéaires complexes

Avez-vous des questions?

Posez vos questions dans les commentaires ci-dessous et je ferai de mon mieux pour y répondre