Part 2 : Comment fonctionne le Perceptron

Publié le 12 mars 2018 par Rocketbootstrapper

Après avoir étudié ce qu’est un neurone dans l’article précédent, je vais désormais expliquer comment fonctionne un certain type de neurone artificiel très connu appelé le Perceptron.

De nos jours, ce type de neurone n’est plus utilisé car trop limité. Le modèle le plus commun est le neurone sigmoid. Nous en parlerons d’ailleurs rapidement.

Mais pour comprendre pourquoi les neurones sigmoid sont plus répandus, ça vaut le coup de comprendre le fonctionnement des perceptrons dans un premier temps.

Comment fonctionne le perceptron ?

Un perceptron prend en paramètres d’entrée (inputs) plusieurs valeurs binaires x1, x2…, x9, … et produit une valeur de sortie binaire unique (output).

Dans l’exemple ci-dessus, le perceptron a 3 entrées (inputs) x1, x2 et x3. De manière générale, il pourrait avoir plus ou moins d’entrées.

Le perceptron introduit une règle simple pour définir la valeur de sortie (output). Il introduit la notion de poids (weights en anglais), w1, w2, w3 qui sont des nombres réels exprimant l’importance des différentes entrées par rapport à la sortie (output). La valeur de sortie du neurone (output) qui sera soit 0 ou 1 dans le cas d’un perceptron est donc largement influencée par les poids (weight). La valeur de sortie est calculée grâce à la somme du produit entre les variables d’entrées (x1, x2 et x3) avec leur poid respectif (w1, w2 et w3). Cette somme est ensuite comparée à un seuil (threshold en anglais).

x1.w1+x2.w2 + x3.w3 = ∑jxjwj

Tout comme les poids (weights), le seuil (threshold) est un nombre réel qui est un paramètre du neurone.

Concrètement, en terme algébrique :

La valeur de sortie (output) est calculée de la façon suivante :

output=0 si ∑jwjxj ≤ threshold

ou alors output=1 si ∑jwjxj > threshold

C’est tout ce qu’il y a à savoir sur la façon dont le perceptron fonctionne! Nous venons de voir le modèle mathématique de base.

Une autre façon de le voir consiste à voir le perceptron comme un outil permettant de prendre des décisions en sous-pesant les évidences. Laissez moi vous donner un exemple.

Un exemple concret de fonctionnement d’un neurone artificiel perceptron

Ce n’est pas un exemple très réaliste, mais c’est plutôt facile à comprendre, et nous irons rapidement nous plonger dans d’autres exemples plus précis.

Vous souhaitez acheter une maison et vous cherchez en utilisant 3 critères :

  • La distance avec votre lieu de travail.
  • Le nombre total de pièces.
  • La superficie.

Pour ces 3 critères, vous faites les choix suivants :

Vous souhaitez que votre future maison soit à moins de 20 km de votre lieu de travail, vous souhaitez 5 pièces minimum et une superficie totale d’au moins 150 m2.

Nous pouvons représenter ces 3 critères grâce à 3 variables d’entrée binaires (input) x1, x2 et x3.

Par exemple, x1 sera égale à 0 si la maison est à plus de 20 km de votre lieu de travail ou x1 sera égale à 1 si la maison est, comme vous le souhaitez, à moins de 20 km de votre travail. De même, x2 sera égale à 0 si la maison a moins de 5 pièces ou x2 sera égale à 1 si la maison a 5 pièces ou plus. Enfin, x3 sera égale à 0 si la maison a une superficie inférieure à 150m2 ou x3 sera égale à 1 si la maison a une superficie supérieure ou égale à 150m2.

Maintenant, supposez que vous savez que vous voulez au moins 3 enfants. Un de vos critères majeurs, le plus important dans votre choix, sera donc le nombre de pièces car vous souhaitez pouvoir avoir une grande famille et offrir une chambre à chacun de vos 3 enfants.

Mais peut-être aussi que le cas échéant, vous favoriserez le nombre de pièces et la superficie plutôt que la distance. Vous n’êtes pas fermé au fait de peut-être faire jusque 25/30 km si jamais la maison vous plait.

Vous pouvez utiliser les perceptrons afin de modéliser ce genre de modèle. Une façon de faire est de choisir des poids (weight) w1=2 pour la distance, w2=8 pour le nombre de pièces et w3=6 pour la superficie.

La plus grande valeur de w2=8 indique que le nombre de pièces a beaucoup d’importance pour vous, beaucoup plus que la distance par exemple, et un peu plus que la superficie. Enfin, supposez que vous choisissez un seuil de 14 (threshold) pour ce perceptron. Avec ces choix, le perceptron devient le preneur de décision parfait pour votre modèle, en sortant la réponse 1 (c’est à dire d’aller visiter) quand le nombre de pièces est supérieur ou égal à 5 ou la valeur 0 si la maison ne correspond pas. Le perceptron ne fera aucune différence que le nombre de kilomètres soit plus grand ou plus petit que 20km car il a compris que la distance ne vous gêne en réalité moins que les autres critères.

En reprenant la règle expliquée ci-dessus :

x1.w1+x2.w2 + x3.w3 = ∑jxjwj

Ex : Si x1=0, x2=1 et x3=1 alors

0*2+1*8+1*6 = 14 = le seuil choisie.

La valeur de sortie du perceptron sera donc égale à 1.

En variant les poids (weights) et le seuil (threshold), nous pouvons obtenir différents modèles de prise de décision qui donneront plus ou moins d’importance à certains critères plutôt qu’à d’autres. Par exemple, si nous changeons le seuil (threshold) a 2 alors, le perceptron vous recommanderait d’aller visiter toutes les maisons dès lors qu’au moins 1 des 3 critères serait validé.

Conclusion

Pour conclure, lorsque l’on dit qu’on utilise un neurone perceptron, en réalité, le perceptron correspond à ce qu’on appelle la fonction d’activation du neurone. Pour le perceptron, la fonction est très simple elle ne prend que 2 valeurs possibles 0 et 1.

Dans les futures articles, nous étudierons d’autres types de fonctions d’activation plus complexes.