Anatomie d’un neurone

Cet article est issu de la newsletter IA Comprise et reproduit ici par commodité. Recevez toutes les lettres dans votre boîte mail au fur et à mesure de leur publication en laissant votre adresse dans le cadre à droite !


Chère lectrice, cher lecteur,

Depuis une dizaine d’années, les réseaux neuronaux sont à l’origine d’un immense bond en avant en matière d’Intelligence Artificielle.

« Réseau neuronal »… une expression séduisante, qui évoque un véritable cerveau peuplé de neurones de synthèse et de mystérieuses connexions, capable d’absorber des données, des textes, des images, et d’en extraire de l’intelligence… et l’idée que nous parvenons à répliquer en quelque sorte le fonctionnement d’un cerveau humain.

Il s’agit, hélas, d’une vision très romancée : les réseaux neuronaux utilisés en machine learning ne fonctionnent pas comme un mini-cerveau. Mais leurs briques élémentaires, les fameux neurones, sont bel et bien inspirés de ceux que l’on rencontre dans la nature !

Petit plongeon dans le monde des neurones.

Le neurone naturel

Un neurone naturel, ou biologique, est une cellule du système nerveux qui permet de recevoir et transmettre des informations, sous forme d’impulsions électriques, à travers le corps.

Chaque neurone dispose d’un seul et unique « tuyau émetteur », l’axone, vers lequel il envoie les impulsions électriques. À l’autre extrémité, l’axone est lui-même connecté aux dendrites d’un ou plusieurs autres neurones, qui sont les récepteurs de l’information.

Chaque neurone reçoit donc des impulsions électriques différentes depuis un ou plusieurs autres neurones et émet en réponse un signal unique dans son axone, qui sera capté à son tour par les neurones connectés à cet axone.

Un neurone reçoit de nombreux signaux via ses dendrites et en émet un seul via son axone (d’après Wikipedia/Nicolas Rougier)

Il ne faut pas croire que les neurones individuels sont des objets très complexes capables de « penser ». Au contraire, ils suivent une règle extrêmement simple [1] :

Si à un instant donné il reçoit suffisamment d’impulsions électriques d’autres neurones, il émet à son tour une impulsion électrique vers les autres neurones.

Voilà, c’est tout.

L’état du neurone est binaire : soit il est activé et émet une (seule) impulsion, soit il est au repos et n’émet rien du tout.

Ce qu’il est important de relever, c’est que toutes les impulsions sont identiques, la seule chose qui varie est le « coefficient » (fixe) que chaque neurone applique à une impulsion provenant chacun de ses récepteurs.

Ainsi, dans certains cas, une unique impulsion reçue sur le bon récepteur peut suffire à activer le neurone. Plus souvent, il faut qu’il en reçoive plusieurs en même temps : le critère est que la somme des coefficients des récepteurs concernés dépasse un seuil [2].

Si le neurone est activé, il émet une impulsion dans son axone en direction d’autres neurones, qui pourront à leur tour être activés, et ainsi de suite.

Un réseau de neurones naturels interconnectés (Wikipedia/ALol88)

Mais alors, comment au juste ce jeu de ping-pong permanent entre les neurone contribue à analyser en une fraction de seconde l’image d’un ballon qui nous arrive dessus, à déchiffrer des lettres à la forme arbitraire, à résoudre un calcul mathématique ? Comment cet enchevêtrement de dizaines de milliards de neurones obéissant individuellement à des règles aussi élémentaires peut finir par constituer une intelligence ?

Hélas, je n’ai pas de réponse à vous apporter, et pour cause : cette question vertigineuse, qui touche à la notion même de conscience, reste encore à ce jour l’un des plus grands mystères du cerveau humain…

Le neurone artificiel

Passons aux autres neurones, ceux que l’on utilise en machine learning.

Un neurone artificiel, ou formel, n’a pas d’existence matérielle : ce n’est qu’une fonction mathématique, niché dans un programme informatique. Il a été conceptualisé en 1943 (avant même l’invention de l’informatique proprement dite !) par deux chercheurs américains, Warren McCulloch et Walter Pitts, à partir du fonctionnement d’un neurone biologique :

  • Le neurone artificiel reçoit en entrée une série de nombres – comme un neurone naturel reçoit des impulsions électriques
  • Il applique à ces nombres un coefficient, puis les additionne tous entre eux
  • Si le résultat est supérieur à un certain seuil, le neurone retourne un certain nombre (par exemple 1), sinon il retourne 0 [3]
  • Ce résultat est envoyé à un ou plusieurs autres neurones, qui transformeront à leur tour de façon similaire les chiffres reçus, et ainsi de suite

C’est effectivement une modélisation du fonctionnement d’un neurone biologique !

Modélisation d’un neurone. Les valeurs d’entrées (x1 à xn) sont multipliées par des coefficients (w1 à wn), puis additionnées. Cette somme est ensuite soumise à une fonction d’activation (par exemple un « tout ou rien » au-delà d’un seuil) pour donner un résultat Y en sortie (d’après Wikipedia/Chrislb)

Un réseau neuronal est construit en « connectant » des couches de neurones entre elles.

Les données initiales (par exemple l’intensité de chaque pixel d’une image) sont envoyées dans une première série de neurones. Ceux-ci vont transformer ces données selon les règles précédentes, puis envoyer les résultats vers d’autres neurones et ainsi de suite jusqu’à un neurone « final » qui répond à la question souhaitée (par exemple, s’agit-il d’une photo de chat ?).

Un exemple de réseau neuronal simple. Chaque rond bleu est un neurone formel ; les valeurs d’entrée x1 à x3 sont combinées et transformées successivement par des neurones jusqu’à fournir un résultat.

Pourquoi cela fonctionne ?

Parvenir à analyser quelque chose d’aussi complexe qu’une image en passant des nombres à travers une succession de fonctions élémentaires (les fameux neurones) a quelque chose de magique.

Il est tentant d’y voir cette même magie que celle qui est à l’œuvre dans notre cerveau, de penser que l’on a effectivement recréé une sorte d’intelligence – alors que ce n’est qu’une illusion d’intelligence.

Si le cerveau garde bien des mystères, les réseaux neuronaux artificiels ont été bâtis sur des fondations mathématiques [4].

Le principe d’un réseau neuronal, comme les autres algorithmes de machine learning, consiste à apprendre par lui-même les relations entre les données d’entrée (des photos représentées par des séquences de nombres représentant l’intensité de chaque pixel) et le résultat à prédire (s’agit-il de photos de chats ?).

L’apprentissage proprement dit consiste à modifier progressivement les coefficients d’entrée de chaque neurone, jusqu’à ce que le réseau produise un résultat satisfaisant.

Les relations entre les données peuvent toutefois être très complexes. Par exemple, l’intensité d’un simple pixel ne donne pratiquement aucune information sur la probabilité qu’il fasse partie d’une photo de chat : il faut que le modèle apprenne à combiner de nombreux facteurs, comme les niveaux relatifs d’intensité entre un pixel donné et ses voisins plus ou moins éloignés.

La « magie » des réseaux neuronaux tient à un résultat mathématique fondamental, le théorème d’approximation universel, qui affirme que n’importe quelle fonction, aussi complexe soit-elle, peut être modélisée par des neurones fonctionnant comme ci-dessus [5]. Autrement dit :

S’il existe potentiellement un ensemble de règles, même très alambiquées, permettant de prédire un résultat à partir des données d’entrée, un réseau neuronal sera théoriquement capable de les trouver puis de les utiliser pour faire des prédictions.

Théoriquement, bien sûr, car la construction et l’entraînement d’un réseau neuronal restent des exercices difficiles. En pratique il n’est pas garanti qu’il parviendra effectivement à apprendre les règles optimales, surtout en tenant compte des contraintes de ressources (données d’entraînement, puissance de calcul…), mais les performances n’en restent pas moins excellentes en général.

Est-ce également l’explication de l’intelligence d’un cerveau humain ?

Rien n’est moins sûr, c’est même très improbable. Si les réseaux neuronaux artificiels peuvent paraître hermétiques, ce n’est rien à côté de ceux dont nous a doté la nature…

Les chercheurs en neurosciences s’intéressent depuis longtemps au fonctionnement cerveau humain – mais ils disposent désormais d’un outil précieux pour l’analyser dans toute sa complexité : le… réseau neuronal artificiel ! [6]

À la prochaine,

Erwan


Inscrivez-vous gratuitement pour ne rater aucune lettre !


[1] Comme toujours dans la nature, il existe bien sûr des cas particuliers qui ne suivent pas exactement ce mécanisme largement majoritaire…
[2] Certains récepteurs peuvent même porter des coefficients négatifs : ce sont alors des inhibiteurs, l’arrivée d’une impulsion sur ce récepteur va au contraire contribuer à ne pas activer le neurone.
[3] Cette fonction « tout ou rien » est appelée fonction d’activation du neurone. On l’utilise rarement telle quelle aujourd’hui : en termes de performance on préfère désormais d’autres fonctions non linéaires, comme la sigmoïde, l’arctangente ou l’unité de rectification linéaire.
[4] Même si bien sûr de nombreuses questions restent ouvertes…
[5] Je simplifie évidemment la formulation du théorème, mes amis mathématiciens m’excuseront de ne pas le citer dans toute sa rigueur mathématique…
L’élément crucial permettant ce résultat est l’existence d’une fonction d’activation non linéaire dans le neurone (par exemple le « tout ou rien » selon l’atteinte ou non d’un seuil).
[6] https://www.nature.com/articles/d41586-019-02212-4

Laisser un commentaire

Abonnez-moi à la newsletter