SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
Le Deep Learning dans la vraie vie
Sandra Pietrowska & Yoann Benoit
Magritte
Ceci n’est pas une pomme.
2
3
Deep Learning
Compréhension, utilisations et limitations
Deep Learning
C’est quoi ??
J’en entends parler de partout, mais je
ne sais toujours pas ce qu’il y a derrière
...
5
Deep Learning : C’est quoi ?
Une branche du Machine Learning
Avec ses spécificités ➢ Une forme de l’intelligence
artificielle
➢ Dérivé de l’apprentissage
automatique
➢ Représente un ensemble des
méthodes d’apprentissage
automatique
➢ Plusieurs particularités qui
permettent de se différencier des
algorithmes “classiques”
https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/ 6
Deep Learning : C’est quoi ?
Pourquoi “deep”?
Réseau de neurones
➢ Profondeur de
l’architecture
➢ Transformations
géométriques simples
au sein d’une couche
➢ Apprentissage de
fonction complexes en
superposant les couches
7
Deep Learning : C’est quoi ?
Deep Learning
Quelles
particularités ??
Comparaison avec des modèles
classiques
9
Différence avec le Machine Learning “traditionnel”
Feature Engineering
Preprocessing vs données brutes
Deep learning
traitement automatique du
texte
Machine learning traditionnel
Nettoyage de données et Feature engineering
Tokenization
Remove
stopwords
Stemming
Part of speech
tagging
ModélisationDonnées brutes
ModélisationDonnées brutes
10
Différence avec le Machine Learning “traditionnel”
Extraction de features
Plusieurs différences
Deep learning Machine learning “traditionnel”
extraction des features de manière
automatisée
extraction des features “à la main”
niveau d’abstraction élevé features compréhensibles
composés indépendantes
les photos des animaux
Reconnaissance des chats
les bords, courbes, coins
de la photo
fourrure, yeux, nez
corps, tête, jambes
chat ou chouette? 11
Deep Learning
Quels champs
d’application ??
Ce n’est fait que pour les images et le
texte ?
12
Champs d’application du Deep Learning
13
➔ Images ➔ Texte
➔ Times series
➔ Son
➔ Données structurées
Données structurées et non-structurées
Champs d’application du Deep Learning
Images
14
➔ Vision industrielle
Champs d’application du Deep Learning
Texte & Images
15➔ Identifier le texte à partir des images
Champs d’application du Deep Learning
Son
16
➔ Assistant vocale
Champs d’application du Deep Learning
Time series
17
➔ Maintenance préventive
Deep Learning
Pourquoi
maintenant ??
Alors que les principes existent depuis
des décennies ...
18
Deep Learning : Pourquoi maintenant ?
Des idées présentes depuis des décennies
Pensées par les précurseurs du domaine
Multi-Layer
Perceptron
Back-Propagation
Algorithm
Convolutional Neural
Networks
Long-Short Term Memory
Networks
1960
1975
1989
1995
Source : Deep Learning in Neural Networks: An Overview (https://arxiv.org/pdf/1404.7828.pdf)
19
Deep Learning : Pourquoi maintenant ?
Ce qui a changé récemment
Deux ingrédients majeurs
Temps
Quantité de données
Puissance de calcul
CPU GPU
Volume
20
Deep Learning
Pourquoi de telles
performances ??
Alors qu’elles étaient inatteignables avec
le Machine Learning classique ...
21
Traditional Machine Learning
Comparaison des performances
Quantité de données
Performance
22
Traditional Machine Learning
Comparaison des performances
Quantité de données
Performance
Medium Neural Network
23
Traditional Machine Learning
Deep Neural Network
Comparaison des performances
Quantité de données
Performance
Medium Neural Network
24
Traditional Machine Learning
Deep Neural Network
Comparaison des performances
Quantité de données
Performance
Medium Neural Network
Volumétrie moyenne
Focus sur le Feature Engineering
25
Traditional Machine Learning
Deep Neural Network
Comparaison des performances
Quantité de données
Performance
Medium Neural Network
Volumétrie importante
Plateau pour les modèles traditionnels
Performances augmentent avec le volume de données
pour les réseaux de neurones
26
Deep Learning
Comment l’utiliser en pratique ?
Deep Learning
Quand l’utiliser ??
Ou pas ...
28
Quand l’utiliser?
Est-ce que c’est pour moi ?
Difficile de créer des features
Accès à des machines
puissantes
Pas besoin de les interpréter
Beaucoup de données à
disposition
29
mais tout est contestable...
Deep Learning
Concrètement,
comment je m’y
prends ??
Comment améliorer mes résultats dans
cet océan de possibilités ?
30
Stratégies pour le Deep Learning
Construire sa chaîne de traitement rapidement
Et itérer souvent
Collecte de la
donnée
Split de la
donnée
Entraînement
d’un modèle
Analyse des
erreurs
Feature
Engineering
31
Stratégies pour le Deep Learning
Construire sa chaîne de traitement rapidement
Et itérer souvent
Collecte de la
donnée
Split de la
donnée
Entraînement
d’un modèle
Analyse des
erreurs
Feature
Engineering
32
Stratégies pour le Deep Learning
Stratégies pour améliorer les performances
Machine Learning “traditionnel”
Changer de modèle
Optimisation des
hyperparamètres
Nouvelles features
Régularisation
Bias / Variance Tradeoff
➢ Difficile d’optimiser à la fois
la performance d’un modèle
et sa capacité de
généralisation
➢ Compromis à trouver
33
Stratégies pour le Deep Learning
Stratégies pour améliorer les performances
Des stratégies différentes en fonction de l’emplacement des erreurs
Train Set
Validation Set
Real world
Test Set
34
Les données sur lesquelles je m’entraîne
Les données sur lesquelles je choisis les meilleurs paramètres de mon modèle
Les données sur lesquelles je teste définitivement mon modèle
Les données réelles de production, à l’utilisation en conditions réelles
Stratégies pour le Deep Learning
Stratégies pour améliorer les performances
Amélioration des performances sur le train set
Train Set
Validation Set
Real world
Modèle plus
profond
Optimiseur
différentTest Set
Entraînement sur
plus d’itérations
35
Stratégies pour le Deep Learning
Stratégies pour améliorer les performances
Amélioration des performances sur les jeux de validation
Train Set
Validation Set
Real world
Plus de données
Régularisation
Test Set
Fonction de coût
différente
Distribution des
données
36
Stratégies pour le Deep Learning
Des architectures à foison
S’inspirer des architectures existantes
37
Source : The Neural Network Zoo (http://www.asimovinstitute.org/neural-network-zoo/)
Certaines architectures ont fait
leurs preuves :
➢ Reconnaissance d’images : CNN
➢ Détection d’objets : RCNN, YOLO
➢ Texte, Son, Time Series : RNN
➢ Génération de données : GAN
➢ Détection d’anomalies : Deep
Autoencoders
Deep Learning
Peu de données …
Comment faire ??
Est-ce que c’est sans issue ?
38
Solutions avec une faible volumétrie de données
Data Augmentation
Augmenter artificiellement la taille de son dataset
➢ Transformations aléatoires sur les données d’origine
➢ Images : Rotations, changement d’échelle, cropping, transposition horizontale, etc.
39
Source : Keras Blog (https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html)
Solutions avec une faible volumétrie de données
Données provenant d’autres distributions
Pour faciliter le pouvoir de généralisation
➢ Augmentation de la taille du dataset d’entraînement en incorporant des données similaires mais non
directement liées à notre problème
Train set
Validation set Test set
Initial data + New data Initial data Initial data
Train set
40
Solutions avec une faible volumétrie de données
Transfer Learning
Transférer les connaissances d’un sujet similaire à notre sujet spécifique
➢ Modèles par nature hautement réutilisables
➢ Modèle profond entraîné sur un sujet similaire avec beaucoup de données
➢ Spécialisation des dernières couches sur la tâche cible
modèle
transfert de connaissance
41modèle
Deep Learning
Est-ce que c’est
interprétable ??
J’ai besoin de comprendre mon modèle ...
42
Est-ce que c’est interprétable?
Black box
Non, mais....
Un modèle de Machine Learning “traditionnel” avec plusieurs dizaines de
variables n’est pas interprétable non plus...
43
Arbre de profondeur 5
Arbre de profondeur > 10
Est-ce que c’est interprétable?
Interprétations locales des prédictions
Faire parler les black-boxes
Source : LIME package (https://github.com/marcotcr/lime)
44
Deep Learning
Puis-je faire
confiance aux
prédictions ??
Alors que c’est quand même une belle
black-box ...
45
Mesurer l’incertitude
Bayesian Deep Learning
La mesure de l’incertitude au sein même du modèle
Réseaux de Neurones traditionnels
➢ Prédiction d’une valeur fixe
➢ Pas de mesure de l’incertitude
associée à la prédiction
Réseaux de Neurones Bayésiens
➢ Estimation de l’incertitude de la
prédiction via la règles de Bayes
➢ Utilisation de méthodes de
“Variational Inference”
Source : Alpha-i Blog
(https://alpha-i.co/blog/MNIST-for-ML-beginner
s-The-Bayesian-Way.html) 46
Mesurer l’incertitude
Mesurer l’incertitude a posteriori
Modèle interprétable pour estimer les erreurs
Source : Ideas on Interpreting Machine Learning
(https://www.oreilly.com/ideas/ideas-on-interpreting-machine-learning?imm_mid=0f4c20&cmp=em-data-na-na-newsltr_20170726)
47
Mesurer l’incertitude
Mesurer l’incertitude a posteriori
Utilisation du dropout
Dropout : Principe
➢ Supprimer aléatoirement des
neurones pendant l’inférence
➢ Technique de régularisation
➢ Garder tous les neurones pour
les prédictions finales
Mesure d’incertitude
➢ Garder le dropout dans la
phase de prédiction
➢ Effectuer plusieurs
prédictions
➢ Calculer la distribution des
prédictions comme mesure
d’incertitude
Source : TensorFlow codelab (https://codelabs.developers.google.com/codelabs/cloud-tensorflow-mnist/#9)
48
Entraînement Prédiction
Deep Learning dans la vraie vie
Take Aways
Conclusion
Qu’avons-nous appris?
Je voudrais tester le Deep Learning
demain, je fais quoi ?
★ Tester des frameworks existants
★ Mettre rapidement en place une
chaîne de traitement complète
★ Itérer souvent sur le
développement du modèle en
fonction des erreurs
➢ DL = Branche de ML avec ses particularités
➢ Applicable sur les données structurés et non structurés
➢ Performances souvent “state of the art” si grande volumétrie
➢ Plusieurs stratégies pour améliorer des performances en
fonction de la position des erreurs
➢ Solutions si peu de données : Data augmentation, ajout de
données d’autres distributions et transfer learning
➢ Les modèles ne sont pas simplement interprétables (comme la
plupart des modèles ML).
Take Aways
50
Frameworks de Deep Learning
Une multitude de frameworks
A choisir en fonction de l’utilisation cible
51
Merci !
Questions ?
52

Mais conteúdo relacionado

Mais procurados

Machine Learning et Intelligence Artificielle
Machine Learning et Intelligence ArtificielleMachine Learning et Intelligence Artificielle
Machine Learning et Intelligence Artificielle
Soft Computing
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
Soft Computing
 
Réseaux des neurones
Réseaux des neuronesRéseaux des neurones
Réseaux des neurones
Med Zaibi
 
IntelligenceArtificielle.pdf
IntelligenceArtificielle.pdfIntelligenceArtificielle.pdf
IntelligenceArtificielle.pdf
harizi riadh
 

Mais procurados (20)

Introduction: Intelligence Artificielle, Machine Learning et Deep Learning
Introduction: Intelligence Artificielle, Machine Learning et Deep LearningIntroduction: Intelligence Artificielle, Machine Learning et Deep Learning
Introduction: Intelligence Artificielle, Machine Learning et Deep Learning
 
Machine Learning et Intelligence Artificielle
Machine Learning et Intelligence ArtificielleMachine Learning et Intelligence Artificielle
Machine Learning et Intelligence Artificielle
 
réseaux de neurones artificiels
réseaux de neurones artificiels réseaux de neurones artificiels
réseaux de neurones artificiels
 
Réseaux neurons
Réseaux neuronsRéseaux neurons
Réseaux neurons
 
Réseaux de neurones
Réseaux de neurones Réseaux de neurones
Réseaux de neurones
 
Les applications du Deep Learning
Les applications du Deep LearningLes applications du Deep Learning
Les applications du Deep Learning
 
Intelligence artificielle
Intelligence artificielleIntelligence artificielle
Intelligence artificielle
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
Comprendre l’intelligence artificielle [webinaire]
Comprendre l’intelligence artificielle [webinaire]Comprendre l’intelligence artificielle [webinaire]
Comprendre l’intelligence artificielle [webinaire]
 
Voyage dans le monde du Deep Learning
Voyage dans le monde du Deep LearningVoyage dans le monde du Deep Learning
Voyage dans le monde du Deep Learning
 
ségmentation d'image
ségmentation d'imageségmentation d'image
ségmentation d'image
 
Les 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learningLes 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learning
 
Réseaux des neurones
Réseaux des neuronesRéseaux des neurones
Réseaux des neurones
 
Les réseaux de neurones
Les réseaux de neuronesLes réseaux de neurones
Les réseaux de neurones
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine Learnig
 
Techniques du data mining
Techniques du data miningTechniques du data mining
Techniques du data mining
 
Réseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTMRéseaux de neurones récurrents et LSTM
Réseaux de neurones récurrents et LSTM
 
Intelligence artificielle en médecine
Intelligence artificielle en médecineIntelligence artificielle en médecine
Intelligence artificielle en médecine
 
Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine Learning
 
IntelligenceArtificielle.pdf
IntelligenceArtificielle.pdfIntelligenceArtificielle.pdf
IntelligenceArtificielle.pdf
 

Semelhante a XebiCon'17 : Le Deep Learning dans la vraie vie - Sandra Pietrowska et Yoann Benoit

Semelhante a XebiCon'17 : Le Deep Learning dans la vraie vie - Sandra Pietrowska et Yoann Benoit (20)

test
testtest
test
 
Principes généraux de l'intelligence artificielle en imagerie médicale
Principes généraux de l'intelligence artificielle en imagerie médicalePrincipes généraux de l'intelligence artificielle en imagerie médicale
Principes généraux de l'intelligence artificielle en imagerie médicale
 
BIPEA 2023 Yvon Gervaise : L'IA Matrice du Laboratoire du Futur ..
BIPEA 2023 Yvon Gervaise : L'IA Matrice du Laboratoire du Futur ..BIPEA 2023 Yvon Gervaise : L'IA Matrice du Laboratoire du Futur ..
BIPEA 2023 Yvon Gervaise : L'IA Matrice du Laboratoire du Futur ..
 
Comment l’intelligence artificielle réinvente la fouille de texte
Comment l’intelligence artificielle réinvente la fouille de texteComment l’intelligence artificielle réinvente la fouille de texte
Comment l’intelligence artificielle réinvente la fouille de texte
 
Conférence du 10 novembre 2O22 par Yvon Gervaise.pdf
Conférence du 10 novembre 2O22  par Yvon Gervaise.pdfConférence du 10 novembre 2O22  par Yvon Gervaise.pdf
Conférence du 10 novembre 2O22 par Yvon Gervaise.pdf
 
Présentation_IA.pptx
Présentation_IA.pptxPrésentation_IA.pptx
Présentation_IA.pptx
 
CHimie & Inteligence Artificielle cours YG.pdf
CHimie & Inteligence Artificielle cours YG.pdfCHimie & Inteligence Artificielle cours YG.pdf
CHimie & Inteligence Artificielle cours YG.pdf
 
conference Y. Gervaise à Université M2 Chimie Rouen 10-1-24.pdf
conference Y. Gervaise à Université M2 Chimie Rouen 10-1-24.pdfconference Y. Gervaise à Université M2 Chimie Rouen 10-1-24.pdf
conference Y. Gervaise à Université M2 Chimie Rouen 10-1-24.pdf
 
BIPEA 2023 L'IA Matrice du Laboratoire du Futur par Yvon Gervaise
BIPEA 2023 L'IA Matrice du Laboratoire du Futur par Yvon GervaiseBIPEA 2023 L'IA Matrice du Laboratoire du Futur par Yvon Gervaise
BIPEA 2023 L'IA Matrice du Laboratoire du Futur par Yvon Gervaise
 
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
L'IA au service des Laboratoire - Conference donnée a Paris le 6 Février 2024
 
L'Intelligence Artificielle I.A. au service des Laboratoires
L'Intelligence Artificielle I.A. au service des LaboratoiresL'Intelligence Artificielle I.A. au service des Laboratoires
L'Intelligence Artificielle I.A. au service des Laboratoires
 
Rapport-du-projet CNN.docx
Rapport-du-projet CNN.docxRapport-du-projet CNN.docx
Rapport-du-projet CNN.docx
 
Éditeurs d'applications mobiles : augmentez la résolution des photos de vos c...
Éditeurs d'applications mobiles : augmentez la résolution des photos de vos c...Éditeurs d'applications mobiles : augmentez la résolution des photos de vos c...
Éditeurs d'applications mobiles : augmentez la résolution des photos de vos c...
 
Comment le Data et Deep Learning révolutionnent la science
Comment le Data et Deep Learning révolutionnent la scienceComment le Data et Deep Learning révolutionnent la science
Comment le Data et Deep Learning révolutionnent la science
 
Résumé ai
Résumé aiRésumé ai
Résumé ai
 
Softshake 2015 - Des small data aux big data - Méthodes et Technologies
Softshake 2015 - Des small data aux big data - Méthodes et TechnologiesSoftshake 2015 - Des small data aux big data - Méthodes et Technologies
Softshake 2015 - Des small data aux big data - Méthodes et Technologies
 
IBM Paris Bluemix Meetup #12 - Ecole 42 - 9 décembre 2015
IBM Paris Bluemix Meetup #12 - Ecole 42 - 9 décembre 2015IBM Paris Bluemix Meetup #12 - Ecole 42 - 9 décembre 2015
IBM Paris Bluemix Meetup #12 - Ecole 42 - 9 décembre 2015
 
Forum Labo Version DEF par Yvon Gervaise.pdf
Forum Labo Version DEF par Yvon Gervaise.pdfForum Labo Version DEF par Yvon Gervaise.pdf
Forum Labo Version DEF par Yvon Gervaise.pdf
 
FAIRisation d’analyses bioinformatiques.pdf
FAIRisation d’analyses bioinformatiques.pdfFAIRisation d’analyses bioinformatiques.pdf
FAIRisation d’analyses bioinformatiques.pdf
 
Diagnostic performances
Diagnostic performancesDiagnostic performances
Diagnostic performances
 

Mais de Publicis Sapient Engineering

Mais de Publicis Sapient Engineering (20)

XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humainXebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
XebiCon'18 - L'algorithme de reconnaissance de formes par le cerveau humain
 
Xebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to CloudXebicon'18 - IoT: From Edge to Cloud
Xebicon'18 - IoT: From Edge to Cloud
 
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveurXebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
Xebicon'18 - Spark in jail : conteneurisez vos traitements data sans serveur
 
XebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern InfrastructureXebiCon'18 - Modern Infrastructure
XebiCon'18 - Modern Infrastructure
 
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
XebiCon'18 - La Web App d'aujourd'hui et de demain : état de l'art et bleedin...
 
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
XebiCon'18 - Des notebook pour le monitoring avec Zeppelin
 
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
XebiCon'18 - Event Sourcing et RGPD, incompatibles ?
 
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
XebiCon'18 - Deno, le nouveau NodeJS qui inverse la tendance ?
 
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribuéXebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
XebiCon'18 - Boostez vos modèles avec du Deep Learning distribué
 
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
XebiCon'18 - Comment j'ai développé un jeu vidéo avec des outils de développe...
 
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
XebiCon'18 - Les utilisateurs finaux, les oubliés de nos produits !
 
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des datavizXebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
XebiCon'18 - Comment fausser l'interprétation de vos résultats avec des dataviz
 
XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture XebiCon'18 - Le développeur dans la Pop Culture
XebiCon'18 - Le développeur dans la Pop Culture
 
XebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilitéXebiCon'18 - Architecturer son application mobile pour la durabilité
XebiCon'18 - Architecturer son application mobile pour la durabilité
 
XebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID ConnectXebiCon'18 - Sécuriser son API avec OpenID Connect
XebiCon'18 - Sécuriser son API avec OpenID Connect
 
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
XebiCon'18 - Structuration du Temps et Dynamique de Groupes, Théorie organisa...
 
XebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an aprèsXebiCon'18 - Spark NLP, un an après
XebiCon'18 - Spark NLP, un an après
 
XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018XebiCon'18 - La sécurité, douce illusion même en 2018
XebiCon'18 - La sécurité, douce illusion même en 2018
 
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
XebiCon'18 - Utiliser Hyperledger Fabric pour la création d'une blockchain pr...
 
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
 

XebiCon'17 : Le Deep Learning dans la vraie vie - Sandra Pietrowska et Yoann Benoit

  • 1. Le Deep Learning dans la vraie vie Sandra Pietrowska & Yoann Benoit
  • 3. 3
  • 5. Deep Learning C’est quoi ?? J’en entends parler de partout, mais je ne sais toujours pas ce qu’il y a derrière ... 5
  • 6. Deep Learning : C’est quoi ? Une branche du Machine Learning Avec ses spécificités ➢ Une forme de l’intelligence artificielle ➢ Dérivé de l’apprentissage automatique ➢ Représente un ensemble des méthodes d’apprentissage automatique ➢ Plusieurs particularités qui permettent de se différencier des algorithmes “classiques” https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/ 6
  • 7. Deep Learning : C’est quoi ? Pourquoi “deep”? Réseau de neurones ➢ Profondeur de l’architecture ➢ Transformations géométriques simples au sein d’une couche ➢ Apprentissage de fonction complexes en superposant les couches 7
  • 8. Deep Learning : C’est quoi ?
  • 10. Différence avec le Machine Learning “traditionnel” Feature Engineering Preprocessing vs données brutes Deep learning traitement automatique du texte Machine learning traditionnel Nettoyage de données et Feature engineering Tokenization Remove stopwords Stemming Part of speech tagging ModélisationDonnées brutes ModélisationDonnées brutes 10
  • 11. Différence avec le Machine Learning “traditionnel” Extraction de features Plusieurs différences Deep learning Machine learning “traditionnel” extraction des features de manière automatisée extraction des features “à la main” niveau d’abstraction élevé features compréhensibles composés indépendantes les photos des animaux Reconnaissance des chats les bords, courbes, coins de la photo fourrure, yeux, nez corps, tête, jambes chat ou chouette? 11
  • 12. Deep Learning Quels champs d’application ?? Ce n’est fait que pour les images et le texte ? 12
  • 13. Champs d’application du Deep Learning 13 ➔ Images ➔ Texte ➔ Times series ➔ Son ➔ Données structurées Données structurées et non-structurées
  • 14. Champs d’application du Deep Learning Images 14 ➔ Vision industrielle
  • 15. Champs d’application du Deep Learning Texte & Images 15➔ Identifier le texte à partir des images
  • 16. Champs d’application du Deep Learning Son 16 ➔ Assistant vocale
  • 17. Champs d’application du Deep Learning Time series 17 ➔ Maintenance préventive
  • 18. Deep Learning Pourquoi maintenant ?? Alors que les principes existent depuis des décennies ... 18
  • 19. Deep Learning : Pourquoi maintenant ? Des idées présentes depuis des décennies Pensées par les précurseurs du domaine Multi-Layer Perceptron Back-Propagation Algorithm Convolutional Neural Networks Long-Short Term Memory Networks 1960 1975 1989 1995 Source : Deep Learning in Neural Networks: An Overview (https://arxiv.org/pdf/1404.7828.pdf) 19
  • 20. Deep Learning : Pourquoi maintenant ? Ce qui a changé récemment Deux ingrédients majeurs Temps Quantité de données Puissance de calcul CPU GPU Volume 20
  • 21. Deep Learning Pourquoi de telles performances ?? Alors qu’elles étaient inatteignables avec le Machine Learning classique ... 21
  • 22. Traditional Machine Learning Comparaison des performances Quantité de données Performance 22
  • 23. Traditional Machine Learning Comparaison des performances Quantité de données Performance Medium Neural Network 23
  • 24. Traditional Machine Learning Deep Neural Network Comparaison des performances Quantité de données Performance Medium Neural Network 24
  • 25. Traditional Machine Learning Deep Neural Network Comparaison des performances Quantité de données Performance Medium Neural Network Volumétrie moyenne Focus sur le Feature Engineering 25
  • 26. Traditional Machine Learning Deep Neural Network Comparaison des performances Quantité de données Performance Medium Neural Network Volumétrie importante Plateau pour les modèles traditionnels Performances augmentent avec le volume de données pour les réseaux de neurones 26
  • 29. Quand l’utiliser? Est-ce que c’est pour moi ? Difficile de créer des features Accès à des machines puissantes Pas besoin de les interpréter Beaucoup de données à disposition 29 mais tout est contestable...
  • 30. Deep Learning Concrètement, comment je m’y prends ?? Comment améliorer mes résultats dans cet océan de possibilités ? 30
  • 31. Stratégies pour le Deep Learning Construire sa chaîne de traitement rapidement Et itérer souvent Collecte de la donnée Split de la donnée Entraînement d’un modèle Analyse des erreurs Feature Engineering 31
  • 32. Stratégies pour le Deep Learning Construire sa chaîne de traitement rapidement Et itérer souvent Collecte de la donnée Split de la donnée Entraînement d’un modèle Analyse des erreurs Feature Engineering 32
  • 33. Stratégies pour le Deep Learning Stratégies pour améliorer les performances Machine Learning “traditionnel” Changer de modèle Optimisation des hyperparamètres Nouvelles features Régularisation Bias / Variance Tradeoff ➢ Difficile d’optimiser à la fois la performance d’un modèle et sa capacité de généralisation ➢ Compromis à trouver 33
  • 34. Stratégies pour le Deep Learning Stratégies pour améliorer les performances Des stratégies différentes en fonction de l’emplacement des erreurs Train Set Validation Set Real world Test Set 34 Les données sur lesquelles je m’entraîne Les données sur lesquelles je choisis les meilleurs paramètres de mon modèle Les données sur lesquelles je teste définitivement mon modèle Les données réelles de production, à l’utilisation en conditions réelles
  • 35. Stratégies pour le Deep Learning Stratégies pour améliorer les performances Amélioration des performances sur le train set Train Set Validation Set Real world Modèle plus profond Optimiseur différentTest Set Entraînement sur plus d’itérations 35
  • 36. Stratégies pour le Deep Learning Stratégies pour améliorer les performances Amélioration des performances sur les jeux de validation Train Set Validation Set Real world Plus de données Régularisation Test Set Fonction de coût différente Distribution des données 36
  • 37. Stratégies pour le Deep Learning Des architectures à foison S’inspirer des architectures existantes 37 Source : The Neural Network Zoo (http://www.asimovinstitute.org/neural-network-zoo/) Certaines architectures ont fait leurs preuves : ➢ Reconnaissance d’images : CNN ➢ Détection d’objets : RCNN, YOLO ➢ Texte, Son, Time Series : RNN ➢ Génération de données : GAN ➢ Détection d’anomalies : Deep Autoencoders
  • 38. Deep Learning Peu de données … Comment faire ?? Est-ce que c’est sans issue ? 38
  • 39. Solutions avec une faible volumétrie de données Data Augmentation Augmenter artificiellement la taille de son dataset ➢ Transformations aléatoires sur les données d’origine ➢ Images : Rotations, changement d’échelle, cropping, transposition horizontale, etc. 39 Source : Keras Blog (https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html)
  • 40. Solutions avec une faible volumétrie de données Données provenant d’autres distributions Pour faciliter le pouvoir de généralisation ➢ Augmentation de la taille du dataset d’entraînement en incorporant des données similaires mais non directement liées à notre problème Train set Validation set Test set Initial data + New data Initial data Initial data Train set 40
  • 41. Solutions avec une faible volumétrie de données Transfer Learning Transférer les connaissances d’un sujet similaire à notre sujet spécifique ➢ Modèles par nature hautement réutilisables ➢ Modèle profond entraîné sur un sujet similaire avec beaucoup de données ➢ Spécialisation des dernières couches sur la tâche cible modèle transfert de connaissance 41modèle
  • 42. Deep Learning Est-ce que c’est interprétable ?? J’ai besoin de comprendre mon modèle ... 42
  • 43. Est-ce que c’est interprétable? Black box Non, mais.... Un modèle de Machine Learning “traditionnel” avec plusieurs dizaines de variables n’est pas interprétable non plus... 43 Arbre de profondeur 5 Arbre de profondeur > 10
  • 44. Est-ce que c’est interprétable? Interprétations locales des prédictions Faire parler les black-boxes Source : LIME package (https://github.com/marcotcr/lime) 44
  • 45. Deep Learning Puis-je faire confiance aux prédictions ?? Alors que c’est quand même une belle black-box ... 45
  • 46. Mesurer l’incertitude Bayesian Deep Learning La mesure de l’incertitude au sein même du modèle Réseaux de Neurones traditionnels ➢ Prédiction d’une valeur fixe ➢ Pas de mesure de l’incertitude associée à la prédiction Réseaux de Neurones Bayésiens ➢ Estimation de l’incertitude de la prédiction via la règles de Bayes ➢ Utilisation de méthodes de “Variational Inference” Source : Alpha-i Blog (https://alpha-i.co/blog/MNIST-for-ML-beginner s-The-Bayesian-Way.html) 46
  • 47. Mesurer l’incertitude Mesurer l’incertitude a posteriori Modèle interprétable pour estimer les erreurs Source : Ideas on Interpreting Machine Learning (https://www.oreilly.com/ideas/ideas-on-interpreting-machine-learning?imm_mid=0f4c20&cmp=em-data-na-na-newsltr_20170726) 47
  • 48. Mesurer l’incertitude Mesurer l’incertitude a posteriori Utilisation du dropout Dropout : Principe ➢ Supprimer aléatoirement des neurones pendant l’inférence ➢ Technique de régularisation ➢ Garder tous les neurones pour les prédictions finales Mesure d’incertitude ➢ Garder le dropout dans la phase de prédiction ➢ Effectuer plusieurs prédictions ➢ Calculer la distribution des prédictions comme mesure d’incertitude Source : TensorFlow codelab (https://codelabs.developers.google.com/codelabs/cloud-tensorflow-mnist/#9) 48 Entraînement Prédiction
  • 49. Deep Learning dans la vraie vie Take Aways
  • 50. Conclusion Qu’avons-nous appris? Je voudrais tester le Deep Learning demain, je fais quoi ? ★ Tester des frameworks existants ★ Mettre rapidement en place une chaîne de traitement complète ★ Itérer souvent sur le développement du modèle en fonction des erreurs ➢ DL = Branche de ML avec ses particularités ➢ Applicable sur les données structurés et non structurés ➢ Performances souvent “state of the art” si grande volumétrie ➢ Plusieurs stratégies pour améliorer des performances en fonction de la position des erreurs ➢ Solutions si peu de données : Data augmentation, ajout de données d’autres distributions et transfer learning ➢ Les modèles ne sont pas simplement interprétables (comme la plupart des modèles ML). Take Aways 50
  • 51. Frameworks de Deep Learning Une multitude de frameworks A choisir en fonction de l’utilisation cible 51