Quelles sont les différences entre Deep Learning et Machine Learning ?
- Davantage de flexibilité : les architectures profondes (« deep ») sont très flexibles et permettent de modéliser des données qui peuvent être très différentes alors qu’un modèle traditionnel de Machine Learning sera plus restreint dans son domaine d’application.
- Plus d’automatisation : en Deep Learning, le processus d’apprentissage englobe le pipeline complet, de l’extraction de variables explicatives jusqu’au modèle prédictif. Par exemple, dans le réseau de classification évoqué plus haut, les couches amont sont très spécialisées et peuvent reconnaître des motifs précis comme des traits ou des contours (extraction de features) et les couches en aval effectuent la classification proprement dite. À l’inverse, dans un pipeline de Machine Learning classique, ces deux opérations sont séparées et la partie extraction est bien souvent le fruit d’une inférence manuelle par un analyste sur la base d’intuitions et de savoir-faire.
- Une complexité supérieure : le nombre de paramètres estimés dans un réseau de neurones profond se compte facilement en dizaines de millions.
- Une certaine opacité : cette complexité et cet assemblage profond confèrent au Deep Learning un caractère « boîte noire » bien plus important que pour les méthodes traditionnelles (celles basées sur les arbres de décision par exemple). D’ailleurs, un axe majeur de développement actuel de la science des données est d’expliquer l’IA afin de prévenir ses biais, donner un meilleur contrôle et faciliter l’adoption par les équipes métier.
- Enfin, c'est une différence majeure, la possibilité de pratique du "transfer learning" : il est possible d’utiliser un modèle de Deep Learning déjà entrainé sur des données génériques – par exemple sur l’ensemble du corpus de Wikipédia pour des données textuelles ou une sélection de quelques millions d’images – pour l’utiliser sur de nouvelles données, avec un faible temps de calcul et donc à moindre coût (on parle alors de « fine-tuning » : les paramètres ne sont pas à réentraîner de zéro, seulement à ajuster).
Quand utiliser le Deep Learning ?
De manière générale, le Deep Learning répond mieux à des problématiques opérationnelles où le modèle est en production pour être appliqué à de nouveaux flux de données. Les modèles de Deep Learning se prêtent en effet bien à l’auto-apprentissage, par exemple pour améliorer de façon continue l’utilisation d’un service numérique.
Pour apprendre, un modèle peut avoir besoin de dizaines de milliers de cas labellisés : le Deep Learning est donc pertinent lorsque l’on dispose d’un volume important de données étiquetées. Toutefois, dans certains cas assez précis et dans lesquels les données sont assez homogènes (comme des textes ou images), quelques Illustrations : apprentissage profond vs classique pour la classification d’images milliers de cas suffisent à trouver un modèle donnant de bons classements.
Il est aussi particulièrement adapté aux données non structurées (images, vidéo, sons, signaux, textes) desquelles il est plus difficile d’extraire manuellement des variables discriminantes. Sur des analyses d’images de véhicules par exemple, le modèle est capable de comprendre SEUL ce qui permet de distinguer un camion d’un utilitaire ou d’une voiture : le nombre de roues, la hauteur, la longueur, la largeur, le nombre de vitres, etc.
Cette propriété peut également se retourner contre le praticien car le Deep Learning peut fortement refléter dans les décisions du modèle les biais présents dans les données : si toutes les images de camions sont prises dans un parking, ce sera cet environnement qui contribuera à la décision de classer une image en camion plutôt que les caractéristiques du camion lui-même qui seront ignorées par le processus d’extraction.
À l’inverse, utiliser le Deep Learning à partir de données déjà structurées est souvent non pertinent car on ne pourra tirer beaucoup du processus d’extraction des variables. En outre, l’aspect « boîte noire » du Deep Learning sera un frein à la compréhension des facteurs contributeurs au modèle et le rendra mal adapté à des cas d’usages dont la vocation est justement d’apporter des explications et des éclairages.
En résumé, le Deep Learning est un réel levier pour créer des modèles performants, sur des données volumineuses et complexes (non structurées), mais il doit être utilisé à bon escient, pour ne pas ajouter de la complexité et de l’opacité sur des problématiques où d’autres méthodologies répondront de manière plus efficace.
Comment se mettre au Deep Learning ?
Les développeurs peuvent s’appuyer sur les nombreux tutoriels et MOOC (« Massive open online course ») à disposition. Au niveau langage informatique, Python offre un cadre complet pour apprendre et mettre en œuvre le Deep Learning grâce à ses fonctionnalités de traitement d’images, du signal et du texte, ainsi que ses librairies spécialisées, telles que « keras, tensorflow, pytorch ou spacy ».
Demain, les usages du Deep Learning vont continuer à s’étendre dans de nombreuses activités : santé, médecine, défense, sécurité, industrie, …cet essor s’accompagnera d’une exigence de transparence, transparence demandée pour s’assurer de l’absence de biais dans les décisions prises par les algorithmes.
Aujourd’hui, l’actualité nous rattrape … et le Deep Learning peut contribuer à la réponse de l’industrie numérique face à la pandémie. Citons l’essor de la téléconsultation et de l’hospitalisation à domicile, les applications utilisées par le patient pourraient contenir une aide au diagnostic basée sur l’enregistrement de ses propres données. Une étude en cours, menée par l’université de Cambridge vise notamment à construire une aide au diagnostic basée sur un apprentissage automatique d’échantillons d’enregistrement de toux.