Neurone formel
On cherche sous le nom de neurone formel à formaliser de façon rudimentaire, sur ordinateur, un neurone biologique.
Y sont implantées les différentes fonctions accomplies par un neurone :
- une somme pondérée des entrées, correspondant à l'action des synapses excitatrices et inhibitrices sur la membrane cellulaire
- une fonction de sortie, correspondant à l'action du cône d'émergence
L'association de ces neurones formels en un réseau de neurones permet de construire des outils informatiques de prise de décision en fonction de perceptions.
Vu de l'extérieur, le neurone formel possède N entrées et une sortie.
Cette sortie sert à son tour d'entrée à d'autres neurones formels, voire également au neurone émetteur lui-même.
| Sommaire |
Historique
Le passage des observations neurophysiologiques et anatomiques au neurone formel a été proposé par W. Mc Cullogh et W. Pitts en 1943. Cette étude tente de comprendre le fonctionnement du système nerveux à partir d'unités ayant les propriétés des neurones connues à cette époque. C'est un pas essentiel vers la formalisation des fonctions remplies par le neurone qui a été franchi avec ce travail.
Malgré la simplicité de cette modélisation, ou peut-être grâce à elle, le neurone formel dit de McCullogh et Pitts reste aujourd’hui un élément de base des réseaux de neurones artificiels. De nombreuses variantes ont été proposées, plus ou moins biologiquement plausibles, mais reprenant toujours les concepts présentés dans cette étude. On sait néanmoins aujourd’hui que ce modèle n’est qu’une approximation des fonctions remplies par le neurone réel et, qu’en aucune façon, il ne peut servir pour une compréhension profonde du système nerveux.
La somme pondérée
Soient Ei|i∈{1;N} les N entrées du neurone formel, correspondant chacune à la sortie de N neurones.
La première fonction réalisée en interne par le neurone est une somme pondérée :
σ = ∑αiEi
Les coefficients αi sont appelés poids synaptiques. Un poids synaptique positif correspond à une entrée excitatrice, tandis qu'un poids synaptique négatif correspond à une entrée inhibitrice. Un poids synaptique nul représente une entrée non connectée.
On notera que la somme pondérée est une fonction linéaire.
Matriciellement, on a :

Le vecteur ligne des αi est le vecteur des poids synaptiques du neurone, tandis que le vecteur colonne des Ei est le vecteur d'état des entrées du neurone.
Sachant qu'un poids synaptique peut être nul pour représenter une non connexion, on peut donc poser N égal au nombre total de neurones du réseau, numérotés de 1 à N. Le vecteur colonne des Ei est alors appelé le vecteur d'état du réseau, puisqu'à un instant donné, il est le même pour tous les neurones.
La fonction de sortie
La fonction de sortie f est croissante de ℝ dans [0;1], avec pour limites 0 et 1 respectivement en -∞ et +∞.
La fonction de sortie est donc forcément non linéaire, condition importante pour que la discrétisation d'un réseau de neurones formels en unités élémentaires de traitement (les neurones) ait une raison d'être.
En effet, la somme pondérée des entrées, avant application de la fonction de sortie, est linéaire, donc si la fonction de sortie était elle-même linéaire, un réseau sans boucle de tels neurones serait strictement équivalent à un unique neurone.
De plus, si jamais un réseau formé de ces neurones présentait une boucle, c'est-à-dire si la sortie d'un neurone donné se retrouve à l'entrée de ce même neurone (éventuellement en passant d'abord par d'autres neurones), la réponse du réseau (ensemble de toutes les sorties) diverge.
Neurone à seuil
Le neurone formel le plus simple est celui dont la fonction de sortie est un seuillage inspiré de la fonction d'étape de Heaviside (fonction en marche d'escalier), avec un seuil S propre au neurone (dans la fonction de Heaviside, on a S = 0).
Le comportement d'un neurone formel à seuil S est le suivant :
- si la somme pondérée des entrées est supérieure à S, la sortie vaut 1
- sinon, elle vaut 0
On remarquera qu'avec deux entrées A et B (chacune ne pouvant valoir que 0 ou 1) et des poids synaptiques de 1 :
De même, avec une seule entrée :
- un poids synaptique de 1 et 0 < S < 1 correspond à la fonction logique IDENTITE
- un poids synaptique de -1 et -1 < S < 0 correspond à la fonction logique NON.
Par linéarité de la somme pondérée, si on multiplie en même temps les poids synaptiques et le seuil S d'un neurone par un nombre positif quelconque, le comportement du neurone est inchangé, et la modification est totalement indiscernable. En revanche, si on multiplie tout par un nombre négatif, le comportement du neurone est inversé, puisque la fonction de sortie est croissante. Ceci s'illustre en comparant les neurone IDENTITE et NON.
Des combinaisons d'un nombre même restreint de ces neurones formels à seuil permettent donc d'effectuer des opérations logiques similaires à celles des automates.
Quelques autres fonctions de sorties
Bayes-EvidenceVsProbability-_François-Dominique.png
Il existe des fonctions de sorties plus « sophistiquées », comme la fonction sigmoïde :

Une formulation trigonométrique hyperbolique de cette fonction est :

On vérifiera aisément qu'elle est compatible avec les conditions que doit remplir une fonction de sortie, à savoir croissante de ℝ dans [0;1], avec pour limites 0 et 1 respectivement en -∞ et +∞.
Bien qu'elle semble parachutée, la fonction sigmoïde provient en fait de la courbe d'évidence Ev(p) = 10 log10[p/(1-p)] dont est représentée ci-contre la fonction inverse (p en fonction de Ev(p)), et obtenue grâce au théorème de Cox-Jaynes.
En effet, Ev est une fonction croissante de [0;1] dans ℝ, avec
et
.
On obtient donc une fonction de sortie compatible avec les conditions qu'elle doit remplir en prenant la fonction inverse, soit fEv(x) = p et x = Ev(p).

Un neurone utilisant la fonction sigmoïde est donc strictement équivalent à un neurone utilisant la courbe d'évidence (ou plus exactement la fonction inverse) et dont tous les poids synaptiques sont divisés par le nombre positif (ln10)/10.
Usage pratique
Le pilotage d'un point matériel pour lui faire suivre (en fonction de règles données d'accélération et d'inertie) un circuit préalablement défini sur un écran (bitmap) ne demande par exemple que quelques dizaines de neurones. L'augmentation de ce nombre permet de limiter de plus en plus le nombre de cas de sortie de circuit ainsi que la vitesse de déplacement possible sans risque excessif de le quitter.
Il existe dans le commerce des puces électroniques comportant un certain nombre de neurones formels, comme par exemple la puce ZISC, qui en comporte 36. Le nombre de neurones formels que l'on peut placer sur une puce n'est techniquement limité que par le nombre de connecteurs que l'on peut raisonnablement y brancher. La limitation est uniquement d'ordre pratique et non technologique (à titre indicatif, une carte ZISC typique comporte 19 puces pour un total de 684 neurones; on peut brancher plusieurs cartes sur un même bus PCI pour augmenter ce nombre jusqu'à plus de 2000).
Neurone binaire
On nomme neurone binaire une version particulièrement simplifiée elle-même du neurone formel. Là encore, il s'agit d'un équivalent fonctionnel du modèle de l'automate.
