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.

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

457 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

×