35
DIC9310-4 Les RNA

DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Embed Size (px)

Citation preview

Page 1: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

DIC9310-4

Les RNA

Page 2: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Introduction

Les réseaux de neurones artificiels (RNA) essayent de mimer les structures neuronales biologiques et leur fonctionnement tels qu’on les comprend aujourd’hui.

L’idée est d’utiliser des structures parallèles spécialisées dans la solution de problèmes spécifiques, qui pourraient éventuellement servir d’entrées à des processus séquentiels de cognition.

Un RNA est caractérisé par

- Une architecture (topologie)- Une méthode d’apprentissage- Une/des fonction(s) d’activation, ou fonction(s) de sortie, pour les neurones le

composant.

Le trait discriminant des RNA par rapport à d’autres techniques de traitement de l’information est leur robustesse : ils peuvent fonctionner correctement en présence de données incomplètes et, pour certaines topologies, même en l’absence de certains neurones. Cette propriété les rend très utiles dans des applications de reconnaissance des formes, de classification de données et d’optimisation.

Quelques applications :

Interprétation d’images médicales (ex. : détection de cellules cancéreuses)

Régulation de processus industriels (ex. : dosage d’ingrédients)

Pilotage automatique de véhicules terrestres.

Reconnaissance de l’écriture (ex. : Identification automatique des codes postaux.)

Reconnaissance de la voix

Interprétation de la parole

Traduction automatique

Analyse de texte

Prédiction boursière/environnementale

Amélioration des moyens de trucider son voisin (« To Saddam with love! »)

Page 3: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Architectures de base

Dans tous les cas :

Le savoir du réseau réside dans la présence et la force des connexions inter-neuronales.

Un processus d’apprentissage forme les connexions en fonction du problème à résoudre.

Souvent, les réseaux récurrents utilisent des règles d’apprentissage inspirées de la biologie et les réseaux à propagation directe de l`information utilisent des règles tirées de l’ingénierie.

Page 4: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Approches d’apprentissage

Trois types fondamentaux d’apprentissage :

- Supervisé : l’apprentissage se fait à l’aide d’un ensemble de paires (entrée, sortie désirée)

- Non supervisé : l’apprentissage se fait uniquement sur la base d’un ensemble représentatif d’entrées

- Par renforcement : forme intermédiaire entre les deux précédents, le réseau adapte ses poids au hasard en utilisant les essais qui donnent de bons résultats.

Réseaux à apprentissage supervisé

- Supposent que l’on connaît les paires (entrée, sortie désirée), idéalement pour des entrées bruitées (exemplaires), mais souvent pour des entrées parfaites sans bruit (prototypes).

- Offrent une performance variable lorsque confrontés à des stimuli non appris ou corrélés.- Plausibilité biologique faible selon les connaissances courantes- Apprentissage généralement basé sur des algorithmes de minimisation d’erreur (loi des

moindres carrés).Réseaux les plus populaires jusqu’à maintenant (e.g. Retropropagation) grâce à leur performance pour des applications impliquant des prototypes statiques et leur simplicité relative d’utilisation.

Réseaux à apprentissage non supervisé

- L’apprentissage se fait automatiquement en décelant des régularités dans les patrons d’apprentissage.

- Meilleure capacité de généralisation.- Meilleure plausibilité biologique (pas besoin de connaître ce qu’il faut apprendre au

préalable!).- Généralement inspirés de structures cérébrales ou de métaphores physiques.- Algorithmes d’apprentissage non linéaires, - Particulièrement adaptés aux tâches de mémoires associatives (mémoires adressables par

contenu).

Page 5: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Règles d’apprentissage communes

- Minimisation d’erreur :o Méthode des moindres carrées et dérivées, descente de gradient

Retropropagation d’erreur (apprentissage supervisé)

- Compétition entre neurones :o Le vainqueur prend tout !

Quantification vectorielle par apprentissage (LVQ; apprentissage supervisé)

o Le vainqueur partage avec les voisins ! Cartes self organisatrices (SOM; apprentissage non supervisé)

o Une oligarchie se bat pour le butin ! ART (apprentissage non supervisé)

- Loi corrélationnelle : o Règle de Hebb : « Deux neurones actifs simultanément en présence d’un même

stimulus ont tendance à créer des synapses entre eux » BSB (apprentissage non supervisé) Réseaux à impulsions

Page 6: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Le neurone artificiel

À l’instar du neurone biologique, comprend : un ensemble d’entrées appelées synapses, un soma qui effectue la somme pondérée des synapses afin de déterminer l’état

d’activation du neurone Un circuit de sortie non linéaire qui prend le résultat du soma comme entrée. La sortie de

ce dernier représente l’équivalent d’un axone.

L’état d’activation du neurone est obtenu en multipliant les entrées par des coefficients synaptiques, qui représentent la force de chaque synapse. Ces coefficients simulent les effets de position et de type d’une synapse le long de l’arbre dendritique d’un neurone biologique. Ils sont généralement obtenus par le biais d’un processus d’apprentissage. Pour un neurone j qui possède n entrées xi avec coefficients synaptiques wji, l’état d’activation est donné par

qu’on peut simplifier en

en utilisant une notation vectorielle.

Le circuit de sortie simule le processus de déclenchement d’un potentiel d’action.

Dans plusieurs architectures neuronales, on retient seulement le fait que le potentiel est généré suite à un effet de seuil. Donc, le NA se contente de changer d’état lorsque le seuil est atteint. Dans d`autres architectures neuronales, on a une sortie numérique qui tente de reproduite la nombre moyen de PA généré par un neurone biologique lorsqu’il est actif (« rate coding »). Plus récemment, on utilise des impulsions dans les réseaux portant le même nom afin de se rapprocher de la réalité biologique.

Page 7: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Fonctions d’activation communes

Il existe plusieurs sortes de fonction de sortie ; elles partagent en commun le fait d’être généralement non linéaires. La fonction la plus simple est la fonction seuil :

Une manière alternative de l’écrire consiste à inclure le seuil dans l’état d’activation, en écrivant

. Dans ce cas, la fonction d’activation s’écrit

où bj est un coefficient supplémentaire qui représente le seuil. Souvent, ce coefficient est intégré dans la somme précédente en considérant qu’il représente le poids d’une entrée supplémentaire fictive xn+1=1. L’expression de aj devient alors :

ou simplement en utilisant une notation vectorielle.

On peut aussi rendre la sortie de la fonction de seuil bipolaire en effectuant la transformation g(x)=2f(x)-1. L’usage des valeurs (-1, +1) plutôt que (0,1) donne souvent de meilleurs résultats pour faire l’apprentissage d’un RNA.D’autres fonctions de sorties existent. Elles donnent souvent de meilleurs résultats que la fonction seuil. Elles sont aussi nécessaires lorsqu’on veut des valeurs d’activation continues et dans certains algorithmes d’apprentissage, tel celui basé sur la minimisation d’une erreur quadratique, qui demandent à ce que les fonctions de sortie soient dérivables. Les fonctions les

Page 8: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

plus connues dans ce domaine sont la fonction sigmoïde binaire et bipolaire et la fonction tangente hyperbolique.

Une propriété remarquable de ces fonctions est le fait que leurs dérivées s‘expriment en fonction d’elles :

Cela signifie que si on connaît les valeurs des fonctions, on peut facilement déterminer celles des dérivées. Cette propriété sera exploitée plus tard pour faire l’apprentissage du réseau à retropropagation.

Le neurone de McCullogh-Pitts

Probablement le premier neurone artificiel reporté dans la littérature (1943) Le but principal était de simuler des fonctions logiques, conformément à

l’engouement des années 40 pour le sujet.

Page 9: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Les neurones possèdent une activation binaire (0 ou 1) Les neurones sont connectés à l’aide de synapses directionnelles, excitatrices

(poids positif) et inhibitrices (poids négatif). Toutes les synapses excitatrices ont le même poids ; les synapses inhibitrices

ont un pouvoir de blocage absolu : une valeur quelconque à leur entrée bloque le neurone correspondant.

Chaque neurone utilise une fonction de seuil en sortie avec sa propre valeur

de seuil

La propagation de l’information dans un neurone demande une unité de temps arbitraire

Les poids synaptiques sont établis à priori, suite à une analyse du problème et sans passer par une phase d’apprentissage.

McCullogh et Pitts ont montré que leur neurone pouvait servir à synthétiser des fonctions logiques arbitraires. Par ailleurs, l’imposition d’un délai de traitement d’une unité de temps et de synapses inhibitrices absolues ajoutent des dimensions qui permettent de simuler des comportements dynamiques relativement complexes.

Page 10: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Simulation de la perception du chaud et du froid

Il est connu que lorsqu’on touche un objet très pendant un bref instant, on éprouve une sensation de chaleur. Ce n’est qu’en maintenant le contact que la sensation de vient une de froid. Un réseau de McCullogh-Pitts permet de rendre compte de cette situation.

Page 11: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture
Page 12: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Résumé

Un neurone artificiel comprend des entrées xi qui simulent les PSP à la sortie des synapses d’un neurone biologique, des poids wi qui simulent l’effet de l’arbre dendritique sur les synapses,

un corps qui effectue la somme pondérée des entrées, , et qui joue le rôle

du soma, une fonction d’activation, ou fonction de sortie qui simule le processus de génération

d’un PA.

Un réseau de neurones artificiel est défini par sa topologie, sa fonction d’activation, la manière dont les poids synaptiques de ses neurones sont déterminés.

Dans le cas des réseaux de McCullogh-Pitts, les poids sont établis à priori ; dans la plupart des autres RNA, cependant, ils le sont suite à un processus d’apprentissage.

Page 13: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

DIC9310-5Réseaux simples pour la classification des formes

Page 14: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Introduction

La classification des données consiste à déterminer si un vecteur d’entrée appartient à une classe ou catégorie de données (e.g. la lettre présentée est un ‘A’)

Ce type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture commune et le fait d’utiliser une phase d’apprentissage afin de déterminer les valeurs de leurs poids synaptiques. Pour une même topologie, les instances diffèrent seulement par la nature des règles d’apprentissage qu’ils utilisent et, éventuellement, par leurs fonctions d’activation.

Parmi les réseaux simples (à une couche) les plus connus, on peut citer Le réseau de Hebb, le perceptron l’adaline.

Dans le cas des deux derniers, on peut monter que lorsque des activations bipolaires (+1, -1) sont utilisées, ils peuvent résoudre tout problème de classification où les données sont linéairement séparables.

Lorsque des fonctions de seuil sont utilisées en sortie avec des valeurs de seuil différentes de 0, il est typique de représenter l’effet de deuil par une entrée supplémentaire, toujours égale à 1, mais dont le poids représente la valeur de seuil. Cela revient à remplacer la fonction

par

où xn+1=1 et wn+1=-.

Page 15: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Avec l’inclusion d’un terme de biais dans la fonction de sortie du réseau, l’opération de cette

dernière revient à résoudre l’équation qui, selon la valeur de n, représente une

droite, un plan ou un hyperplan. Si les vecteurs à classer sont situés de part et d’autre de la frontière définie par cette équation, le réseau peut les classer sans erreur.

Page 16: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Le réseau de Hebb

Utilise la plus vieille règle d’apprentissage connue (1949), due au neurophysiologue Donald Hebb :

« Deux neurones qui réagissent simultanément à un stimulus voient leurs synapses renforcées »

La règle de Hebb permet de créer une redondance dans les réponses, de manière que l’incapacité d’un neurone n’affecte pas l’opération du réseau et que plusieurs neurones coopèrent pour une même tâche.

Le réseau de Hebb n’et pas très robuste lorsque comparé aux autres réseaux. Cependant, des modifications mineures de son algorithme d’apprentissage permettent d’obtenir des réseaux plus performants (e.g. perceptron).

Comprend une couche d’entrée et une de sortie avec un ou plusieurs neurones qui utilisent la fonction seuil comme fonction de sortie.

Utilise un apprentissage supervisé à partir de paires { , t}

Page 17: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Algorithme d’apprentissage du réseau de Hebb :

1) Initialiser tous les poids à 0 : wi=0 pour i=1…n, b=0;2) Pour chaque vecteur d’apprentissage set pour chaque valeur de sortie t répéter :

1) Régler les unités d’entrée aux valeurs des composantes de s , xi=si, i=1…n;

2) Régler l’activations du neurone à t, y=t;3) Ajuster les poids synaptiques du neurone :

yxww iii précnouv

., i=1…n;

ybb précnouv .. ;Par conséquent, L’apprentissage s’arrête lorsque tous les patrons à apprendre ont été présentés au réseau. On peut aussi résumer les étapes en utilisant une notation vectorielle et en considérant le biais comme le poids wn+1 d’une entrée supplémentaire fixe, avec xn+1=1) :

1)Initialiser tous les poids à 0 : 0w ;2) Ajuster le vecteur des poids :

yxww précnouv

.. , ou encore, .

Le réseau de Hebb donne des résultats optimaux lorsqu’on utilise une représentation bipolaire des données et que les vecteurs à apprendre sont orthogonaux ou linéairement séparables. Il n’est pas robuste face aux vecteurs corrélés ou, en phase de rappel, devant des vecteurs à classifier qui sont erronés par rapport aux patrons d’apprentissage. L’apprentissage s’arrête, que le comportement désiré ait été obtenu ou non. Cela est une limitation du réseau de Hebb et plusieurs solutions ont été proposées pour y remédier, basées sur un apprentissage itératif et une modification de la fonction de sortie.

Page 18: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Le perceptron

Offre une amélioration remarquable comparé au réseau de Hebb. Introduit par le psychologue Frank Rosenblatt (1959). Essaye de reproduire la structure d’un système visuel artificiel tel

imaginée dans les années 50. Le perceptron comprend une couche sensorielle, une couche d’association, et une couche de réponse ; il ressemble au modèle GSC de Wiesel-Hubel.

Sans la couche sensorielle, un perceptron ressemble au réseau de Hebb. Il diffère par une fonction de sortie différente et un apprentissage itératif dont la règle est inspirée de l’apprentissage hebbien.

Le perceptron introduit un troisième niveau de sortie neuronal, nul, lorsque le niveau d’activation d`un neurone est au voisinage de la valeur seuil. Le niveau d’activation ajouté permet de créer une région de garde qui sépare les catégories et permet de renvoyer à l’apprentissage les vecteurs qui déclenchent une activation marginale.

L’apprentissage est itératif et utilise un paramètre de convergence afin d’influer sur la vitesse d’apprentissage du réseau. L’apprentissage

Page 19: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

s’arrête lorsque les poids ne changent plus de manière significative d’une itération à l’autre. Algorithme d’apprentissage du perceptron :

1)Initialiser tous les poids à 0 : wi=0 pour i=1…n, b=0 (ou utiliser des valeurs aléatoires);

2)Régler le coefficient de convergence (0 < 1) et choisir une valeur pour ;

3)répéter :Pour chaque paire d’apprentissage , répéter :

a) Régler les unités d’entrée aux valeurs des composantes de s , xi=si, i=1…n; poser xn+1=1 pour le biais;

b) Calculer l’activation de l’unité de sortie :

asiasi

asiy

xwxwa tn

iii

101

1

1

c) Si yt, ajuster les poids synaptiques du neurone :

txww iii précnouv

., i=1…n+1 (ou encore

txw ) ; sinon, garder les poids inchangés;

jusqu’à ce que les poids ne changent plus d’une itération à l’autre.

Page 20: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

L’adaline

L’adaline (ADAptive LInear NEuron, ou ADAptive LINear Element) utilise aussi un processus itératif pour l’apprentissage. Mais une loi de moindres carrés est utilisée pour mettre à jour les poids synaptiques.

Introduit par Bernard Widrow au début des années 1960. À l’instar des autres neurones artificiels, l’adaline comprend un

circuit qui calcule le niveau d’activation du neurone (le « linear combiner »), suivi d’une fonction de sortie.

Le premier étage est un filtre adaptatif qui ajuste des coefficients en fonction d’un signal d’erreur entre la sortie et une valeur de référence; La fonction de sortie permet de transformer le filtre en classificateur binaire.

L’adaline et le madaline (« Many ADALINEs ») qui l’a suivi peuvent être considérés comme les premiers représentants de réseaux neuronaux d’inspiration non biologique.

Il utilise la règle d’apprentissage delta qui sera reprise dans les perceptrons multicouches.

Page 21: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

La règle delta ou règle de Widow-Hoff

Repose sur la minimisation d’une erreur quadratique par une procédure d’approximation.

Si on considère une valeur de sortie désirée t et une activation a, on a : 2

1

2)(

n

iii xwbtatE ou

22)( xwtatE t en posant xn+1=1 et wn+1=b.

La valeur moyenne de E, calculée pour l’ensemble des paires ts , est notée E .

Dans la procédure des moindres carrés, on part de l’expression de E , le gradient de E par rapport aux poids synaptiques, et on trouve les valeurs de wi qui annulent le gradient. Pour L paires d’apprentissage, on a :

L

kk

tk xwt

LE

1

21

Ce qui donne

wxxwwxttE tkk

ttkkk

22 ou wwwptE tt

k R 22

Pour kk xtp et t

kk xx R on a alors

pwwE

i

22 R

Ce qui donne pw 1R lorsqu’on pose 0

iwE

.

Page 22: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

En pratique, l’approche précédente mène à une mise en œuvre très difficile, sinon impossible.

On lui préfère une procédure itérative qui détermine les valeurs de wi par approximations successives, c’est la descente de gradient.

Méthode est facile à comprendre dans le cas d’une fonction à une variable.

Pour une fonction E qui dépend d’une variable w, la valeur de la fonction au voisinage d’un point (E0, w0) est donnée par E=E0+(w-w0), où est la tangente de la fonction au point donné. On en déduit que =w et que =-2 si on choisit w=-.. En d’autres termes E sera toujours décroisant si on fait varier w dans la direction opposée à celle de la tangente.

Comme on ne connaît pas l’expression de E à priori, on utilise l’approximation

qui est calculée de manière itérative.

Dans le cadre de l’adaline, l’erreur quadratique est une fonction de plusieurs variable et la valeur précise de n’est pas connue à l’avance, la méthode du gradient repose sur l’approximation .

Comme le gradient est un vecteur qui pointe vers la direction de plus grand changement de E (l’équivalent d’une tangente multidimensionnelle) Le négatif du gradient donne la direction de plus grosse réduction d’erreur.

On a, pour chaque élément du gradient : .

Par conséquent :

et la direction opposée est simplement donnée par 2(t-a)xi.

Donc, si on veut minimiser l’erreur entre t et a lorsqu’on passe d’une itération à l’autre dans le processus d’apprentissage, une itération consistant en la présentation d’une paire , il suffit de prendre wi= 2(t-a)xi ou encore, de façon plus générale, wi=(ta)xi, étant un facteur de convergence.

Page 23: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Algorithme d’apprentissage de l’adaline :

1)Initialiser tous les poids  wi i=1…n, et b (on utilise habituellement de petites valeurs tirées au hasard)

2)Régler le coefficient de convergence (0 < 1)3)répéter :

Pour chaque paire d’apprentissage , répéter :a) Régler les unités d’entrée aux valeurs des composantes de s ,

xi=si, i=1…n; poser xn+1=1 pour le biais;b) Calculer l’activation de l’unité de sortie :

xwxwa tn

iii

1

1

c) Ajuster les poids synaptiques du neurone : iii xatww

précnouv)(

. , i=1…n+1;

(ou xatw )( )

jusqu’à ce que les poids ne changent plus de façon significative d’une itération à l’autre

Noter l’absence de la fonction de sortie dans la règle d’apprentissage. Il est possible de l’inclure dans l’algorithme d’apprentissage, mais il faut pour cela utiliser une fonction de sortie dérivable. Dans tous les cas, la fonction de sortie est toujours utilisée en phase de rappel.

L’adaline peut être utilisé dans tous les problèmes pour lesquels le perceptron est applicable. Sa différence majeure avec le perceptron est sa règle d’apprentissage et le fait que la mise à jour des poids est faite systématiquement à chaque itération pendant la phase d’apprentissage. Dans le cas du perceptron, la mise à jour se fait uniquement lorsque la valeur de sortie est erronée et elle touche seulement les poids relatifs à des composantes non nulles du vecteur d’apprentissage si ce dernier est binaire (xit=0 lorsque xi=0)

Page 24: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Le madaline (« many adalines »)

Le madaline est une extension de l’adaline afin de constituer un réseau multicouche. En plus de résoudre des problèmes qui ne sont pas linéairement séparables, le madaline peut servir à assurer l’invariance spatiale dans le cas de problèmes de reconnaissance des formes.

Le madaline comprend une couche d’entrée, un neurone de sortie et une couche cachée. Le neurone de sortie réalise la fonction ET, OU ou une règle de majorité ; ses poids et son biais sont réglés à l’avance. Par contre, les poids des neurones cachés sont établis par un processus d’apprentissage.

L’algorithme d’apprentissage dépend de l’application !

Page 25: DIC9310-3 - LabUnixboukadoum_m/DIC9310/Notes/4-5-DIC9310... · Web viewCe type de problème peut être résolu par plusieurs types de réseaux de neurones qui partagent une architecture

Algorithme d’apprentissage du madaline pour la fonction OU :

1)Initialiser les poids  wij i=1…n, et bj, j=1..m (on utilise habituellement de petites valeurs tirées au hasard) et les poids du neurones de sortie;

2)Régler le coefficient de convergence (0 < 1);3)répéter :

Pour chaque vecteur d’apprentissage s et pour chaque valeur de sortie t répéter :

a) Régler les unités d’entrée aux valeurs des composantes de s , xi=si, i=1…n; poser xn+1=1 pour le biais;

b) Calculer les activations des unités cachées :

01

01

...1;1

1

j

jj

n

iijij

asi

asiz

mjxwa

c) En déduire la sortie du madaline :

d) Ajuster les poids synaptiques des neurones cachés si yt :o Si t=1 (y=-1) ajuster le poids de l’unité cachée dont la

valeur de sortie est la plus proche de 0;o Sinon (t=-1, y=1) mettre à jour toutes les unités dont les

activations sont positives :, i=1…n+1;

jusqu’à ce que les poids ne changent plus de façon significative d’une itération à l’autre