Академический Документы
Профессиональный Документы
Культура Документы
Perceptron multi-couches
Nicolas P. Rougier
fonctionnements dirents
(sensoriel, moteur, inter-neurones, Noyau
Noeud de Ranvier
Les neurone sont inter-connects
Cellules de Schwann
et forment des rseaux Gaine de myline
Axone
Terminaisons de l'axone
Etudier le cerveau
Magntoencphalographie
lectro-encphalographie Imagerie par rsonance
(MEG)
magntique fonctionnelle
(IRMf)
A quel niveau ?
Molculaire ? (neuro-transmetteurs)
Organitique ? (axones, dendrites, synapses)
Cellulaire? (neurones, cellules gliales)
Tissulaire ? (structures, aires fonctionnelles)
Organique? (cerveau)
Comment ?
Modliser un neurone
Mettre plusieurs neurones en rseau
Faire apprendre les neurones
Apprendre
Quoi ?
Gnraliser
Gnraliser une fonction partir de points dj connus
Classier
Prdire si une donne appartient telle ou telle classe
Mmoriser
Identier une information bruite ou partielle celles dj connues
Regrouper
Regrouper des donns en fonctions de leur similarit
Comment ?
Supervis
Si la rponse est fausse, on corrige le modle en donnant la bonne rponse
Par renforcement
Si la rponse est fausse, on communique au modle que sa rponse est fausse
mais sans lui donner la bonne rponse
Non supervis
On ne dit rien au modle
Gnraliser une fonction
Exemple 2
Exemples
Srie 1 Srie 2
(0.1, 0.5) 1 (0.4, 0.9) 0
(0.2, 0.9) 1 (0.0, 0.2) 1
(0.6, 0.5) 0 (0.3, 0.6) 0
(0.7, 0.9) 0 (0.1, 0.4) 1
(0.3, 0.7) 1 (0.2, 0.0) 1
(0.6, 0.5) valeur ? (0.2, 0.7) valeur ?
Exemples
Srie 3
(0.134, 0.395) 1
(0.272, 0.989) 1
(0.698, 0.325) 0
(0.701, 0.229) 0
(0.322, 0.773) 1
(0.676, 0.543) valeur ?
Exemples
Srie 3
(0.134, 0.395) 1
(0.272, 0.989) 1
(0.698, 0.325) 0
(0.701, 0.229) 0
(0.322, 0.773) 1
(0.676, 0.543) valeur ?
Limites de la mthode
Perceptron simple
Heaviside
Heaviside (seuil )
Si x < alors f(x) = 0
Si x alors f(x) = 1
Linaire
Linaire (seuil 1 , 2 )
Si x < 1 alors f(x) = 0
Si x > 2 alors f(x) = 1
Si 1 x 2 alors f(x) = x
Sigmode
Sigmode / Tangente hyperbolique
1
f(x) = 1+exp(x)
exp(x)exp(x)
f(x) = exp(x)+exp(x)
Perceptron simple
Apprentissage supervis
Calcul de lerreur
Soit un ensemble de n exemples. On considre la rponse yk du rseau et la
rponse correcte sk associe lexemple k. Lerreur lie lexemple k est donc
donne par:
Ek = (yk sk )
Cette erreur peut tre positive (yk > sk ) ou ngative (yk < sk )
Descente du gradient
Descendre le gradient signie que lon cherche rduire lerreur dans la
direction de lerreur, en descendant le long du gradient. Si lon considre les
entres xi du rseau associs respectivement aux poids wi , alors:
wi wi + (yk sk )xi
Et l on a un problme...
Perceptron simple
Exercice 4
Parit
Reconnaissance
Proposer une architecture permettant de reconnaitre le chire
Trouver les poids correspondants
Perceptron simple
Exercice 4
Parit
Reconnaissance
Proposer une architecture permettant de reconnaitre le chire
Trouver les poids correspondants
Perceptron simple
Exercice 4
Parit
Reconnaissance
Proposer une architecture permettant de reconnaitre le chire
Trouver les poids correspondants
Historique
Sixties
Perceptrons multi-couches
Rtro-propagation du gradient
Parker 1982, Le Cun 1985, Rumelhart & McClelland 1986
Perceptron multicouche
Exercice 1
X1 W'0
W'1
Ou exclusif () W'3
On peut remarquer que X2 W'2
A B = (A B) (A B). Y
X1 W1
En combinant les deux rseaux (OU et W3
ET), raliser la fonction ou exclusif
X2 W2
W0
1
Perceptron multicouche
Approximateur universel de fonctions
Pouvoir sparateur
Rtropropagation du gradient
Le problme de lapprentissage dans les perceptrons multi-couches est de
connaitre la contribution de chaque poids dans lerreur globale du rseau.
Lalgorothme de rtro-propagation de lerreur permet de faire cela.
1. Propagation de lentre jusqu la sortie
2. Calcul de lerreur en sortie
3. Rtro-propagation de lerreur jusquaux entres
Conditions
Il faut une fonction dactivation drivable car on a besoin de la driv pour
rtro-propager lerreur.
Dtails
Voir Les rseaux de neurones articiels, Claude Touzet.
Perceptron multicouche
Algorithme
1. Initialisation
2. Prsentation exemple
3. Calcul erreur globale
4. Calcul erreur individuelle
5. Ajustement des poids
(couche cache)
6. Ajustement des poids
(couche entre)
7. Recommencer
Corpus de donnes
Corpus de donnes
Lensemble des donnes connues et disponibles
Corpus dapprentissage
Un sous-ensemble du corpus de donnes qui va servir lapprentissage
Corpus de test
Un sous-ensemble du corpus de donnes qui va servir vrier lapprentissage
Corpus de validation
Un sous-ensemble du corpus de donnes qui va servir modier lapprentissage
Apprentissage
Trop rapide
Un taux dapprentissage trop rapide peut amener des eets dsinatabilits dans
le rseau.
Trop lent
Un taux dapprentissage trop lent peut amener le rseau tre bloqu dans un
mimumum local.
Inertie (momentum)
On conserve les informations relatifs au dernier apprentissage pour en tenir
compte dans lapprentissage courant. On vite les eets doscillations ou bien
de rester coinc dans un minimum local.
Mesure de l'erreur
Erreur apparente
Lerreur apparente se mesure sur le corpus dapprentissage.
Erreur relle
Lerreur relle se mesure sur le corpus entier.
Si lerreur apparente est trs faible alors que lerreur relle est trs forte, le
corpus dapprentissage est trs certainement mal chantillon.
Bibliographie
Livres
Les rseaux de neurones : Introduction connexionnisme
Claude Touzet, 1992
Pattern Recognition And Machine Learning
Christopher M. Bishop, Springer, 2006
Apprentissage statistique
Grard Dreyfus, Jean-Marc Martinez, Mannuel Samuelides
Mirta Gordon, Fouad Badran, Sylvie Thiria, Eyrolles, 2008
Concepts
Pruning techniques
Deep learning network
Mixture of models
Perceptron multi-couche
Exercice 2
Ncessite
Python (www.python.org)
Numpy (www.numpy.org)
Matplotlib (matplotlib.org)
Perceptron simple
Tester lapprentissage du ou exclusif avec un perceptron:
www.loria.fr/~rougier/downloads/perceptron.py
Perceptron multi-couches
Tester lapprentissage du ou exclusif avec un perceptron:
www.loria.fr/~rougier/downloads/mlp.py
Perceptron multi-couche
Exercice 3