Réseaux de neurones/Les neurones en réseaux
Un réseau est un ensemble d'éléments inter-connectés entre eux pour échanger des informations.
Un réseau de neurones artificiels s'inspire du fonctionnement biologique du cerveau humain et prend corps dans un ordinateur.
Il suffit donc d'associer plusieurs neurones pour établir un réseau. Il existe plusieurs types de réseaux suivant la façon dont sont connectés les neurones entre eux.
En informatique, dans la majorité des cas, les neurones sont en fait calculés via un programme informatique, mais ils peuvent être parfois réalisés sur un circuit électronique. Ce chapitre insiste sur l'importance de l'architecture des réseaux de neurones dans leur fonctionnement et leur utilité.
Différentes configurations de réseaux
[modifier | modifier le wikicode]La configuration d'un réseau peut être quelconque mais certains schémas caractéristiques de réseaux de neurones sont les plus utilisés. Ils sont présentés ici tout en notant que d'autres configurations existent.
- Réseaux partiellement connectés : Chaque neurone est relié à quelques neurones localisés dans son périmètre.
- Réseaux à connexions complètes : Chaque neurone est lié à tous les autres neurones du réseau.
- Réseaux à couches : Tous les neurones d'une couche sont connectés aux neurones de la couche en aval.
-
Réseaux partiellement connectés
-
Réseaux à connexions complètes
-
Réseaux à couches
Le choix de la configuration d'un réseau et du nombre optimal de neurones qui le constituent ne doit pas se faire au hasard. La question de la détermination de la structure optimale du réseau de neurones est longtemps restée ouverte mais il existe aujourd’hui diverses méthodes basées sur des tests statistiques qui permettraient d'y répondre.
Réseau de neurones à couches
[modifier | modifier le wikicode]Apparus en 1985, les réseaux de neurones à couches sont aujourd’hui les plus utilisés surtout dans le domaine financier.
Organisation et structure
[modifier | modifier le wikicode]Au sein du réseau, les neurones sont structurés par couches. Il n'y a pas de connexion entre les neurones d'une même couche et les connexions ne se font qu'avec les neurones de la couche suivante (voir figure). Généralement, chaque neurone d'une couche est lié avec tous les neurones de la couche en aval et celle-ci uniquement.
On appelle couche d'entrée l’ensemble des neurones d'entrée et couche de sortie l’ensemble des neurones de sortie. Les couches intermédiaires n'ont pas de contact avec l'extérieur et sont donc nommées couches cachées.
Chaque neurone est une unité de calcul autonome et indépendante des autres neurones.
Les neurones de la couche d'entrée reçoivent les informations censées expliquer le phénomène ou le problème à analyser. Si l’on prend comme exemple la détection préventive des entreprises en difficulté, il s'agit le plus généralement de ratios financiers. Le neurone de sortie prendra la valeur 0 ou 1 selon la santé de l'entreprise : saine ou en défaillance.
Exemple illustratif
[modifier | modifier le wikicode]Soit un réseau multi couches composé :
- d'une couche d'entrée de 361 neurones
- d'une couche cachée de 25 neurones (nombre non impératif)
- d'une couche de sortie de 361 neurones
Ce réseau a appris à associer à la lettre "a" présentée à l'entrée, la même lettre à la sortie. L'image de la lettre "a" est composé de 19x19 pixels (19x19=361) de couleur noire ou blanche ; chacun de ces pixels est associée à un neurone de la couche d'entrée.
Chacun des 25 neurones de la couche cachée reçoit 361 connexions (une pour chaque neurone de la couche d'entrée) et envoie 361 connexions (une pour chaque neurone de la couche de sortie). Il y a donc 25 x (361 x 2) = 18050 connexions dans le réseau.
1ère étape : Elle consiste à coder l'image d'entrée sur le réseau. Il s'agit pour chaque neurone de la couche d'entrée d'associer une valeur à son état selon chaque couleur de pixel (noire ou blanche) correspondant. On choisit arbitrairement de coder un pixel noir avec la valeur 1 et un pixel blanc avec la valeur 0.
2e étape : Elle consiste en le calcul de la réponse du réseau de neurones. Chaque neurone de la couche d'entrée envoie sa valeur aux neurones de la couche cachée (1 ou 0 selon sa couleur). Chaque neurone de la couche cachée a donc 361 entrées et agit parallèlement et indépendamment des autres neurones de sa couche. Il fait ensuite la somme pondérée de toutes ses entrées.
3e étape : Le même processus est répété pour la couche de sortie. Chaque neurone de la couche de sortie reçoit l'information des 25 neurones de la couche cachée.
L'information dans les réseaux de neurones
[modifier | modifier le wikicode]L'ensemble de l'information contenue dans un réseau de neurones est déterminée par :
- la configuration du réseau : nombre de neurones du réseau, nombre de connexions entre les neurones, nombre de couches du réseau, structure du réseau, etc.
- la force des connexions liant les neurones entre eux : signaux avec une plus ou moins grande importance, action du signal inhibitrice ou excitatrice
- la fonction d'activation : c’est la loi qui détermine la réaction du neurone en fonction de l'information reçue