Classification par réseau de neurones et extraction des caractéristiques
Un neurone est une cellule nerveuse constituant la base du système nerveux, spécialisée dans le traitement des signaux électriques. C’est en 1881 que le terme de neurone fut inséré dans le vocabulaire médical par l’anatomiste allemand Heinrich Wilhelm Waldeyer. En biologie, le cerveau humain contient un grand nombre de neurones fortement interconnectés constituant des réseaux de neurones. Le système nerveux compte plus de 1000 milliards de neurones interconnectés. Bien que les neurones ne soient pas tous identiques, leur forme et certaines caractéristiques permettent de les répartir en quelques grandes classes. En effet, il est aussi important de savoir que les neurones n’ont pas tous un comportement similaire en fonction de leur position dans le cerveau. Le traitement de l’information par chaque neurone montre que celle-ci n’est pas stockée dans les neurones, mais est bien le résultat du comportement de tout le réseau interconnecté. L’information est donc principalement dans l’architecture et dans la force des connexions neuronales.
Réseau de neurone artificiel
Les réseaux de neurones biologiques qui constituent le cerveau humain réalisent simplement de nombreuses applications telles que la reconnaissance de formes, le traitement du signal, la mémorisation, la généralisation, l’apprentissage, etc. Les réseaux de neurones artificiels sont donc un moyen de modéliser le mécanisme d’apprentissage et de traitement de l’information qui se produit dans le cerveau humain. Le neurone artificiel reçoit un certain nombre de variables d’entrées provenant de neurones en amont. À chacune de ces entrées, est associé un poids qui représente la force de la connexion entre les deux neurones. Chaque neurone est doté d’une unique sortie qui se ramifie ensuite pour représenter les entrées qui alimenteront d’autres neurones en aval. Pour résumer, chaque neurone calcule une sortie unique en se basant sur les informations qui lui sont données.
Le neurone de McCulloch et Pitts est un dispositif binaire, qui reçoit des stimulations par des entrées, et les pondère grâce à des valeurs réelles appelées coefficients synaptiques, poids synaptiques ou simplement synapses. Ces coefficients peuvent être positifs, et l’on parle alors de synapses excitatrices, ou négatifs pour des synapses inhibitrices. Le neurone calcule ainsi une somme de ses entrées pondérées par les coefficients et prend une décision en la comparant à un seuil fixé : si la somme pondérée des entrées dépasse le seuil, la sortie produite vaut +1, sinon la sortie vaut –1. Un schéma du fonctionnement d’un neurone formel est proposé dans la Figure 2.2.
Les variations possibles de ce modèle viendront du choix du nombre d’entrées, de la valeur des poids, ou de la fonction de décision. Le nombre d’entrées dépend essentiellement des problèmes abordés : en reconnaissance de formes par exemple, on pourra avoir autant d’entrées que de pixels dans l’image, en classification de données on aura autant d’entrées que de mesures du processus observé, etc. La fonction de décision f est un élément du modèle qui dépend en partie du problème, si la sortie du neurone doit délivrer une valeur binaire, il faut utiliser une fonction à échelon mais si la sortie doit être une valeur réelle, une fonction à échelon ne convient plus. Dans ce cas on prend Y = f (v).
Architectures des réseaux de neurones
On associe 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. Plusieurs architectures des réseaux existent. Les deux architectures principales sont les « réseaux à une couche » et les « réseaux multicouches ». Un réseau à une seule , illustré à la Figure 2.3, ne permet de séparer que des classes linéairement séparables. On appelle classes linéairement séparables des classes qui peuvent être correctement séparées par un hyperplan ou une fonction linéaire. Notons que le nombre de couches et le nombre de neurones par couche dépendent principalement du problème étudié et des résultats de l’expérimentation sur différentes combinaisons des valeurs de ces paramètres. Les réseaux de neurones à une seule couche sont limités par le fait qu’il ne peut pas séparer des classes non linéairement séparables.
Une caractéristique des réseaux de neurones est leur capacité à apprendre à reconnaitre une forme, un son, etc. Mais cette connaissance n’est pas acquise dès le départ. L’apprentissage d’un réseau de neurones artificiels passe par les trois étapes: Avant le traitement des données, nous avons donc à effectuer le choix des objets, la définition des attributs caractérisant les objets et la construction de la base d’apprentissage. A la fin de cette phase, on obtient un tableau (Tableau II) à deux entrées : les données et les attributs les caractérisant . • Lors d’un apprentissage supervisé, les résultats corrects sont fournis au réseau, si bien que celui-ci peut ajuster ses poids de connexion pour les obtenir. Après l’apprentissage, le réseau est testé en lui donnant seulement les valeurs d’entrée mais pas les sorties désirées, et en regardant si le résultat obtenu est proche du résultat désiré. Un exemple de cet apprentissage est qu’on apprend au réseau à reconnaitre un carré, un triangle et un cercle. Comme base d’apprentissage, on pourra définir que s’il y a quatre côtéscesera un carré, s’il y a trois côtés ce sera un triangle et que s’il n’y a pas de côté ce sera un cercle.