0% ont trouvé ce document utile (0 vote)
2 vues40 pages

Deep Learning Part1

Transféré par

Abdoul Nikiema
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)
2 vues40 pages

Deep Learning Part1

Transféré par

Abdoul Nikiema
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

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]

Vous aimerez peut-être aussi