Réseaux de Neurones Artificiels à Kairouan
Réseaux de Neurones Artificiels à Kairouan
Et de la Technologie de Kairouan
Mohamed NJAH
Maître de Conférences en Génie Electrique
2019/2020
1
RESEAUX DE NEURONES ARTIFICIELS
INTRODUCTION
1- Apprentissage automatique (Machine Learning)
Forme de l’intelligence artificielle permettant aux ordinateurs d’améliorer
leurs performances sur une tâche spécifique en se servant de données sans
aucune nécessité de programmation directe à cet effet.
2
RESEAUX DE NEURONES ARTIFICIELS
INTRODUCTION
2- Réseaux de Neurones Artificiels (RNA)
1- Modèles pilotés par les données
2- Conception inspirée du fonctionnement des neurones biologiques.
3- Capables de s'adapter à n'importe quel système tant qu’ils contiennent un
nombre suffisant de neurones et de couches cachées
Base de données
Exemples affectés de
résultats
3
RESEAUX DE NEURONES ARTIFICIELS
INTRODUCTION
3- Différents domaines d’application
1- Reconnaissance de formes, 8- Contrôle de l’environnement,
2- Contrôle non destructif, 9- Robotique,
3- Filtrage d’informations textuelles, 10- Interprétation de spectres,
4- Bio-ingénierie, 11- Classification d’images satellitaires,
5- Formulation de matériaux nouveaux, 12- Classification de signaux de sonar,
6- Commande de processus, etc.
7- Modélisation de procédés industriels,
4
RESEAUX DE NEURONES ARTIFICIELS
INTRODUCTION
4- Inspiration de la biologie
5
RESEAUX DE NEURONES ARTIFICIELS
INTRODUCTION
5- RNAs bouclés et non bouclés
Réseaux de Neurones
Artificiels (RNAs)
6
RESEAUX DE NEURONES ARTIFICIELS
INTRODUCTION
6- Différentes techniques d’apprentissage
Apprentissage supervisé Apprentissage non supervisé
Existence d’une base de données L’apprentissage se fait de façon totalement
d’apprentissage. autonome.
Pourcentage dominant des réseaux de Des données sont communiquées à la
neurones que ce soit en recherche ou machine sans lui fournir les exemples de
dans les applications réelles. résultats attendus en sortie.
Propriété fondamentale : Approximation Principalement utilisé dans le regroupement
non linéaire parcimonieuse RNAs sont de données hétérogènes sous forme de
d’excellents outils de modélisation non sous-groupes homogènes ou liés par des
linéaire par apprentissage. caractéristiques communes.
𝒏
𝒏 𝟐
𝒚 = 𝒇𝒔 𝒘𝟎 + 𝒘𝒊 𝒙𝒊 𝒙 𝒋 − 𝒄𝒋
𝒚 = 𝒇𝒈 𝒙 = 𝒆𝒙𝒑 −
𝒊=𝟏 𝝈𝒋 𝟐
𝒋=𝟏
𝟏
𝒇𝒔 𝒖 = Sigmoïde Gaussiènne
𝟏+𝒆−𝒄𝒖
𝒆𝒖 −𝒆−𝒖
𝒇𝒔 𝒖 = 𝒆𝒖 +𝒆−𝒖
tangente hyperbolique
9
Chapitre 1
ARCHITECTURES DES RNAs
1- Neurone formel
Neurone formel Neurone formel
(Paramètres reliés aux entrées, f fixe) (Paramètres reliés à la fonction d’activation)
𝒏 𝒏 𝟐
𝒚 = 𝒇𝒔 𝒘𝟎 + 𝒘𝒊 𝒙𝒊 𝒙 𝒋 − 𝒄𝒋
𝒚 = 𝒇𝒈 𝒙 = 𝒆𝒙𝒑 −
𝒊=𝟏 𝝈𝒋 𝟐
𝒋=𝟏
𝟏 fg: Gaussiènne
𝒇𝒔 𝒖 = 𝟏+𝒆−𝒄𝒖 Sigmoïde
10
Chapitre 1
ARCHITECTURES DES RNAs
2- Réseaux de Neurones Artificiels (RNAs)
Du neurone formel vers le RNA: Le neurone formel est l'unité élémentaire des RNAs dans
lesquels il est associé à ses semblables pour calculer des fonctions arbitrairement
complexes, utilisées pour diverses applications en intelligence artificielle. L’intérêt des
neurones réside dans les propriétés qui résultent de leur association en réseaux, c’est-à-
dire de la composition des fonctions non linéaires réalisées par chacun des neurones.
Définition : Un RNA est une association de neurones formels de manière à pouvoir
réaliser par apprentissage différentes fonctions de l’intelligence artificielle
essentiellement de classification et de régression
Réseau de
Hopfield
12
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
1- Un réseau de neurones non bouclé est un système statique qui réalise une (ou
plusieurs) fonctions de ses entrées, par composition des fonctions réalisées par chacun
des neurones.
2- Un réseau de neurones non bouclé est représenté graphiquement par un ensemble de
neurones connectés entre eux, l’information circulant depuis les entrées vers les sorties
sans retour en arrière.
W1 , b 1 W2 , b2 W3 , b3
1=u0 1=0 1=z0
u1 z y y1
fs fs fs
u2 y2
fs fs fs
. . . .
. . . .
un .f .f .f ym
. s s s
Les entrées 14
Figure 2. Architecture du perceptron multicouche
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-1- Perceptron multicouche (MLP)
L’apprentissage d’un MLP est une opération d’ajustement de courbes
dans un espace multidimensionnel
Idée de base :
1- Créer, au début et de manière aléatoire, une surface suffisamment complexe et
paramétrée dans un espace multidimensionnel,
2- Passer ensuite à une phase de déformation de cette surface en ajustant les
paramètres de manière à diminuer l’écart entre cette surface et celle recherchée.
L’ajustement de cette surface se poursuit jusqu’à l’obtention d’un niveau de
ressemblance suffisant avec la fonction désirée.
15
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-1- Perceptron multicouche (MLP)
L’apprentissage d’un MLP est une opération d’ajustement de courbes
dans un espace multidimensionnel
16
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-1- Perceptron multicouche (MLP)
Cas particulier : MLP à une couche cachée et un neurone de sortie linéaire
NC neurones
1=u0
cachés
bc1 1
u1 W11
W12 fs bo
WO1
u2
2
fs WO2
y
.
. .
. .
.
bcNC
WNC2 WONC
NC
un WNCn fs
𝑁𝐶 𝑛
18
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-2- RBF: Réseau de neurones à fonction de base radiale
(Radial Basis Function Neural Network)
1- les paramètres sont attachés à la fonction d’activation (les centres et les ouvertures
des gaussiennes) et non pas aux poids des entrées comme le cas des perceptrons.
2- La sortie du réseau est une somme pondérée des sorties des différents neurones
Lorsque les fonctions radiales sont spécifiées, les seuls paramètres du réseau qui
restent à ajuster sont les poids wi. Puisque la sortie y dépend linéairement de ces poids
donc l’erreur sur la sortie est une fonction quadratique de ces paramètres. Ces derniers
peuvent être ajustés en utilisant des outils d’optimisation linéaires.
Ces réseaux ont été appliqués avec succès dans la résolution de problèmes de régression
et de classification de données dans plusieurs domaines comme :
- le traitement de signal,
- l’identification de systèmes,
- le contrôle,
- le diagnostic,
19
- ...
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-2- RBF: Réseau de neurones à fonction de base radiale
(Radial Basis Function Neural Network)
Cas particulier : RBF à un seul neurone de sortie
u1 a1 1
fg(c1,1,u) w1
w0
u2 fg(c2,2,u) a2
w2
y
un fg(cN,N,u) aN
wN
𝑵 𝒏 𝟐
𝒖𝒋 − 𝒄𝒊𝒋
𝒚 = 𝒇 𝒖 = 𝒘𝟎 + 𝒘𝒊 𝒆𝒙𝒑 −
𝝈𝟐𝒊𝒋
𝒊=𝟏 𝒋=𝟏
20
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-3- Autres architectures
Réseau à une seule couche cachée et termes directs
1=u0 NC neurones
cachés
bc1
u1 1
W11
fs bo
W12 WO1
u2
WL1
2
y
fs WO2
.
. .
. .
. WLn
bcNC
WNC2 WONC
NC
un fs
WNCn
C’est une extension du réseau à couche qui sert lorsque la relation entre les entrées et les
sorties présente une importante composante linéaire. On ajoute, à la structure de réseau à
couches, des termes linéaires appelés termes directs représentés par des connexions
21
directes entre les entrées et le neurone de sortie
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-3- Autres architectures
Réseau à une seule couche cachée et termes directs
NC neurones
1=u0
cachés
bc1
u1 1
W11
fs bo
W12 WO1
u2
WL1
2
y
fs WO2
.
. .
. .
. WLn
bcNC
WNC2 WONC
NC
un fs
WNCn
𝑵𝑪 𝒏 𝒏
Lorsqu’un nouveau nœud est créé, il est connecté à toutes les entrées, à toutes les
sorties et à tous les autres nœuds du réseau.
Chaque nœud constitue à lui seul une couche cachée.
Les nœuds sont généralement activés par des fonctions simples comme la sigmoïde.
La mise en cascade des nœuds crée à partir des fonctions simples, des fonctions riches
et diversifiées capables de modeler différentes formes compliquées.
23
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-3- Autres architectures
Architecture en cascade
4- Faites un ajustement des poids de la couche de sortie d’un taux de 0.1 de manière à
1
rapprocher la sortie réelle du vecteur 𝑼 = de sa sortie désirée. Quelles sont alors les
1
nouvelles valeurs des poids de sortie? Et quelle est la nouvelle sortie réelle?
5- Faites un ajustement des biais de la couche cachée d’un taux de 0.1 de manière à
1
rapprocher encore la sortie réelle du vecteur 𝑼 = de sa sortie désirée. Quelles sont
1
alors les nouvelles valeurs de biais? Et quelle est la nouvelle sortie réelle?
27
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-4- Exercices
Exercice 1: Approximation par MLP de la fonction f/f(x,y)=x²+y²
1 2
𝑾𝟏 = , 𝑊 2 = 2 2 , 𝑏1 = 0,5 1 et 𝑏2 = 1
0,5 3
6- Faites un ajustement des poids de la couche cachée d’un taux de 0.1 de manière à
1
rapprocher encore la sortie réelle du vecteur 𝑼 = , de sa sortie désirée. Quelles sont
1
alors les nouvelles valeurs des poids ? Et quelle est la nouvelle sortie réelle?
−5
7- Reprendre ces étapes en considérant maintenant le vecteur 𝑼 = .
5
8- Vérifiez avec les nouveaux poids si les sorties du RNA relatives au vecteur d’entrée
1
𝑼= se sont améliorées ou détériorées.
1
28
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-4- Exercices
Exercice 2: Approximation par RBF de la fonction f/f(x,y)=x²+y²
On continue avec le problème d’approximation de la fonction à 2 entrées et une sortie
f/f(x,y)=x²+y² mais cette fois à l’aide d’un RBF contenant deux neurones dans sa couche
cachée. La fonction d’activation des neurones cachées est la gaussienne définie comme
𝒙−𝒄 𝟐
−
suit: f(𝒙) = 𝒆 𝝈𝟐
𝑐11 𝑐21
La matrice des centres des fonctions d’activation gaussiennes est 𝒄 = 𝑐 𝑐22 ,
12
𝜎11 𝜎21
La matrice des ouvertures des fonctions d’activation gaussiennes est 𝝈 = 𝜎 𝜎22 ,
12
29
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-4- Exercices
Exercice 2: Approximation par RBF de la fonction f/f(x,y)=x²+y²
2- Une initialisation aléatoire des centres et des ouvertures des gaussiennes et des poids
et biais a donné les valeurs suivantes :
1 2 1,2 1,5
𝒄= ,𝝈= , 𝑊 = 1.2 2 et 𝑏 = 0,7 .
0,5 3 0,75 0,5
1
Calculer les sorties réelles et désirées du vecteur 𝑼 = ,
1 𝑵 𝒏 𝟐
𝒖𝒋 − 𝒄𝒊𝒋
𝒚 = 𝒇 𝒖 = 𝒘𝟎 + 𝒘𝒊 𝒆𝒙𝒑 −
𝝈𝟐𝒊𝒋
𝒊=𝟏 𝒋=𝟏
3- Faites un ajustement du biais de la couche de sortie d’un taux de 0.1 de manière à
1
rapprocher la sortie réelle du vecteur 𝑼 = , de sa sortie désirée. Quelle est alors la
1
nouvelle valeur du biais? Quelle est la nouvelle sortie réelle?
4- Faites un ajustement des poids de la couche de sortie d’un taux de 0.1 de manière à
1
rapprocher la sortie réelle du vecteur 𝑼 = , de sa sortie désirée. Quelles sont alors les
1
nouvelles valeurs de poids et biais? Quelle est la nouvelle sortie réelle? 30
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-4- Exercices
Exercice 2: Approximation par RBF de la fonction f/f(x,y)=x²+y²
1 2 0,5 0,5
𝒄= ,𝝈= , 𝑊 = 2 2 et 𝑏 = 1 .
0,5 3 0,5 0,5
5- Faites un ajustement des centres des gaussiennes d’un taux de 0.1 de manière à
1
rapprocher encore la sortie réelle du vecteur 𝑼 = , de sa sortie désirée. Quelles sont
1
alors les nouvelles positions des centres des gaussiennes ? Quelle est la nouvelle sortie
réelle?
6- Faites un ajustement des ouvertures des gaussiennes d’un taux de 0.1 de manière à
1
rapprocher encore la sortie réelle du vecteur 𝑼 = , de sa sortie désirée. Quelles sont
1
alors les nouvelles ouvertures des gaussiennes ? Quelle est la nouvelle sortie réelle?
−5
7- Reprendre ces étapes en considérant maintenant le vecteur 𝑼 = .
5
8- Vérifiez avec les nouveaux poids, biais et paramètres des fonctions d’activation si les
1
sorties du RNA relatives au vecteur d’entrée 𝑼 = se sont améliorées ou détériorées.31
1
Chapitre 1
32
Chapitre 1
ARCHITECTURES DES RNAs
4- Réseaux de neurones bouclés
4-2- Forme canonique d’un RNA bouclé
Dans sa forme canonique, un RNA bouclé est formé d’un RNA non bouclé dont les sorties
d’état sont ramenées à ses entrées par des bouclages de retard unité représenté par q-1
Tout réseau de neurones bouclé, aussi complexe soit-il, peut être mis sous une forme
canonique (RNA non bouclé dont les sorties d’état sont ramenées aux entrées avec retard
unité). Ainsi, conformément à la figure ci-dessus, la forme canonique d’un RNA bouclé est
formulée comme suit: 𝒙 𝒌 = 𝝓 𝒙 𝒌 − 𝟏 , 𝒖(𝒌 − 𝟏)
𝒈 𝒌 = 𝚿 𝒙 𝒌 − 𝟏 , 𝒖(𝒌 − 𝟏) 33
Chapitre 1
34
Chapitre 1
ARCHITECTURES DES RNAs
4- Réseaux de neurones bouclés
4-4- Exercice
Exercice 3: On considère le
RNA bouclé ci-contre.
N.B. Les chiffres dans les carrés indiquent le retard attaché à chaque connexion, exprimé en multiple
de l’unité de temps (ou période d’échantillonnage) T.
1- Prouvez qu’il s’agit bien d’un RNA bouclé.
2- Quel est l’ordre de cet RNA ?
3- Donnez la représentation canonique de cet RNA bouclé.
35
Chapitre 1
ARCHITECTURES DES RNAs
4- Réseaux de neurones bouclés
4-4- Exercice
Solution :
1- Ce réseau contient un cycle, qui part du neurone 3, passe par le neurone 4 et revient au neurone 3.
Aussi, la connexion de 4 vers 3 contient un retard d’une unité de temps. Ce RNA est alors bouclé.
2- Ce réseau est du 1er ordre puisqu’il présente une seule variable d’état qui est la sortie du neurone 3.
N.B. Dans cet exemple, ce neurone est un neurone caché, mais, un neurone d’état peut aussi être un
neurone de sortie.
3- La forme canonique de ce RNA bouclé est donnée dans la figure ci-dessous.
Pour prouver que la forme canonique correspond bien au RNA bouclé, à l’instant kT dans les deux
représentations :
- le neurone 4 reçoit en entrée u2[(k–1)T] et (x[(k–1)T]=y3[(k–1)T]) et calcule y4[(k–1)T] ;
- le neurone 3 reçoit en entrée u1(kT), u2[(k–1)T] et y4[(k–1)T] et calcule y3(kT) ;
- le neurone 5 reçoit en entrée y3(kT), u1(kT) et y4[(k–1)T] et calcule la sortie du RNA g(kT).
Les deux réseaux sont ainsi bien équivalents fonctionnellement. 37
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
1- Principe
W1 , b1 W2 , b2 W3 , b3
1= 0 1=z0
1=u0
y
Base de données u1
fs fs
z
fs
y1
u2 y2
fs fs fs
Exemples affectés de
. . . .
résultats . . . .
. . . . ym
un
fs fs fs
38
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
1- Principe
39
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs
Algorithme de Retro propagation de l’erreur: Il cherche le minimum de la fonction erreur
dans l’espace des poids, utilisant la méthode de la descente du gradient.
• Soient {yi(n)} et {si(n)}, respectivement l’ensemble des sorties observées et l’ensemble
des sorties espérées lors de la présentation du nème exemple. Ce que l’on cherche à
minimiser est l’erreur quadratique observée sur cet exemple:
𝒏_𝒔𝒐𝒓𝒕𝒊𝒆𝒔
𝑸 𝒏 = 𝒚𝒊 𝒏 − 𝒔𝒊 (𝒏) 𝟐
𝒊=𝟏
W1 , b1 W2 , b2 W3 , b3
1= 0 1=z0
1=u0
y
Base de données u1
fs fs
z
fs
y1
u2 y2
fs fs fs
Exemples affectés de
. . . .
résultats . . . .
. . . . ym
un
fs fs fs 40
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs
Algorithme de Retro propagation de l’erreur: Il cherche le minimum de la fonction erreur
dans l’espace des poids, utilisant la méthode de la descente du gradient.
• On minimise cette erreur par la méthode du gradient, c’est à dire en faisant évoluer les
poids wij dans la direction indiquée par le gradient de Q suite à la présentation du nème
vecteur de la base d’apprentissage. Ainsi :
𝝏𝑸
∆𝒘𝒊𝒋 𝒏 = −𝜼( )
𝝏𝒘𝒊𝒋
où ϵ ]0.1[ est le coefficient d’ajustement des poids synaptiques et wij est le poids de
la connexion qui part du nœud j d’une couche vers le nœud i de la couche suivante.
Ceci donne ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋
Avec aj est la sortie du nœud j et :
pour un neurone i de la couche de sortie :
𝜹𝒊 = 𝒇′ (𝒆𝒊 )(𝒚𝒊 − 𝒔𝒊 ), ei étant l’entrée de la fonction d’activation f du neurone de sortie i
et pour un neurone i d’une couche cachée :
𝒏𝒏𝒐𝒆𝒖𝒅𝒔
𝑬 𝟎 = 𝑸(𝒑)
𝒑=𝟏
43
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs
Algorithme de Retro propagation de l’erreur: Il cherche le minimum de la fonction erreur
dans l’espace des poids, utilisant la méthode de la descente du gradient.
Exercice 4: Régression par MLP
5- Dans le premier cycle d’apprentissage, les vecteurs de la base d’apprentissage sont
présentés dans un ordre aléatoire qui était le suivant: 𝐮 𝟓 , 𝐮 𝟏 , 𝐮(𝟒), 𝐮(𝟐) et 𝐮 𝟑 .
5-1- Calculer, suite à la présentation du vecteur u(5),
les ajustements apportés aux poids et biais de la couche de sortie,
les ajustements apportés aux poids et biais de la couche cachée,
les nouvelles valeurs de 𝑾(𝟐) et de 𝒃(𝟐) .
les nouvelles valeurs de 𝑾(𝟏) et de 𝒃(𝟏) .
la nouvelle sortie réelle relative à u(5).
5-2- Calculer, suite à la présentation du vecteur u(1), les ajustements et les nouvelles
valeurs des différents poids et biais. La sortie réelle de u(1) est elle améliorée ? Est-ce que
c’est de même pour u(5)?
5-3- Calculer, suite à la présentation du vecteur u(4), les ajustements et les nouvelles
valeurs des différents poids et biais.
44
Chapitre 2 ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs Exercice 4: Régression par MLP (5-1)
1=fs’(e11)*w1(2)*s =
b1(1) (0.5) 1
W11(1) (1) fs
e1
u1 a1 b(2) (-1)
W12(1) (2) W1(2) (2) s=
1 es
y
u2 W21(1) (0.5) b2(1) (1) Id
W2(2) (-1)
a2
W22(1) (3) e2
fs
2=fs’(e2)*w2(2)*s =
Vecteur e1 a1 e2 a2 yréelle ydésirée Q
𝟏 3,5 0,97 4,5 0,99 -0,05 1 1,1
U(1)=
𝟏
𝟏 -0,5 0,37 -1,5 0,18 -0,44 2 5,95
U(2)=
−𝟏
−𝟏 1,5 0,82 3,5 0,97 -0,33 -1 0,44
U(3)=
𝟏
−𝟏 -2,5 0,075 -2,5 0,075 -0,925 -0,5 0,18
U(4)=
−𝟏
𝟎 0,5 0,62 1 0,73 -0,48 0 0,23
U(5)= 45
𝟎
Chapitre 2 ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs Exercice 4: Régression par MLP (5-1)
1=fs’(e1)*w (2)
1 1 *s =-0,23
b1(1) (0.5) 1
W11(1) (1) fs
e1
u1 a1 b(2) (-1)
W12(1) (2) W1(2) (2) s=-0,49
1 es
y
u2 W21(1) (0.5) b2(1) (1) Id
W2(2) (-1)
a2
W22(1) (3) e2
fs
2=fs’(e2)*w2(2)*s =0,097
Vecteur e1 a1 e2 a2 yréelle ydésirée Q
𝟏 3,5 0,97 4,5 0,99 -0,05 1 1,1
U(1)=
𝟏
𝟏 -0,5 0,37 -1,5 0,18 -0,44 2 5,95
U(2)=
−𝟏
−𝟏 1,5 0,82 3,5 0,97 -0,33 -1 0,44
U(3)=
𝟏
−𝟏 -2,5 0,075 -2,5 0,075 -0,925 -0,5 0,18
U(4)=
−𝟏
𝟎 0,5 0,62 1 0,73 -0,49 0 0,24
U(5)= 46
𝟎
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs Exercice 4: Régression par MLP (5-1)
1
1 b1(1) (0.5) 1
W11(1) (1)
e1
u1 fs a1 b(2) (-1)
W12(1) (2) W1(2) (2) s
y
u2 W21(1) (0.5) 2
1
b2(1) (1) es
id
W2(2) (-1)
a2
W22(1) (3) e2
fs
4) E(0)=1,1+5,95+0,44+0,18+0,24=7,91
pour un neurone i de la couche de sortie : 𝜹𝒊 = 𝒇′ (𝒆𝒊 )(𝒚𝒊 − 𝒔𝒊 ),
f=id: f(x)=x f’(x)=1 s=1*(yréel-ydésirée )=-0,49
𝒏𝒏𝒐𝒆𝒖𝒅𝒔
et pour un neurone i d’une couche cachée : 𝜹𝒊 = 𝒇′ (𝒆𝒊 ) 𝒌=𝟏 𝜹𝒌 𝒘𝒌𝒊
f=fs f’=f(1-f)f’(ei)= fs(ei)*(1-fs(ei))=ai*(1-ai).
1=a1*(1-a1)*s*W1(2) = 0,62*0,38*(-0,49)*2=-0,23
2=a2*(1-a2)*s*W2(2) = 0,73*0,27*(-0,49)*(-1)=0,096
47
Chapitre 2 ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋
𝑾(𝟐) = 𝟐 −𝟏 + 𝟎, 𝟏𝟐 𝟎, 𝟏𝟒 = 𝟐, 𝟏𝟐 −𝟎, 𝟖𝟔 ,
𝒃(𝟐) = −𝟏 + 𝟎, 𝟏𝟗 = −𝟎, 𝟖𝟏
1
1 b1(1) (0.592) 1
W11(1) (1)
e1
u1 fs a1 b(2) (-0,81)
W12(1) (2) W1(2) (2,12) s
y
u2 W21(1) (0.5) 2
1
b2(1) (0,96) es
id
W2(2) (-0,86)
a2
W22(1) (3) e2
fs
49
Chapitre 2 ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋
51
Chapitre 2 ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋
54
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs
Algorithme de Retro propagation de l’erreur: Il cherche le minimum de la fonction erreur
dans l’espace des poids, utilisant la méthode de la descente du gradient.
résultats OUTM
W1H
INN 60
WMH
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme newrb de synthèse des réseaux RBF : Il commence avec 0 neurone, ensuite il
reprend les étapes suivantes jusqu’à ce que l’erreur descende en dessous de la valeur ‘goal’:
1- Le réseau de neurones est testé,
2- Le vecteur de la base qui montre la plus grande erreur est sélectionné,
3- Un nouveau neurone est ajouté avec les poids égaux au vecteur
4- Les poids sont ajustés de manière à minimiser l’erreur quadratique.
N.B. Une ouverture des gaussiennes trop importante signifie que de nombreux neurones sont nécessaires pour
s'adapter à une fonction à évolution rapide. Une ouverture trop petite signifie que de nombreux neurones
sont nécessaires pour s'adapter à une fonction lisse, et le réseau peut ne pas généraliser correctement.
1 1
résultats OUTM
W1H
INN 61
WMH
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD de synthèse des réseaux RBF :
L’algorithme de descente maximale (AMD: Algorithm of Maximal Descent) est un
algorithme incrémental qui commence avec 0 neurone caché. Ensuite, il procède à la
construction du réseau par cycles.
Dans le premier cycle, AMD construit le premier neurone centré sur le milieu des vecteurs
de la base et l’ouverture des fonctions d’activation gaussiennes est égale au double de la
moyenne des distances entre ces vecteurs. Les poids sont initialisés égaux aux moyennes
des sorties désirées des différents modèles et le biais est initialisé nul. Il n’y a aucun
ajustement des paramètres dans le premier cycle.
𝒆 𝒑 = 𝒔 𝒑 − 𝒚(𝒑)
Dans les cycles suivants, AMD calcule l’erreur e(p) de chaque modèle p de la base
d’apprentissage contenant P modèles et recrute le modèle ‘win’ qui montre la plus grande
erreur ewin comme centre d’un nouveau nœud c(n+1) du réseau.
𝒆𝒘𝒊𝒏 = 𝒔𝒖𝒑 𝒆 𝒑 , 𝒑 = 𝟏, … . . , 𝑷.
62
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD de synthèse des réseaux RBF :
Ce nouveau nœud est activé avec une fonction gaussienne initialisée comme suit :
Le centre : 𝒄 𝒏 + 𝟏 = 𝒙𝒘𝒊𝒏
L’ouverture est initialisée en chaque composante i égale au double de la distance
séparant le nouveau nœud du nœud le plus proche :
(𝒏+𝟏) 𝒏+𝟏
𝝈𝒊 = 𝟐 ∗ 𝐦𝐢𝐧 𝒅(𝒄 , 𝒄𝒕 )
𝟏≤𝒕≤𝒏
Le poids w est initialisé égal à la différence entre la sortie désirée et la sortie réelle du
vecteur recruté (21):
𝒘 𝒏 + 𝟏 = 𝒔𝒘𝒊𝒏 − 𝒚𝒘𝒊𝒏
La descente du gradient est ensuite appliquée à tous les paramètres du réseau : les
centres, les ouvertures et les poids de tous les nœuds. Un nombre prédéfini d’itérations est
autorisé dans chaque cycle. Dans chaque itération, tous les vecteurs de la base sont
présentés dans un ordre aléatoire pour l’ajustement des paramètres. L’erreur E à minimiser
lors de la présentation d’un vecteur p de la base d’apprentissage est formulée comme suit:
𝒏_𝒔𝒐𝒓𝒕𝒊𝒆𝒔
𝑬 𝒑 = 𝒚𝒊 𝒑 − 𝒔𝒊 (𝒑) 𝟐
63
𝒊=𝟏
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
u1 1
fg(c1,1,u) w1
b
u2 fg(c2,2,u) w2
y
un fg(cN,N,u) wN 65
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
Exercice 5: Régression par RBF
La fonction d’activation des neurones cachés est la gaussienne définie comme suit:
𝒙−𝒄 𝟐
−
f(𝒙) = 𝒆 𝝈𝟐
𝑐11 𝑐21 … …
La matrice des centres des fonctions d’activation gaussiennes est 𝒄 = 𝑐 𝑐22 … … ,
12
𝜎11 𝜎21 … …
La matrice des ouvertures des fonctions d’activation gaussiennes est 𝝈 = 𝜎 ,
12 𝜎22 … …
Le vecteur des poids de la couche de sortie est 𝑊 = 𝑊1 𝑊2 … … ,
Le biais du neurone de sortie est 𝑏.
On se propose d’appliquer l’algorithme AMD dans l’apprentissage de ce réseau de neurones
avec un taux 𝜼=0,1 et 𝝌=1.
Premier cycle d’apprentissage
1- Quel est le premier vecteur à recruter?
66
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs 𝑵 𝒏 𝟐
𝒖𝒋 − 𝒄𝒊𝒋
Exercice 5: Régression par RBF 𝒚=𝒇 𝒖 =𝒃+ 𝒘𝒊 𝒆𝒙𝒑 −
𝝈𝟐𝒊𝒋
𝒊=𝟏 𝒋=𝟏
u1 1
b
g1 W1 y
u2 fg(c1,1,u)
𝟐 𝟐
𝒖𝟏 − 𝒄𝟏𝟏 𝒖𝟐 − 𝒄𝟏𝟐 𝟐² + 𝟐²
𝒈𝟏 = 𝒆𝒙𝒑 − + = 𝒆𝒙𝒑 − = 𝟎, 𝟏𝟓𝟒
𝝈𝟐𝟏𝟏 𝝈𝟐𝟏𝟐 𝟐, 𝟎𝟕2
2- Représenter le réseau.
3- Donnez les matrices des centres, des ouvertures et des poids.
2
𝒅𝟏𝟐 = 𝟏 − −𝟏 + (𝟏 − 𝟏)² = 𝟐, 𝒅𝟏𝟑 = 𝟐, 𝒅𝟏𝟒 = 𝟐 𝟐, 𝒅𝟏𝟓 = 𝟐, 𝒅𝟐𝟑 = 𝟐 𝟐, 𝒅𝟐𝟒 = 𝟐,
𝒅𝟐𝟓 = 𝟐 𝟐, 𝒅𝟑𝟒 = 𝟐, 𝒅𝟑𝟓 = 𝟐, 𝒅𝟒𝟓 = 𝟐 _init=(8+9 𝟐)/10=2,07.
𝒄𝟏𝟏 𝟏 𝝈𝟏𝟏 𝟐, 𝟎𝟕
𝒄= 𝒄 = ,𝝈 = 𝝈 = , 𝑾 = 𝑾𝟏 = 𝒔 𝟑 = 𝟎, 𝟓 𝒃= 𝟎
𝟏𝟐 −𝟏 𝟏𝟐 𝟐, 𝟎𝟕 67
Chapitre 2 Exercice 5: Régression par RBF
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs 𝒖𝟏 − 𝒄𝟏𝟏 𝟐 𝒖𝟐 − 𝒄𝟏𝟐 𝟐 𝟐
𝒈𝟏 = 𝒆𝒙𝒑 − + = 𝒆𝒙𝒑 −
𝝈𝟐𝟏𝟏 𝝈𝟐𝟏𝟐 𝟐, 𝟎𝟕²
4- Calculez la sortie réelle et la sortie désirée correspondant à chacun des vecteurs de
la base d’apprentissage.
Vecteur g1 yréelle Y désirée S1 Q
𝟏 1
U(1)=
𝟏
−𝟏 2
U(2)=
𝟏
𝟏 0,5
U(3)=
−𝟏
−𝟏 -2
U(4)=
−𝟏
𝟎 -1
U(5)=
𝟎
5- Calculez l’erreur d’apprentissage (Erreur quadratique) 𝑬 𝟏 .
𝟓
𝑬 𝟏 = 𝒚 𝒑 − 𝒔(𝒑) 𝟐 = 𝟏𝟎, 𝟖𝟖
𝒑=𝟏 68
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs Exercice 5: Régression par RBF
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
𝟐 𝟐
𝒖𝟏 −𝒄𝟏𝟏 𝒖𝟐 −𝒄𝟏𝟐 𝟐
𝚫𝝈𝟏𝟏 = 𝜼𝒈𝟏 𝟑 𝑺𝟏 = 𝟎 𝚫𝝈𝟏𝟐 = 𝜼𝒈𝟏 𝟑 𝑺𝟏 =7,06*10-3 ∗ = 7,06*10-3= 0,0071
𝝈𝟏𝟏 𝝈𝟏𝟐 𝟐,𝟎𝟕
69
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Exercice 5: Régression par RBF
𝒄𝟏𝟏 𝟏 𝝈𝟏𝟏 𝟐, 𝟎𝟕
𝒄= 𝒄 = , 𝝈= 𝝈 = ,
𝟏𝟐 −𝟎, 𝟗𝟗𝟑 𝟏𝟐 𝟐, 𝟎𝟕𝟕
𝑾 = 𝑾𝟏 = 𝟎, 𝟓 + 𝟎, 𝟎𝟑𝟏 = 𝟎, 𝟓 + 𝟎, 𝟎𝟑𝟏 = 𝟎, 𝟓𝟑𝟏 𝒃 = 𝟎, 𝟎𝟖𝟎𝟓
𝒖𝟏 − 𝒄𝟏𝟏 𝟐 𝒖𝟐 − 𝒄𝟏𝟐 𝟐 𝟏 𝟎, 𝟗𝟗𝟑2
𝒈𝟏 = 𝒆𝒙𝒑 − + = 𝒆𝒙𝒑 − ( + )
𝝈𝟐𝟏𝟏 𝝈𝟐𝟏𝟐 𝟐, 𝟎𝟕2 𝟐, 𝟎𝟕𝟕2
71
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
𝑵 𝒏 𝟐
3- Apprentissage des RBFs 𝒚=𝒇 𝒖 =𝒃+ 𝒘𝒊 𝒆𝒙𝒑 −
𝒖𝒋 − 𝒄𝒊𝒋
𝝈𝟐𝒊𝒋
Exercice 5: Régression par RBF 𝒊=𝟏 𝒋=𝟏
u1 1
b
g1 W1 y
u2 fg(c1,1,u)
Vecteur g1 yréelle ydésirée Q
𝟏 1
U(1)=
𝟏
−𝟏 0
U(2)=
𝟏
𝟏 0
U(3)=
−𝟏
−𝟏 -2
U(4)=
−𝟏
𝟎 -1
U(5)=
𝟎 72
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
Exercice 5: Régression par RBF
6- Appliquez 1 itération d’ajustement des paramètres. L’ordre aléatoire de présentation des
vecteurs de la base lors de la première itération est 1, 5, 2, 4 et 3. Pour la deuxième
itération, l’ordre aléatoire est : 2, 5, 3, 1 et 4.
7- Donnez les matrices des centres, des ouvertures et des poids.
8- Calculer la sortie réelle et la sortie désirée correspondant à chacun des vecteurs de la
base d’apprentissage.
9- Calculez la nouvelle valeur de 𝑬𝒓 𝟏 .
w0
u1
fg(c1,1,u) w1
y
u2 fg(c2,2,u) w2
𝑵 𝒏 𝟐
𝒖𝒋 − 𝒄𝒊𝒋
𝒚 = 𝒇 𝒖 = 𝒘𝟎 + 𝒘𝒊 𝒆𝒙𝒑 −
𝝈𝟐𝒊𝒋
𝒊=𝟏 𝒋=𝟏
13- Calculez la sortie réelle et la sortie désirée correspondant à chacun des vecteurs de la
base d’apprentissage.
14- Calculez l’erreur d’apprentissage (Erreur quadratique) 𝑬 𝟐 .
𝟓
𝟐
𝑬𝒓 𝟐 = 𝒚𝒊 𝒑 − 𝒔𝒊 (𝒑)
𝒑=𝟏 74
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Exercice 5: Régression par RBF
Troisième cycle d’apprentissage
15- Quel est le troisième vecteur à recruter?
16- Recrutez le vecteur et Représenter le réseau.
17- Donnez les nouvelles matrices des centres, des ouvertures et des poids.
u1 1
fg(c1,1,u) w1
w0
u2 fg(c2,2,u) w2
y
un fg(cN,N,u) wN
𝑵 𝒏 𝟐
𝒖𝒋 − 𝒄𝒊𝒋
𝒚 = 𝒇 𝒖 = 𝒘𝟎 + 𝒘𝒊 𝒆𝒙𝒑 −
𝝈𝟐𝒊𝒋
𝒊=𝟏 𝒋=𝟏
75
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
Exercice 6: Régression par RBF
On se propose de réaliser un modèle neuronal du type RBF d’un processus industriel à trois
𝟏
entrées et une sortie. La base d’apprentissage contient huit vecteurs: 𝐮 𝟏 = 𝟏 ,
𝟏
−𝟏 𝟏 𝟏 −𝟏 𝟏
𝐮 𝟐 = 𝟏 , 𝐮(𝟑) = −𝟏 , 𝐮(𝟒) = 𝟏 , 𝐮 𝟓 = −𝟏 , 𝐮(𝟔) = −𝟏 , 𝐮(𝟕) =
𝟏 𝟏 −𝟏 𝟏 −𝟏
−𝟏 𝟎
−𝟏 𝐞𝐭 𝐮 𝟖 = 𝟎 . 𝐋𝐞𝐬 𝐬𝐨𝐫𝐭𝐢𝐞𝐬 respectives 𝐫𝐞𝐥𝐚𝐭𝐢ve𝐬 à 𝐜𝐞𝐬 𝐯𝐞𝐜𝐭𝐞u𝐫𝐬 sont 𝐬 𝟏 = 𝟑,
−𝟏 𝟎
𝐬 𝟐 = 𝟏, 𝟓 , 𝐬 𝟑 = 𝟐, 𝐬 𝟒 = 𝟎, 𝟓 , 𝐬 𝟓 = 𝟐, 𝐬 𝟔 = 𝟐, 𝟓 𝐞𝐭 𝐬 𝟕 = 𝟎 𝒆𝒕 𝒔 𝟖 = −𝟏.
Il s’agit alors d’une régression. La fonction d’activation des neurones cachés est la
𝒙−𝒄 𝟐
−
gaussienne définie comme suit: f(𝒙) = 𝒆 𝝈𝟐
𝒘𝒊 b
g2
u2 fg(c2,2,u) w2
y
fg(c3,3,u) g3 w3
g4
u3 fg(c4,4,u) w4
𝟒
𝒖𝟏 − 𝒄𝒊𝟏 𝟐 𝒖𝟐 − 𝒄𝒊𝟐 𝟐 𝒖𝟑 − 𝒄𝒊𝟑 𝟐
𝒚= 𝒇 𝒖 =𝒃+ 𝒘𝒊 𝒈𝒊 𝒈𝒊 = 𝒆𝒙𝒑 − + +
𝝈𝟐𝒊𝟏 𝝈𝟐𝒊𝟐 𝝈𝟐𝒊𝟑
𝒊=𝟏
78
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs Exercice 6: Régression par RBF
g1 1
u1
fg(c1,1,u) w1
b
g2
u2 fg(c2,2,u) w2
y
fg(c3,3,u) g3 w3
g4
u3 fg(c4,4,u) w4
g5
fg(c5,5,u) w5
𝟓 𝟑 𝟐
𝒖𝒋 − 𝒄𝒊𝒋
𝒚=𝒇 𝒖 =𝒃+ 𝒘𝒊 𝒆𝒙𝒑 −
𝝈𝟐𝒊𝒋 80
𝒊=𝟏 𝒋=𝟏
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs Exercice 6: Régression par RBF
1,2 1 −1 0,3 1
𝒄 = 𝑐1 𝑐2 𝑐3 𝑐4 𝑐5 = 1 −1,1 − 0,8 − 0,2 1 ,
0,9 1,1 1 0,1 1
La matrice des ouvertures des fonctions d’activation gaussiennes est
1,2 1 1,3 0,8
𝛔 = 𝜎1 𝜎2 𝜎3 𝜎4 𝜎5 = 1,5 1,1 0,8 0,9 ,
0,9 1,3 1 1,1
Le vecteur des poids de la couche de sortie est
𝑊 = 𝑊1 𝑊2 𝑊3 𝑊4 𝑊5 = 0,5 0,8 0,6 0,7 2,26 ,
Le biais du neurone de sortie est 𝑏 = 0,2 .
81
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs Exercice 6: Régression par RBF
5- Calculez la sortie réelle et la sortie désirée correspondant à chacun des vecteurs de la
base d’apprentissage et calculez l’erreur d’apprentissage (Erreur quadratique) 𝑬𝒓 𝟓 .
U(1)
U(2)
U(3)
U(4)
U(5)
U(6)
U(7)
U(8)
𝟖 𝟖
𝑬𝒓 𝟓 = 𝒚 𝒑 − 𝒔(𝒑) 𝟐 = 𝑸 𝒑 = 82
𝒑=𝟏 𝒑=𝟏
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
Exercice 6: Régression par RBF
7- On applique 1 itération d’ajustement des paramètres. L’ordre aléatoire de présentation
des vecteurs de la base lors de la première itération est 6, 1, 5, 8, 2, 4, 7 et 3.
7-1- Donnez les matrices des centres, des ouvertures et des poids suite à la présentation
du vecteur 6 dans la première itération.
𝚫𝒘𝒊 = −𝜼𝒈𝒊 𝒚 − 𝒔
𝑺𝒊 = −𝒘𝒊 (𝒚 − 𝒔)
Nous avons alors :
𝒙𝒌 − 𝒄𝒊𝒌
𝚫𝒄𝒊𝒌 = 𝜼𝒈𝒊 𝑺𝒊
𝝈𝒊𝒌 𝟐
𝒊 𝒙𝒌 − 𝒄𝒊𝒌 𝟐
𝚫𝝈𝒌 = 𝜼𝒈𝒊 𝑺𝒊
𝝈𝒊𝒌 𝟑
83
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs Exercice 6: Régression par RBF
Cinquième cycle d’apprentissage
7-1- Donnez les matrices des centres, des ouvertures et des poids suite à la présentation
du vecteur 6 dans la première itération.
𝚫𝒄𝟏𝟏 𝚫𝒄𝟐𝟏 𝚫𝒄𝟑𝟏 𝚫𝒄𝟒𝟏 𝚫𝒄𝟓𝟏
∆𝒄 = 𝚫𝒄𝟏𝟐 𝚫𝒄𝟐𝟐 𝚫𝒄𝟑𝟐 𝚫𝒄𝟒𝟐 𝚫𝒄𝟓𝟐 = ,
𝚫𝒄𝟏𝟑 𝚫𝒄𝟐𝟑 𝚫𝒄𝟑𝟑 𝚫𝒄𝟒𝟑 𝚫𝒄𝟓𝟑
𝒄= ,
𝝈= ,
84
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs Exercice 6: Régression par RBF
𝑏 = 𝑏= .
7-2- Donnez les matrices des centres, des ouvertures et des poids à la fin de tout le cycle
d’apprentissage sachant que l’ordre aléatoire de présentation du reste des vecteurs de la
base lors de la deuxième itération est 2, 7, 5, 3, 8, 4, 1 et 6.
8- Calculer la sortie réelle et la sortie désirée correspondant à chacun des vecteurs de la
base d’apprentissage à la fin du cinquième cycle d’apprentissage.
9- Calculez la nouvelle valeur de l’erreur d’apprentissage (Erreur quadratique) 𝑬𝒓 𝟓 .
𝟖
𝟐
𝑬𝒓 𝟓 = 𝒚𝒊 𝒑 − 𝒔𝒊 (𝒑)
85
𝒑=𝟏
Chapitre 3
DEEP LEARNING
1- Présentation du DL
CNN : Chaque couche applique un filtre sur les images pour identifier
des patterns ou des éléments spécifiques
CNN : Les dernières couches repèrent les détails les plus subtils et les
organisent en éléments concrets
87
Chapitre 3
DEEP LEARNING
2- Applications réalisés moyennant DL
88
Chapitre 3
DEEP LEARNING
3- Domaines d’application du DL
Vision par ordinateur (Reconnaissance de formes)
Exemple : Reconnaissance d’un panneau de signalisation
par un robot ou une voiture autonome
Exemple : Reconnaissance automatique d'un cancer en imagerie médicale
Exemple : Prédiction des propriétés d'un sol filmé par un robot
89
Chapitre 3
DEEP LEARNING
3- Domaines d’application du DL
Physique,
l'apprentissage profond est utilisé pour la recherche
sur les particules exotiques.
Bio-informatique
Exemple : Etude de l'ADN et des segments non codants du génome,
ou encore la Cytométrie;
Exemple: Projet Horus de la société Eyra. Il s’agit d’un appareil
portable utilisant la plate-forme NVidia Jetson, qui aide les mal-voyants
ou les aveugles à s’orienter et à reconnaître des personnes ou des
objets, en retranscrivant en audio une image captée par une caméra.
90
Chapitre 3
DEEP LEARNING
4- Procédure DL (Exemple Reconnaissance de forme (chat))
Physique,
l'apprentissage profond est utilisé pour la recherche
sur les particules exotiques.
91
Chapitre 3
DEEP LEARNING
5- Architectures DL (LSTM: Long Short-Term Memory)
Architecture de réseau de neurones récurrents la plus utilisée en pratique
qui permet de répondre au problème de disparition de gradient.
Architecture avec 3 portes : Porte d’entrée, Porte de sortie et porte d’oubli
92
Chapitre 3
DEEP LEARNING
5- Architectures DL (LSTM: Long Short-Term Memory)
Architecture de réseau de neurones récurrents la plus utilisée en pratique
qui permet de répondre au problème de disparition de gradient.
Architecture avec 3 portes : Porte d’entrée, Porte de sortie et porte d’oubli
Valeurs initiales : c0=0 et h0=0.
𝑭𝒕 = 𝝈 𝑾𝑭 𝒙𝒕 + 𝑼𝑭 𝒉𝒕−𝟏 + 𝒃𝑭 𝑭𝒐𝒓𝒈𝒆𝒕 𝒈𝒂𝒕𝒆
𝑰𝒕 = 𝝈 𝑾𝑰 𝒙𝒕 + 𝑼𝑰 𝒉𝒕−𝟏 + 𝒃𝑰 𝑰𝒏𝒑𝒖𝒕 𝒈𝒂𝒕𝒆
𝑶𝒕 = 𝝈 𝑾𝑶 𝒙𝒕 + 𝑼𝑶 𝒉𝒕−𝟏 + 𝒃𝑶 𝑶𝒖𝒕𝒑𝒖𝒕 𝒈𝒂𝒕𝒆
𝒄𝒕 = 𝑭𝒕 o𝑪𝒕−𝟏 + 𝑰𝒕 𝒐𝒕𝒂𝒏𝒉(𝑾𝒄 𝒙𝒕 + 𝑼𝒄 𝒉𝒕−𝟏 + 𝒃𝑰 )
𝒉𝒕 = 𝑶𝒕 𝒐𝒕𝒂𝒏𝒉(𝒄𝒕 )
𝒐𝒕 = 𝒇(𝑾𝟎 𝒉𝒕 + 𝒃𝟎 )
NB. L'opérateur o symbolise le produit matriciel de Hadamard (produit terme à
terme). Les symboles et tanh représentent respectivement la fonction sigmoïde et la
fonction tangente hyperbolique,
93
Chapitre 3
DEEP LEARNING
5- Architectures DL (GRU : Gated Recurrent Network)
Réseau de neurones récurrent à portes, Variante des LSTM ayant des
performances comparables aux LSTM pour la prédiction de séries temporelles (ex
: partitions musicales, données de parole).
Une unité requiert moins de paramètres à apprendre qu'une unité LSTM.
Architecture avec 2 portes : Porte de mise à jour (update gate),
Porte de réinitialisation (Reset gate)
94
Chapitre 3
DEEP LEARNING
5- Architectures DL (GRU : Gated Recurrent Network)
Réseau de neurones récurrent à portes, Variante des LSTM ayant des
performances comparables aux LSTM pour la prédiction de séries temporelles (ex
: partitions musicales, données de parole).
Une unité requiert moins de paramètres à apprendre qu'une unité LSTM.
Architecture avec 2 portes : Porte de mise à jour (update gate),
Porte de réinitialisation (Reset gate)
95
Chapitre 3
DEEP LEARNING
6- Réseau de neurones de convolution (CNN)
6-1- Architecture CNN
Dans un réseau neuronal de convolution, on trouve 3 types de couches :
- Couches de convolution,
- Couches de pooling,
- Couches totalement connectées.
96
Chapitre 3
DEEP LEARNING
6- Réseau de neurones de convolution (CNN)
6-2- Importance de la convolution et du pooling
Exemple : Problème de vision par ordinateur
Si l’entrée est 64*64*3, le nombre d’entrées du RNA est alors 12288 Un très
grand nombre de paramètres à identifier Calcul énorme nécessitant des
ressources énormes et de grandes bases de données et convergence non garantie.
Si on passe à une meilleure résolution, 720*720*3, le problème est pire
Le rôle des première couches de convolution et de pooling est de faciliter la
tâche de la couche totalement connectée en lui réduisant le nombre des
paramètres à identifier lors de la phase d’apprentissage
97
Chapitre 3
DEEP LEARNING
6- CNN
6-2- Importance de la convolution et du pooling
Les premières couches d'un CNN détectent les contours d'une image.
Des couches plus profondes pourraient être capables de détecter les objets
et des couches encore plus profondes pourraient détecter l'objet complet (comme
le visage d'une personne)
98
Chapitre 3
DEEP LEARNING
6- Réseau de neurones de convolution (CNN)
6-3- Convolution
l’image de la figure ci-dessous contient de nombreux bords verticaux et
horizontaux. L’opération de convolution fait ressortir les bords horizontaux et
verticaux
99
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
Calcul de convolution : On prend à titre d’exemple une image 6*6 en noir et blanc
(un seul canal) définie par la matrice suivante que nous allons convoler avec la
matrice filtre 3*3. Ceci donne une matrice 4*4
102
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
1- La convolution réduit la taille de l’image
2- Les pixels des bords sont moins appliquées Rembourrage (Padding)
dans la convolution que les pixels du milieu
Padding : on ajoute à l'image une bordure supplémentaire, c.à.d. un pixel tout autour
des bords. La matrice d’entrée devient alors 8*8 au lieu de 6*6. L'application d'une
convolution de 3*3 sur celle-ci génèrera une matrice 6*6 qui est la forme originale
de l'image.
Dimensions de la matrice de sortie : Ainsi, si p est la dimension du rembourrage et
si la taille de la matrice d'entrée est n*n et la taille du filtre est f*f, alors la taille de
la matrice de sortie sera m*m avec m=n+2p-f+1.
N.B. Il existe deux choix courants pour le rembourrage :
1. Valide : Pas de rembourrage. La matrice de sortie est dans ce cas (n-f+1)*(n-f+1).
103
2. Idem : Rembourrage afin que la taille de sortie soit la même que la taille d'entrée.
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
Exercice 3 : Reprendre l’exemple de la page 100 mais cette fois on utilise une foulée
de 2,
104
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
Convolution à canaux multiples : Les canaux pour une image en couleur sont les 3
couleurs de base (R, V et B). Alors une image de dimensions 6*6 en noir et blanc
deviendra de dimensions 6*6*3 lorsqu’elle est en couleur : hauteur (6), largeur (6)
et canaux (3). Dans le cas général, les dimensions d’une image d’une entrée de
convolution est n*n*nc, nc étant le nombre de canaux.
N.B. La règle de convolution ici est que le nombre des canaux de l’entrée et du filtre est le même
comme le montre la figure ci-dessous qui montre aussi une autre importante information : la matrice
de sortie est de dimensions 4*4.
105
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
Convolution à canaux multiples : Exercice : L’entrée est à 3 canaux comme le
montre la figure ci-dessous, On donne à chaque canal le filtre correspondant.
Donnez la matrice de sortie,
106
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
• Filtres multiples : Si on utilise un nombre multiple de filtres, on obtiendra à la
sortie le même nombre de matrices de sortie.
Si on appelle nf le nombre de filtres, le nombre des cases des matrices de sortie sera nf*m*m avec
m=1+(n+2p-f)/s.
107
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
• Exemple d’un réseau de convolution
Nombre de canaux
• Matrice d’entrée = 3
• Deuxième matrice = 10 (Cette matrice est issue de 10 filtres).
• Troisième matrice = 20 (Cette matrice est générée par 20 filtres).
• Dernière matrice =40 (générée par 40 filtres)
40 canaux de 7*7 cellules chacun équivaut 1960 cellules (40*7*7). Le contenu de chacune de
ces cellules constitue une entrée de la couche totalement connectée de classification. 108
Chapitre 3
DEEP LEARNING
6- CNN
6-4- Pooling
Ce sont les couches de regroupement généralement utilisées pour réduire les
dimensions d’entrée en vue d’accélérer les calculs. Dans l’exemple de la figure ci-
dessous, une opération max_pooling’ a été appliquée sur une matrice 4*4 et a
résulté en une matrice 2*2. De chaque bloc 2*2, on a pris le nombre maximal. Dans
cet exemple la taille du filtre est 2 et la foulée est 2.
N.B. On a appliqué ici le max_pooling mais on pouvait appliquer le regroupement moyen ‘average
pooling’ où à la place de prendre le maximum, on prend la moyenne du bloc.
109
Chapitre 3
DEEP LEARNING
6-CNN
6-5- Exemple d’un CNN
L’image d’entrée est 227*227 en noir et blanc, A cette image se sont appliqués 256 filtres de convolution suivis chacun d’une activation ReLU.
Les 256 matrices 225*225 issus de cette convolution sont juxtaposées dans un tenseur 225*225*256 qui a subit une opération de pooling 2*2
ce qui a donné un tenseur 112*112*256, Ce tenseur a subit une convolution de 256 filtres 3*3 pour donner 256 matrices 110*110 soumis ensuite
à l’activation ReLU, Ces matrices sont ensuite juxtaposées pour donner un tenseur 110*110*256 qui passe par une opération Maxpooling 2*2 qui
donne un tenseur 55*55*256, L’opération de flatting à transformé ce tenseur en un vecteur de dimension 256*55*55 qui constituera l’entrée
d’une couche totalement connectée de 256 neurones suivie d’une couche de sortie d’un seul neurones,
Les paramètres à apprendre sont
1ère convolution : 3*3*256 poids + 256 biais
2ème convolution : 3*3*256 poids +256 biais
Couche FC : 256*55*55*256 poids + 256 biais
110
Couche de sortie: 256 poids +1 biais
Chapitre 3
DEEP LEARNING
6-CNN
6-5- Exemple d’un CNN
111
Chapitre 3
DEEP LEARNING
7- Programmation Tensorflow
TensorFlow est un outil open source d'apprentissage automatique développé par Google. Le code source a
été ouvert le 9 novembre 2015 par Google et publié sous licence Apache. Il est fondé sur l'infrastructure
DistBelief, initiée par Google en 2011, et est doté d'une interface pour Python, Julia et R2
TensorFlow est l'un des outils les plus utilisés en IA dans le domaine de l'apprentissage automatique.
Keras est une API d'apprentissage en profondeur écrite en Python, qui s'exécute sur la plateforme
d'apprentissage automatique TensorFlow. Il a été développé dans le but de permettre une expérimentation
rapide. Pouvoir passer de l'idée au résultat le plus rapidement possible est la clé d'une bonne recherche.
Keras est :
Simple - Keras réduit la charge cognitive du développeur pour lui permettre de se concentrer sur les
parties du problème qui comptent vraiment.
Flexible - Keras adopte le principe de la divulgation progressive de la complexité : les flux de travail simples
doivent être rapides et faciles, tandis que les flux de travail arbitrairement avancés doivent
être possibles via un chemin clair qui s'appuie sur ce que vous avez déjà appris.
Puissant : Keras offre des performances et une évolutivité de pointe : il est utilisé par des organisations et
des entreprises telles que la NASA, YouTube ou Waymo. 112
Chapitre 3
DEEP LEARNING
7- Programmation Tensorflow
Keras & TensorFlow 2
TensorFlow 2 est une plateforme d'apprentissage automatique open source de bout en bout. On peut le
considérer comme une couche d'infrastructure pour la programmation différentiable. Il combine quatre
capacités clés :
1- Exécution efficace d'opérations de tenseur de bas niveau sur CPU, GPU ou TPU.
2- Calcul du gradient d'expressions différentiables arbitraires.
3- Adaptation du calcul à de nombreux appareils, tels que des clusters de centaines de GPU.
4- Exportation de programmes ("graphiques") vers des environnements d'exécution externes tels que des
serveurs, des navigateurs, des appareils mobiles et intégrés.
Keras est l'API de haut niveau de TensorFlow 2 : une interface accessible et hautement productive pour
résoudre les problèmes d'apprentissage automatique, en mettant l'accent sur l'apprentissage en profondeur
moderne. Il fournit des abstractions et des blocs de construction essentiels pour le développement et la
livraison de solutions d'apprentissage automatique avec une vitesse d'itération élevée.
Keras permet aux ingénieurs et aux chercheurs de tirer pleinement parti de l'évolutivité et des capacités
multiplateformes de TensorFlow 2 : On peut exécuter Keras sur TPU ou sur de grands clusters de GPU, et on
peut exporter les modèles Keras pour qu'ils s'exécutent dans le navigateur ou sur un mobile. 113
Chapitre 3
DEEP LEARNING
7- Programmation Tensorflow