les réseaux de neurones artificiels -...

80
1 1 Les r Les r é é seaux de neurones seaux de neurones artificiels artificiels Andrei Doncescu

Upload: hakhuong

Post on 06-Mar-2018

227 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

11

Les rLes rééseaux de neurones seaux de neurones artificielsartificiels

Andrei Doncescu

Page 2: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

22

Human Beings Think Human Beings Think v.sv.s. Intelligent . Intelligent Machines ThinkMachines Think

How Human Beings Think ?

Limited by Computational and Memory Capacity

The genius people are able to mix these three fundamental modes of reasoning

DeductionAbductionInduction

How Intelligent Machines Think ?InductionAbductionDeduction

Discovery in Huge DataDiagnosis

DesignCharacterizationDiscoveryVerification

Combination of Induction &Abduction

One of the most powerful theoretical answers for the next generation of Intelligent Machine (Inoue 2001,2004)

Page 3: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

33

Position of AI in Science

Philosophy Psychology

BiologyLinguistics

Logic

Reasoning Recognition

Cognitive Model

Syntax/Semantics

Computation

Genetics

Computation

Goal of A.I. : 1. Scientific goal : elucidation of human intelligence2. Engineering goal : automated computation

Page 4: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

44

Modèles de connaissances

Modéliser : remplacer du visible compliquer par de l’invisible simple

BoBoîîte noire :te noire : il peut avoir une valeur pril peut avoir une valeur préédictive, dans un dictive, dans un certain domaine de validitcertain domaine de validitéé mail il nmail il n’’a aucune valeur a aucune valeur explicative. Il requiert seulement des mesures. On peut explicative. Il requiert seulement des mesures. On peut parler de prparler de préévision.vision.

BoBoîîte blanchete blanche : pr: préédictif et explicatif dictif et explicatif

Page 5: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

55

Apports des neurosciences (Squire, 1992)Apports des neurosciences (Squire, 1992)

Mémoire

Déclarative

Non déclarative

Faits

Evénements

Aptitudes procédurales

Conditionnement

Apprentissage non associatif

Amorçage perceptif

SAVOIRQUOI

SAVOIRCOMMENT

Page 6: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

66

Lois fondamentales de lLois fondamentales de l’’apprentissageapprentissage

La loi de de l’exercice, l’usage ou la fréquence pose que plus une situation est fréquemment associé à une réponse, plus cette association tend à se renforcer

La loi de l’effet pose que l’association stimulus/réponse tend à renforcer quand les conséquences en sont positives et s’affaiblir quand les conséquences sont négatives

Page 7: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

77

Fondements BiologiquesFondements BiologiquesStructure des neuronesStructure des neurones

Le système nerveux est composé de 1012 neurones interconnectés. Bien qu’il existe une grande diversité de neurones, ils fonctionnent tous sur le même schéma.Ils se décomposent en trois régions principales :

Le corps cellulaireLes dendritesL ’axone

Page 8: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

88

QuQu’’estest--ce quce qu’’un neurone biologique?un neurone biologique?

DendritesDendrites

AxoneAxone

Axones Axones dd’’autres cellulesautres cellules

NoyauNoyau

SynapsesSynapses

Synapses Synapses dd’’autres cellulesautres cellules Le noyau est le centre des

réactions électrochimiques. Si les stimulations externes sont suffisantes, le noyau provoque l’envoi d’un influx nerveux électrique à travers l’axone.

Corps cellulaireCorps cellulaire

L’axone et les synapses d’autres cellules nerveuses apportent des influx nerveux venant exciter ou inhiber l’activité du neurone.

Les synapses transmettent l’influx nerveux provenant de l’axone vers d’autres cellules à partir de neurotransmetteurs inhibiteurs ou excitateurs.

L’axone transporte l’influx nerveux vers les synapses.

Les dendrites, selon leur longueur et leur perméabilité, affectent la quantité d’influx nerveux qui se rend au noyau.

Le corps cellulaire participe aux réactions électrochimiques avec le noyau.

Page 9: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

99

QuQu’’estest--ce quce qu’’un neurone artificiel ?un neurone artificiel ?

EntrEntrééeses Σ yi

w0iw1i

w2i

w3i

x1

x2

x3

1

Sortie Sortie yyii = f(= f(ininii))

inif

BiaisBiais

SortieSortie

Fonction Fonction dd’’activationactivation

IntIntéégration gration des entrdes entrééeses

Entrées : Directement les entrées du système ou peuvent provenir de d’autres neurones.

Noyau : Intègre toutes les entrées et le biais et calcule la sortie du neurone selon une fonction d’activation qui est souvent non-linéaire pour donner une plus grande flexibilité d’apprentissage.

Sortie : Directement une des sorties du système ou peut être distribuée vers d’autres neurones.

Noyau

Biais : Entrée toujours à 1 qui permet d’ajouter de la flexibilité au réseau en permettant de varier le seuil de déclenchement du neurone par l’ajustement du poids du biais lors de l’apprentissage.

Poids des Poids des liensliens

Poids : Facteurs multiplicateurs qui affectent l’influence de chaque entrée sur la sortie du neurone.

Analogie avec un neurone biologique

Page 10: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

1010

QuQu’’estest--ce quce qu’’un run rééseau de neurones ?seau de neurones ?

Page 11: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

1111

DDééfinition :finition :

Les rLes rééseaux de neurones artificiels sont des rseaux de neurones artificiels sont des rééseaux fortement seaux fortement connectconnectéés de s de processeurs processeurs éélléémentaires fonctionnant en mentaires fonctionnant en parallparallèèle.le.Chaque processeur Chaque processeur éélléémentaire calcule mentaire calcule une sortie uniqueune sortie unique sur sur la base des informations qu'il rela base des informations qu'il reççoit. Toute structure hioit. Toute structure hiéérarchique rarchique de rde rééseaux est seaux est éévidemment un rvidemment un rééseau.seau.

Réseau

Stimulus Réponse

0 1 0 1 1 1 0 0

1 1 00 10 10

Pattern d'entrée

Pattern de sortie

codage décodage

Page 12: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

1212

Topologie des RTopologie des Rééseaux de Neuronesseaux de Neurones

Nous pouvons considNous pouvons considéérer une RNA comme un graphe acyclique, rer une RNA comme un graphe acyclique, donc il n y a pas de chemin qui commence et fini dans le même donc il n y a pas de chemin qui commence et fini dans le même nnœœud , mais ud , mais ……

Un cycle est un chemin simple rebouclant sur luiUn cycle est un chemin simple rebouclant sur lui--même. Un graphe même. Un graphe dans lequel il n'existe aucun cycle est dit dans lequel il n'existe aucun cycle est dit acycliqueacyclique. .

Un graphe acyclique Un graphe acyclique GG àà nn sommets posssommets possèède au plus de au plus nn--11 arêtes.arêtes.Un Un rrééseauseau de de neuronesneurones formels peut se reprformels peut se repréésenter par un graphe senter par un graphe orientorientéé valuvaluéé (chaque arc porte une valeur), et dont chaque sommet (chaque arc porte une valeur), et dont chaque sommet est est valuvaluéé aussi de son aussi de son seuil d'activationseuil d'activation. .

Page 13: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

1313

Topologies de rTopologies de rééseauxseaux

FeedFeed--forwardforward : : propagation vers lpropagation vers l’’avant de lavant de l’’informationinformationRRééseau seau multimulti--couchecouche, dans lequel chacun des , dans lequel chacun des neurones dneurones d’’une couche (une couche (nn--11) est connect) est connectéé àà tous tous les neurones de la couche n les neurones de la couche n rrééseau multiseau multi--perceptroneperceptrone

RRéécurentscurents : : rrééseaux bouclseaux bouclééss

Page 14: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

1414

Structure Structure dd’’InterconnexionInterconnexion((feedforwardfeedforward))

couche d’entrée

couche cachée

couche de sortie

réseau multicouche réseau à connections locales

propagation des activations : de l ’entrée vers la sortie

Page 15: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

1515

Structure Structure dd’’InterconnexionInterconnexionmodmodèèle rle réécurrent (feedback network)current (feedback network)

propagation des activations : synchrone : toutes les unités sont mises à jour simultanémentasynchrone : les unités sont mises à jours séquentiellement

Page 16: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

1616

Un neurone artificiel : une pâle imitation de la Un neurone artificiel : une pâle imitation de la nature?nature?

Il n’en demeure pas moins que les réseaux de neurones biologiques, de par leur multiples interconnexions (parfois récursives), de par leur mécanisme d’inhibition et d’activation, de par leur manière d’évoluer et de s’adapter tout on long de la vie d’un organisme vivant, ont inspiré les réseaux de neurones artificiels et continuent d’influencer le développement de nouveaux modèles plus adaptés à la résolution de certains problèmes.

Les caractéristiques dominantes et communes aux réseaux de neurones biologiques et artificiels sont leur capacité d’apprendre et de généraliser pour qu’une même unité, le neurone, puisse servir à plus d’une tâche à la fois.

Page 17: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

1717

Les RNALes RNA

ModModéélisation nonlisation non--linlinééaire par aire par apprentissage numapprentissage numéériquerique

Apprentissage = procApprentissage = procéédures dures cognitives de gcognitives de géénnééralisation qui ralisation qui permettent de faire des permettent de faire des prpréédictionsdictions

Approximation nonApproximation non--linlinééaire aire parcimonieuseparcimonieuse

Un neurone est une fonction non Un neurone est une fonction non linlinééaire, paramaire, paraméétrtréée, e, àà valeurs valeurs bornbornéées.es.

),...,,,;,...,,( 21021 nn wwwwxxxfy =

x1 x2 xn

f Paramètres

∑−

=

+=1

1110

n

ixwwv

biais

Fonction d’activation

Potentiel

Page 18: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

1818

010

1

0

1)(

<≤≤

>

⎪⎩

⎪⎨

⎧=

xsixsi

xsixxf

1

0

Quelques fonctions dQuelques fonctions d’’activationactivation……

Σ yi

inif

yyii = f(= f(ininii))

1

0

1

0

Unipolaire

Bipolaire 1

0

1

0

1

0

RampeÉchelon Sigmoïde

ax

ax

eexf −

+−

=11)(

axexf −+=

11)(

111

1

1

1)(

−<≤≤−

>

⎪⎩

⎪⎨

−=

xsixsi

xsixxf

⎩⎨⎧

<≥

=00

01

)(xsixsi

xf

⎩⎨⎧

<≥

−=

00

11

)(xsixsi

xf

L’utilisation d’une fonction d’activation non-linéaire permet au RNA de modéliser des équations dont la sortie n’est pas une combinaison linéaire des entrées.Cette caractéristique confère au RNA de grandes capacités de modélisation fortement appréciées pour la résolution de problèmes non-linéaires. Voici quelques exemples de fonctions d’activation :

-1 -1 -1

Page 19: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

1919

Les rLes rééseaux de neurones artificiels : une seaux de neurones artificiels : une solution dsolution d’’avenir!avenir!

« Quelle machine pourrait effectuer ce travail à ma place? »

« Quelle machine pourrait penser à une solution à ma place? »

Les réseaux de neurones artificiels (RNA) s’inscrivent dans l’effort de conception est mis sur le développement d’algorithmes d’apprentissage afin de doter un système d’autonomie et de capacités d’adaptation. Parfois, ces systèmes intelligents arrivent même à « découvrir » de nouvelles solutions àdes problèmes fort complexes et difficilement accessibles pour un cerveau …humain.

« Pourquoi les RNA ont-ils de l’avenir? »

Parce que les RNA répondent à plusieurs critères de l’entreprise moderne, dont le fait de trouver des solutions rapidement à des problèmes de plus en plus complexes. De plus, les RNA sont robustes, versatiles et peuvent s’adapter.

Page 20: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

2020

Algorithmes dAlgorithmes d’’apprentissageapprentissage

Comme le cerveau humain, les réseaux de neurones artificiels (RNA) peuvent apprendre par expérience.

Les algorithmes d’apprentissage modifient la valeur des poids entre les neurones ainsi que la valeur des biais de façon à améliorer la performance du RNA.

Trois grandes classes d’apprentissage existent :

Apprentissage non-supervisé : il n’y pas de connaissances à priori des sorties désirés pour des entrées données. En fait, c’est de l’apprentissage par exploration où l’algorithme d’apprentissage ajuste les poids des liens entre neurones de façon à maximiser la qualitéde classification des entrées.

Apprentissage par renforcement : Dans ce cas, bien que les sorties idéales ne soient pas connues directement, il y a un moyen quelconque de connaître si les sorties du RNA s’approchent ou s’éloignent du but visé. Ainsi, les poids sont ajustés de façons plus ou moins aléatoire et la modification est conservée si l’impact est positif ou rejetée sinon.

Apprentissage supervisé (back propagation) : Cet algorithme d’apprentissage ne peut être utilisé que lorsque les combinaisons d’entrées-sorties désirés sont connues. L’apprentissage est alors facilité et par là, beaucoup plus rapide que pour les deux autres algorithmes puisque l’ajustement des poids est fait directement à partir de l’erreur, soit la différence entre la sortie obtenue par le RNA et la sortie désirée.

Page 21: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

2121

Apprentissage supervisApprentissage superviséé

superviseur

réseau

sortie désirée

sortie obtenue

erreur

EN

TRE

ES

Erreur quadratique

Mesure d’entropie

Page 22: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

2222

Apprentissage non supervisApprentissage non superviséé

réseau sortie obtenueEN

TRE

ES

Page 23: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

2323

Algorithmes dAlgorithmes d’’apprentissageapprentissage

Pré-apprentissage : Une fois l’apprentissage terminée, la structure et les poids entre les neurones sont fixés. Lorsque la tâche à effectuer par le RNA ne change pas significativement avec le temps, un RNA statique peut être très efficace et beaucoup plus simple d’implémentation. Par ailleurs, il n’est alors pas aussi important de se soucier de la simplicité de la fonction d’apprentissage et de la rapidité de convergence du RNA.

Apprentissage continu : Un apprentissage continu est requis lorsque les combinaisons d’entrées-sorties idéales risquent de changer avec le temps ou selon diverses conditions externes. Le gain de flexibilité inhérent à la capacité d’adaptation du RNA s’obtient au détriment d’une implémentation plus complexe du système puisque l’algorithme d’apprentissage doit alors être intégré à la structure de calcul du RNA.

1. pour un système en temps réel, la rapidité d’adaptation ou de convergence de la fonction d’apprentissage devient alors un facteur très important.

2. la complexité d’implémentation de la fonction d’apprentissage devient également un élément à considérer dans le choix de l’algorithme d’apprentissage, parfois au détriment de la performance.

Page 24: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

2424

Apprentissage dApprentissage d’’un run rééseau de seau de neurones neurones

LL ’’apprentissage est une phase du dapprentissage est une phase du dééveloppement dveloppement d’’un run rééseau de seau de neurones durant laquelle le comportement du rneurones durant laquelle le comportement du rééseau est modifiseau est modifiééjusqujusqu’à’à ll’’obtention du comportement dobtention du comportement déésirsiréé..

• L’ajustement du poids des liens entre les neurones peut s’effectuer selon diverses équations mathématiques, dont la plus populaire est sans aucun doute la loi de Hebb.

• le choix de l’équation d’adaptation des poids dépend en grande partie de la topologie du réseau de neurones utilisé.

•Notons qu’il est aussi possible de faire évoluer l’architecture du réseau, soit le nombre de neurones et les interconnexions, mais avec d’autres types d’algorithmes d’apprentissage.

Page 25: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

2525

HistoriqueHistorique

James [1890] :James [1890] :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.

When two elementary brain-processes have been active together or in immediate succession, one of them, on reoccurring, tends to propagate its excitement into the other

Page 26: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

2626

HistoriqueHistorique

McCullochMcCulloch & & PittsPitts [1943][1943]Ceux sont les premiers Ceux sont les premiers àà montrer que des rmontrer que des rééseaux de neurones formels simplesseaux de neurones formels simplespeuvent rpeuvent rééaliser des fonctions logiques, arithmaliser des fonctions logiques, arithméétiques et symboliques complexes tiques et symboliques complexes (tout au moins au niveau th(tout au moins au niveau thééorique).orique).

0 Inh

Exc

Exc

1

1

1.0

1.0

2.0 1

Page 27: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

2727

HebbHebb [1949][1949]explique le conditionnement chez lexplique le conditionnement chez l’’animal par les proprianimal par les propriééttéés des s des neurones euxneurones eux--mêmes. mêmes. un conditionnement de type pavlovien tel que, nourrir tous les un conditionnement de type pavlovien tel que, nourrir tous les jours jours àà la même heure un chien, entrala même heure un chien, entraîîne chez cet animal la ne chez cet animal la sséécrcréétion de salive tion de salive àà cette heure prcette heure préécise même en lcise même en l’’absence de absence de nourriture. nourriture.

Loi dLoi d’’apprentissageapprentissage

le conditionnement est une propriété des neurones:

HistoriqueHistorique

Page 28: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

2828

HistoriqueHistorique

RosenblattRosenblatt [1957] :[1957] :le perceptron, premier modle perceptron, premier modèèle ople opéérationnel reconnaissance drationnel reconnaissance d ’’une configuration apprise une configuration apprise toltoléérance aux bruitsrance aux bruits

Le perceptron se compose de deux couches : la rétinecouche de sortie qui donne la réponse correspondant à la stimulation présente en entrée.

Les cellules de la première couche répondent en oui/non. La réponse 'oui' correspond à une valeur '1' et la réponse 'non' correspond à une valeur '0' à la sortie du neurone.

Les cellules d'entrée sont reliées aux cellules de sortie grâce à des synapses d'intensité variable. L'apprentissage du perceptron s'effectue en modifiant l'intensité de ces synapses.

w1

w2

x1

x2

F(s)

S

Θ

)(0s ssi 10s ssi 1

)sgn( sFs =⎩⎨⎧

<=−>+

=

Page 29: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

2929

WidrowWidrow [1960] :[1960] :adalineadaline, , adaptive adaptive linearlinear elementelement

CelleCelle--ci est ci est àà ll’’origine de origine de ll’’algorithme de algorithme de rréétropropagationtropropagation de gradientde gradient trtrèès utiliss utiliséé aujourdaujourd’’hui hui avec les Perceptrons multicouches. avec les Perceptrons multicouches.

B. B. WidrowWidrow a cra créééé ddèès cette s cette éépoque une des premipoque une des premièères firmes proposant res firmes proposant neuroneuro--ordinateurs et ordinateurs et neuroneuro--composants, la "composants, la "MemistorMemistor Corporation".Corporation".

HistoriqueHistorique

AprAprèès chaque motif d'apprentissage s chaque motif d'apprentissage prpréésentsentéé, la correction s'applique au , la correction s'applique au poids proportionnellement poids proportionnellement àà l'erreur. l'erreur. La correction est calculLa correction est calculéée e avantavant le le seuillage : seuillage :

Page 30: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

3030

MinskyMinsky & & PapertPapert [1969] :[1969] :impossibilitimpossibilitéé de classer des configurations non linde classer des configurations non linééairement airement ssééparables abandon (financier) des recherches sur les RNA parables abandon (financier) des recherches sur les RNA

0

0

0

1

0

1 0

1

P

Q

fonction ET logique

patterns séparables linéairement

P

Q

fonction XOR (ou exclusif)

patterns non séparables linéairement

010

1

10

1

0

HistoriqueHistorique

Page 31: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

3131

HistoriqueHistoriquell’’ombre et le renouveauombre et le renouveau

[[HopfieldHopfield [1982] :[1982] :modmodèèle des verres de spins. le des verres de spins. HopfieldHopfield fixe prfixe prééalablement le comportement alablement le comportement àà atteindreatteindrepour son modpour son modèèle et construit le et construit àà partir de lpartir de làà, la structure et la loi d, la structure et la loi d’’apprentissage apprentissage correspondant au rcorrespondant au réésultat escomptsultat escomptéé. Ce mod. Ce modèèle est aujourdle est aujourd’’hui encore hui encore trtrèès utiliss utiliséépour des problpour des problèèmes d'optimisationmes d'optimisation. .

Boltzmann [1983] :Boltzmann [1983] :premipremièère rre rééponse ponse àà MinskyMinsky et et PapertPapert

[1985] :[1985] :la rla réétrotro--propagation du gradient et le perceptron multicouche. Dpropagation du gradient et le perceptron multicouche. Dèès cette ds cette déécouverte, couverte, nous avons la possibilitnous avons la possibilitéé de rde rééaliser une fonction non linaliser une fonction non linééaire daire d’’entrentréée/sortie sur un e/sortie sur un rrééseau en dseau en déécomposant cette fonction en une suite dcomposant cette fonction en une suite d’é’étapes tapes linlinééairementsairements ssééparableparableDe nos jours, les rDe nos jours, les rééseaux multicouches et la seaux multicouches et la rréétropropagationtropropagation de gradient reste le de gradient reste le modmodèèle le plus le le plus éétuditudiéé et le plus productif au niveau des applications. et le plus productif au niveau des applications.

RumelhartRumelhart, , McClellandMcClelland, , …… [1985] :[1985] :le groupe le groupe ParallelParallel DistributedDistributed ProcessingProcessing

Page 32: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

3232

Algorithmes dAlgorithmes d’’apprentissageapprentissage

Loi de Hebb : Cette règle très simple émet l’hypothèse que lorsqu’un neurone « A »est excité par un neurone « B » de façon répétitive ou persistante, l’efficacité (ou le poids) de l’axone reliant ces deux neurones devrait alors être augmentée.

Loi de Hopfield : Cette loi se base sur la même hypothèse que la loi de Hebb mais ajoute une variable supplémentaire pour contrôler le taux de variation du poids entre les neurones avec une constante d’apprentissage qui assure à la fois la vitesse de convergence et la stabilité du RNA.

Loi Delta : Cette loi est aussi une version modifiée de la loi de Hebb. Les poids des liens entre les neurones sont continuellement modifiés de façon à réduire la différence (le delta) entre la sortie désirée et la valeur calculée de la sortie du neurone. Les poids sont modifiés de façon à minimiser l’erreur quadratique à la sortie du RNA. L’erreur est alors propagée des neurones de sortie vers les neurones des couches inférieures, une couche à la fois.

Loi de Loi de HebbHebb : : ΔΔwwjiji=R a=R aii aajj

RRèègle de gle de WidrowWidrow--HoffHoff (delta (delta rulerule) : ) : ΔΔwwjiji=R(d=R(dii -- aaii)a)ajj

j iWji

Page 33: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

3333

Algorithmes dAlgorithmes d’’apprentissageapprentissage

Loi de Hebb :Si deux unités connectées sont actives simultanément, le poids de leur connexion est augmenté ou diminué. R est une constante positive qui représente la force d'apprentissage (learning rate).

ai = -1 ai = 1aj = -1 ΔWji = R ΔWji = -Raj = 1 ΔWji = -R ΔWji = R

ji i jW Ra aΔ =

j iWji

Page 34: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

3434

Algorithmes dAlgorithmes d’’apprentissageapprentissage

ai = 0 ai = 1

di = 0 ΔWji = 0 ΔWji = -R

di = 1 ΔWji = R ΔWji = 0

Loi de Widrow-Hoff (delta rule) :

( )ji i i j

W Rd a aΔ = −

ai activation produite par le réseaudi réponse désirée par l'expert humainPar exemple si la sortie est inférieure à la réponse désirée, il va falloir augmenter le poids de la connexion à condition bien sûr que l'unité j soit excitatrice (égale à1). On est dans l'hypothèse d'unités booléennes {0,1}.

j iWji

Page 35: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

3535

Algorithmes dAlgorithmes d’’apprentissageapprentissage

Loi de Grossberg :On augmente les poids qui entrent sur l'unité gagnante ai s'ils sont trop faibles, pour les rapprocher du vecteur d'entrée aj. C’est la règle d’apprentissage utilisée dans les cartes auto-organisatrices de Kohonen (SOM)

( )ji i j jiW Ra a WΔ = − j iWji

Page 36: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

3636

RRééseaux Statiques seaux Statiques FeedforwardFeedforward

Page 37: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

3737

Apprentissage dApprentissage d’’un modun modèèle statiquele statique

MMééthodes non adaptatives dthodes non adaptatives d’’apprentissage : apprentissage : minimisation de la fonction de cominimisation de la fonction de coûût des moindres carrt des moindres carréés qui tient s qui tient compte simultancompte simultanéément de tous les exemplesment de tous les exemples

MMééthodes adaptativesthodes adaptativesModifier les paramModifier les paramèètres du modtres du modèèles successivement en fonction les successivement en fonction du codu coûût partiellet partielle

Page 38: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

3838

Similitude comme DistanceSimilitude comme Distance

),0[: ∞→× nn RRdzyzdzxdyxd

xydyxdy si xx,y)d

∀+≤=

==

),(),(),(),(),(

0(

p

n

i

p

iiMyxd ∑

=

−=1

p=2 on obtient la distance euclidienne p=1 on obtient la distance Manhattan qui pour des données binaires devient la distance Hamming ou Tanimoto

Distance de MinkowskiDistance de Minkowski

Page 39: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

3939

Fonctions discriminantes linFonctions discriminantes linééairesaires

La première approche dans la classification de formes est géométrique. La manière la plus simple de séparer deux objets dans un plan XoY est d’intercaler entre ces objets une droite de séparation. La droite de séparation est écrite sous la forme

Cette relation fait apparaître des termes de poids de même qu’un terme de polarisation . Les poids jouent le rôles de balancier permettant d’ajuster la pente de la droite tandis que le terme de polarisation permet un déplacement vers les y positifs ou négatif de la droite séparatrice.

02211 =Θ++ xwxw

21 et wwΘ

Page 40: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

4040

Fonctions discriminantes linFonctions discriminantes linééairesaires

On peut écrire également l’équation sous une forme plus connue, soit:

22

1

2

1

121122

21

et

que implique et Si

wwxw

wxwy

xwywxwxwyxxx

Θ−−=

Θ−−=

−Θ−=−Θ−===

Page 41: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

4141

RRèègle d'apprentissage du perceptron pour les fonction gle d'apprentissage du perceptron pour les fonction

linlinééaires discriminantes aires discriminantes

Le perceptron doit trouver l'ensemble des valeurs Le perceptron doit trouver l'ensemble des valeurs àà donner aux donner aux synapses pour que les configurations d'entrsynapses pour que les configurations d'entréée se traduisent par des e se traduisent par des rrééponses voulues. Pour cela, on utilise la ponses voulues. Pour cela, on utilise la rrèègle d'apprentissagegle d'apprentissage de de WindrowWindrow--HoffHoff. .

Pour apprendre, le perceptron doit savoir qu'il a commis une errPour apprendre, le perceptron doit savoir qu'il a commis une erreur, et eur, et doit connadoit connaîître la rtre la rééponse qu'il aurait dponse qu'il aurait dûû donner. De ce fait, on parle donner. De ce fait, on parle d'apprentissage supervisd'apprentissage superviséé. .

La rLa rèègle d'apprentissage est gle d'apprentissage est localelocale dans ce sens que chaque cellule de dans ce sens que chaque cellule de sortie apprend sans avoir besoin de connasortie apprend sans avoir besoin de connaîître la rtre la rééponse des autres ponse des autres cellules. cellules.

La cellule ne modifie l'intensité de ses synapses (apprend) que lorsqu'elle se trompe.

Page 42: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

4242

Algorithme du perceptronAlgorithme du perceptron

a) Initialisation des poids avec des valeurs aléatoires.

b) Présentation à l’entrée d’un vecteur de données.c) Calcul de la fonction de sortie et vérification de

l’erreur entre la sortie calculée et la sortie prévue.

d) Ajustement des poids selon l’erreur obtenue.e) retourner à l’étape b).

Page 43: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

4343

1

2

2( ) x=r x x

x y⎧ =⎪⎨ =⎪⎩

(3) sj j

j

w x= + Θ∑

Calcul de la fonction d’activation (fonction sgn)

Calcul de la règle de propagation pour être appliquée à la fonction d’activation

Paramètres caractérisant l’objet à l’entrée du réseau

2(1) ,w w Θ

1 Initialiser et par des valeurs aléatoires

Initialisation des poids de pondération

Algorithme du Perceptron pour un réseau simple couche.

⎩⎨⎧

<=−>

==0s 1

0s ssi 1)( )4( 0ysF

Page 44: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

4444

5( ) Calcul de ( )

la sortie attendue - la sortie calculée par le perceptron courant

rd x

Vecteur de classement du paramètre apparaissant à l’entrée

( 7 ) i i iw w w= + ΔΘ = Θ + Δ Θ

Mise à jour des poids

( )(6)

( ) i i

w d x xd x

Δ =ΔΘ=

r

r

Règle d’apprentissage pour la mise à jour des poids

Dans l'apprentissage du Perceptron, les poids sont ajustés seulementsi un motifs est mal classé.

Page 45: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

4545

Réseaux directs à couches

e1

e2

e1

e2

S

Page 46: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

4646

Limite du Limite du perceptron

Le perceptron est incapable de distinguer les patterns non séparables linéairement [Minsky 69]

input P 0 1 0 1input Q 1 0 0 1ET 0 0 0 1XOR 1 1 0 0 0

0

0

1

0

1 0

1

P

Q

fonction ET logique

patterns séparables linéairement

P

Q

fonction XOR (ou exclusif)

patterns non séparables linéairement

010

1

10

1

0

Page 47: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

4747

Le perceptron multicouche:Le perceptron multicouche:architecturearchitecture

S Y S T E M E

couche cachée (hidden) j

couche d'entrée (input) i

couche de sortie (output) k

Envi

ronn

emen

t

Envi

ronn

emen

t

1 1bias bias

Page 48: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

4848

Le perceptron multicouche :Le perceptron multicouche :activationactivation

j a j

ia

W jibias = 1

W bias

xj = wji∑ ai

a j = f (x j)

a = f x( ) = 11+ e− x a = f x( ) = e x − e− x

e x + e−x

fonction tangente hyperboliquefonction sigmoïde

( ) ( ) ( )( )xfxfxf −=′ 1. ( ) ( )( ) ( )( )xfxfxf −+=′ 1.1

Page 49: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

4949

Apprentissage Apprentissage BackpropagationBackpropagation

QuQu’’estest--ce quce qu’’un gradient?un gradient?Le gradient pour un neurone est Le gradient pour un neurone est ll’’erreur relative erreur relative àà ce ce neuroneneurone. Il peut en quelque sorte être vu comme la . Il peut en quelque sorte être vu comme la contribution du neurone contribution du neurone àà ll’’erreur globaleerreur globale

A chaque passe arriA chaque passe arrièère, on calcule le gradient de chaque re, on calcule le gradient de chaque neurone, en commenneurone, en commenççant par ceux de la couche de sortie ant par ceux de la couche de sortie (car les gradients des couches inf(car les gradients des couches inféérieures se calculent rieures se calculent ààpartir des gradients des couches suppartir des gradients des couches supéérieures)rieures)

ijwE

∂∂

Page 50: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

5050Propagation de l’activité

Apprentissage Apprentissage BackpropagationBackpropagation

Page 51: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

5151Propagation de l’activité

Apprentissage Apprentissage BackpropagationBackpropagation

Page 52: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

5252Propagation de l’activité

Apprentissage Apprentissage BackpropagationBackpropagation

Page 53: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

5353Propagation de l’activité

Apprentissage Apprentissage BackpropagationBackpropagation

Page 54: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

5454Propagation de l’activité

Apprentissage Apprentissage BackpropagationBackpropagation

Page 55: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

5555Rétropropagation de l’erreur

Apprentissage Apprentissage BackpropagationBackpropagationijw

E∂∂

Page 56: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

5656Rétropropagation de l’erreur

Apprentissage Apprentissage BackpropagationBackpropagationijw

E∂∂

Page 57: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

5757Rétropropagation de l’erreur

Apprentissage Apprentissage BackpropagationBackpropagationijw

E∂∂

Page 58: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

5858Rétropropagation de l’erreur

Apprentissage Apprentissage BackpropagationBackpropagationijw

E∂∂

Page 59: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

5959

Apprentissage : Apprentissage : «« Back propagationBack propagation »»

1er étape : Initialiser les poids des liens entre les neurones. Souvent une valeur entre 0 et 1, déterminée aléatoirement, est assignée à chacun des poids.

2e étape : Application d’un vecteur entrées-sorties à apprendre.

3e étape : Calcul des sorties du RNA à partir des entrées qui lui sont appliquées et calcul de l’erreur entre ces sorties et les sorties idéales à apprendre.

4e étape : Correction des poids des liens entre les neurones de la couche de sortie et de la première couche cachée selon l’erreur présente en sortie.

5e étape : Propagation de l’erreur sur la couche précédente et correction des poids des liens entre les neurones de la couche cachée et ceux en entrées.

6e étape : Boucler à la 2e étape avec un nouveau vecteur d’entrées-sorties tant que les performances du RNA (erreur sur les sorties) ne sont pas satisfaisantes.

Page 60: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

6060

Le perceptron multicoucheLe perceptron multicoucheapprentissage : apprentissage :

retropropagationretropropagation de lde l’’erreurerreur

Calcul activations unités cachées

Calcul activations unités de sortie

Calcul de l'erreur sur les unités de sortie

Calcul de l'erreur sur les unités cachées

Apprentissage des unités cachées

Apprentissage des unités de sortie

Calcul Erreur entre sorties désirées et sorties obtenues

Ajustement des poids

Unités cachées

Unités d'entrée

Unités de sortie

iaja ka

1 2

3

45

6

( )jj

iji

ij

Sfa

WaS

=

=∑

( )kk

jkj

jk

Sfa

WaS

=

=∑

kkk ade −=

( )kkk Sfe ′= .δ( )jkk

jkj SfW ′⎟⎠⎞

⎜⎝⎛= ∑ .δδ

ijij aW εδ=Δjkjk aW εδ=Δ

21( ) ( )2 j

j C

E n e n∈

= ∑

Page 61: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

6161

MLP: MLP: MultiMulti--layer perceptronlayer perceptron

Exemple:Exemple:

w11

w12

w21

w22

w31

w32

w11

w12

w21

w22

w11

w12

Comment calculer wij ????

Couche d`entrée

Couches cachées Couche

de sortie

Page 62: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

6262

x1

x2

1

2

3

w11= 0.300

w12 = -0.500

w21 = 0.800

w22 = 0.200

w13 = -0.600

w23 = 0.400

Erreur de sortie de chaque neuroneo1 = 0.646

o2 = 0.319

o3 = 0.560

d = 0.4

e3 = d – o3 = - 0.160.8

0.2 )1(1

1)( xexf −+

=

[ ] )2()(1)()(' xfxfxf −⋅=

Exemple d’apprentissage : « Back propagation »

wb1 = 0.200

wb2 = -0.400

wb3 = 0.500

La figure ci-dessous présente un RNA dont les poids des liens entre les neurones et celui des biais ont été déterminés aléatoirement. Dans cet exemple, le vecteur à apprendre comporte les entrées x1 = 0.8 et x2 = 0.2, pour une sortie souhaitée d = 0.4. La fonction d’activation est la sigmoïde (équation (1) ) et sa dérivée est exprimée par l’équation (2). L’équation (3) illustre comment calculer la sortie d’un neurone et l’équation (4) comment modifier les poids entre les neurones lors de l’apprentissage (taux d’apprentissage μ = 1). Remarquez que les poids sont toujours incrémentés selon: « μ • erreur en sortie • f’(somme des entrées) • entrée du lien ».

1

1

1

)3(2

1⎟⎠

⎞⎜⎝

⎛+⋅= ∑

=

=bj

N

iijjj wwxfo

e2 = w23 • e3 = - 0.064

e1 = w13 • e3 = 0.096

-0.625

)4(')()1( 13

2

1331313 owwxfenwnw b

N

iii ⋅⎟

⎞⎜⎝

⎛+⋅⋅⋅+=+ ∑

=

=

μ

( )( ) 625.0646.024.0'16.016.0)1(13 −=⋅⋅−⋅+−=+ fnw

0.387

)4(')()1( 23

2

1332323 owwxfenwnw b

N

iii ⋅⎟

⎞⎜⎝

⎛+⋅⋅⋅+=+ ∑

=

=

μ

( )( ) 387.0319.024.0'16.014.0)1(23 =⋅⋅−⋅+=+ fnw

0.461

)4(1')()1( 3

2

13333 ⋅⎟

⎞⎜⎝

⎛+⋅⋅⋅+=+ ∑

=

=b

N

iiibb wwxfenwnw μ

( )( ) 461.0124.0'16.015.0)1(3 =⋅⋅−⋅+=+ fnwb

-0.511

)4(')()1( 12

2

1221212 xwwxfenwnw b

N

iii ⋅⎟

⎞⎜⎝

⎛+⋅⋅⋅+=+ ∑

=

=

μ

( )( ) 511.08.076.0'064.015.0)1(12 −=⋅−⋅−⋅+−=+ fnw

0.197

)4(')()1( 22

2

1222222 xwwxfenwnw b

N

iii ⋅⎟

⎞⎜⎝

⎛+⋅⋅⋅+=+ ∑

=

=

μ

( )( ) 197.02.076.0'064.012.0)1(22 =⋅−⋅−⋅+=+ fnw

-0.414

)4(1')()1( 2

2

12222 ⋅⎟

⎞⎜⎝

⎛+⋅⋅⋅+=+ ∑

=

=b

N

iiibb wwxfenwnw μ

( )( ) 414.0176.0'064.014.0)1(2 −=⋅−⋅−⋅+=+ fnwb

0.318

)4(')()1( 11

2

1111111 xwwxfenwnw b

N

iii ⋅⎟

⎞⎜⎝

⎛+⋅⋅⋅+=+ ∑

=

=

μ

( )( ) 318.08.060.0'096.013.0)1(11 =⋅⋅⋅+=+ fnw

0.804

)4(')()1( 21

2

1112121 xwwxfenwnw b

N

iii ⋅⎟

⎞⎜⎝

⎛+⋅⋅⋅+=+ ∑

=

=

μ

( )( ) 804.02.060.0'096.018.0)1(21 =⋅⋅⋅+=+ fnw

0.222

)4(1')()1( 1

2

11111 ⋅⎟

⎞⎜⎝

⎛+⋅⋅⋅+=+ ∑

=

=b

N

iiibb wwxfenwnw μ

( )( ) 222.0160.0'096.012.0)1(1 =⋅⋅⋅+=+ fnwb

Page 63: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

6363

Le Le perceptron multicoucheperceptron multicoucheRRèègle du delta ggle du delta géénnééralisraliséé

Les paramLes paramèètres de ltres de l’’apprentissageapprentissage

La force dLa force d’’apprentissage apprentissage εε ou taux dou taux d’’apprentissageapprentissageLe Le momentummomentum ααGradient local Gradient local δδCumulative DeltaCumulative Delta--RuleRule

Les performances du rLes performances du rééseauxseauxErreur globale sur le jeu de testErreur globale sur le jeu de testGGéénnééralisationralisation

1−+=Δ tijij

tij WaW αεδ

1t

ijWα −

Page 64: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

6464

RPROP=Algorithme d ’apprentissage pour un réseau de type MLP

Remarque :Remarque : que fait lque fait l ’’algorithme algorithme BackpropBackprop traditionnel?traditionnel?

Il modifie les poids Il modifie les poids àà partir de partir de

ProblProblèème :me : la grandeur de cette diffla grandeur de cette difféérentielle ne reprrentielle ne repréésente pas sente pas vraiment la grandeur de la modification nvraiment la grandeur de la modification néécessaire du cessaire du changement de poidschangement de poids

Solution de RPROPSolution de RPROP : ne pas se baser sur la valeur de cette : ne pas se baser sur la valeur de cette diffdifféérentielle, ne rentielle, ne tenir compte que de ses changements de tenir compte que de ses changements de signesigne

ijwE

∂∂

Page 65: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

6565

Fonctionnement de RPROP

ijij w

Euw∂∂

−=Δ

Backprop Rprop

ijij

ij wEsignw Δ

∂∂

−=Δ )(

Page 66: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

6666

Fonctionnement de RPROP

Calcul du gradient pour la couche externe :Calcul du gradient pour la couche externe :

)(')1( neuronedu attendu output l'est

neuronedu output l'est où )1()(

iii

ei

i

iiieii

ofooio

iooooo

=−

−−=δ

Page 67: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

6767

Fonctionnement de RPROP

Calcul du gradient pour les couches internesCalcul du gradient pour les couches internes

supérieure couche la de neurones des indices les représente

j (interne) neuronedu output l'est où

)1(

k

o

woo

j

kkjkjjj ∑−= δδ

Page 68: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

6868

Fonctionnement de RPROP

Une fois quUne fois qu’’on connaon connaîît les gradients locaux de chaque t les gradients locaux de chaque neurone, on peut calculer lneurone, on peut calculer l ’’influence de chaque poids influence de chaque poids sur lsur l ’’erreur:erreur:

ijij

ywE δ−=

∂∂

Page 69: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

6969

Fonctionnement de RPROP

ijij

tij w

Esignw Δ∂∂

−=Δ )( )(

Sauf si la différentielle a changé de signe par rapport à (t-1) : à ce moment-là, on est passé au-dessus d ’un minimum local, et on revient donc au poids précédent (backtracking):

0* if, )()1(

)1()( <∂∂

∂∂

Δ−=Δ−

−t

ij

t

ij

tij

tij w

EwEww

Page 70: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

7070

Fonctionnement de RPROP

QuQu’’estest--ce quece que

? ijΔ

= update-value : valeur de modification du poids, qui évolue en fonction des changements de signe des différentielles de ce même poids

• Les update-values et les poids ne sont changés qu’après chaque époque (batch learning). Pendant une époque, on additionne les différentielles obtenues après chaque présentation d ’un élément de l ’ensemble d ’apprentissage.

Page 71: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

7171

Fonctionnement de RPROP

+−

−−

−−+

<<<

Δ

<∂∂

∂∂

Δ

>∂∂

∂∂

Δ=Δ

ηη

η

η

10 where

else ,

0* if ,

0* if ,

)1(

)()1()1(

)()1()1()(

tij

t

ij

t

ij

tij

t

ij

t

ij

tij

tij

wE

wE

wE

wE

Page 72: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

7272

Fonctionnement de RPROP

Exemple de calcul de gradient : on donne Exemple de calcul de gradient : on donne ll ’é’élléément [1,0,0] et on attend la rment [1,0,0] et on attend la rééponse 1ponse 1

0.1

0.2

-0.3

0.2

-0.1

0.3

0.2

-0.3

-0.1

0.2

0.1

0.4

1

0

0

0,5

0,5

0,50,5

0,5

Page 73: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

7373

Fonctionnement de RPROP

0,5

δ41 = 0.125

0,5

0,50,5

0,5

0.1

0.2

-0.3

0.2

-0.1

0.3

0.2

-0.3

-0.1

0.2

0.1

0.4

Page 74: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

7474

Fonctionnement de RPROP

δ41 = 0.125

0,5

0,50,5

0,5

δ31 =0.25*0.0125

= 0.00310.1

0.2

-0.3

0.2

-0.1

0.3

0.2

-0.3

-0.1

0.2

0.1

0.4

δ31 = 0.25*0.05

= 0.0125

0,5

Page 75: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

7575

Fonctionnement de RPROP

δ41 = 0.125

0,5

0,50,5

0,5

δ31 =0.25*0.0125

= 0.0031 0.1

0.2

-0.3

0.2

-0.1

0.3

0.2

-0.3

-0.1

0.2

0.1

0.4

δ32 = 0.25*0.05

= 0.0125

δ21 = -0.000782

δ22 = 0.00052

0,5

Page 76: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

7676

Algorithme RPROP

Page 77: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

7777

Paramètres

ΔΔ0 0 : update: update--value initiale, pour chacun des value initiale, pour chacun des poids (gpoids (géénnééralement 0.1)ralement 0.1)ηη++

, , ηη -- : g: géénnééralement 1.2 et 0.5 (on ralement 1.2 et 0.5 (on diminue de moitidiminue de moitiéé car on ne sait pas de car on ne sait pas de combien on a dcombien on a déépasspasséé ll ’’erreur)erreur)ΔΔMax Max ΔΔMinMin : 50 et 1e: 50 et 1e--66

Avantage de Avantage de RpropRprop : le choix des : le choix des paramparamèètres influence peu la convergencetres influence peu la convergence

Page 78: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

7878

Paramètres

exempleexemple

10-5-10 encoder

Algo u/Δ0 Epochs WR(u/Δ0)

BP 1.9 121 [1.1,2.6]

RPROP 2.0 19 [0.05,2.0]

Page 79: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

7979

Approximation parcimonieuse Approximation parcimonieuse HornikHornik

Toute fonction bornToute fonction bornéée suffisamment re suffisamment rééguligulièère peut être approchre peut être approchéée e uniformuniforméément, avec une prment, avec une préécision arbitraire, dans un domaine fini cision arbitraire, dans un domaine fini de lde l’’espace de ses variables, par un respace de ses variables, par un rééseau de neurones seau de neurones comportant une couche de neurones cachcomportant une couche de neurones cachéés en nombre fini, s en nombre fini, possposséédant tous la même fonction ddant tous la même fonction d’’activation, et un neurone de activation, et un neurone de sortie linsortie linééaire. aire.

On montre [On montre [BarronBarron 1993] que, si l1993] que, si l’’approximation dapproximation déépend des pend des paramparamèètres ajustables de manitres ajustables de manièère non linre non linééaire, elle est plus aire, elle est plus parcimonieuse que si elle dparcimonieuse que si elle déépend linpend linééairement des paramairement des paramèètres. tres. LL’é’écart entre lcart entre l’’approximation rapproximation rééalisaliséée par un re par un rééseau de neurones et seau de neurones et la fonction la fonction àà approcher est inversement proportionnel au nombre de approcher est inversement proportionnel au nombre de neurones cachneurones cachéés.s.

Page 80: Les réseaux de neurones artificiels - LAAS-CNRSconf.laas.fr/ignotus/archives/Doncescu_reseaux_neuronnes.pdf · 8 Qu’est-ce qu’un neurone biologique? Dendrites Axone Axones d’autres

8080

Applications des R.N.A.Applications des R.N.A.

-- Approximation de fonctions :Approximation de fonctions : les fonctions trop compliqules fonctions trop compliquéées peuvent es peuvent être approximêtre approximéées, grâce au res, grâce au rééseau, par une somme de fonctions plus seau, par une somme de fonctions plus simples comme des polynômes ou des sigmosimples comme des polynômes ou des sigmoïïdes. des.

-- Optimisation de trajectoires :Optimisation de trajectoires : On peut, par exemple, dOn peut, par exemple, dééterminer terminer quelle est la meilleure trajectoire pour un avion, une fusquelle est la meilleure trajectoire pour un avion, une fusééee……

-- Reconnaissance :Reconnaissance : un run rééseau peut servir seau peut servir àà reconnareconnaîître des caracttre des caractèères. res. Cela est dCela est dééjjàà utilisutiliséé àà la Poste pour lire les codes postaux, ou même la Poste pour lire les codes postaux, ou même dans certaines banques pour lire les chdans certaines banques pour lire les chèèques. Il est aussi possible de ques. Il est aussi possible de retrouver la prononciation des mots retrouver la prononciation des mots àà partir dpartir d’’un texte. un texte.

-- PrPréévision :vision : on utilise de plus en plus les ron utilise de plus en plus les rééseaux pour faire des seaux pour faire des prpréévisions en marketing (prvisions en marketing (préédiction de comportement, de possibilitdiction de comportement, de possibilitéé de de vente dvente d’’un produit, un produit, ……) ou pour le trafic routier) ou pour le trafic routier…… Mais les prMais les préévisions en visions en mmééttééo ou en bourse sont trop compliquo ou en bourse sont trop compliquéées es àà rrééaliser. aliser.

-- Contrôle :Contrôle : on peut contrôler les produits dans une industrie. on peut contrôler les produits dans une industrie.

-- Robotique :Robotique : certains robots sont dotcertains robots sont dotéés de rs de rééseaux de neurones. Des seaux de neurones. Des entreprises japonaises se vantent dentreprises japonaises se vantent dééjjàà de leur utilisation, même pour de leur utilisation, même pour des produits des produits éélectromlectroméénagers ou informatiques. nagers ou informatiques.