Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
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
artificie...
Deep Learning : C’est quoi ?
Pourquoi “deep”?
Réseau de neurones
➢ Profondeur de
l’architecture
➢ Transformations
géométri...
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
trait...
Différence avec le Machine Learning “traditionnel”
Extraction de features
Plusieurs différences
Deep learning Machine lear...
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 e...
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
Mult...
Deep Learning : Pourquoi maintenant ?
Ce qui a changé récemment
Deux ingrédients majeurs
Temps
Quantité de données
Puissan...
Deep Learning
Pourquoi de telles
performances ??
Alors qu’elles étaient inatteignables avec
le Machine Learning classique ...
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 Neura...
Traditional Machine Learning
Deep Neural Network
Comparaison des performances
Quantité de données
Performance
Medium Neura...
Traditional Machine Learning
Deep Neural Network
Comparaison des performances
Quantité de données
Performance
Medium Neura...
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 d...
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
Spl...
Stratégies pour le Deep Learning
Construire sa chaîne de traitement rapidement
Et itérer souvent
Collecte de la
donnée
Spl...
Stratégies pour le Deep Learning
Stratégies pour améliorer les performances
Machine Learning “traditionnel”
Changer de mod...
Stratégies pour le Deep Learning
Stratégies pour améliorer les performances
Des stratégies différentes en fonction de l’em...
Stratégies pour le Deep Learning
Stratégies pour améliorer les performances
Amélioration des performances sur le train set...
Stratégies pour le Deep Learning
Stratégies pour améliorer les performances
Amélioration des performances sur les jeux de ...
Stratégies pour le Deep Learning
Des architectures à foison
S’inspirer des architectures existantes
37
Source : The Neural...
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
➢ Tr...
Solutions avec une faible volumétrie de données
Données provenant d’autres distributions
Pour faciliter le pouvoir de géné...
Solutions avec une faible volumétrie de données
Transfer Learning
Transférer les connaissances d’un sujet similaire à notr...
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 dizain...
Est-ce que c’est interprétable?
Interprétations locales des prédictions
Faire parler les black-boxes
Source : LIME package...
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 traditi...
Mesurer l’incertitude
Mesurer l’incertitude a posteriori
Modèle interprétable pour estimer les erreurs
Source : Ideas on I...
Mesurer l’incertitude
Mesurer l’incertitude a posteriori
Utilisation du dropout
Dropout : Principe
➢ Supprimer aléatoireme...
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 exista...
Frameworks de Deep Learning
Une multitude de frameworks
A choisir en fonction de l’utilisation cible
51
Merci !
Questions ?
52
Prochain SlideShare
Chargement dans…5
×

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

276 vues

Publié le

Le Deep Learning est la nouvelle révolution dans le monde de l’Intelligence Artificielle. Les systèmes de reconnaissance vocale et d’image fleurissent de toutes parts. Le Deep Learning est-il aussi utile pour votre entreprise ?
Si vous ne traitez pas que des images, quels Use Cases vous reste-t-il ? Quelles sont les solutions à votre disposition si vous ne possédez pas une grande quantité de données ? En quoi cette approche est-elle différente du Machine Learning classique ? Peut-on facilement interpréter les résultats fournis par ces “black-boxes” ? Est-il d’ores et déjà possible d’aller au-delà du POC ? Est-ce que votre SI va être impacté ? Comment confronter vos résultats à la réalité ?
Au cours de cette présentation, nous passerons en revue ces différentes questions et apporterons des solutions exploitables afin de mettre en application le Deep Learning en entreprise. Même si tout le monde ne s’appelle pas Google ou Facebook ou que vous n’avez pas des To de données à analyser, nous verrons qu’il est possible d’exploiter au mieux la puissance de ces algorithmes et d’en tirer bénéfice rapidement.

Publié dans : Technologie
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

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

  1. 1. Le Deep Learning dans la vraie vie Sandra Pietrowska & Yoann Benoit
  2. 2. Magritte Ceci n’est pas une pomme. 2
  3. 3. 3
  4. 4. Deep Learning Compréhension, utilisations et limitations
  5. 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. 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. 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. 8. Deep Learning : C’est quoi ?
  9. 9. Deep Learning Quelles particularités ?? Comparaison avec des modèles classiques 9
  10. 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. 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. 12. Deep Learning Quels champs d’application ?? Ce n’est fait que pour les images et le texte ? 12
  13. 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. 14. Champs d’application du Deep Learning Images 14 ➔ Vision industrielle
  15. 15. Champs d’application du Deep Learning Texte & Images 15➔ Identifier le texte à partir des images
  16. 16. Champs d’application du Deep Learning Son 16 ➔ Assistant vocale
  17. 17. Champs d’application du Deep Learning Time series 17 ➔ Maintenance préventive
  18. 18. Deep Learning Pourquoi maintenant ?? Alors que les principes existent depuis des décennies ... 18
  19. 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. 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. 21. Deep Learning Pourquoi de telles performances ?? Alors qu’elles étaient inatteignables avec le Machine Learning classique ... 21
  22. 22. Traditional Machine Learning Comparaison des performances Quantité de données Performance 22
  23. 23. Traditional Machine Learning Comparaison des performances Quantité de données Performance Medium Neural Network 23
  24. 24. Traditional Machine Learning Deep Neural Network Comparaison des performances Quantité de données Performance Medium Neural Network 24
  25. 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. 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
  27. 27. Deep Learning Comment l’utiliser en pratique ?
  28. 28. Deep Learning Quand l’utiliser ?? Ou pas ... 28
  29. 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. 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. 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. 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. 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. 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. 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. 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. 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. 38. Deep Learning Peu de données … Comment faire ?? Est-ce que c’est sans issue ? 38
  39. 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. 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. 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. 42. Deep Learning Est-ce que c’est interprétable ?? J’ai besoin de comprendre mon modèle ... 42
  43. 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. 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. 45. Deep Learning Puis-je faire confiance aux prédictions ?? Alors que c’est quand même une belle black-box ... 45
  46. 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. 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. 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. 49. Deep Learning dans la vraie vie Take Aways
  50. 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. 51. Frameworks de Deep Learning Une multitude de frameworks A choisir en fonction de l’utilisation cible 51
  52. 52. Merci ! Questions ? 52

×