Il faut qu’on parle de deep learning

S’il est une expression mangée à toutes les sauces en 2016, c’est bien celle de « machine learning ». Amené à bouleverser le monde de l’assurance, de la santé, du marketing, de l’industrie alimentaire (etc., etc.), l’apprentissage automatique (dans la langue de Molière) fait partie des « buzzwords » des années 2010. Et dans cette grande famille, un petit frère vient pointer le bout de son nez : le deep learning. Mais concrètement, de quoi parle-t-on ? 

Le deep learning, en théorie

Dans la grande marche de l’intelligence artificielle, le deep learning est appelé à jouer un rôle central, en permettant aux machines d’apprendre de manière profonde — c’est-à-dire sur le même modèle qu’un cerveau humain. Une preuve de son succès ? En quelques années, la maitrise de ces techniques est devenue un enjeu majeur chez les géants du web, notamment pour l’amélioration de ses logiciels de reconnaissance automatique de son (avec Siri, Cortana et autres assistants virtuels) mais aussi d’images, ou encore de compréhension de texte.

Si l’on commence par se référer à la page Wikipédia, on y lit que « l’apprentissage profond est un ensemble de méthodes d’apprentissage automatique tentant de modéliser avec un haut niveau d’abstraction des données grâce à des architectures articulées de différentes transformations non linéaires ».

Bien, mais cela sonne toujours comme du jargon. En clair, le deep learning est une méthode de machine learning, qui permet à un système d’apprendre à grande échelle à partir de données non labellisées. Ce sont des algorithmes qui travaillent en plusieurs « couches » de modélisation, la sortie d’une couche étant utilisée comme entrée d’une autre.

C’est cet usage de différents niveaux de profondeur, chacun correspondant à un niveau d’abstraction supérieur, qui fait que l’on parle de « deep learning ». Chacune de ses couches sous-entend une transformation et une modélisation des données inférieures, qui peuvent subir de nombreuses modifications en cours de traitement.

Le deep learning, en pratique

Schématiquement, comment ça marche ? Pour reconnaître automatiquement une image numérique, une première couche va analyser et classifier les pixels (par exemple par couleur), une seconde couche va analyser et classifier ce premier résultat en une série de relations (par exemple, quelles sont les lignes présentes sur l’image), puis une troisième couche va analyser et classifier ces lignes pour dégager des formes, puis la quatrième couche va analyser les relations entre ces formes (Est-ce un oiseau ? Est-ce un avion ? O u bien juste un mec avec des collants et une cape ?), et ainsi de suite.

Dans les faits, les processus sont bien sûr plus complexes : on sait par exemple qu’il a fallu trois jours aux 1000 ordinateurs et 16 000 processeurs de Google pour reconnaître un chat ou une personne avec un taux de réussite de 70 %. Eh oui, cela demande un peu de ressources…

L’objectif, à terme, étant de pouvoir travailler avec beaucoup plus de précision sur des modèles algorithmiques non supervisés, permettant de classifier sans catégorisation des données en amont. Car en effet, là où dans les modèles plus classiques d’apprentissage vous devez fournir à votre machine des milliers (voir des millions) de données étiquetées (ceci est un oiseau, ceci est un avion, ceci est superman), le deep learning permet de dégager des catégories sans avoir eu de classification préalable — c’est notamment la prouesse de l’intelligence artificielle de Google, qui a réussi en quelques jours à reconnaître un chat sans qu’on ne lui fournisse, au départ, d’image avec l’appellation « chat ».

Deep learning : What we think we do

Deep learning avec R

Vous l’aurez compris, le deep learning repose sur différentes architectures, qui font appel à autant d’algorithmes spécifiques, choisis en fonction des objectifs. Autant dire que vous faire une présentation exhaustive des outils relèverait du surhumain.

Pour vous plonger de manière plus approfondie dans le sujet, et réaliser vos premières tâches de deep learning dans votre logiciel fétiche, nous vous conseillons de vous tourner vers ces « célèbres » packages :

darch, un package utilisé pour générer des machines de Boltzmann restreinte, un réseau de neurones pour l’étude de la distribution probabiliste d’un dataset.

deepnet, un package pour l’implémentation de Deep Belief Networks, de machines de Boltzmann ou encore de Rétropropagation du gradient.

h2o, permettant d’accéder au moteur open source du même nom dédié à l’intelligence artificielle.

Envie d’en savoir plus sur le deep learning et sur son implémentation dans R ? Parfait, on peut en discuter !


À propos de l'auteur

Colin Fay

Colin Fay

Data scientist & R Hacker


Commentaires


À lire également