Vous êtes sur la page 1sur 11

Chapitre II Réseaux de Neurones Artificiels

Chapitre II :

Réseaux de Neurones Artificiels

II.1. Introduction :

Le cerveau humain est un modèle dans le développement de l'intelligence artificielle.


De simples enchevêtrements de neurones lui donnent toutes ses capacités, et c'est ce
que tentent de reproduire les chercheurs grâce à l'électronique.
L'intelligence artificielle est en continuelle progression depuis l'invention de l'ordinateur
et l'utilisation de programmes informatiques. Il existe en effet de nombreux programmes
capables de réaliser des choses de plus en plus complexes: diriger un robot, résoudre
des problèmes... Mais ils sont très rarement capables de rivaliser avec le cerveau
humain, et c'est pour cela que de nombreuses taches sont encore irréalisables par les
ordinateurs.
D'où vient cette différence ? La première chose est évidemment la capacité de calcul, le
cerveau est une machine assurément incroyable. Cependant, les ordinateurs n'ont pas
cette faculté d'apprentissage, ils ne connaissent pas le progrès si personne ne les
modifie. Voila le challenge pour l'intelligence artificielle: savoir apprendre.
D'un autre côté, la biologie a apporte un grand nombre d'informations sur le
fonctionnement du cerveau, des neurones... Des mathématiciens alors ont tente de
reproduire le fonctionnement du cerveau en intégrant ces connaissances en biologie
dans des programmes informatiques, et en leur donnant la possibilité d'apprendre. Cela
a commencé en 1943 avec Mc Culloch et Pitts, mais en 1969, Minsky et Papert
publièrent un livre pour montrer que le type de réseau élaboré à l'époque était limité.
Heureusement, des progrès ont pu être réalisés par la suite. Ces recherches sur les
"réseaux de neurones artificiels" ont maintenant beaucoup progressées.

II.1. Historique :

 1890 : W. James, célèbre psychologue américain introduit le concept de


mémoire associative, et propose ce qui deviendra une loi de fonctionnement
pour l’apprentissage sur les réseaux de neurones connue plus tard sous le nom
de loi de Hebb.
Cours : Techniques de l’Intelligence Artificielle 17 Dr. BEKAKRA Youcef
Chapitre II Réseaux de Neurones Artificiels

 1943 : J. Mc Culloch et W. Pitts laissent leurs noms à une modélisation du


neurone biologique (un neurone au comportement binaire). Ceux sont les
premiers à montrer que des réseaux de neurones formels simples peuvent
réaliser des fonctions logiques, arithmétiques et symboliques complexes (tout au
moins au niveau théorique).
 1949 : D. Hebb, physiologiste américain explique le conditionnement chez
l’animal par les propriétés des neurones eux-mêmes. Ainsi, un conditionnement
de type pavlovien tel que, nourrir tous les jours à la même heure un chien,
entraîne chez cet animal la sécrétion de salive à cette heure précise même en
l’absence de nourriture. La loi de modification des propriétés des connexions
entre neurones qu’il propose explique en partie ce type de résultats
expérimentaux.

II.4. Le Système Nerveux :

Le cerveau humain, est le meilleur modèle de machine, polyvalente incroyablement


rapide et surtout douée d’une incomparable capacité d’auto-organisation. Son
comportement est beaucoup plus mystérieux que le comportement de ses cellules de
base. Il est constitue d’un grand nombre d’unités biologiques élémentaires (environ 1012
neurones), chacune reçoit et envoie des informations (1000 à 10000 synapse par
neurone).
Les cellules nerveuses appelées " neurones ", sont les éléments de base du système
nerveux centrale. Elles sont constituées de trois parties essentielles : le corps cellulaire,
les dendrites et l’axone (Figure II.1).

Figure II.1 Structure d’un neurone biologique

Cours : Techniques de l’Intelligence Artificielle 18 Dr. BEKAKRA Youcef


Chapitre II Réseaux de Neurones Artificiels

II.2. Modèle Biologique du Neurone :

Le cerveau humain est constitué d’un grand nombre de neurones, d’unités biologiques
élémentaires, extrêmement interconnectés. Chacun reçoit et envoie des informations à
plusieurs milliers de ses congénères. Le neurone biologique, qui est la cellule de base
du système nerveux central, est constitué de trois parties essentielles (Figure II.1).
 Le corps cellulaire (ou soma) : C’est un corps cellulaire, de 20 µm de diamètre
et de forme variable. Il contient le noyau du neurone qui effectue la
transformation biologique nécessaire à la synthèse des enzymes et d’autres
molécules qui assure la vie du neurone.
 Les dendrites : Chaque neurone possède une "chevelure" de dendrites qui
entourent le corps cellulaire. Celles-ci se ramifient, pour former une espèce
d’arborescence autour du corps cellulaire.
 L’axone : Est la fibre nerveuse qui sert à transporter les signaux émis par le
neurone. Les connexions entre les neurones se font dans des endroits appelés
synapses où ils sont séparés par un espace synaptique d’ordre de centième de
micron.

II.3. Le Neurone Formel :

Un neurone formel (artificiel) ou simplement neurone est un élément de traitement de


l’information. Il réalise une fonction algébrique non linéaire, bornée. Sa valeur dépend
des paramètres appelés coefficients synaptiques ou poids des connexions. Les
variables de cette fonction sont, habituellement, appelées "entrées" du neurone. La
valeur de la fonction est appelée sa "sortie". Son modèle est schématisé par la figure
II.2. Il est caractérisé par une somme pondérée des entrées (xk , wik) . Elle remplace
l’intégration spatio-temporelle du neurone biologique, qui est difficile à intégrer dans un
modèle simplifié. Le résultat obtenu représente l’activité du neurone notée neti.
L'application d'une fonction discriminante dite d’activation, φ (neti), favorise la limitation
de l’amplitude de la sortie du neurone yri. Mathématiquement, ce modèle est décrit par
l’équation :

Cours : Techniques de l’Intelligence Artificielle 19 Dr. BEKAKRA Youcef


Chapitre II Réseaux de Neurones Artificiels

(II.2)

Figure II.2 Neurone formel

Les fonctions d’activations les plus utilisées sont présentées dans la figure II.3.

Figure II.3 Fonctions d’activations les plus utilisées

Cours : Techniques de l’Intelligence Artificielle 20 Dr. BEKAKRA Youcef


Chapitre II Réseaux de Neurones Artificiels

II.4. RNA :

Un RN est un ensemble de neurones reliés entre eux avec une topologie spécifique
d’interconnexions et une loi appropriée d’apprentissage pour adapter les poids de
connexions. D’une manière générale, la structure des connexions entre les neurones
d’un réseau peut aller d’une connectivité totale où tous les neurones sont reliés les uns
aux autres, à une connectivité locale où les neurones ne sont connectés qu’à leurs
proches voisins. Une autre structure de connexions est celle des réseaux multicouches,
constitués d’une couche d’entrée, d’une couche de sortie et d’une ou de plusieurs
couches internes, appelées aussi couches cachées.

II.3. Fonction de Combinaison :

Considérons un neurone quelconque, il reçoit des neurones en amont un certain


nombre de valeurs via ses connexions synaptiques, et il produit une certaine valeur en
utilisant une fonction de combinaison. Cette fonction peut donc être formalisée
comme étant une fonction vecteur-à-scalaire, notamment :
 Les réseaux de type MLP (multi-layer perceptron) calculent une combinaison
linéaire des entrées, c’est-à-dire que la fonction de combinaison renvoie le
produit scalaire entre le vecteur des entrées et le vecteur des poids synaptiques.
 Les réseaux de type RBF (Radial Basis Function) calculent la distance entre les
entrées, c’est-à-dire que la fonction de combinaison renvoie la norme euclidienne
du vecteur issu de la différence vectorielle entre les vecteurs d’entrées.

II.5. Structure d'Interconnexion :

Les neurones formels que l'on vient de définir doivent être assembles pour former un
réseau. Le type de réseau le plus simple s'appelle le "perceptron". Il est constitue en fait
d'un seul neurone et permet de réaliser des opérations très simples. Il est cependant
très limité. C'est pourquoi on utilise un type de réseau plus complexe, le Perceptron
Multicouches (PMC). Comme son nom l'indique, il est constitue de plusieurs couches
de neurones entièrement connectées entre elles.
 Que veulent dire "entrées" et "sorties"? Si l'on compare notre réseau au cerveau,
on peut comprendre cela comme les signaux reçus, et les ordres émis. Par
exemple, si l' "entrée" est une image provenant des yeux, disons, un ours qui
attaque, alors il faut que le cerveau donne en "sortie" l'ordre de fuir ! Ainsi,
lorsqu'un sens donne une information, le cerveau renvoie une réponse.

Cours : Techniques de l’Intelligence Artificielle 21 Dr. BEKAKRA Youcef


Chapitre II Réseaux de Neurones Artificiels

II.5.1 Réseau Multicouche :

Les neurones sont arrangés par couche. Il n'y a pas de connexion entre neurones d'une
même couche et les connexions ne se font qu'avec les neurones des couches avalés.
Habituellement, chaque neurone d'une couche est connecte à tous les neurones de la
couche suivante et celle-ci seulement. Ceci nous permet d'introduire la notion de sens
de parcours de l'information (de l'activation) au sein d'un réseau et donc définir les
concepts de neurone d'entrée, neurone de sortie. Par extension, on appelle couche
d'entrée l'ensemble des neurones d'entrée, couche de sortie l'ensemble des neurones
de sortie. Les couches intermédiaires n'ayant aucun contact avec l'extérieur sont
appelés couches cachées.

II.5.2. Réseau à Connexions Locales :

Il s'agit d'une structure multicouche, mais qui a l'image de la rétine, conserve une
certaine topologie. Chaque neurone entretien des relations avec un nombre réduit et
localise de neurones de la couche avale. Les connexions sont donc moins nombreuses
que dans le cas d'un réseau multicouche classique.

II.5.3. Réseau à Connexions Récurrentes :

Les connexions récurrentes ramènent l'information en arrière par rapport au sens de


propagation défini dans un réseau multicouche. Ces connexions sont le plus souvent
locales.

II.5.4. Réseau à Connexion Complète :

C'est la structure d'interconnexion la plus générale où chaque neurone est connecté à


tous les neurones du réseau (et à lui-même).

Cours : Techniques de l’Intelligence Artificielle 22 Dr. BEKAKRA Youcef


Chapitre II Réseaux de Neurones Artificiels

Figure I.4 Les différentes formes de connexions de réseau de neurone

II.6. Apprentissage :

L’apprentissage est une phase du développement d’un réseau de neurones durant


laquelle le comportement du réseau est modifié jusqu’à l’obtention du comportement
désiré. Généralement, les variables modifiées pendant l'apprentissage sont les poids
des connexions.

II.6.1 Comment Apprendre un Réseau?

Maintenant que l'on a crée un réseau, il faut lui faire apprendre quelque chose. Pour
mieux comprendre cela, nous prendrons l'exemple de la reconnaissance de caractères:
on présente des caractères au réseau et il a pour objectif de reconnaitre ce caractère.
Par exemple, si on lui montre la lettre " a " dessinée, il doit nous répondre que cela est
un " a ". (Figure II.5)
Comment réaliser cela ? La méthode est en quelque sorte une imitation du cerveau: si
la réponse est correcte, c'est bien, mais s'il y a une erreur, il faut modifier le réseau afin
de ne pas réitérer l'erreur.

Cours : Techniques de l’Intelligence Artificielle 23 Dr. BEKAKRA Youcef


Chapitre II Réseaux de Neurones Artificiels

Figure II.5 Un exemple d’un apprentissage

On recommence plusieurs centaines de fois l'opération, jusqu'a ce que le réseau ait


bien appris sa leçon !
Le principe est donc relativement simple. On fait l'éducation du réseau comme on
éduquerait un enfant: il faut lui répéter plusieurs fois qu'il a fait une erreur, et a la fin, il a
compris.
On entend généralement par apprentissage la modification automatique des
poids des connexions ou plus rarement du nombre et de l'organisation des
neurones, afin d'adapter le traitement effectue par le réseau à une tache
particulière.
On distingue deux grandes classes d’algorithmes d’apprentissage :

 L’apprentissage supervisé,
 L’apprentissage non supervisé.

a - Apprentissage Supervisé :

Pour ce type d’apprentissage, nous présentons simultanément au réseau, des entrées


avec les sorties désirées correspondantes, de façon à pouvoir calculer les différences
entre les sorties actuelles et les sorties désirées. On ajuste les poids de connexions (ou
coefficients synaptiques) pour diminuer l'erreur et minimiser le critère coût. Cette
procédure est répétée jusqu'à ce qu’un critère de performances adopté soit satisfait.
L'algorithme le plus utilisé dans ce type d'apprentissage pour l'entrainement des
réseaux statiques est la rétropropagation.
La figure II.6 illustre le principe de ce type d’apprentissage.
Cours : Techniques de l’Intelligence Artificielle 24 Dr. BEKAKRA Youcef
Chapitre II Réseaux de Neurones Artificiels

Figure II.6 Principe de l'apprentissage supervisé

b - Apprentissage Non Supervisé :

Pour ce type d'apprentissage, l'adaptation des poids n'est pas basée sur la
comparaison avec une certaine sortie désirée. Dans ce cas, le réseau organise lui-
même les entrées qui lui sont présentées de façon à optimiser un critère de
performances donné, (Figure II.7).

Figure II.7 Apprentissage non supervisé

II.7. Domaines d'Applications des Réseaux de Neurones :

Se trouvant à l'intersection de différents domaines (engineering, science cognitive,


neurobiologie et même philosophie), l'étude des RN est une voie prometteuse de l'IA :
− Industrie : Contrôle qualité, diagnostic de panne, corrélations entre les données
fournies par différents capteurs, analyse de signature ou d'écriture manuscrite...
− Finance : Prévision et modélisation du marché (cours de monnaies...), sélection
d'investissements, attribution de crédits.
− Télécommunications et informatique : Analyse du signal, élimination du bruit,
reconnaissance de formes (bruits, images, paroles), compression de données, etc.
− Environnement : Evaluation des risques, analyse chimique, prévisions et
modélisation météorologiques, gestion des ressources.
− Modélisation des données statistiques.

Cours : Techniques de l’Intelligence Artificielle 25 Dr. BEKAKRA Youcef


Chapitre II Réseaux de Neurones Artificiels

− Modélisation des processus dynamiques non linéaires.


− Prédiction des séries temporelles.
− Commande des processus.
− Classification automatique.
− Traitement d’image.

II.8. Exemple d’un Réseau de Neurone sur Matlab :

Pour créer un réseau de rétro-propagation feed-forward en utilisant l’instruction “newff ”:


Soit les deux vecteurs suivants :
P = 0:0.1:10;
T = sin(x);
Où :
P : est le vecteur d’entrée.
T : est le vecteur de sortie désirée.
Pour créer un réseau neuronal « net» avec 20 nœuds dans la couche cachée avec
une fonction de transfert sigmoïde et une fonction de transfert linéaire pour la couche
de sortie, et avec une descente en gradient avec une méthode d’apprentissage de
rétro-propagation, tout simplement utilisez les commandes suivantes:

>> net=newff(minmax(x),[20 1],{'tansig' 'purelin'},'traingdm')


Avec : minmax(x) sont les valeurs minimums et maximums du vecteur P.
Il est recommandé qu’utiliser « minmax (P) », en particulier pour un grand ensemble
de données.
>> net.trainParam.epochs = 5000;
>> net.trainParam.goal=0;
>> net = train(net,P,T); % Opération d’apprentissage.
>> Y = sim(net,P);
>> plot(P,T,P,Y,'*-')
Pour générer un bloc Simulink pour simuler un réseau neuronal, utilisé la commande
" gensim ".
Soit :

>> gensim(net)

Le résultat de cette commande est illustré à la figure II.8.

Cours : Techniques de l’Intelligence Artificielle 26 Dr. BEKAKRA Youcef


Chapitre II Réseaux de Neurones Artificiels

Input 1 x{1} y {1}

x{1} y{1}
Neural Network

Figure II.8 Bloc Simulink d'un réseau neuronal en utilisant la commande "gensim"

Cours : Techniques de l’Intelligence Artificielle 27 Dr. BEKAKRA Youcef

Vous aimerez peut-être aussi