DEEP LEARNING
1
Intelligence Artificielle
2
Définition
L’IA est un ensemble de techniques permettant de résoudre des problèmes complexes en
s’inspirant de mécanismes cognitifs humains, agissant de manière rationnelle en fonction de
faits, données et expériences, et capables d’atteindre de manière optimale un ou plusieurs
objectifs donnés.
Objectifs:
Concevoir des systèmes capables de reproduire le comportement de l’humain dans des
activités de raisonnement.
3 Type des Modèles en ML
Deep Learning (Réseaux de Neurones)
4
Le Deep Learning est souvent décrit comme un réseau neuronal multicouche, mais
il s’agit en réalité d’utiliser plusieurs couches pour traiter différents niveaux de
caractéristiques, des caractéristiques de niveau inférieur aux caractéristiques de
niveau supérieur.
Le Deep Learning extrait des informations d’une couche et les transmet à la
couche suivante, ce qui lui permet d’affiner et d’atteindre une meilleure
compréhension de ce qui est nécessaire. Le deep Learning est également lié aux
importantes capacités de calcul des processeurs « modernes » qui permettent de
faire fonctionner des réseaux neuronaux de la taille de plusieurs millions de
neurones.
Deep Learning (Réseaux de Neurones)
5
Deep Learning = réseaux neuronaux à plusieurs couches + extraction
et traitement progressifs des caractéristiques + puissance du processeur
+ millions de neurones.
Objectif :
Donner aux machines la capacités d’apprendre sans être
spécifiquement programmés sur les résultats à fournir.
Deep Learning (Réseaux de Neurones)
6
Quels sont les types d’algorithmes utilisés en DP ?
Perceptrons Multicouches (PMC)
Les MLP appartiennent à la classe des réseaux neuronaux à anticipation avec
plusieurs couches de perceptrons dotés de fonctions d’activation.
Les MLP se composent d’une couche d’entrée et d’une couche de sortie qui sont
entièrement connectées. Ils ont le même nombre de couches d’entrée et de sortie
mais peuvent avoir plusieurs couches cachées et peuvent être utilisés pour
construire des logiciels de reconnaissance vocale, de reconnaissance d’images et de
traduction automatique.
Deep Learning (Réseaux de Neurones)
7
Quels sont les types d’algorithmes utilisés en DP ?
Réseaux neuronaux convolutifs (CNN)
Le CNN possède une couche de convolution qui comporte plusieurs filtres pour
effectuer l’opération de convolution. (Reconnaissance vocale, images).
Réseaux adversariaux génératifs (GAN)
Les GAN sont des algorithmes de deep learning génératifs qui créent de
nouvelles instances de données qui ressemblent aux données d’apprentissage.
Les développeurs de jeux vidéo utilisent les GAN pour améliorer les textures 2D à
faible résolution des anciens jeux vidéo en les recréant à des résolutions plus
élevées via l’apprentissage d’images.
Deep Learning (Réseaux de Neurones)
8 Quels sont les types d’algorithmes utilisés en DP ?
Réseaux neuronaux récurrents (RNN)
Les RNN ont des connexions qui forment des cycles dirigés.
Ils sont couramment utilisés pour le sous-titrage d’images, l’analyse de séries
temporelles, le traitement du langage naturel, la reconnaissance de l’écriture
manuscrite et la traduction automatique.
Réseaux à fonction de base radiale (RBFN)
Les RBFN sont des types particuliers de réseaux neuronaux feedforward qui
utilisent des fonctions de base radiales comme fonctions d’activation. Ils
comportent une couche d’entrée, une couche cachée et une couche de sortie et
sont principalement utilisés pour la classification, la régression et la prédiction de
séries temporelles.
Deep Learning (Réseaux de Neurones)
9
Neurone Biologique
Les neurones sont des cellules excitables
connectées les unes aux autres, et ayant
pour rôle de transmettre des informations
dans notre système nerveux.
Deep Learning (Réseaux de Neurones)
10
Un neurone biologique
Un neurone artificiel
Agrégation : = + +
Activation :
1943 : Invention des premiers neurones artificiels
Deep Learning (Réseaux de Neurones)
11
Tableau de correspondance de neurone biologique /neurone
artificiel
Deep Learning (Réseaux de Neurones)
12 Modèle d’un Neurone Artificiel Principes :
• pas de notion temporelle
Un neurone avec 3 entrées • coefficient synaptique : coefficient réel
• sommation des signaux arrivant au neurone
• sortie obtenue après application d ’une fonction de
transfert
L’opération réalisée par un modèle de neurone :
= ∗ −
où Xo est appelé biais. Il correspond à un
décalage de la fonction f sur l’axe des abscisses
Deep Learning (Réseaux de Neurones)
13 Modèle Mathématique et matriciel d’un neurone
Deep Learning (Réseaux de Neurones)
14
Fonctions de transfert
15
16
Deep Learning (Réseaux de Neurones)
17 Modèle Mathématique et matriciel
d’une couche de S neurones
Un réseau de neurones est un maillage de plusieurs
neurones, généralement organisé en couches.´
Deep Learning (Réseaux de Neurones)
18
Modèle matriciel d’un RNA à 3 couches
Deep Learning (Réseaux de Neurones)
19 L’apprentissage
Apprentissage : les caractéristiques du réseau sont modifiées jusqu’à ce que le
comportement désiré soit obtenu.
• Base d’apprentissage : exemples représentatifs du comportement ou de là fonction à
modéliser. Ces exemples sont sous la forme de couples (entrée ; sortie) connus.
On distingue deux grandes classes d’algorithmes d’apprentissage :
Apprentissage supervisé : les coefficients synaptiques sont évalués en minimisant l ’erreur
(entre sortie souhaitée et sortie obtenue) sur une base d ’apprentissage.
• Apprentissage non-supervisé: on ne dispose pas de base d ’apprentissage. Les
coefficients synaptiques sont déterminés par rapport à des critères de conformité : spécifications
générales.
Deep Learning (Réseaux de Neurones)
20 Le Perceptron simple (1957)
• Une seule couche de S neurones
• R entrées x1, …, xR
• Une matrice des poids Wi, de dimension S x R
• Un vecteur b des biais bi , de dimension S x 1
• La sortie est une fonction du poids et des entrées
Frank Rosenblatt
Deep Learning (Réseaux de Neurones)
Le Perceptron simple
Le calcul effectué par un perceptron se décompose en deux phases : un calcul par une fonction
linéaire n ,suivi d’une fonction d’activation f .
• Partie linéaire: Le perceptron est d’abord muni de poids ,..., qui déterminent une
fonction linéaire :
( ,..., )= +. . . +
• Fonction d’activation : La valeur renvoyée par la fonction linéaire f est ensuite composée
21 par une fonction d’activation φ.
La valeur de sortie est donc f( +. . . + )
22
Le Perceptron linéaire à seuil
Avec ce type perceptron, on utilise la fonction Seuil (Heaviside), définie par :
Un perceptron linéaire de poids a1,..., an et de fonction d’activation la fonction marche de
Heaviside H est représenté par :
Le Perceptron linéaire à seuil
23
Le Perceptron linéaire à seuil
24
Deep Learning (Réseaux de Neurones)
25
Le Perceptron affine
Pour l’instant notre perceptron à deux entrées sépare le plan en deux parties selon une droite
passant par l’origine. Nous allons plus loin avec le perceptron affine.
On modifie la définition du perceptron, sans changer le nombre d’entrées, mais en ajoutant un
poids supplémentaire. Dans le cas de n entrées, il y a donc n + 1 poids qui sont :
• les coefficients a1,..., an ∈ R,
• et le biais a0 ∈ R,
la fonction affine alors définie par :
Le Perceptron affine
26
Deep Learning (Réseaux de Neurones)
27
Le Perceptron (suite)
Algorithme d’apprentissage
Consiste à traiter tous les motifs (données d’entrées) X les uns après les autres
puis de comparer la sortie y à la valeur désirée cible yref.
Si la sortie est correcte y = yref , alors on passe directement à la prochaine donnée à traiter.
Si y =! yref , on modifie le vecteur de poids : = +
Ce processus d’adaptation des poids s’appelle l’apprentissage.
Si un point ( vecteur X ) est mal classifie par rapport
à l’hyperplan, le vecteur de poids W est modifié dans
la direction de X. Comme W est le vecteur normal à
l’hyperplan, on applique ainsi une rotation de
l’hyperplan dans la bonne direction.
Deep Learning (Réseaux de Neurones)
28
Le Perceptron (suite)
Algorithme d’apprentissage
w = w0 (initialisation)
Répéter • η bien choisi, suffisamment petit
• η trop grand : risque d ’oscillation autour du
Choisir un vecteur d’entrée x( i) minimum
Calculer la sortie y(i) = θ(w.x(i)) • Si η trop petit : nombre élevé d ’itérations
Si y(i) =! yref(i) alors • En pratique : on diminue graduellement η
mise à-jour de vecteur de poids au fur et à mesure des itérations
Si yref(i) = 1 alors
w= w + η . x(i)
Sinon
w = w − η .x(i)
Fin si
Fin si
Jusqu’`a Stabilisation
29
Le Perceptron (suite)
Algorithme d’apprentissage
Mise à jour des poids
Théorie de Hebb
Lorsque 2 neurones biologiques sont excités conjointement, alors
ils renforcent leurs liens synaptiques.
Le Perceptron (suite)
30 Algorithme d’apprentissage
Mise à jour des poids avec la théorie de Hebb
Entrainer un neurone artificiel sur des données de références (X , y) , pour
que celui-ci renforce ses paramètres W à chaque fois qu’une entrées X est
activée en même temps que la sortie y présente dans ces données.
Le Perceptron (suite)
31
Algorithme d’apprentissage
Exemple :
Théorie de Hebb
• µ= 1
• Conditions initiales : coefficients et seuils nuls
Le Perceptron (suite)
Algorithme d’apprentissage
32
Règle de Delta (généralisation)
Limites de la théorie de Hebb :
• Si les échantillons ne sont pas linéairement séparable, l’algorithme ne converge pas.
• S’il existe certains échantillons qui se trouve plus proche de la frontière de décision,
l’algorithme peut converger vers plusieurs solutions (selon les valeurs initiales des coefficients)
Le résultat n’est pas robuste ( un nouveau point peut remettre en cause le perceptron).
Solution Règle Delta
La Règle Delta :
est appliquée dans le cas où la fonction d’activation est linéaire
Utilise la méthode de descente de gradient
Le Perceptron (suite)
Algorithme d’apprentissage
33
Règle de Delta (généralisation)
Minimisation : Descente de Gradient
Trouver le minimum de la fonction f continue
et dérivable : x→f(x)
On construit la suite :
Xn telle que :
• On part d’une valeur initiale X0 quelconque
• Xn+1 = Xn - ε* f′ (Xn), avec ε valeur réelle
non nulle « bien choisie » entre 0 et 1
Le Perceptron (suite)
Algorithme d’apprentissage
34
Règle de Delta (généralisation)
Apprentissage par Descente de Gradient
Soient le vecteur des entrées x et le vecteur des coefficients synaptiques w,
La sortie vaut alors : y = f ( x.w ) = f ( x0.w0 + … + xn.wn ),
f étant une fonction de transfert continue et dérivable.
Posons : a = x.w
Soit S la base d ’apprentissage composée de couples (x, c), où c est la sortie attendue
pour x.
On définit ainsi l ’erreur sur le réseau pour la base d ’apprentissage S :
1
( )
2
E (W ) = ∑ c −y
2 S
Problème : Trouver w qui minimise E(w).
Le Perceptron (suite)
Algorithme d’apprentissage
35
Méthode par Descente de Gradient
2
∂E (W ) 1 ∂ ∂
( 1
) ( )
2
= ∑ c − y = ∑ c −y
∂wi 2 ∂wi S 2 S ∂wi
∂ ∂
1
∑
2 S
(
2 c −y )∂wi
( )
c −y = ∑ c −y
S
(
∂wi
)
c − f (x .wi ) ( )
∂ ∂ ∂ ∂a
Or :
∂wi
( )
c − f (x .wi ) =
∂wi
(
c − f (a) =
∂a
)
c − f (a) *
∂wi
(
= − f ' (a) * xi)
∂E (W )
∂wi
( )
= ∑ c − y (−xi )f " (x .wi )
S
∂E (W )
D’ où : ∆wi = −ε *
∂wi
(
= ε ∑ c − y * f " (x .wi ) * xi
S
)
Le Perceptron (suite)
Algorithme d’apprentissage
36
Apprentissage par Descente de Gradient (Algo)
Initialiser aléatoirement les coefficients wi.
Répéter :
Pout tout i :
∆wi = 0
Fin Pour
Pour tout exemple (x, y) dans S
Calculer la sortie o du réseau pour l ’entrée x
Pout tout i :
∆wi =∆wi +ε ∗(c− y)∗ xi∗ f ’(x.w)
Fin Pour
Fin Pour
Pour tout i :
wi = wi +∆wi
Fin Pour
Fin Répéter
Deep Learning (Réseaux de Neurones)
37
Le Perceptron Multicouche
Deep Learning (Réseaux de Neurones)
38
Le Perceptron Multicouche
Un réseau multicouche n’est rien d’autre qu’un assemblage de couches
concaténées les unes aux autres, de la gauche vers la droite, en prenant les
sorties d’une couche et en les injectant comme les entrées de la couche suivante.
Deep Learning (Réseaux de Neurones)
39
Le Perceptron Multicouche
Forward Propagation
Forward Propagation
Fonction coût
Back Propagation
Gradient de Descent
Back Propagation
Deep Learning (Réseaux de Neurones)
40
Le Perceptron Multicouche
Forward propagation
Deep Learning (Réseaux de Neurones)
41
Le Perceptron Multicouche (Vectorisation)
Deep Learning (Réseaux de Neurones)
42
Le Perceptron Multicouche (Vectorisation)
Deep Learning (Réseaux de Neurones)
43
Le Perceptron Multicouche (Vectorisation)
Deep Learning (Réseaux de Neurones)
44
Le Perceptron Multicouche (Vectorisation)
Deep Learning (Réseaux de Neurones)
45 Fonction Coût
C’est une fonction qui permet de quantifier les erreurs effectives par un modèle.
Le choix de la fonction de coût est conditionné par l'objectif à atteindre.
Erreur entropie croisée :
Erreur quadratique Moyenne : .
Consiste à évaluer la probabilité
La fonction de coût la plus utilisée
d'observer l'ensemble d'apprentissage
est l'erreur quadratique sur la base
en supposant que les données sont
d'apprentissage .Elle consiste à
indépendantes, Elle s’ écrit :
minimiser la somme des carrés des
erreurs entre la sortie du réseau et
la valeur réelle de la sortie.
La fonction de coût utilisée est donc finalement :
F1
Deep Learning (Réseaux de Neurones)
46
Le Perceptron Multicouche
Back Propagation (rétro propagation)
Slide 46
F1 Fanja, 8/5/2023
Deep Learning (Réseaux de Neurones)
47
PMC : Back Propagation
Avec l’erreur quadratique moyenne
Connexion entre couche cachée et couche de sortie
Avec l’erreur quadratique moyenne
48
Connexion entre couche d’entrée et couche cachée