0% ont trouvé ce document utile (0 vote)
56 vues26 pages

Cours sur les réseaux de neurones

Le document décrit les réseaux de neurones et l'apprentissage profond, y compris leurs applications, leur histoire, leur fonctionnement mathématique et leurs composants clés tels que les neurones, les fonctions d'activation, les couches et la fonction de coût.

Transféré par

Kamel Ahmed
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)
56 vues26 pages

Cours sur les réseaux de neurones

Le document décrit les réseaux de neurones et l'apprentissage profond, y compris leurs applications, leur histoire, leur fonctionnement mathématique et leurs composants clés tels que les neurones, les fonctions d'activation, les couches et la fonction de coût.

Transféré par

Kamel Ahmed
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

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

Vous aimerez peut-être aussi