Issouf Ouattara, ouatissouf01@[Link] ouatissouf01@gmail.
com
Introduction à
l’Apprentissage Profond
Introduction to Deep Learning
L’enseignant
Issouf OUATTARA ->
Issouf Ouattara, ouatissouf01@[Link]
[Link]
Ingénieur en Robotique et Systèmes Aérospatiales ([Link] Space
Robotics and Automation)
• Navigation, Guidance et Contrôle
Doctorant: Usage des drones dans la foresterie
• localisation et cartographie simultanées
• Analyse des données (Vision par ordinateur)
• Navigation autonome des drones
• Intégration système
Contenue & Évaluation
• Objectif
Issouf Ouattara, ouatissouf01@[Link]
• Vous donnez les connaissances nécessaires pour utiliser les réseaux de
neurones afin resoudre des problèmes pratiques.
• Contenue
• Fondamentaux des réseaux de neurones
• Quelques applications
• Notion d’entrainement
• Types de réseaux de neurones
• Quelques aspects pratiques de l’entrainement de reseaux de neurones.
• Évaluation
• Lecture et presentation des articles de recherche (par groupe)
• Exercices de maison (2)
• Quiz (en ligne)
Contenue & Évaluation
• Prérequis
Issouf Ouattara, ouatissouf01@[Link]
• Connaissances basiques de la programmation (Python)
• Notions basiques en math (fonctions, dérivé, vecteurs, matrices,...)
• Être motivé pour apprendre
Issouf Ouattara, ouatissouf01@[Link] ouatissouf01@[Link]
Apprentissage Profond
Partie 1
Issouf Ouattara, ouatissouf01@[Link]
Apprentissage Profond: Partie 1
Introduction
L’apprentissage automatique (Machine Learning)
Issouf Ouattara, ouatissouf01@[Link]
• Un sous domaine de l’IA. Elle est la science qui permet à la machine d’agir sans
être explicitement programmée.
• Elle cherche, d’une part, à développer “Des systèmes qui améliorent leur
performance dans une tâche donnée avec de plus en plus d'expérience ou de
données.”
• Au lieu d'écrire des règles explicites pour résoudre un problème donné, le
programmeur enseigne à l'ordinateur comment apprendre à :
• partir d'exemples,
• partir de l’experience,
• trouver des structures complexes dans un jeu de données.
Introduction
Intelligence Artificielle
Issouf Ouattara, ouatissouf01@[Link]
Apprentissage
automatique
Apprentissage
profond
Introduction
• Dans les méthodes classiques d’apprentissage automatique, les
Issouf Ouattara, ouatissouf01@[Link]
caratéristiques (features) sont élaborées manuellement.
• L’étape de construction des caractéristiques est donc séparée de l’étape
d’apprentissage.
• Pour certains problèmes complexes, il n’est pas pratique d’élaborer
manuellement les caractéristiques (ex: segmentation d’objet dans une
image).
Extraction Algorithme
Données manuelle de d’apprentissage Sortie
caractéristiques automatique
Introduction
• Si vous devez programmer la machine pour reconnaitre les images
Issouf Ouattara, ouatissouf01@[Link]
suivantes, quelle sera votre approche?
Introduction
• Le deep learning élimine la nécessité de concevoir manuellement les
Issouf Ouattara, ouatissouf01@[Link]
caractéristiques.
• Les caractéristiques sont automatiquement apprises à partir des
données brutes.
• En réalité, il existe plusieurs niveaux de caractéristiques (abstraits) qui
sont automatiquement construites.
Algorithme
Caractéristiques
Données d’apprentissage Sortie
apprises
automatique
Apprentissage/inférence
Introduction
• Le deep learning est beaucoup utilisé comme modèle d’apprentissage
Issouf Ouattara, ouatissouf01@[Link]
supervise
• Mais aussi dans l’apprentissage par renforcement comme approximation
de fonctions
Données d’entraînement Étiquettes
Apprentissage Supervisé
(entrée) d’entraînement (entrée)
Entrée Model Sortie
Introduction
• L’apprentissage profond utilise la notion de réseaux de neurones artificiels
Issouf Ouattara, ouatissouf01@[Link]
à l’image des neurones du cerveau animal.
• Un réseau de neurones artificiels est un modèle de calcul dans lequel de
nombreuses unités simples travaillent en parallèle sur des couches
successives.
• Les liens entre les unités (neurones) sont répresentés par des valeurs
numériques appelé poids (weight).
Source: Introduction to artificial intelligence, Springer 2011
Introduction
• L’objectif de l’apprentissage profond est de développer des modèles
Issouf Ouattara, ouatissouf01@[Link]
complexse (non-linéaires) qui produisent une relation entrée-sortie utile
pour resoudre un problème donné.
Source image: [Link], A Practical Guide to Deep Learning: From Data to Deployment
Introduction
Pourquoi maintenant?
Issouf Ouattara, ouatissouf01@[Link]
1. Large quantité de 2. Capacité de calcule 3. logiciel/frameworks
données (Big
Data)
• Large jeux de données • Capacité de calcule • Disponibilité des
• Capacité plus élevée élevée des ordinateurs frameworks libre (open-
de stokage • Carte graphique source)
• Collection • Super-ordinateurs • Interoperabilité des
relativement simple • Parallelization frameworks
• Standardization des
modèles.
Introduction: Quelques applications
L’Apprentissage profond est utilisé dans des domaines tels que:
Issouf Ouattara, ouatissouf01@[Link]
• La vision par ordinateur (computer vision)
• Analyse d’images médicales, agriculture
• Navigation des systèmes robotiques en environement dynamique
• Le traitement de langage naturel
• Traduction de texte
• Modèle Génératif (ex: GPT-3)
• Le traitement de données temporelles
• Reconnaissance automatique de la parole
• Prédiction/Détection des défaillances (des machines, et systèmes
complexes)
Introduction: Quelques applications
Vision par ordinateur: santé
Issouf Ouattara, ouatissouf01@[Link]
• Dépistage et prédiction du
cancer du sein avec des
performance relatively
meilleure que le specialiste
humain. Capable de généraliser
à travers differentes populations
[4].
• Détection automatique du
covid-19 en utilisant les images
X-ray et les CNN [3]
Introduction: Quelques applications
Vision par ordinateur: Agriculture
Issouf Ouattara, ouatissouf01@[Link]
• Détection et classification de maladies de manioc [8]
Introduction: Quelques applications
Vision par ordinateur: Agriculture
• Détection automatique des arbres des jeunes plantes d’épicéa (Spruce) [7]:
Issouf Ouattara, ouatissouf01@[Link]
Images
Collection
DSM, DTM, rgb
Orthophoto, &
CHM
Individual tree
Identification
CNN based
Tree Detection
Introduction: Quelques applications
Vision par ordinateur: Agriculture
Issouf Ouattara, ouatissouf01@[Link]
• Détection automatique des arbres d’anacardiers [8]:
Introduction: Quelques applications
Vision par ordinateur: Robotique
Issouf Ouattara, ouatissouf01@[Link]
• La reconnaissance visuelle de lieu
• La navigation sans GPS
• Detection d’objet.
Source image: Keetha, N., Mishra, A., Karhade, J., Jatavallabhula, K. M., Scherer, S., Krishna, M., & Garg, S.
(2023). AnyLoc: Towards Universal Visual Place Recognition. arXiv Preprint arXiv:2308. 00688.
Introduction: Quelques applications
Traitement automatique du langage naturel
Issouf Ouattara, ouatissouf01@[Link]
• Traduction automatique (ex: google translate)
• Génération automatique de textes (GPT-3)
• Tester le, il est formidable: [Link]
Introduction: Quelques applications
Traitement automatique du langage naturel
Issouf Ouattara, ouatissouf01@[Link]
• Traduction automatique,
• Génération automatique de textes,
• Image captioning
Source image: [6]
Introduction: Quelques applications
Reconnaissance automatique de la parole
Issouf Ouattara, ouatissouf01@[Link]
• Reconnaissance vocale
• Analyse d’émotion
• Analyse de son
Réseau de
Texte
Neurones
De la régression linéaire au réseau de neurones
• La régression désigne un ensemble de méthodes permettant de modéliser
Issouf Ouattara, ouatissouf01@[Link]
la relation entre une ou plusieurs variables indépendantes et une variable
dépendante.
• Soit deux variables aléatoires 𝒙𝒙 et 𝒚𝒚. Soint un échantillons de points
{ 𝑥𝑥 𝑖𝑖 , 𝑦𝑦 (𝑖𝑖) , 𝑖𝑖 = 1,2,3, … , 𝑁𝑁}. On cherche une fonction 𝑓𝑓 de paramètre 𝜃𝜃 telle
que:
∀𝑖𝑖 ∈ 1,2, … , 𝑁𝑁 , 𝒚𝒚(𝒊𝒊) = 𝒇𝒇 𝜽𝜽, 𝒙𝒙(𝒊𝒊) + 𝜺𝜺𝒊𝒊
• Avec (𝜀𝜀𝑖𝑖 )𝑖𝑖∈{1,2,…,𝑁𝑁} est un bruit blanc.
• La fonction 𝑓𝑓 peut être une fonction linéaire, un polynôme, un réseau de
neurones,... [2].
De la régression linéaire au réseau de neurones
• Dans le cas de la régression linéaire, la rélation entre la variable
Issouf Ouattara, ouatissouf01@[Link]
indépendente 𝒙𝒙 et la variable dépendente 𝒚𝒚 est supposée linéaire.
• Les composants de 𝒚𝒚 peuvent s’écrire comme une combinaison linéaire des
composants de 𝒙𝒙.
∃ 𝒘𝒘, 𝒃𝒃 tel que 𝒚𝒚 = 𝒘𝒘𝑻𝑻 𝒙𝒙 + 𝒃𝒃
De la régression linéaire au réseau de neurones
• Pour trouver les paramètres 𝒘𝒘 et 𝒃𝒃 afin que le modèle soit le plus proche de
Issouf Ouattara, ouatissouf01@[Link]
la donnée que nous avons, il nous faut une mésure permetant de quantifier
à quel point la prédiction par le modèle est proche de l’observation.
• Soit un exemple de donnée (𝑥𝑥 𝑖𝑖 , 𝑦𝑦 𝑖𝑖 ). La prédiction en utilisant le modèle
linéaire est:
�(𝒊𝒊) = 𝒘𝒘𝑻𝑻 𝒙𝒙(𝒊𝒊) + 𝒃𝒃
𝒚𝒚
• On introduit la notion de fonction de coût:
𝒏𝒏
𝟏𝟏
𝒊𝒊
𝟏𝟏 𝒊𝒊 𝒊𝒊 𝟐𝟐 𝑳𝑳 𝒘𝒘, 𝒃𝒃 = � 𝒍𝒍 𝒊𝒊 (𝒘𝒘, 𝒃𝒃)
𝒍𝒍 𝒘𝒘, 𝒃𝒃 = 𝒚𝒚� − 𝒚𝒚 𝒏𝒏
𝟐𝟐 𝒊𝒊=𝟏𝟏
• La meilleure valeur des paramètres (𝒘𝒘, 𝒃𝒃) est donnée par:
𝒘𝒘∗ , 𝒃𝒃∗ = 𝐚𝐚𝐚𝐚𝐚𝐚𝐦𝐦𝐦𝐦𝐦𝐦 𝑳𝑳(𝒘𝒘, 𝒃𝒃)
𝒘𝒘,𝒃𝒃
De la régression linéaire au réseau de neurones
• En remarquant que: (𝒊𝒊) (𝒊𝒊)
�(𝒊𝒊) = 𝒘𝒘𝑻𝑻 𝒙𝒙(𝒊𝒊) + 𝒃𝒃 = 𝒃𝒃 + 𝒘𝒘𝟏𝟏 𝒙𝒙𝟏𝟏 + 𝒘𝒘𝟐𝟐 𝒙𝒙𝟐𝟐 + ⋯ 𝒘𝒘𝒏𝒏 𝒙𝒙𝒏𝒏𝒊𝒊
𝒚𝒚
Issouf Ouattara, ouatissouf01@[Link]
(𝒊𝒊) (𝒊𝒊)
�(𝒊𝒊) = 𝒘𝒘𝑻𝑻 𝒙𝒙(𝒊𝒊) + 𝒃𝒃 = 𝒘𝒘𝟎𝟎 𝒙𝒙𝟎𝟎 + 𝒘𝒘𝟏𝟏 𝒙𝒙𝟏𝟏 + 𝒘𝒘𝟐𝟐 𝒙𝒙𝟐𝟐 + ⋯ 𝒘𝒘𝒏𝒏 𝒙𝒙𝒏𝒏𝒊𝒊 , avec 𝒙𝒙𝟎𝟎 = 𝟏𝟏
𝒚𝒚
• On peut définir un vecteur de poid 𝑾𝑾 qui contient 𝒘𝒘 et 𝒃𝒃 (le vecteur x est
augmenté d’un composant qui est constant et égale à 1).
�(𝒊𝒊) = 𝑾𝑾𝑻𝑻 𝒙𝒙(𝒊𝒊)
𝒚𝒚
• Une solution analytique à l’optimisation de la fonction de coût est
donnée par (𝑿𝑿 est la matrice de notre jeu de données):
−𝟏𝟏 𝑻𝑻
𝑾𝑾∗ = 𝑻𝑻
𝑿𝑿 𝑿𝑿 𝑿𝑿 𝒀𝒀
De la régression linéaire au réseau de neurones
• Si la fonction de coût est très complexe, une solution analytique est difficile
Issouf Ouattara, ouatissouf01@[Link]
à dériver. (dans le cas de la régression linéaire la fonction est simple et
quadratique)
• La méthode de descente de gradient peut être utilisées pour avoir une
solution itérative.
• En calculant le gradient de la fonction de coût en fonction des paramètres
recherchés, on peut faire une mise à jour de ces paramètres.
𝜼𝜼 𝝏𝝏𝒍𝒍 𝒊𝒊 (𝒘𝒘, 𝒃𝒃)
𝒘𝒘 ← 𝒘𝒘 − �
ℬ 𝝏𝝏𝒘𝒘
𝒊𝒊∈𝓑𝓑
𝜼𝜼 𝝏𝝏𝒍𝒍 𝒊𝒊 (𝒘𝒘, 𝒃𝒃)
𝒃𝒃 ← 𝒃𝒃 − �
ℬ 𝝏𝝏𝒃𝒃
𝒊𝒊∈𝓑𝓑
Notion de Perceptron
Notion de perceptron (neurone formel)
Issouf Ouattara, ouatissouf01@[Link]
𝑥𝑥0 = 1 𝑤𝑤0
𝑥𝑥1 𝑤𝑤1
𝑥𝑥2
∑ �
𝒚𝒚
𝑤𝑤2
...
𝑤𝑤𝑚𝑚
𝑥𝑥𝑚𝑚
Notion de Perceptron
Notion de perceptron (neurone
Issouf Ouattara, ouatissouf01@[Link]
formel)
𝑥𝑥0 = 1 𝑤𝑤0
𝑥𝑥1 𝑤𝑤1
• Structure basique d’un réseau de
neurones 𝑥𝑥2
∑ �
𝒚𝒚
𝑤𝑤2
...
• Entrées (𝒙𝒙𝟎𝟎 , 𝒙𝒙𝟏𝟏 , … 𝒙𝒙𝒎𝒎 ) 𝑥𝑥𝑚𝑚
𝑤𝑤𝑚𝑚
• Poids /weights (𝒘𝒘𝟎𝟎 , 𝒘𝒘𝟏𝟏 , … , 𝒘𝒘𝒎𝒎 )
𝒎𝒎
• Fonction d’activation (𝒈𝒈) 𝒂𝒂 = 𝒘𝒘𝟎𝟎 + � 𝒘𝒘𝒊𝒊 𝒙𝒙𝒊𝒊
• Sortie (𝒚𝒚) 𝒊𝒊=𝟏𝟏
𝒚𝒚 = 𝒈𝒈 𝒂𝒂
Notion de Perceptron
Notion de perceptron (neurone
Issouf Ouattara, ouatissouf01@[Link]
formel)
𝑥𝑥0 = 1 𝑤𝑤0
𝑥𝑥1 𝑤𝑤1
• Structure basique d’un réseau de
neurones 𝑥𝑥2
∑ �
𝒚𝒚
𝑤𝑤2
...
𝑤𝑤𝑚𝑚
𝑥𝑥𝑚𝑚
𝒙𝒙𝟏𝟏 𝒎𝒎
𝑿𝑿 = ⋮ 𝒂𝒂 = 𝒘𝒘𝟎𝟎 + � 𝒘𝒘𝒊𝒊 𝒙𝒙𝒊𝒊 = 𝒘𝒘𝟎𝟎 + 𝑾𝑾𝑻𝑻 𝑿𝑿
𝒙𝒙𝒎𝒎 𝒊𝒊=𝟏𝟏
𝒘𝒘𝟏𝟏
𝑾𝑾 = ⋮ 𝒚𝒚 = 𝒈𝒈 𝒂𝒂
𝒘𝒘𝒎𝒎
Notion de Perceptron
Notion de perceptron (neurone
Issouf Ouattara, ouatissouf01@[Link]
formel) 𝑥𝑥0 = 1 𝑤𝑤0
𝑥𝑥1 𝑤𝑤1
• Structure basique d’un réseau de ∑ �
𝒚𝒚
neurones 𝑥𝑥2 𝑤𝑤2
...
𝑤𝑤𝑚𝑚
𝒙𝒙𝟏𝟏 𝑥𝑥𝑚𝑚
𝑿𝑿 = ⋮
𝒙𝒙𝒎𝒎 𝒎𝒎
𝒘𝒘𝟏𝟏 𝒂𝒂 = 𝒘𝒘𝟎𝟎 + � 𝒘𝒘𝒊𝒊 𝒙𝒙𝒊𝒊 = 𝒘𝒘𝟎𝟎 + 𝑾𝑾𝑻𝑻 𝑿𝑿
𝑾𝑾 = ⋮ 𝒊𝒊=𝟏𝟏
𝒘𝒘𝒎𝒎
𝒚𝒚 = 𝒈𝒈 𝒂𝒂
Que se passe t-il si 𝒈𝒈 est la fonction identité?
Notion de Perceptron
Notion de perceptron (neurone formel)
Issouf Ouattara, ouatissouf01@[Link]
𝑏𝑏
𝑥𝑥1 𝑤𝑤1
∑ 𝑦𝑦
𝑥𝑥2
𝑤𝑤2
𝒚𝒚 = 𝒙𝒙𝟏𝟏 � 𝒘𝒘𝟏𝟏 + 𝒙𝒙𝟐𝟐 � 𝒘𝒘𝟐𝟐 + 𝒃𝒃
Notion de Perceptron
Notion de perceptron (neurone formel)
Issouf Ouattara, ouatissouf01@[Link]
𝑏𝑏
𝑥𝑥1 𝑤𝑤1
∑ | 𝑦𝑦
𝑥𝑥2 𝑤𝑤2
𝟏𝟏 𝑠𝑠𝑠𝑠 𝑥𝑥1 𝑤𝑤1 + 𝑥𝑥2 𝑤𝑤2 + 𝑏𝑏 ≥ 0
𝒚𝒚 = �
𝟎𝟎 𝑠𝑠𝑠𝑠 𝑥𝑥1 𝑤𝑤1 + 𝑥𝑥2 𝑤𝑤2 + 𝑏𝑏 < 0
Notion de Perceptron
Notion de perceptron (neurone formel)
Issouf Ouattara, ouatissouf01@[Link]
• Modélisation de la fonction logique “Ou”
𝒙𝒙𝟏𝟏 𝒙𝒙𝟐𝟐 �
𝒚𝒚
𝑏𝑏
0 0 0 𝑥𝑥1 𝑤𝑤1
0 1 1 ∑ | 𝑦𝑦
1 0 1
𝑥𝑥2 𝑤𝑤2
1 1 1
Quel choix pour 𝒘𝒘𝟏𝟏 , 𝒘𝒘𝟐𝟐 , 𝒃𝒃 ?
Les fonctions d’activation
• Sigmoid 1 • Softmax 𝑒𝑒 𝑎𝑎𝑖𝑖
Issouf Ouattara, ouatissouf01@[Link]
𝑔𝑔 𝑎𝑎 = 𝑔𝑔 𝒂𝒂 𝑖𝑖 = 𝐾𝐾
1 + 𝑒𝑒 −𝑎𝑎 ∑𝑗𝑗=1 𝑒𝑒 𝑎𝑎𝑗𝑗
• Communément utilisée dans la • Utilisée dans la classification “multi-
classification binaire. class” sur la dernière couche
• Souffre du problème du “vanishing (couche de sortie)
gradient” où le gradient approche zero.
Les fonctions d’activation
• tanh
Issouf Ouattara, ouatissouf01@[Link]
𝑒𝑒 𝑎𝑎 − 𝑒𝑒 −𝑎𝑎
𝑔𝑔 𝑎𝑎 = tanh 𝑎𝑎 = 𝑎𝑎
𝑒𝑒 + 𝑒𝑒 −𝑎𝑎
• L’interval de sortie est [-1, 1]
• Souffre du problème du “vanishing gradient”
Les fonctions d’activation
Les fonctions d’activation nonlineaires permettent de resoudre des
Issouf Ouattara, ouatissouf01@[Link]
problèmes complexes.
• Rectified Linear Unit (ReLU) • Leaky ReLU
𝑔𝑔 𝑎𝑎 = max(𝑎𝑎, 0) 𝑔𝑔 𝑎𝑎 = max(0.1𝑎𝑎, 𝑎𝑎)
• Entraînement rapide, Sparsité • Resout le problème du “dying ReLU”
• Resout le problème du “vanishing en introduisant un faible gradient pour
gradient” les valeurs négatives
• L’unite ReLU peut devenir
“irresponsive” (dying ReLU unit)
references
[1] Aston Zhang, Zachary C. Lipton, Mu Li, and Alexander J. Smola, Dive into Deep Learning, Lien: [Link]
Issouf Ouattara, ouatissouf01@[Link]
[2] [Link]
[3] Narin, A., Kaya, C. & Pamuk, Z. Automatic detection of coronavirus disease (COVID-19) using X-ray images and deep
convolutional neural networks. Pattern Anal Applic 24, 1207–1220 (2021). [Link]
[4] McKinney, S.M., Sieniek, M., Godbole, V. et al. International evaluation of an AI system for breast cancer screening. Nature 577,
89–94 (2020). [Link]
[5] Esteva, A., Robicquet, A., Ramsundar, B. et al. A guide to deep learning in healthcare. Nat Med 25, 24–29 (2019).
[Link]
[6] Vinyals, Oriol et al. “Show and tell: A neural image caption generator.” 2015 IEEE Conference on Computer Vision and Pattern
Recognition (CVPR) (2015): 3156-3164.
[7] Issouf Ouattara, Heikki Hyyti, Arto Visala, “Drone based Mapping and Identification of Young Spruce Stand for
Semiautonomous Cleaning⁎”, IFAC-PapersOnLine, Volume 53, Issue 2, 2020, Pages 15777-15783, ISSN 2405-8963,
[Link]
[8] S. Malo, T. R. Bayala, I. Ouattara and A. Visala, "Cashew Trees Detection And Yield Analysis Using UAV-Based Map," 2021 16th
Iberian Conference on Information Systems and Technologies (CISTI), 2021, pp. 1-5, doi: 10.23919/CISTI52073.2021.9476517.
[9] G. Sambasivam, Geoffrey Duncan Opiyo, A predictive machine learning application in agriculture: Cassava disease detection
and classification with imbalanced dataset using convolutional neural networks, Egyptian Informatics Journal, 2020.
[10] [Link]