Simulation des réseaux de neurones sous MATLAB 

Algorithme

Le but du Perceptron est de trouver un ensemble de valeurs des connexions pour des configurations d’entrée et les réponses associées. Il existe plusieurs règles d’apprentissage, mais la règle pour le Perceptron la plus connue est la règle de Widrow-Hoff dit aussi règle Delta.
Pour apprendre, le Perceptron doit savoir qu’il a commis une erreur. Ainsi, il doit connaître d’avance la réponse qu’il devrait donner. L’apprentissage est dit alors ‘supervisé’. S’il y a erreur,  la cellule modifie l’intensité de ses connexions : c’est-à-dire si la cellule de sortie est active quand elle devrait être inactive, alors elle diminue l’intensité des connexions correspondant aux cellules de la rétine qui sont actives et si la cellule de sortie n’est pas active quand elle devrait l’être, alors elle augmente l’intensité des connexions correspondant aux cellules de la rétine qui sont actives.
La règle d’apprentissage est locale : chaque neurone de sortie apprend sans avoir besoin de la réponse des autres neurones de sortie mais seulement des stimulations qu’il reçoit des cellules de la rétine. Et l’algorithme pour l’apprentissage est le suivant:
Etape 1: Un ensemble de stimuli à apprendre est présenté en entrée dans un ordre arbitraire et le Perceptron apprend.
Etape 2 : Si le Perceptron commet des erreurs, l’ensemble des stimuli est de nouveau présenté mais dans un nouvel ordre arbitraire. Le Perceptronapprend de nouveau.
Etape 3 : Revenir à l’étape 2 jusqu’à ce que toutes les réponses soient correctes.

Evaluation du Perceptron

Propriété d’être non linéairement séparable

Le Perceptron ne peut apprendre que lorsque les classes sont linéairement séparables. Pour montrer cela il suffit de présenter au Perceptron la fonction logique XOR (ou OU exclusif), qui est le cas particulier le plus connu des catégories nonlinéairement séparables. Cette fonction associe une valeur de sortie opour deux valeurs x 1 etx 2 d’entrée selon le tableau 1.6.
Un Perceptron à deux cellules d’entrée et une cellule de sortie est choisi pour apprendre cette fonction.

Perceptron probabiliste (aléatoire)

Si le Perceptron donne toujours la même réponse au même stimulus présenté : le Perceptron est dit déterministe. Mais, par exemple, si le Perceptron ne rencontre que le même stimulus, il cesse d’apprendre lorsqu’il ne se trompe plus, il risque fortement de placer la fonction discriminante (qui distingue) trop près des bords de ce stimulus avec lequel il a été entraîné. S’il est testé avec un nouveau stimulus, la fonction discriminante risque d’être trop proche de l’ancien stimulus, et il généralisera mal son apprentissage,dans ce cas le Perceptron est dit probabiliste (ou aléatoire ou stochastique).
Un des avantages du Perceptron probabiliste est qu’il ressemble plus au comportement des organismes vivants qui donnent rarement « toujours la même réponse au même stimulus ».
Lors du calcul pour un Perceptron probabiliste, il s’agit de convertir l’activation en une probabilité de réponse, puis de décider de répondre en fonction de cette probabilité. Le travail consiste alors à trouver une fonction transformant les valeurs d’activation appartenant à { } ; −∞ +∞ en probabilité de valeurs comprises dans [0;1]. Pour ce faire, il existe plusieurs fonctions possibles, mais en pratique, deux fonctions sont à considérer :
– la loi normale ou distribution (ou loi) de Gauss ;
– la loi ou distribution de Boltzmann.

Résultat

Pour illustrer ce Perceptron probabiliste, Rumerhalt et McCelland ont simulé un exemple analogue à l’apprentissage des temps du passé en anglais. Leur vocabulaire consiste en l’ensemble des mots de la forme ABC avec A pris dans l’ensemble {1, 2, 3}, B dans {4, 5, 6}, et C dans {7, 8}. Par exemple, 147 et 268 appartiennent à ce vocabulaire. La règle de conjugaison étant de transformer en 8 la terminaison lorsque le dernier chiffre est 7, et inversement. Par exemple, 158 devient 157. Le verbe irrégulier est le 147, il se conjugue en 147.
Pour ce faire, huit cellules codent les chiffres 1à 8 en entrée, il en est de même en sortie. Une cellule est seulement active si elle représenteun chiffre. Par exemple, le stimulus 147 sera codé par le vecteur d’entrée x = [1 0 0 1 0 0 1 0] T.
Avec l’apprentissage de Widrow-Hoff, Rumerhalt et McCelland ont pris les valeurs η =1, j θ = 0 et la température T = 15.
Tout d’abord, le Perceptron commence par apprendrele verbe irrégulier 147 → 147 et le verbe régulier 248 → 247. Le Perceptron a appris à conjuguer correctement les deux verbes après une vingtaine d’itérations. Ensuite, le Perceptron apprend l’ensemble des 18 verbes du vocabulaire.
Après une dizaine d’itérations, le Perceptron a oublié la conjugaison de 147 → 147, mais tous les verbes réguliers restent conjugués correctement. Enfin, il faudra au Perceptron 500 itérations pour être capable de réapprendre la conjugaison irrégulière. Cette simulation démontre le comportement d’abstraction de règles et de surgénéralisation. Ce modèle rend compte de l’apprentissage humain : les verbes anglais les plus simples sont irréguliers (be → was et go → went) donc appris en premiers. Mais c’est lorsque les verbes réguliers sont utilisés (comme walk → walked ) que vient la surgénéralisation en conjuguant les verbes irréguliers comme s’ils étaient réguliers (go → goed). Et il faudra du temps après, pour apprendre tous les verbes correctement.

Mémoires hétéro-associatives linéaires

Le terme « mémoire » fait référence à la fonction destockage de l’information et le terme « associative » au mode d’adressage. L’information mémorisée ne peut être obtenue à une adresse précise, le seul moyen d’accès est de fournir une information :
– Les mémoires sont dites auto-associatives, s’il faut fournir tout ou une partie de l’information mémorisée que le système complète après. Ces mémoires sont donc principalement utilisées pour la reconstruction de données. Des expérimentations dans ce sens ont été faite avec l’annuaire électronique où l’utilisateur tape le maximum d’informations relatives à sa demande, que le système complète et corrige.
– Les mémoires dites hétéro-associatives se différencient des précédentes en rendant une information différente. Par exemple, si la clef d’entrée est une image de visage, le système répond par le nom de la personne correspondante.
L’objectif des mémoires associatives est d’associer une configuration (ou stimulus) en entrée à une réponse désirée. Si la fonction d’association des vecteurs d’entrée et des vecteurs de sortie est linéaire : elles sont dites linéaires. Ainsi, la réponse de la j-ième cellule de sortie o j est proportionnelle à son activation a j:

Mémoires auto-associatives linéaires

Une mémoire est auto-associative lorsque chaque stimulus est associé à lui-même.
L’intérêt de ces mémoires est qu’elles permettent d’éclairer un nombre important d’activités psychologiques : entre autres, son comportement auto-adressable, c’est-à-dire qu’il suffit de donner une partie de l’information et la mémoire reconstitue l’ensemble. Ce phénomène se rapproche par celui de la mémoire humaine, et est ignoré par les ordinateurs, qui exige une adresse exacte de l’information (si l’adresse est perdue, l’information est aussi considérée comme telle, même si elle est encore présente dans la mémoire). Pour la mémoire auto-associative, la partie d’information utilisée comme clef d’accès à l’information constitue l’adresse et l’ensemble d’information obtenue en réponse constitue le contenu.[1],[2],[7]

Architecture

Une mémoire auto-associative ne comporte qu’une seule couche de cellules reliées les unes aux autres par des connexions. Ces cellules s’assimilent à des récepteurs d’information. Une mémoire auto-associative a pour tâche de stocker des stimuli et d’en récupérer une avec une partie du stimulus donné comme indice.

Résultats

L’expérimentation fait sur les mémoires auto-associatives suivant comportait aussi des visages stimuli de 160 jeunes américains (imberbes,sans lunettes, non chauves) dont 80 jeunes femmes et 80 jeunes hommes. Chaque visage est représenté par une photographie numérisée composée de 151 × 225 pixels. A chacun de ces pixels correspond une cellule de la mémoire autoassociative.
Comme la mémoire est auto-associative, chaque visage est associé à lui-même. La modification des valeurs des connexions, qui relient les cellules les unes aux autres, suit deux lois dont la loi de Hebb et la loi de Widrow- Hoff :
– Pour l’apprentissage selon la loi de Hebb, la valeur d’une connexion est proportionnelle à la ressemblance entre deux pixels (puisque la réponse désirée et le stimulus sont identiques) ;
– Avec la loi de Widrow-Hoff, elle est corrigée en fonction de la différence entre la réponse de la cellule et le stimulus présenté.

Premier résultat 

– Pour un visage filtré avec la loi de Hebb, la mémoire ne différencie pas sa réponse pour des stimuli appris (160 visages stockés) entre eux et par rapport à des stimuli non appris (visage japonais, des points aléatoires).
– L’apprentissage avec la loi de Widrow-Hoff accentue les différences entre visages familiers (appris) et les nouveaux visages (non appris) : en effet, il améliore la réponse pour un visage familier, et dégrade celle pour un nouveau visage.

Second résultat 

– En présentant une partie du visage, la mémoire donne une estimation du reste du visage. Mais certains indices s’avèrent être une meilleure clef d’accès pour le visage : parmi lesquelles, l’avantage de la partie externe du visage par rapport à la partie interne.

Troisième résultat 

– Les mémoires auto-associatives arrivent à reconstituer un signal même considérablement bruité (cas d’un visage familier). Elles agissent comme une sorte de filtre (équivalente en traitement de signal sous le nom de filtres de Wiener). Pour un visage non familier, la mémoire agit comme un filtre sélectif et essaie d’imposer la structure des visages déjà stockés.

Réseau de Hopfield : mémoires auto-associatives nonlinéaires

Les mémoires auto-associatives non linéaires essaient de donner, comme cela indique, une réponse qui sera combinaison non linéaire des stimuli stockés. L’avantage du modèle de Hopfield est qu’il permet d’introduire quelques notions importantes pour l’étude des réseaux de neurones et plus généralement des systèmes complexes. Ce modèle très clair a été un des premiers à être traduit en puces électroniques.

Faculté d’oublier et de créer des souvenirs

Avec un apprentissage de type Hebbien, le réseau de Hopfield a la propriété d’oublier et de créer des souvenirs, ceci ressemble à la mémoire humaine.
En effet, souvent les configurations stockées sont les attracteurs, mais il arrive que ce n’est pas le cas, ainsi le réseau crée des attracteurs artificiels c’est-à-dire créer des interactions entre configurations stockées (des souvenirs factices) ou même à oublier des configurations stockées.

Convergence du réseau de Hopfield synchrone

L’avantage des modèles synchrones est qu’ils se prêtent plus facilement à la formalisation matricielle et s’implémentent plus facilement sur des ordinateurs parallèles. Pour montrer que le réseau de Hopfield converge dans le cas synchrone, il faut montrer que l’énergie décroît à chaque mise à jour. Pour cela, il suffit de définir W exactement comme dans le cas d’une mémoire autoassociative linéaire avec un apprentissage Hebbien : W = X X T , ensuite initialiser le vecteur stimulus x [t=0] , et la mise à jour se fait en parallèle et de manière synchrone. Le vecteur stimulus au temps t+1 noté x [t+1] en fonction de l’activation des cellules a [t+1] s’obtient par.

Table des matières

REMERCIEMENTS 
TABLES DES MATIÈRES 
NOMENCLATURE 
INTRODUCTION 
CHAPITRE I : NOTIONS DE BASE SUR LES RESEAUX DE NEURONES 
I.1 Introduction aux réseaux de neurones
I.1.1 RAN
I.1.2 Définition du neurone
I.1.3 Définition du réseau neuronal
I.2 Perceptron
I.2.1 Architecture
I.2.2 Fonctionnement
I.2.3 Algorithme
I.2.3.1 Résultats
I.2.4 Evaluation du Perceptron
I.2.4.1 Propriété d’être non linéairement séparable
I.2.4.2 Solutions pour rendre le Perceptron linéair ement séparable
I.2.5 Perceptron probabiliste (aléatoire)
I.2.5.1 Résultat
I.3 Mémoires hétéro-associatives linéaires
I.3.1 Architecture
I.3.2 Apprentissage par la loi de Hebb
I.3.3 Apprentissage par la loi de Widrow-Hoff
I.3.4 Evaluation des Mémoires Hétéro-associatives
I.3.4.1 Valeurs optimales pour les connexions
I.3.4.2 Optimisation avec la règle de Widrow-Hoff
I.3.5 Résultats
I.4 Mémoires auto-associatives linéaires
I.4.1 Architecture
I.4.2 Algorithme
I.4.3 Résultats
I.5 Réseau de Hopfield : mémoires auto-associatives non linéaires
I.5.1 Fonctionnement
I.5.2 Evaluation du Réseau de Hopfield
I.5.2.1 Minimum local et minimum global
I.5.2.2 Faculté d’oublier et de créer des souvenirs
I.5.2.3 Convergence du réseau de Hopfield synchrone
I.5.3 Machine de Boltzmann
I.5.4 Extension des réseaux de Hopfield au cas continu
I.6 Rétro-propagation de l’erreur et réseaux à couches cachées
I.6.1 Architecture
I.6.2 Fonctionnement
I.6.2.1 Algorithme
I.6.2.2 Méthode du gradient
I.6.3 Evaluation de la rétro-propagation.
CHAPITRE II : SIMULATION DES RESEAUX DE NEURONES SOUS MATLAB 
II.1 Présentation de MATLAB 5.3
II.2 Fonctions de Matlab 5.3 pour les réseaux de ne urones
II.2.1 Fonctions classées selon leur utilisation
II.2.2 Procédé de programmation des réseaux de neurones sous Matlab 5.3
II.2.2.1 Structures de données : con2seq, seq2con
II.2.2.2 Création des réseaux newc, newelm, newff, newg rnn, newhop, newlin, newlind, newlvq, newp, newpnn, newrb, newrbe, newsom
II.2.2.3 Apprentissage : train, adapt
II.2.2.4 Test des réseaux : sim
II.3 Architecture de réseaux adoptée par Matlab
II.3.1 Modèle de neurone
II.3.1.1 Neurone à une seule entrée
II.3.1.2 Neurones à entrées multiples
II.3.2 Architecture du réseau
II.3.2.1 Couche de neurones
II.3.2.2 Multiples couches de neurones
II.4 Fonction de transfert [8], [9], [19]
II.4.1 Les fonctions de transfert : hardlim,hardlims
II.4.2 Les fonctions de transfert linéaires : purelin, poslin, satlin, satlins
II.4.3 Les fonctions logistique et tangente hyperbolique : logsig, tansig
II.4.4 Autres fonctions de transfert : radbas, tribas, compet
II.5 Exemples de programmation des différents réseaux
II.3.2 Perceptrons
II.3.3 Réseau linéaire (Filtre linéaire adaptive)
II.5.2.1 Les ADALINEs
II.5.2.2 Filtres linéaires adaptifs
II.3.4 Rétro-propagation
II.3.5 Réseau à fonction de base radiale
II.5.4.1 Le réseau régressif généralisé ou GRNN (Gen eralized Regression Networks)
II.5.4.2 Le réseau probabiliste
II.3.6 Auto-organisation
II.5.5.1 Les réseaux compétitifs
II.5.5.2 La carte auto-organisatrice ou SFOM (Self- Organizing Maps)
II.3.7 LVQ (Learning Vector Quantizaton)
II.3.8 Réseau récurrent
II.5.7.1 Réseau Elman
II.5.7.2 Réseau Hopfield
II.6 Simulation des applications récentes des résea ux de neurones sous Matlab 5.3
II.6.1 Prédiction adaptive
II.6.2 Identification des systèmes linéaires
II.6.3 Détection d’amplitude
II.6.4 Identification des systèmes non-linéaires
II.6.5 Modèle de contrôle
II.6.6 Reconnaissances des caractères alphabétiques
CONCLUSION 
ANNEXE : PROGRAMMATION DE LA FENETRE PRINCIPALE 98
BIBLIOGRAPHIE

projet fin d'etude

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *