C’est quoi un neurone artificiel ?

Illustration d'un neurone artificiel
A quoi ressemble un neurone artificiel ?

Maintenant que vous êtes des experts en intelligence artificielle (voir les épisodes précédents) on peut avancer encore plus profondément dans les méandres chaotique de cette obscure discipline.

L’étape suivante de notre voyage au long cours s’arrête à la station perceptron.

🤨

Le perceptron, je vous laisserai le soin de faire une recherche dessus mais en gros c’est le premier neurone artificiel.

Donc un neurone vous voyez ce que c’est ? Une sorte de cellule pieuvre avec plein de branches qui se connectent avec d’autre neurones. Le fonctionnement est “simple” (ouais rajoute beaucoup de guillemets 😠) : des signaux arrivent par l’intermédiaire des branches et selon l’intensité de ceux-ci, ils sont renvoyés vers d’autres neurones de manière plus ou moins intense. Un neurone, c’est une sorte de super transistor. Les signaux sont transmis de 2 façons, en partie par un courant électrique mais également par des éléments chimiques principalement au niveau des synapses (endroit où se fait la liaison entre 2 neurones). Plus un neurone est sollicité plus le signal est intensifié.

Illustration d'un neurone biologique
Un neurone

Et bien le neurone artificiel s’inspire du neurone biologique. Dans la même logique il reçoit des signaux plus ou moins forts, il pondère ces signaux et sous certaines conditions il renvoi un signal. La comparaison s’arrête là.

Comme on l’a vu dans l’introduction à l’intelligence artificielle, ici pas de chimie comme dans le neurone biologique mais des nombres et des formules mathématiques.

🤨 Mais du coup, concrètement ça ressemble à quoi ?

Concrètement, un neurone artificiel est juste un algorithme qui peut être traduit de différentes manières. La plupart du temps, c’est codé dans un langage informatique.

Entrons un peu plus dans les détails de cet algorithme qui, à l’origine, a été conçu pour des problématique de classification (😀 comme nos chats et chiens de notre introduction à l’intelligence artificielle). Détaillons ses étapes.

  1. Il effectue la somme pondérée des entrés qu’il reçoit.
  2. Cette somme est transmise à une fonction d’activation qui donne un résultat.

😨 C’est quoi une fonction d’activation ???

Pas d’inquiétude ! C’est juste une fonction qui transforme le résultat de la somme en résultat exploitable ou signifiant.

😡 Mouais ça m’aide pas beaucoup !

Reprenons l’exemple de nos chats et de nos chiens. Quel résultat on attend ?

🤔 Et bien « chat » ou « chien ».

Ok mais l’ordinateur ne comprend ni le mot « chat », ni le mot « chien » et ce ne peut pas être le résultat d’une opération mathématique.

🙄 Bah oui mais on fait comme la dernière fois, on dit que 1, c’est « chien » et 0, c’est « chat ».

Et bien voilà ! C’est ce que nous voulons ! Et c’est pas évident qu’on ai ce résultat avec notre somme pondérée. D’où l’utilité de notre fonction d’activation !

😮 Ooooh ok ! Et ça ressemble à quoi ?

Il y a plusieurs sorte de fonction d’activation en fonction de ce que l’on souhaite avoir comme résultat ou même en fonction du besoin d’efficacité algorithmique. Par exemple, on peut utiliser une fonction conditionnelle comme dans les articles précédents (résultat est égal à 1 si la somme est supérieur à un nombre et 0 dans le cas contraire) ou encore la fonction sigmoïde qui est une fonction mathématique dont les résultats sont compris entre 0 et 1.

illustration du schéma d'un neurone artificiel
Schéma du neurone artificiel.

Il temps de faire un peu de maths. Pour construire notre somme pondérée, il nous faut des nombres en entrée qu’on appelle features (La domination anglophonique est insurmontable) et que l’on note xi (pour les non matheux et ceux qui n’auraient pas compris, le petit i en indice indique simplement le numéro de la feature, si il y en a 10, i ira de 1 à 10), des poids (weight) que l’on note wi et on peut rajouter un biais (bias) qu’on notera w0.

Somme pondérée :

z=x_1*w_1+x_2*w_2+\text{...}+x_i*w_i+w_0

ou de manière plus concise avec le sigle mathématique « somme » (\sum_{}^{}

z=\sum_{i=0}^{n} x_i*w_i +w_0

Fonction d’activation (par exemple) :

y=sigmoid(z)

😥Les maths c’est pas trop mon truc… Je vois toujours pas comment ça marche concrètement !

Ok avec un exemple ce sera plus clair.

Reprenons nos histoires de poids et de tailles de moustaches de nos chats et chiens. Nos features (nos x) ce seront donc nos poids et taille de moustaches, soit 2 features (x1, x2)par animal. Les poids on va les mettre au hasard (dans un premier temps en tout cas) et… bah yapluka.

x_1 = 5 , x_2=10 , w_1=3 , w_2=-2 , w_0=2

z=5*3+10*-2+2=-3

y=sigmoid(-3)=0.05

🤨 Mais là on a pas 0 ou 1 comme prévu mais 0.05 !

Oui car on a utilisé la fonction sigmoid de manière un peu arbitraire. Mais le résultat est quand même exploitable. Il suffit de considérer le résultat comme une probabilité, en l’occurrence ici, la probabilité que notre animal soit un chien ou encore le pourcentage de chance que ce soit un chien. Si on multiplie le résultat par 100, on obtient le pourcentage. (0.05*100=5) Il y a 5% de chance que notre animal soit un chien… Autant dire que le neurone artificiel à classifier l’animal en tant que chat !

Voilà ! Maintenant vous savez ce qu’est un neurone artificiel. Bravo !

🤔 Attend… Et si le neurone s’est trompé ? Qu’est ce qu’on fait ?

Et bien, il suffit de changer la valeur des poids.

😒Ok… Et comment on change la valeur des poids ?

Ah ça c’est une autre histoire que l’on verra dans un autre article si vous êtes sage ^^

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.