0% ont trouvé ce document utile (0 vote)
90 vues57 pages

R Eseaux de Neurones Artificiels

Ce document décrit l'architecture et l'apprentissage des réseaux de neurones artificiels multicouches. Il présente leur fonctionnement, notamment la rétropropagation du gradient de l'erreur pour l'apprentissage des poids, ainsi que des notions clés comme les fonctions d'activation et la préparation des données.

Transféré par

Jérémy Grisé
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
90 vues57 pages

R Eseaux de Neurones Artificiels

Ce document décrit l'architecture et l'apprentissage des réseaux de neurones artificiels multicouches. Il présente leur fonctionnement, notamment la rétropropagation du gradient de l'erreur pour l'apprentissage des poids, ainsi que des notions clés comme les fonctions d'activation et la préparation des données.

Transféré par

Jérémy Grisé
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 57

Introduction Architecture Apprentissage Pour aller plus loin

Réseaux de neurones artificiels


Le perceptron multicouches
et l’algorithme de rétropropagation du gradient de l’erreur

[email protected]

Université de Lorraine/LORIA
Introduction Architecture Apprentissage Pour aller plus loin

Plan

1 Introduction

2 Architecture
Feed forward
Biais
Préparation des données

3 Apprentissage
Retro-propagation du gradient de l’erreur
Apprentissages en ligne ou par lot
Accélérer la convergence (AdaGrad, RMSprop, Adam)
Limiter le surapprentissage (régularisation, early stopping)

4 Pour aller plus loin


Introduction Architecture Apprentissage Pour aller plus loin

Du neurone biologique...

repères historiques
1852-1934 : Santiago Ramón y Cajál introduit le concept de
neurone comme élément de structure du cerveau.
1843-1926 : Camillo Golgi invente une méthode de coloration
qui rend les neurones visibles.
Introduction Architecture Apprentissage Pour aller plus loin

...au neurone formel...

repères historiques
1943 : J. Mc Culloch et W.Pitts propose une modèle simple
de neurone : le neurone formel.
Introduction Architecture Apprentissage Pour aller plus loin

...aux réseaux de neurones.

repères historiques
1958 : F. Rosenblatt propose le modèle du perceptron
1985 : algorithme de la retro-propagation du gradient de
l’erreur pour les perceptrons multicouches
Introduction Architecture Apprentissage Pour aller plus loin

Problématique

Les modèles de régression et de discrimination basés sur des


combinaisons linaires de fonctions de base φj (x) fixes telles que
 
XM
y (x, w) = f  wj φj (x)
j=1

où f (.) est :


la fonction identité dans le cas de la régression
une fonction non linéaire dans le cas de la discrimination
ont :
+ des propriétés calculatoires et analytiques ;
- leur utilisation pratique est limitée par la malédiction de la
dimensionalité.
Introduction Architecture Apprentissage Pour aller plus loin

Solution neuronale

Afin d’appliquer de tels modèles à des problèmes de grande taille, il


est nécessaire d’adapter les fonctions de base aux données.
Une idée (les réseaux neurones artificiels)
Fixer le nombre de fonctions de base φj (x) mais les choisir
paramètrables et adapter leur paramètres wj durant l’apprentissage
en fonction des données.
Introduction Architecture Apprentissage Pour aller plus loin

Feed forward

Les perceptrons muticouches

Il y a de nombreuses possibilités pour construire des fonctions de


base paramétriques.
Solution (les perceptron multicouches)
Dans les perceptrons multicouches, chaque fonction de base est
une fonction non linéaires de combinaisons linaires des
entrées appelée fonction d’activation non linaire cachée φj (x)
(comme la tangente hyperbolique or la fonction sigmoı̈de
logistique), où les poids wji des combinaisons linéaires sont des
paramètres adaptatifs. φj (x) = φj ( D
P
i=1 wji xi + wj0 )
Introduction Architecture Apprentissage Pour aller plus loin

Feed forward

Les fonctions d’activation classiques et leurs dérivées


Pour une précision donnée, le nb de paramètres d’un
approximateur linéaire croı̂t exponentiellement avec le nb de
variables alors qu’il croı̂t linéairement pour un approximateur non
linéaire [Barron, 1993].
Identité
φ(a) = a, φ0 (a) = 1
Sigmoı̈de
φ(a) = 1+e1 −a ,
φ0 (a) = φ(a)(1 − φ(a))
Tangente hyperbolique
φ(a) = tanh(a),
φ0 (a) = 1 − φ2 (a)
ReLU
if a < 0 φ(a) = 0 else φ(a) = a
if a < 0 φ0 (a) = 0 else φ0 (a) = 1
Introduction Architecture Apprentissage Pour aller plus loin

Biais

Le seuil d’activation et le biais


Introduction Architecture Apprentissage Pour aller plus loin

Préparation des données

Préparation des données

Variable quantitative (normalisation)


interpolation linéaire
x’ = (MAX-MIN)(x – min(x))/(max(x) – min(x))+MIN
centrer-réduire (si x suit une loi normale)
x’ = (x – moyenne)/écart-type
Variable qualitative (codage one hot)
à 2 modalités → 1 variable quantitative 1,0 ou 1,-1
ex : Genre ∈ {homme, femme}
→ Homme=-1, Femme=1
à n modalités (n > 2) → n variables quantitatives 1,0 ou 1,-1
ex : Statut ∈ {marié, célibataire, veuf}
marie
−−−→ Marié = 1, Célibataire = -1, Veuf = -1
celibataire
−−−−−−→ Marié = -1, Célibataire = 1, Veuf = -1
veuf
−−→ Marié = -1, Célibataire = -1, Veuf = 1
Introduction Architecture Apprentissage Pour aller plus loin

Préparation des données

Rôle des neurones cachées (avec fcts de base non linéaires)

Figure – Illustration de la capacité d’un perceptron multicouches à approximer quatre


fonctions différentes (a) f (x) = x 2 , (b) f (x) = sin(x), (c), f (x) = |x|, et (d)
f (x) = H(x) où H(x) est la fonction à seuil. Dans tous les cas, 50 (N) exemples
d’apprentissage x représentés par des points bleus ont été tirés uniformément dans
l’intervalle [-1, 1] et la valeur associée f(x) a été calculée. Ces points ont été ensuite
utilisés pour entraı̂ner un MLP comportant une couche cachée de trois neurones avec
des fonctions d’activation tangente hyperbolique et un neurone de sortie avec une
fonction linéaire. La prédiction du MLP est présentée par la courbe rouge et les sorties
des trois neurones cachés sont représentées par des tirets [Bishop, 06].
Introduction Architecture Apprentissage Pour aller plus loin

Préparation des données

MLP pour la régression


Introduction Architecture Apprentissage Pour aller plus loin

Préparation des données

MLP pour la discrimination


Introduction Architecture Apprentissage Pour aller plus loin

Les MLPs : approximateurs universels de fonctions

Théorème d’existence [HORNIK et al., 1990]


”Toute fonction bornée suffisamment régulière peut être approchée
uniformément, avec une précision arbitraire, dans un domaine fini
de l’espace de ses variables, par un réseau de neurones comportant
une couche de neurones cachés en nombre fini, possédant tous la
même fonction d’activation, et un neurone de sortie linéaire”
[Dreyfus et al., 2002]
Introduction Architecture Apprentissage Pour aller plus loin

Recherche des poids optimaux

Une fois l’architecture fixée (nombre de couches, nombre de


neurones par couche, fonctions d’activation), les performances du
réseau varient uniquement en fonction de la valeur des poids.
Problème
Il n’est pas envisageable d’évaluer la performance obtenue pour
chaque jeu possible de poids afin de déterminer lequel permet
d’obtenir une erreur minimale.

Solution
Une solution sera d’appliquer la méthode de descente du
gradient de l’erreur pour converger vers un jeu performant à
partir d’un jeu tiré aléatoirement.
Introduction Architecture Apprentissage Pour aller plus loin

Mesure de la performance du modèle : les fonctions


d’erreur

Pour évaluer la performance d’un modèle, on utilise une


fonction d’erreur.

L’erreur
P E dun modèle pour un ensemble de N exemples vaut :
E= N n=1 E

L’erreur E n du modèle pour le ne exemple vaut, si il y a K


neurones de sortie : E n = K n
P
k=1 Ek
Erreur quadratique (régression) : Ekn = 12 (tkn − ykn )2
(t n −y n )2
Erreur quadratique moyenne (régression) : Ekn = (tkn −ȳkn )2
k
Entropie relative (discrimination) : Ekn = −tkn ∗ ln(ykn /tkn )
ou distance de Kullback-Leibler
Introduction Architecture Apprentissage Pour aller plus loin

Retro-propagation du gradient de l’erreur

Optimisation par descente du gradient de l’erreur

On veut modifier w pour que l’erreur diminue i.e. on veut ∆E ≤ 0


δE
Si au point w , δw ≥ 0, il faut donc ∆w ≤ 0 i.e. on doit diminuer w
δE
Si au point w , δw ≤ 0, il faut donc ∆w ≥ 0 i.e. on doit
augmenter w
δE
Prenons donc par exemple : ∆w = −α δw
où 0 < α << 1 est le coefficient d’apprentissage.
Introduction Architecture Apprentissage Pour aller plus loin

Retro-propagation du gradient de l’erreur

Pseudo-algo de la rétro-propagation du gradient de l’erreur

Choisir la valeur du coefficient d’apprentissage α


Choisir le critère d’arrêt (nombre de cycle, seuil de stagnation de
l’amélioration de l’erreur, seuil d’erreur ...)
Cycle : Pour chaque exemple de la base d’apprentissage faire :
1 Présenter le ne exemple xn
2 Calculer les sorties yn du modèle en propageant les valeurs des
variables entrées. Pour cela, calculer l’activation des neurones
couchePaprès couche :
aj1 = i xin wji1 et yj1 = φ1j (aj1 )
ak2 = j yj1 wkj2 et yk2 = f (ak2 )
P

3 Calculer l’erreur du modèle E n = (tn , yn ) avec t le vecteur des


sorties désirées et y le vecteur des sorties calculées
δE
4 Rétropropager l’erreur pour obtenir ∆w = −α δw
Introduction Architecture Apprentissage Pour aller plus loin

Retro-propagation du gradient de l’erreur

Retro-propagation : couche de sortie


Pour les poids menant du neurone j de la couche cachée au
neurone k de la couche de sortie, on a :
∂E ∂E ∂yk2 ∂ak2
=
∂wjk2 ∂yk2 ∂ak2 ∂wjk2

avec ak2 , f () et yk2 respectivement l’entrée, la fonction d’activation


et la sortie 2 2
2
P du2 neurone de sortie d’indice k. On a yk = f (ak ) et
ak = j xj wjk .
Si on prend comme mesure de l’erreur, l’erreur quadratique
1P
définie par E = 2 k (tk − yk2 )2 avec tk la valeur désirée pour le
neurone de sortie k et yk2 la valeur de sortie du neurone de sortie k
alors, on a :
" #0
∂E 1X
= (tk − yk2 )2 = −(tk − yk2 )
∂yk2 2
k
Introduction Architecture Apprentissage Pour aller plus loin

Retro-propagation du gradient de l’erreur

Retro-propagation : couche de sortie


D’autre part,
∂yk2 ∂f (ak2 )
= = f 0 (ak2 )
∂ak2 ∂ak2
si f est la fonction identité,

∂yk2 ∂ak2
= =1
∂ak2 ∂ak2

Enfin,
∂ j yj1 wjk2
P
∂ak2
2
= 2
= yj1
∂wjk ∂wjk
donc finalement
∆wjk2 = α(tk − yk2 )yj1
Remarque : ∆wjk2 = 0 s’il n’y a pas d’erreur (yk2 = tk )
Introduction Architecture Apprentissage Pour aller plus loin

Retro-propagation du gradient de l’erreur

Retro-propagation : couche cachée


Pour les poids menant du neurone i de la couche d’entrée au
neurone j de la couche cachée, on a :
!
∂E X ∂E ∂y 2 ∂a2 ∂yj1 ∂aj1
k k
=
∂wij1 ∂yk2 ∂ak2 ∂yj1 ∂aj1 ∂wij1
k

on note δk , la partie commune à tous les poids dont la connexion


va vers le neurone de sortie k :
∂E ∂yk2
δk = = −(tk − yk2 )
∂yk2 ∂ak2
∂ j yj1 wjk2
P
∂ak2
= = wjk2
∂yj1 ∂yj1
∂yj1 ∂φ1j (aj1 )
= = φ10 1
j (aj )
∂aj1 ∂aj1
Introduction Architecture Apprentissage Pour aller plus loin

Retro-propagation du gradient de l’erreur

Retro-propagation : couche cachée


e x −e −x
si φ1j est la fonction tangente hyperbolique tanh(x) = e x +e −x
alors φ10 1 2
j (x) = 1 − (φj ) (x) d’où

∂yj1
= 1 − (yj1 )2
∂aj1
et
∂aj1 xi wij1
P
∂ i
= = xi
∂wij1 ∂wij1
donc finalement
X
∆wij1 = −α(1 − (yj1 )2 )xi −(tk − yk2 )wjk2
k

Remarque : ∆wij1 = 0 s’il n’y a pas d’erreur (∀k yk2 = tk ), si


l’entrée xi = 0 ou si la sortie de la fonction de base tanh() sature
(|yj1 | = 1)
Introduction Architecture Apprentissage Pour aller plus loin

Apprentissages en ligne ou par lot

Apprentissages en ligne et par paquet/lot

Apprentissage en ligne ou stochastique (online ou stochastic)


Appliquer la modification des poids w = w + ∆w proposée par
chaque exemple avant de présenter l’exemple suivant.
Il est nécessaire de permuter les exemples pour éviter des biais dûs
à un ordonnancement (ex. exemples de la classe A puis B...)

Apprentissage par paquet/lot (offline ou batch/minibatch)


Moyenner les modifications proposer par tous les exemples puis à la
fin du lot modifier les poids w = w + ∆w .
Dans ce mode, pour les réseaux d’apprentissage profond, le
surapprentissage augmente avec le nombre d’exemples. Il est
préférable d’apprendre avec des paquets inférieurs à 100 exemples.

L’apprentissage s’arrête à la fin d’un cycle, si le critère d’arrêt est


vrai sur la base de validation (ou à défaut sur la base de test)
Introduction Architecture Apprentissage Pour aller plus loin

Apprentissages en ligne ou par lot

Batch Gradient Descent

[From Utkarsh Chawla]


Introduction Architecture Apprentissage Pour aller plus loin

Apprentissages en ligne ou par lot

mini-Batch Gradient Descent

[From Utkarsh Chawla]


Introduction Architecture Apprentissage Pour aller plus loin

Apprentissages en ligne ou par lot

SGD(Stochastic Gradient Descent)

Principe
Application de l’algorithme de descente du gradient en ligne (ou
éventuellement par mini-lots).
L’ordre de l’ensemble d’apprentissage est permuté à chaque cycle.

Pros
Nécessite moins de calculs pour mettre à jour les poids que
l’apprentissage offline (par lots).
Converge plus rapidement.
Introduction Architecture Apprentissage Pour aller plus loin

Apprentissages en ligne ou par lot

SGD(Stochastic Gradient Descent)

[From Utkarsh Chawla]


Introduction Architecture Apprentissage Pour aller plus loin

Apprentissages en ligne ou par lot

Coefficient d’apprentissage
La valeur du coefficient d’apprentissage peut fortement influencer
les performances.
S’il est trop fort, il peut entraı̂ner une divergence.
S’il est trop faible, il ralentit la convergence et peut ne pas
permettre de sortir d’un minimum local.
Introduction Architecture Apprentissage Pour aller plus loin

Accélérer la convergence (AdaGrad, RMSprop, Adam)

AdaGrad(Adaptative Gradient) [Duchi et al., 2011]


Principe
Application de l’algorithme de descente stochastique du gradient
avec un coefficient d’apprentissage spécifique à chaque poids (et
adapté à chaque itération).
α
∆wj (t) = − qP gj (t)
t 2
τ =1 gj (τ ) +
δE
avec gj (τ ) = δwj
(τ ) le gradient du poids wj à l’itération τ
Le coefficient d’apprentissage adaptatif est plus fort quand le
gradient est faible et plus faible quand le gradient est fort pour
assurer une modification du poids raisonnable.  = 10−8 est là pour
éviter une mise à jour impossible si le premier gradient est nul)

Pros
Converge plus efficacement.
Introduction Architecture Apprentissage Pour aller plus loin

Accélérer la convergence (AdaGrad, RMSprop, Adam)

AdaGrad(Adaptative Gradient) [Duchi et al., 2011]

Par analogie avec les optimiseurs suivants, on peut écrire aussi :

vj (t) = vj (t −1) + gj2 (t) et vj (0) = 0


α
∆wj (t) = − p gj (t)
vj (t) + 
δE
avec gj (t) = δwj
(t) le gradient du poids wj à l’itération t et gj2 (t)
son carré
(recommandation  = 10−8 et α = 10−3 )
Introduction Architecture Apprentissage Pour aller plus loin

Accélérer la convergence (AdaGrad, RMSprop, Adam)

RMSProp(Root Mean Square Propagation) [Tieleman & Hinton, 2012]

Principe
Adapte le pas d’apprentissage de chaque poids comme ’AdaGrad’
pour accélérer la convergence mais utilise une moyenne
exponentielle glissante du carré du gradient (au lieu de la somme).

α δE
∆w (t) = − q (t)
δE
 2 δE δw
(1 − β) δw (t −1) + β δw (t)

(recommandation β = 0.9,  = 10−8 et α = 10−3 )

Pros
Converge rapidement
Introduction Architecture Apprentissage Pour aller plus loin

Accélérer la convergence (AdaGrad, RMSprop, Adam)

RMSProp(Root Mean Square Propagation) [Tieleman & Hinton, 2012]

Par analogie avec les autres optimiseurs, on peut écrire aussi :

vj (t) = βvj (t −1) + (1 − β)gj2 (t) et vj (0) = 0


α
∆wj (t) = − p gj (t)
vj (t) + 
δE
avec gj (t) = δwj
(t) le gradient du poids wj à l’itération t et gj2 (t)
son carré.
(recommandation β = 0.9,  = 10−3 et α = 10−3 )
Introduction Architecture Apprentissage Pour aller plus loin

Accélérer la convergence (AdaGrad, RMSprop, Adam)

RMSProp(Root Mean Square Propagation)

[From Utkarsh Chawla]


Introduction Architecture Apprentissage Pour aller plus loin

Accélérer la convergence (AdaGrad, RMSprop, Adam)

Momentum

Le momentum permet d’accélérer la convergence.

[G.B. Orr]

δE
∆w (t) = −α (t) + µ∆w (t −1)
δw
(recommandation µ = 0.9)
Il sert de stabilisateur lorsque le gradient change souvent de signe
au gré des exemples.
Il renforce la modification lorsque le gradient est de même signe.
Introduction Architecture Apprentissage Pour aller plus loin

Accélérer la convergence (AdaGrad, RMSprop, Adam)

Gradient Descent with momentum

[From Utkarsh Chawla]


Introduction Architecture Apprentissage Pour aller plus loin

Accélérer la convergence (AdaGrad, RMSprop, Adam)

Adam(’ADAptive Moment’) [Kingma & Ba, 2015]


Principe
Combine l’algorithme de descente de gradient avec momentum et
l’algorithme RMSProp.
α
∆w (t) = − p m̂(t)
v̂ (t) + 
m(t)
m̂(t) = 1−β1t
et m(t) = β1 m(t −1) + (1 − β1 )gj (t)
v (t)
v̂ (t) = 1−β2t
et v (t) = β2 v (t −1) + (1 − β2 )gj2 (t)
δE
avec gj (t) = δwj
(t) le gradient du poids wj à l’itération t et gj2 (t)
son carré.
0 ≤ β1 , β2 < 1
(recommandation β1 = 0.9, β2 = 0.999,  = 10−8 et α = 10−3 )

Pros
Introduction Architecture Apprentissage Pour aller plus loin

Accélérer la convergence (AdaGrad, RMSprop, Adam)

Adam(’ADAptive Moment’)

[From Utkarsh Chawla]


Introduction Architecture Apprentissage Pour aller plus loin

Limiter le surapprentissage (régularisation, early stopping)

Combien de neurones cachés ?


Il existe un nombre de neurones cachés M qui donne les meilleures
performances en généralisation, lequel correspond au compromis
optimal entre le sous-apprentissage et le sur-apprentissage.

1 M =1 1 M =3 1 M = 10

0 0 0

−1 −1 −1

0 1 0 1 0 1

Figure – Cas d’un perceptron à deux couches entraı̂né sur 10 exemples


tirés d’une fonction sinusoı̈dale. Les figures montrent le résultat de la
modélisation de réseaux de neurones ayant M = 1, 3 et 10 neurones
cachés.
Introduction Architecture Apprentissage Pour aller plus loin

Limiter le surapprentissage (régularisation, early stopping)

Combien de neurones cachés ?

En pratique, une approche pour choisir M est de visualiser la


meilleure performance obtenue sur la base de validation (dans le
cas ci-dessous, on choisira M = 8).

160

140

120

100

80

60

0 2 4 6 8 10

Figure – Erreurs quadratiques obtenues pour 30 différentes initialisations


et différents nombres de neurones cachés sur une base d’exemples de test
d’une fonction polynomiale
Introduction Architecture Apprentissage Pour aller plus loin

Limiter le surapprentissage (régularisation, early stopping)

Décomposition Biais-Variance

L’erreur mesurée par la fonction de coût (ou de perte) peut être


décomposée en trois termes : le biais, la variance et un bruit
inhérent aux mesures.
le biais
Le biais est l’erreur mesurée entre les valeurs prédites et les valeurs
cibles.

la variance
La variance est la différence des performances quand on varie les
exemples d’apprentissage.

Il est préférable d’avoir une procédure d’apprentissage qui aboutit à


une faible variance (quitte à avoir un biais un peu plus important)
car les performances futures correspondront plus à celles observées.
Introduction Architecture Apprentissage Pour aller plus loin

Limiter le surapprentissage (régularisation, early stopping)

Régularisation

Une autre solution consiste à choisir une valeur relativement


grande pour M et de contrôler la complexité en ajoutant un terme
de régularisation à la fonction d’erreur.
Le régularisateur le plus simple est :
λ T
Ẽ (w) = E (w) + w w
2
Ce régularisateur est aussi connu sous le nom de weight decay.
La complexité du modèle est alors contrôlée par le choix du
coefficient de régularisation λ.
Introduction Architecture Apprentissage Pour aller plus loin

Limiter le surapprentissage (régularisation, early stopping)

Early Stopping
Une autre façon de contrôler la complexité d’un réseau est la
procédure du early stopping. L’apprentisage peut ici être arrêté
lorsque la plus petite erreur est obtenue sur le corpus de validation.
0.45

0.25

0.4

0.2

0.15 0.35
0 10 20 30 40 50 0 10 20 30 40 50

Figure – Illustration de l’évolution de l’erreur d’apprentissage (à gauche)


et de l’erreur de validation (à droite) pendant un apprentissage. Le but
étant d’obtenir les meilleures performances en généralisation,
l’apprentissage doit être arrêté au temps correspondant à la ligne
verticale.
Introduction Architecture Apprentissage Pour aller plus loin

Pour aller plus loin


Autres méthodes d’optimisation
Quickprop
Levenderg-Marquardt
Gradient conjugué
Quasi-Newton
Algorithmes génétiques
Autres architectures
Récurrentes : Elman, Jordan
Dynamiques : cascade correlation, Optimal Brain Damage,
Optimal Brain Surgeon
Learning Vector Quantization
Radial Basis Function
Sélection de variables
Optimal Cell Damage
Unit - Optimal Brain Surgeon
Combinaison de modèles
Bagging
Boosting
Introduction Architecture Apprentissage Pour aller plus loin

Bibliographie

Réseaux de neurones
MONTAVON G., ORR, G.B., MULLER K. R. (eds) Neural Networks : Tricks of the Trade. Lecture Notes
in Computer Science, vol 7700. Springer, Berlin, Heidelberg. 2012 [beaucoup d’astuces]
BISHOP C.M. : Pattern Recognition and Machine Learning, Springer, 2011 [la bible]
BOUGRAIN L. : Practical introduction to artificial neural networks, IFAC symposium on automation In
Mining, Mineral and Metal Processing, 2004 [un résumé]
DREYFUS G.,MARTINEZ J.-M., SAMUELIDES, GORDON M.B., BADRAN F., THIRIA S., HERAULT :
Réseaux de neurones : méthodologie et applications, eds. Eyrolles, 2002 [on y trouve la théorie et la
pratique]
THIRIA S., LECHEVALIER Y., GASCUEL O., CANU S : Statistique et méthodes neuronales, ed. Dunod,
1997 [de bonnes rubriques de présentation des concepts]
FAQ http://www.faqs.org/faqs/ai-faq/neural-nets/
Introduction Architecture Apprentissage Pour aller plus loin

Le perceptron (rétine)
Rosemblatt (1959)
Architecture :
réseau à deux couches mais seuls les poids de la deuxième
couche sont appris
la première couche extrait n features φj (x) avec j ∈ {1; 2; . . . ; n}

Algorithme : si t 6= y (x) alors ∆wj = t ∗ φj (x) avec x ∈ {−1; 1}N


où N est le nombre de variables d’entrée et t ∈ {−1; 1}
Introduction Architecture Apprentissage Pour aller plus loin

ADALINE (ADAptative LInear NEuron puis ADAptative LINear Element)

Widrow et Hoff (1960)


Architecture :

δE
Algorithme du delta ∆wj = −α δw j
avec E = 1/2(t − a)2 , a = j wj ∗ xj et x ∈ {−1; 1}
P
Introduction Architecture Apprentissage Pour aller plus loin

Perceptron, ADALINE et perceptron mulitcouches

Perceptron Achitecture à deux couches mais seule une couche


est apprise. Ne permet qu’une séparation linéaire
ADALINE La correction est proportionnelle à l’erreur
Perceptron multicouches étend la règle du delta à l’apprentissage
des features.
Introduction Architecture Apprentissage Pour aller plus loin

Architecture : Discrimination linéaire


Introduction Architecture Apprentissage Pour aller plus loin

Régression non linéaire


Introduction Architecture Apprentissage Pour aller plus loin

Architecture : Régression linéaire simple


Introduction Architecture Apprentissage Pour aller plus loin

Architecture : Régression linéaire multiple


Introduction Architecture Apprentissage Pour aller plus loin

Architecture : Régression linéaire multiple multivariée


Introduction Architecture Apprentissage Pour aller plus loin

Architecture : Régression polynômiale


Introduction Architecture Apprentissage Pour aller plus loin

Architecture : Modèle additif généralisé


Introduction Architecture Apprentissage Pour aller plus loin

Architecture : Régression par poursuite en projection


Introduction Architecture Apprentissage Pour aller plus loin

Architecture : Réseau à convolutions

Vous aimerez peut-être aussi