Voyage dans le monde
du Deep Learning
Mercredi 12 Septembre 2018
Alexia Audevart
Data & Enthusiasm
@aaudevart
President of
Toulouse Data Science meet-up
Co-organizer of
Toulouse DevFest conference
Founder of datactik
Data Scientist
Pourquoi le
Deep Learning
maintenant ?
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Définition Intelligence Artificielle
Ensemble de théories et de techniques mises en œuvre
en vue de réaliser des machines capables de simuler l’intelligence
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
La première vague de l’IA
1950 : Test de Turing
1956 : Conférence
de Darmouth College
Constat : Les ordinateurs sont primitifs => Besoin de micro-processeur puissant
Promesse irréalisable - Arrêt des subventions => Hiver de l’IA
1960 : Subvention de la
recherche par la DARPA aux USA
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
La première vague de l’IA
1970’s : Système Experts
Fin du XXème siècle, les machines sont toujours moins
intelligentes que les humains !
Programmes traditionnels avec des algorithmes qui se programment manuellement.
Loi de Moore 1997 - Deep Blue
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
La deuxième vague de l’IA
2009
Reconnaissance Vocale
Regain d’intérêt du Deep Learning
Les programmes s’éduquent plus qu’ils ne se programment !
2011
IBM Watson – Jeopardy
2012
Vision par ordinateur
2014
Traduction
2015
AplhaGo
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Le Deep Learning
Objectif : simuler l’intelligence humaine
Modéliser mathématiquement le cerveau afin de reproduire certaines caractéristiques :
Approche essentiellement probabiliste ≠ raisonnement formel
Capacité de mémoire
Capacité
d’apprentissage
Capacité à traiter
des informations
incomplètes
Neurone Artificiel
vs
Neurone Biologique
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Notre cerveau en chiffre…
• Diamètre d'un neurone : <0,1 mm
• Poids du cerveau : 1,3 - 1,4 kg
• 1mm3 de cortex contient 1 milliard de connexions
• Nombre de neurones dans le cerveau humain : 100 milliards
• Nombre de neurones dans le cœur : 40 000 neurones
• Nombre de neurones dans les intestins : 100 milliards
• 160 000 km réseau sanguin dans le cerveau => moitié de la
distance de la Terre à la Lune
• 1000 à 10000 connexions pour chaque synapse
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Inspiration Biologique
Les DENDRITES = entrées du neurone
L’AXONE = sortie du neurone vers d’autres
neurones ou fibres musculaires
Les SYNAPSES = point de
connexion avec les autres
neurones, fibres nerveuses
ou musculaires
Le NOYAU = active la sortie en fonction
des simulations en entrée
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Le neurone formel
1943 : 1ère notion de neurone formel
• Warren Mc Culloch (neurophysiologiste) et Walter Pitts (psychologue cognitif)
La 1ère implémentation du neurone formel était limitée
à des problèmes de classification binaire
NoyauDendrites Axone
Input
Output
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Activation :
• function A = “activated” if Y > threshold else not
A(x) = max(0,x)
Quelques Fonctions d’Activation
Seuil Sigmoïde
Tanh ReLU
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Prédiction du prix d’une maison
X
Size of a
house
y
Price of a
house
neurone
Un réseau neuronal
est une association de neurones formels
en un graphe + ou – complexe.
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Le Deep Learning – Les principaux types de réseaux de neurones
Olivier Ezratty – Les usages de l’IA (livre blanc)
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Les outils du Deep Learning
Deep Neural Network
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Prédiction du prix d’une maison
y
Price of a
house
# Bedrooms
Zip Code
Wealth
X
Family Size
School Quality
Walkability
Size of a house
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Prédiction du prix d’une maison
y
Price of a
house
# Bedrooms
Zip Code
Wealth
X
Size of a house
X2
X3
X4
X1
Un réseau neuronal basic = Fully Connected
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Machine Learning vs Deep Learning
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Machine Learning vs Deep Learning
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
MNIST
?
MNIST = Mixed National Institute of Standards and Technology
DataSet : http://yann.lecun.com/exdb/mnist
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
1-layer Neural Network - Overview
28 x 28 pixels
...
784 pixels
0 1 2 .... 9
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
1-layer Neural Network
28 x 28
pixels
...
784 pixels X = Input
Linear
Model
WX + b
Y = Logit S(Y)
L
1-hot labels
SoftMax Cross
Entropy
D(S,L)
2.0
5.7
0.3
1.3
1.9
0.9
7.3
1.5
2.7
3.1
0.08
0.21
0.01
0.05
0.07
0.03
0.28
0.06
0.10
0.11
0
0
0
0
0
0
1
0
0
0
Comment notre réseau apprend-t-il ?
Objectif : minimiser l’erreur lors de la phase d’apprentissage
(apprentissage supervisé)
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Back Propagation
Technique d’apprentissage par rétro-propagation des erreurs
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
La descente de gradient
• Gradient = un vecteur de dérivées partielles indiquant la
direction à suivre pour atteindre le minimum d’une fonction
différentiable
• Pour chaque neurone => calcul de l’erreur et du gradient pour
obtenir le nouveau poid w
Pour aller plus loin :
• Learning Rate
• Stochastic Gradient
• ...
Backpropagation in 5min : https://www.youtube.com/watch?v=q555kfIFUCM
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
1-layer Neural Network – Résultat MNIST
Martin Gorner - https://github.com/GoogleCloudPlatform/tensorflow-without-a-phd
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Perceptron multicouche - Architecture
28 x 28 pixels
...
784 pixels
0 1 2 .... 9
Layer 1
- 200 neurones
Layer 2
- 100 neurones
Layer 3
- 60 neurones
Layer 4
- 30 neurones
Layer 5
- 10 neurones
Fonction
ReLu
Fonction
softmax
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Perceptron multicouche – Quelques paramètres d’optimisation
Dropout
Learning Rate Decay
Fonctions d’activation
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Perceptron multicouche – Résultats MNIST
TODO Résultats
Martin Gorner - https://github.com/GoogleCloudPlatform/tensorflow-without-a-phd
Convolutional
Neural Network
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
Avantage du CNN
W
CNN = Réseau de Neurones partageant ses paramètres dans l’espace
Tirer partie de la forte corrélation
entre pixels voisins
Réduction du nombre de paramètres
entrainable
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
CNN : Composition d’une image
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
CNN : Le noyau de convolution
Kernel ou Patches
ou Noyau de convolution
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
CNN : Le noyau de convolution
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
CNN : Le noyau de convolution
Déplacement du noyau de convolution sur l’image
Un CNN est un DNN où les stacks de couches matricielles
sont remplacés par des piles de convolutions !
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
CNN : Stride
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
CNN : Stride
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
CNN : Pooling
Permet de réduire la dimension des feature maps
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
CNN : Exemple
Feature Learning
Image
Convolution
+
Activation
+
Pooling
Convolution
+
Activation
+
Pooling
Classification
Flatten
Fully
Connected
Softmax.
.
.
.
.
.
.
.
.
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
CNN Inside
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
CNN – Résultat MNIST
Martin Gorner - https://github.com/GoogleCloudPlatform/tensorflow-without-a-phd
What else ?
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
RNN : Recurrent Neural Network
Reconnaissance de phonèmes Maintenance préventive de moteur
Analyse d’ECG Détection d’exoplanètes
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
RNN : Recurrent Neural Network
La même fonction et les mêmes paramètres sont utilisés à chaque pas de temps
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
RNN : LSTM – Long Short Term Memory
Capacité à mémoriser les contextes
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
GAN : Generative Adversorial Network
Colorisation automatique de photos et films Complément d’images tronquées
Génération d’une image
à partir d’un descriptif textuel
Génération automatique de visage
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
GAN : Generative Adversorial Network
Application d’un style à une photo
=
=
=
=
+
+
+
+
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
GAN : Generative Adversorial Network
Conclusion
Alexia Audevart – Salon Data – Deep Learning© Tous droits réservés - 2018
In Summary...
Neurone Formel
Deep Neural
Network
Convolutional
Neural Network
Recurrent
Neural Network
Generative
Adversorial
Network
Alexia Audevart
Data & Enthusiasm
alexia@datactik.com
@aaudevart
Thank You !
Do you have any questions ?

Voyage dans le monde du Deep Learning

  • 1.
    Voyage dans lemonde du Deep Learning Mercredi 12 Septembre 2018
  • 2.
    Alexia Audevart Data &Enthusiasm @aaudevart President of Toulouse Data Science meet-up Co-organizer of Toulouse DevFest conference Founder of datactik Data Scientist
  • 3.
  • 4.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Définition Intelligence Artificielle Ensemble de théories et de techniques mises en œuvre en vue de réaliser des machines capables de simuler l’intelligence
  • 5.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 La première vague de l’IA 1950 : Test de Turing 1956 : Conférence de Darmouth College Constat : Les ordinateurs sont primitifs => Besoin de micro-processeur puissant Promesse irréalisable - Arrêt des subventions => Hiver de l’IA 1960 : Subvention de la recherche par la DARPA aux USA
  • 6.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 La première vague de l’IA 1970’s : Système Experts Fin du XXème siècle, les machines sont toujours moins intelligentes que les humains ! Programmes traditionnels avec des algorithmes qui se programment manuellement. Loi de Moore 1997 - Deep Blue
  • 7.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 La deuxième vague de l’IA 2009 Reconnaissance Vocale Regain d’intérêt du Deep Learning Les programmes s’éduquent plus qu’ils ne se programment ! 2011 IBM Watson – Jeopardy 2012 Vision par ordinateur 2014 Traduction 2015 AplhaGo
  • 8.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Le Deep Learning Objectif : simuler l’intelligence humaine Modéliser mathématiquement le cerveau afin de reproduire certaines caractéristiques : Approche essentiellement probabiliste ≠ raisonnement formel Capacité de mémoire Capacité d’apprentissage Capacité à traiter des informations incomplètes
  • 9.
  • 10.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Notre cerveau en chiffre… • Diamètre d'un neurone : <0,1 mm • Poids du cerveau : 1,3 - 1,4 kg • 1mm3 de cortex contient 1 milliard de connexions • Nombre de neurones dans le cerveau humain : 100 milliards • Nombre de neurones dans le cœur : 40 000 neurones • Nombre de neurones dans les intestins : 100 milliards • 160 000 km réseau sanguin dans le cerveau => moitié de la distance de la Terre à la Lune • 1000 à 10000 connexions pour chaque synapse
  • 11.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Inspiration Biologique Les DENDRITES = entrées du neurone L’AXONE = sortie du neurone vers d’autres neurones ou fibres musculaires Les SYNAPSES = point de connexion avec les autres neurones, fibres nerveuses ou musculaires Le NOYAU = active la sortie en fonction des simulations en entrée
  • 12.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Le neurone formel 1943 : 1ère notion de neurone formel • Warren Mc Culloch (neurophysiologiste) et Walter Pitts (psychologue cognitif) La 1ère implémentation du neurone formel était limitée à des problèmes de classification binaire NoyauDendrites Axone Input Output
  • 13.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Activation : • function A = “activated” if Y > threshold else not A(x) = max(0,x) Quelques Fonctions d’Activation Seuil Sigmoïde Tanh ReLU
  • 14.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Prédiction du prix d’une maison X Size of a house y Price of a house neurone
  • 15.
    Un réseau neuronal estune association de neurones formels en un graphe + ou – complexe.
  • 16.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Le Deep Learning – Les principaux types de réseaux de neurones Olivier Ezratty – Les usages de l’IA (livre blanc)
  • 17.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Les outils du Deep Learning
  • 18.
  • 19.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Prédiction du prix d’une maison y Price of a house # Bedrooms Zip Code Wealth X Family Size School Quality Walkability Size of a house
  • 20.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Prédiction du prix d’une maison y Price of a house # Bedrooms Zip Code Wealth X Size of a house X2 X3 X4 X1 Un réseau neuronal basic = Fully Connected
  • 21.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Machine Learning vs Deep Learning
  • 22.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Machine Learning vs Deep Learning
  • 23.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 MNIST ? MNIST = Mixed National Institute of Standards and Technology DataSet : http://yann.lecun.com/exdb/mnist
  • 24.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 1-layer Neural Network - Overview 28 x 28 pixels ... 784 pixels 0 1 2 .... 9
  • 25.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 1-layer Neural Network 28 x 28 pixels ... 784 pixels X = Input Linear Model WX + b Y = Logit S(Y) L 1-hot labels SoftMax Cross Entropy D(S,L) 2.0 5.7 0.3 1.3 1.9 0.9 7.3 1.5 2.7 3.1 0.08 0.21 0.01 0.05 0.07 0.03 0.28 0.06 0.10 0.11 0 0 0 0 0 0 1 0 0 0 Comment notre réseau apprend-t-il ?
  • 26.
    Objectif : minimiserl’erreur lors de la phase d’apprentissage (apprentissage supervisé)
  • 27.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Back Propagation Technique d’apprentissage par rétro-propagation des erreurs
  • 28.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 La descente de gradient • Gradient = un vecteur de dérivées partielles indiquant la direction à suivre pour atteindre le minimum d’une fonction différentiable • Pour chaque neurone => calcul de l’erreur et du gradient pour obtenir le nouveau poid w Pour aller plus loin : • Learning Rate • Stochastic Gradient • ... Backpropagation in 5min : https://www.youtube.com/watch?v=q555kfIFUCM
  • 29.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 1-layer Neural Network – Résultat MNIST Martin Gorner - https://github.com/GoogleCloudPlatform/tensorflow-without-a-phd
  • 30.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Perceptron multicouche - Architecture 28 x 28 pixels ... 784 pixels 0 1 2 .... 9 Layer 1 - 200 neurones Layer 2 - 100 neurones Layer 3 - 60 neurones Layer 4 - 30 neurones Layer 5 - 10 neurones Fonction ReLu Fonction softmax
  • 31.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Perceptron multicouche – Quelques paramètres d’optimisation Dropout Learning Rate Decay Fonctions d’activation
  • 32.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Perceptron multicouche – Résultats MNIST TODO Résultats Martin Gorner - https://github.com/GoogleCloudPlatform/tensorflow-without-a-phd
  • 33.
  • 34.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 Avantage du CNN W CNN = Réseau de Neurones partageant ses paramètres dans l’espace Tirer partie de la forte corrélation entre pixels voisins Réduction du nombre de paramètres entrainable
  • 35.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 CNN : Composition d’une image
  • 36.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 CNN : Le noyau de convolution Kernel ou Patches ou Noyau de convolution
  • 37.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 CNN : Le noyau de convolution
  • 38.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 CNN : Le noyau de convolution Déplacement du noyau de convolution sur l’image Un CNN est un DNN où les stacks de couches matricielles sont remplacés par des piles de convolutions !
  • 39.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 CNN : Stride
  • 40.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 CNN : Stride
  • 41.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 CNN : Pooling Permet de réduire la dimension des feature maps
  • 42.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 CNN : Exemple Feature Learning Image Convolution + Activation + Pooling Convolution + Activation + Pooling Classification Flatten Fully Connected Softmax. . . . . . . . .
  • 43.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 CNN Inside
  • 44.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 CNN – Résultat MNIST Martin Gorner - https://github.com/GoogleCloudPlatform/tensorflow-without-a-phd
  • 45.
  • 46.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 RNN : Recurrent Neural Network Reconnaissance de phonèmes Maintenance préventive de moteur Analyse d’ECG Détection d’exoplanètes
  • 47.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 RNN : Recurrent Neural Network La même fonction et les mêmes paramètres sont utilisés à chaque pas de temps
  • 48.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 RNN : LSTM – Long Short Term Memory Capacité à mémoriser les contextes
  • 49.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 GAN : Generative Adversorial Network Colorisation automatique de photos et films Complément d’images tronquées Génération d’une image à partir d’un descriptif textuel Génération automatique de visage
  • 50.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 GAN : Generative Adversorial Network Application d’un style à une photo = = = = + + + +
  • 51.
    Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 GAN : Generative Adversorial Network
  • 52.
    Conclusion Alexia Audevart –Salon Data – Deep Learning© Tous droits réservés - 2018 In Summary... Neurone Formel Deep Neural Network Convolutional Neural Network Recurrent Neural Network Generative Adversorial Network
  • 53.
    Alexia Audevart Data &Enthusiasm alexia@datactik.com @aaudevart Thank You ! Do you have any questions ?