Académique Documents
Professionnel Documents
Culture Documents
1
Principes des RN
PERCEPTRON ET RÉGRESSION
4
Le perceptron: élément de base
𝑤𝐷
𝑥𝐷
6
Perceptron et régression
𝑖
1 𝑖 𝑖 2
𝐸 (𝐰) = 𝑦 −𝑓 𝑥
2
• Par montée du gradient, la mise à jour en ligne des 𝐷 + 1
éléments de 𝐰 sera:
𝑖 𝑖 𝑖
∆𝐰𝑑 = α 𝑦 −𝑓 𝑥 𝑥𝑑 ; 𝑑 = 0, … , 𝐷.
8
Algorithme d’apprentissage en ligne (régression)
• De manière générale:
𝒎𝒊𝒔𝒆 à 𝒋𝒐𝒖𝒓 = 𝑓𝑎𝑐𝑡𝑒𝑢𝑟 × 𝒔𝒐𝒓𝒕𝒊𝒆 𝒅é𝒔𝒊𝒓é𝒆 − 𝒔𝒐𝒓𝒕𝒊𝒆 𝒄𝒂𝒍𝒄𝒖𝒍é𝒆 × 𝒅𝒐𝒏𝒏é𝒆
PERCEPTRON ET CLASSIFICATION
10
Perceptron et classification binaire
• Le perceptron définit un hyperplan, et de ce fait divise
l’espace des données en deux parties qui forment deux
classes 𝐶1 et 𝐶2 si elles sont séparables.
1
𝑔(𝑥) =
1 + exp −𝐰 𝑇 𝑥
11
Perceptron et classification binaire
𝑖 𝑖 𝑖 𝑖 𝑖
𝐸 𝐰 = −𝑦 ln 𝑔 𝑥 − 1−𝑦 ln 1 − 𝑔 𝑥
12
Perceptron et multiple classes
• Pour un nombre de classes 𝐾 > 2, il faudra définir 𝐾
perceptrons, chacun avec un vecteur 𝐰𝑘 , 𝑘 ∈ *1, … , 𝐾+. La
probabilité à posteriori de chaque classe est définie par la
fonction suivante (fonction Softmax):
𝑔1 (𝑥 ) 𝑔2 (𝑥 ) 𝑔𝐾 (𝑥 )
exp −𝐰𝑘 𝑇 𝑥 ⋯
𝑔𝑘 𝑥 = 𝐰1 𝐰2 𝐰𝐾
𝑇
𝑗 exp −𝐰𝑗 𝑥
𝑔𝑘 (𝑥 ) ∈ 0,1
𝑥𝐷
13
Perceptron et multiple classes
• Soit les vecteurs *𝐰1 , 𝐰2 ,…, 𝐰𝐾 +.
16
Perceptron multicouches (PM)
• Le perceptron uni-couche peut approximer uniquement les
fonctions linéaires.
17
PM pour la régression non linéaire
(𝑥 ) Couche de
Sorties
𝑣0 𝑣1 𝑣𝐿
Couche cachée
⋯
𝑓1 (𝑥 ) 𝑓𝐿 (𝑥 )
𝑓0 (𝑥 ) = +1
⋯ Couche d’entrées
𝑥𝐷
18
PM pour la régression non linéaire
• Pour chaque fonction 𝑓𝑙 (𝑥), 𝑙 ∈ *1, … , 𝐿+, on aura:
1
𝑓𝑙 𝑥 = 𝐷
1 + exp − 𝑑=0 𝑤𝑙𝑑 𝑥𝑑
𝑥 = 𝑣𝑙 𝑓𝑙 (𝑥 )
𝑙=0
19
PM pour la régression non linéaire
• On peut remarquer que la première couche (cachée) opère
une transformation non-linéaire aux variables d’entrées, d’un
espace de dimension 𝐷 à un espace de dimension 𝐿.
20
Les réseaux de neurones (RN)
21
Algorithme de propagation en arrière
• L’entrainement d’un perceptron multicouches est similaire à
celui d’un perceptron simple. La différence réside seulement
dans les fonctions non-linéaires de la couche cachée.
𝑖
1 𝑖 𝑖 2 𝑖 𝑖
𝐸 = 𝑦 − où: = 𝑥
2
• Un poids 𝑣𝑙 va être mis à jour comme suit:
∆𝑣𝑙 = α 𝑦 𝑖 − 𝑖 𝑓𝑙 𝑖 ; 𝑙 = 0 , . . , 𝐿. où: 𝑓𝑙 𝑖
= 𝑓𝑙 𝑥 𝑖
𝜕𝐸 𝑖 𝜕𝐸 𝑖 𝜕 𝑖 𝜕𝑓𝑙 𝑖
= Le rôle de la règle de
𝜕𝑤𝑙𝑑 𝜕 𝜕𝑓𝑙 𝜕𝑤𝑙𝑑
chaine est de
simplifier les calculs
• La mise à jour du poids 𝑤𝑙𝑑 sera alors: des dérivées.
𝜕𝐸 𝑖
∆𝑤𝑙𝑑 =𝛼
𝜕𝑤𝑙𝑑
𝜕𝐸 𝑖 𝜕 𝑖 𝜕𝑓𝑙 𝑖
=𝛼 × ×
𝜕 𝜕𝑓𝑙 𝜕𝑤𝑙𝑑
𝑖 𝑖
=𝛼 𝑦 𝑖 − 𝑖 𝑣𝑙 𝑓𝑙 (1 − 𝑓𝑙 )𝑥𝑑 (𝑖) 23
Algorithme de propagation en arrière
𝜕𝐸 𝑖 𝜕𝐸 𝑖 𝜕 𝑖 𝜕𝑓𝑙 𝑖
∆𝑤𝑙𝑑 =𝛼 =𝛼 × ×
𝜕𝑤𝑙𝑑 𝜕 𝜕𝑓𝑙 𝜕𝑤𝑙𝑑
=𝛼 𝑦 𝑖
− 𝑖
𝑣𝑙 𝑓𝑙 𝑖 (1 − 𝑓𝑙 𝑖
)𝑥𝑑 (𝑖)
1 𝑖 𝑖 2
𝜕𝐸 𝑖 𝜕 𝑦 −
2 𝑖 𝑖
= = 𝑦 −
𝜕 𝜕
𝐿
𝜕 𝑖 𝜕 𝑙=0 𝑣𝑙 𝑓𝑙 (𝑥 )
= = 𝑣𝑙
𝜕𝑓𝑙 𝜕𝑓𝑙
1
𝜕
𝜕𝑓𝑙 𝑖 1 + exp − 𝐷𝑑=0 𝑤𝑙𝑑 𝑥𝑑
= = 𝑓𝑙 𝑖 (1 − 𝑓𝑙 𝑖 )𝑥𝑑 (𝑖)
𝜕𝑤𝑙𝑑 𝜕𝑤𝑙𝑑
24
Algorithme de propagation en arrière
• Le produit 𝑦 𝑖 − 𝑖 𝑣𝑙 agit comme un terme d’erreur de
l’unité 𝑓𝑙 . Elle a été propagée en arrière de l’erreur 𝐸 𝑖 au
unité cachées.
1
𝑔 𝑥 = 𝐿
1 + exp − 𝑙=0 𝑣𝑙 𝑓𝑙 (𝑥 )
𝑖 𝑖 𝑖 𝑖 𝑖
𝐸 = −𝑦 ln 𝑔 𝑥 − 1−𝑦 ln 1 − 𝑔 𝑥
26
PM et classification binaire
• Les mise à jour en ligne qui vont s’opérer sur les coefficients
du PM sont données comme suit:
𝑖 𝑖 𝑖
∆𝑣𝑙 =α 𝑦 −𝑔 𝑓𝑙
∆𝑤𝑙𝑑 = 𝛼 𝑦 𝑖
−𝑔 𝑖
𝑣𝑙 𝑓𝑙 𝑖 (1 − 𝑓𝑙 𝑖
)𝑥𝑑 (𝑖)
27
PM et multiple classes
• Lorsque nous avons plusieurs classes *𝐶1 , … , 𝐶𝐾 + où 𝐾 > 2, on
aura 𝐾 sorties. La probabilité à posteriori peut être calculé en
utilisant la fonction Softmax. 𝑔1 (𝑥 ) 𝑔2 (𝑥 ) 𝑔𝐾 (𝑥 )
exp −𝐯𝑘 𝑇 𝑓𝑘 (𝑥 )
𝑔𝑘 (𝑥 ) = 𝑇
𝑙 exp −𝐯𝑙 𝑓𝑙 (𝑥 )
⋯
+1 𝑓2 (𝑥 ) 𝑓𝐿 (𝑥 )
𝑥𝐷 28
PM et multiple classes
• L’étiquette du i-ième exemple sera définie par 𝑦 𝑖 =
𝑦1 𝑖 , 𝑦2 𝑖 , … , 𝑦𝐾 𝑖 , où 𝑦𝑘 𝑖 = 1 si l’exemple est de classe 𝐶𝑘 .
𝑖 𝑖 𝑖
∆𝑣𝑘𝑙 = α 𝑦𝑘 − 𝑔𝑘 𝑓𝑙
𝐾
𝑖 𝑖
∆𝑤𝑙𝑑 = 𝛼 𝑦𝑘 𝑖
− 𝑔𝑘 𝑖
𝑣𝑘𝑙 𝑓𝑙 (1 − 𝑓𝑙 )𝑥𝑑 (𝑖)
𝑘=1
29
PM et multiple classes
Algorithme:
31