1
Réseaux de neurones et
deep learning :
Utilisation et
méthodologie
GEOFFREY DANIEL – CEA/IRFU/DAP
3
L’inévitable IA
Génération automatique de texte : rapports et synthèses
Reconnaissance d’images : reconnaissance biométrique, classifications
d’images sur les réseaux sociaux
Agents virtuels : chatbots
Reconnaissance automatique de la parole
Automatisation robotisée
Génération d’image, de musique
Geoffrey Daniel - CEA/Irfu/DAp
4
L’inévitable IA
L’IA surpasse l’humain Google car
Geoffrey Daniel - CEA/Irfu/DAp
5
Philosophie du Machine Learning
Intervention Intervention
humaine ? humaine ?
Données Algorithme de Données de
Données Prétraitement
d’entrées Machine Learning sortie
Apprentissage
Geoffrey Daniel - CEA/Irfu/DAp
6
La forêt du Machine Learning
Et encore, ce
n’est qu’une
partie
Jason Brownlee
2013
Geoffrey Daniel - CEA/Irfu/DAp
7
La forêt du Machine Learning
Et encore, ce
n’est qu’une
partie
Jason Brownlee
2013
Geoffrey Daniel - CEA/Irfu/DAp
8
Deep learning : un peu d’histoire
Geoffrey Daniel - CEA/Irfu/DAp [Link]
9
Deep learning : l’avènement
Première utilisation
du Deep learning
dans la compétition
Geoffrey Daniel - CEA/Irfu/DAp
10
Applications du deep learning
[Link]
General News, Medical
Reconnaissance d’émotions Détection de cancers
Geoffrey Daniel - CEA/Irfu/DAp
11
Réseaux de neurones et deep
learning
Réseaux de neurones : Structure constituée d’un ensemble (couches) de
briques élémentaires (neurones) effectuant chacune des opérations
simples
Classification :
𝑂𝑢𝑡𝑝𝑢𝑡 ∈ 0,1
Régression :
𝑂𝑢𝑡𝑝𝑢𝑡 ∈ ℝ, 0,1 , ℝ+∗ …
Michael Nielsen
Geoffrey Daniel - CEA/Irfu/DAp
12
Réseaux de neurones et deep
learning
Apprentissage profond : nombre de couches élevé
Geoffrey Daniel - CEA/Irfu/DAp
13
Mathématiquement : le calcul d’un
neurone 𝑛
𝑋∈ℝ
Neurone
Vocabulaire : 𝑥0
𝑋 : données d’entrée (ou
couche précédente) 𝑎 = 𝜎(𝑧 = 𝑊 𝑇 . 𝑋 + 𝑏)
𝑊 : poids (weight)
𝑥1
𝑊 ∈ ℝ𝑛 , 𝑏 ∈ ℝ
𝑏 : biais (bias) 𝜎∶ℝ→ℝ
………
𝑎 : output du neurone
𝜎 : fonction d’activation
𝑥𝑛
𝑧 : calcul intermédiaire
Geoffrey Daniel - CEA/Irfu/DAp
14
La fonction d’activation
1
𝑅𝑒𝐿𝑈(𝑥) = max(𝑥, 0) : La plus utilisée 𝑆𝑖𝑔𝑚𝑜ï𝑑𝑒 𝑥 = : Pour la classification
1+𝑒 −𝑥
Simplicité de calcul, gradient non évanescent entre 0 et 1 en output
𝑒 −𝑧
Et d’autres : tanh 𝑥 (variante de la sigmoïde), 𝑠𝑜𝑓𝑡𝑚𝑎𝑥 𝑥 = −𝑧 (multi-classes exclusives),…
𝑧0 ∈𝑜𝑢𝑡𝑝𝑢𝑡 𝑒 0
Geoffrey Daniel - CEA/Irfu/DAp
15
Et maintenant, un réseau
Couche 1 Couche l
Entrée 𝑋 ∈ ℝ 𝑛0 Sortie 𝑌 ∈ ℝ𝑛𝑦
𝐴 1 ∈ ℝ𝑛1 𝐴 𝑙 ∈ ℝ𝑛𝑙
𝑥0 1 ………… 𝑙 ………… 𝑦0
𝑎0 𝑎0
𝑥1 1 𝑙 𝑦1
𝑎1 ........... 𝑎1 …………
.........
.........
.........
.........
𝑥𝑛0 1 ………… 𝑙 𝑦𝑛𝑦
𝑎𝑛1 𝑎𝑛𝑙 .........
Geoffrey Daniel - CEA/Irfu/DAp
16
Théorème d’approximation universelle
Soit 𝑓 ∶ 0,1 𝑛 → 0,1 𝑚 . Pour tout 𝜖 > 0, il existe un réseau de neurones à une seule couche
intermédiaire 𝑅𝑁 tel que 𝑓 − 𝑅𝑁 ∞ < 𝜖
Cela signifie que toute fonction bornée peut être approximée par un réseau de neurones.
Condition nécessaire pour le fonctionnement des réseaux de neurones
Montre l’intérêt des réseaux de neurones
Condition non suffisante en pratique :
Le théorème ne dit rien sur le nombre de neurones : en fait, pour un réseau monocouche, énormément
de neurones peuvent être nécessaires selon la fonction 𝑓 à approximer
Geoffrey Daniel - CEA/Irfu/DAp
17
La fonction de coût
Évaluer la qualité de la prédiction sur un jeu de données connues
Notation : 𝜃, paramètres du réseau (poids + biais) ; 𝑌 𝜃 = yij 𝜃 , output du réseau 𝑗 pour
ij
l’exemple 𝑖 ; 𝑌 = 𝑦𝑖𝑗 , données réelles pour la valeur 𝑗 du vecteur de sortie associé à l’exemple 𝑖
𝑖𝑗
Loss function :
𝐿 𝜃 = 𝑓 𝑌 𝜃 ,𝑌
Exemples de fonctions de coût :
2 2
Distance euclidienne (au carré) : 𝑓 𝑌 𝜃 , 𝑌 = 𝑌 𝜃 − 𝑌 2
= 𝑖𝑗 𝑦𝑖𝑗 𝜃 − 𝑦𝑖𝑗 𝜃
Binary cross-entropy, pour la classification 0 ou 1 : 𝑓 𝑌 𝜃 , 𝑌 = 𝑖𝑗 𝑦𝑖𝑗 ln 𝑦𝑖𝑗 𝜃 + 1 − 𝑦𝑖𝑗 ln 1 − 𝑦𝑖𝑗 𝜃
Distance en norme 1 : 𝑓 𝑌 𝜃 , 𝑌 = 𝑌 𝜃 − 𝑌 1
= 𝑖𝑗 𝑦𝑖𝑗 𝜃 − 𝑦𝑖𝑗 𝜃
Et d’autres…
Geoffrey Daniel - CEA/Irfu/DAp
18
La fonction de coût : utilité
Sur l’apprentissage :
La fonction de coût doit être minimisée : 𝜃𝑜𝑝𝑡𝑖𝑚𝑎𝑢𝑥 = argmin 𝑓 𝑌𝑙𝑒𝑎𝑟𝑛𝑖𝑛𝑔 𝜃 , 𝑌𝑙𝑒𝑎𝑟𝑛𝑖𝑛𝑔
𝜃
Fonction non convexe !!! Minima locaux possibles, mais :
Plusieurs minima locaux aussi « bons » vis-à-vis de la fonction de coût (Yann Le Cun)
On peut tomber dans un mauvais minimum, mais ceci est rare : différentes techniques permettent
d’éviter cela (dropout, régularisation… voir séance 2)
Monitoring de l’apprentissage :
On peut vérifier que la fonction de coût décroît bien à chaque itération sur notre jeu de
données (voir séances 2 et 3)
Geoffrey Daniel - CEA/Irfu/DAp
19
L’apprentissage
Supposons que nous avons un jeu de données d’entrées 𝑋𝑖 et de sorties 𝑌𝑖 et un réseau de
neurones avec les paramètres 𝜃 = 𝑊, 𝐵 qui prédit les sorties 𝑌𝑖 à partir des données 𝑋𝑖
Minimisation de la fonction de coût 𝐿 par descente de gradient (itérations) :
𝜃 ≔ 𝜃 − 𝜆𝛻L 𝜃
𝜆 est le taux d’apprentissage : valeur définie ou adaptée à chaque itération pour assurer la
convergence
Intérêt des réseaux de neurones : le gradient de la fonction de coût 𝐿 se calcule « facilement »,
par succession de calculs élémentaires appelé backpropagation
Geoffrey Daniel - CEA/Irfu/DAp
20
Calcul du gradient : backpropagation
𝑙 𝑙
Pour chaque poids 𝑤𝑘 et biais 𝑏𝑘 du neurone 𝑘 de la couche 𝑙, on veut calculer pour chque
exemple 𝑖 :
𝜕𝐿𝑖 𝜕𝐿𝑖
𝑙
; 𝑙
𝜕𝑤𝑘 𝜕𝑏𝑘
Pour la dernière couche 𝑛 :
𝜕𝐿𝑖 𝜕𝐿𝑖 𝜕𝑌𝑖 𝑘 𝜕𝐿𝑖 𝜕𝐿 𝜕𝑌𝑖 𝑘
𝑛
= ; =
𝜕𝑤𝑘 𝜕𝑌𝑖𝑘 𝜕𝑤 𝑛 𝜕𝑏 𝑛 𝜕𝑌𝑖 𝑘 𝜕𝑏 𝑛
𝑘 𝑘 𝑘
𝑛 𝑛 𝑇 𝑛
𝑌𝑖 𝑘 = 𝜎 𝑧𝑘 = 𝑤𝑘 𝑎 𝑛−1 + 𝑏𝑘
𝜕𝑌𝑖 𝑘 𝜕𝑌𝑖 𝑘 𝜕𝑧𝑘𝑛 𝑛 𝜕𝑌𝑖 𝑘 𝜕 𝑌𝑖 𝑘 𝜕𝑧𝑘𝑛 𝑛
𝑛
= 𝑛 𝑛
= 𝜎 ′ 𝑧𝑘 𝑎 𝑛−1 ∈ ℝ 𝑚𝑛−1 ; 𝑛
= 𝑛 𝑛
= 𝜎 ′ 𝑧𝑘 ∈ℝ
𝜕𝑤𝑘 𝜕𝑧𝑘 𝜕𝑤𝑘 𝜕𝑏𝑘 𝜕𝑧𝑘 𝜕𝑏𝑘
Geoffrey Daniel - CEA/Irfu/DAp
21
Calcul du gradient : backpropagation
𝜕𝐿𝑖 𝜕𝐿𝑖 ′ 𝑛 𝜕𝐿𝑖 𝜕𝐿𝑖 ′ 𝑛
𝑛
= 𝜎 𝑧𝑘 𝑎 𝑛−1 ; 𝑛
= 𝜎 𝑧𝑘
𝜕𝑤𝑘 𝜕𝑌𝑖 𝑘 𝜕𝑏𝑘 𝜕𝑌𝑖 𝑘
Exemple avec :
2
𝐿𝑖 = 𝑌𝑖 𝜃 − 𝑌𝑖
1
𝜎 𝑥 =
1 + 𝑒 −𝑥
On obtient :
𝑛 𝑛 𝑛
𝜎 ′ 𝑧𝑘 = 𝜎 𝑧𝑘 1 − 𝜎 𝑧𝑘 = 𝑌𝑖 𝑘 1 − 𝑌𝑖 𝑘 Propriété du sigmoïde
𝜕𝐿
= 2 𝑌𝑖 𝑘 − 𝑌𝑖 𝑘
𝜕𝑌𝑖 𝑘
Geoffrey Daniel - CEA/Irfu/DAp
22
Calcul du gradient : backpropagation
En rouge : par forward pass
Pour les autres couches 𝑙 ≠ 𝑛 : de manière récursive En bleu : par récursivité
𝑙 𝑙
𝜕𝐿𝑖 𝜕𝐿𝑖 𝜕𝑎𝑘 𝜕𝐿𝑖 ′ 𝑧 𝑙 𝑙−1
𝜕𝐿𝑖 𝜕𝐿𝑖 𝜕𝑎𝑘 𝜕𝐿𝑖 𝑙
𝑙
= 𝑙 𝑙
= 𝑙
𝜎 𝑘 𝑎 ; 𝑙
= 𝑙 𝑙
= 𝑙
𝜎 ′ 𝑧𝑘 ; pour 𝑙 = 1, 𝑎 0 = 𝑋
𝜕𝑤𝑘 𝜕𝑎𝑘 𝜕𝑤𝑘 𝜕𝑎𝑘 𝜕𝑏𝑘 𝜕𝑎𝑘 𝜕𝑏𝑘 𝜕𝑎𝑘
𝑙+1
𝜕𝐿𝑖 𝜕𝐿𝑖 𝜕𝑎𝑗
𝑙
= 𝑙+1 𝑙
𝜕𝑎𝑘 𝑗 𝜕𝑎𝑗 𝜕𝑎𝑘
𝑙+1
𝑙+1 𝑙+1 𝑙+1 𝑙 𝑙+1
𝜕𝑎𝑗 𝑙+1 𝑙+1
𝑎𝑗 = 𝜎 𝑧𝑗 = 𝑤𝑗 𝑎𝑘 ′ + 𝑏𝑗 ⇒ 𝑙
= 𝑤𝑗 𝜎 ′ 𝑧𝑗
𝑘′ 𝜕𝑎𝑘 𝑘
𝑘′
Geoffrey Daniel - CEA/Irfu/DAp
23
Ajustement des paramètres
𝜕𝐿𝑖 𝜕𝐿𝑖
On connaît 𝑙 et 𝑙 pour chaque exemple 𝑖
𝜕𝑤𝑘 𝜕𝑏𝑘
Finalement :
𝑙 𝑙 1 𝜕𝐿𝑖
𝑤𝑘 ≔ 𝑤𝑘 −𝜆 𝑙
𝑁𝑒𝑥𝑒𝑚𝑝𝑙𝑒𝑠 𝜕𝑤𝑘
𝑖
𝑙 𝑙 1 𝜕𝐿𝑖
𝑏𝑘 ≔ 𝑏𝑘 −𝜆 𝑙
𝑁𝑒𝑥𝑒𝑚𝑝𝑙𝑒𝑠 𝜕𝑏𝑘
𝑖
On peut ne travailler simultanément que sur des sous-ensembles de la base de
données (mini-batch), cela peut accélérer les calculs (voir séances 2 et 3)
Geoffrey Daniel - CEA/Irfu/DAp
24
Résumé des points importants
Réseaux de neurones : calculs élémentaires 𝑎 = 𝜎(𝑧 = 𝑊 𝑇 . 𝑋 + 𝑏)
Chercher les paramètres 𝜃 = 𝑊, 𝑏 qui minimisent une fonction de coût sur la base de
données d’apprentissage : 𝜃𝑜𝑝𝑡𝑖𝑚𝑎𝑢𝑥 = argmin 𝑓 𝑌𝑙𝑒𝑎𝑟𝑛𝑖𝑛𝑔 𝜃 , 𝑌𝑙𝑒𝑎𝑟𝑛𝑖𝑛𝑔
𝜃
Apprentissage par descente de gradient : 𝜃 ≔ 𝜃 − 𝜆𝛻L 𝜃
Geoffrey Daniel - CEA/Irfu/DAp
25
Pour la suite
Il n’est pas obligatoire de coder tous ces calculs soi-même ! Il existe des librairies qui
font directement cela.
Séance suivante :
Méthodologie pour mettre en place une architecture
Savoir évaluer son architecture et comment l’améliorer
Mise en place de méthodes de régularisation pour éviter l’overfitting
Savoir évaluer un réseau de neurones pour la classification
Geoffrey Daniel - CEA/Irfu/DAp
26
Quelques ressources
Cours en ligne :
Coursera, spécialisation deep learning :
[Link]
Quiz pour s’entraîner et exercices de programmation (Python) : fortement
recommandé pour ceux qui veulent vraiment faire du deep learning
Cours de Yann Le Cun au Collège de France sur l’apprentissage profond (vidéos) :
[Link]
Open Course MIT (1ère vidéo, les autres sont normalement proposées à la suite par
Youtube)
[Link]
Geoffrey Daniel - CEA/Irfu/DAp
27
Quelques ressources
Vidéos Youtube :
Science Étonnante : Le deep learning (présentation générale)
[Link]
3blue1brown : Calcul des réseaux de neurones illustrés (4 vidéos) :
[Link] (Introduction aux ANN)
[Link] (Descente de gradient)
[Link] (Backpropagation version friendly)
[Link] (Backpropagation calculs)
Science4all : Playlist Intelligence artificielle, presque 50 vidéos sur l’IA (parfois un peu
« philosophiques » et « sociologiques », d’autres plus techniques, réseaux de neurones à partir
de la vidéo 40)
[Link]
(vidéos 42 et 43 non accessibles dans la playlist, mais toujours accessibles depuis la chaîne)
Geoffrey Daniel - CEA/Irfu/DAp