Le deep learning, est aujourd’hui très en vogue et ce mot revient systématiquement dès lors que l’on s’intéresse à l’intelligence artificielle. De la traduction automatique à l’interprétation de la parole en passant par la reconnaissance d’images ou d’objets, le deep learning révolutionne depuis ces dernières années notre quotidien. Les GAFA investissent massivement dans cette technique aux performances “surhumaines” : voiture autonome, imagerie médicale, assistant personnel… Mais au juste le deep learning, c’est quoi ?

« Je n’ai jamais vu une révolution (en parlant du Deep Learning) aussi rapide. On est passé d’un système un peu obscur à un système utilisé par des millions de personnes en seulement deux ans. » Yann Le Cun, Directeur du Laboratoire FAIR

Le Deep learning, une rupture

Pour faire simple, le deep learning est un programme informatique qui apprend automatiquement puis généralise pour prédire ou pour classifier. Il est l’une des méthode les plus performantes utilisées en intelligence artificielle pour effectuer certaines tâches, simulant les capacités humaines. Par exemple, AlphaGo a utilisé cette technique d’apprentissage pour vaincre le meilleur joueur de go.

« L’objectif de l’intelligence artificielle est d’obtenir le même résultat que l’intelligence humaine pour certaine tâche ou fonction cognitive spécifique (traduction, répondre à des questions, identifier des objets …. ) par l’intermédiaire d’un programme informatique, d’algorithmes ou fonction mathématique. »

Pourquoi une rupture ?

Pour effectuer une tâche, les intelligences artificielles reposaient jusqu’aux années 2010 sur des systèmes dits experts. Le système contient déjà en lui la solution au problème posé. Par exemple pour traduire un livre, la machine devait disposer dans son programme de la traduction de tous les termes présent dans l’ouvrage. Outre l’ampleur de la programmation initiale et son manque d’agilité face à de nouveaux problèmes, cette approche nécessite de disposer d’un savoir d’expert sur la question posée.

Machine learning et apprentissage

Il faut plusieurs milliers d’exemples pour que l’intelligence artificielle apprenne.

L’apprentissage automatique

En opposition à ces systèmes experts, le machine learning (ou apprentissage automatique) propose un système apprenant. Ce n’est plus l’expertise qui est recherchée, mais son acquisition, son apprentissage. L’IA ne dispose plus de règles préétablis mais il doit lui-même les construire par apprentissage. Elle apprend grâce à l’expérience. Si nous reprenons l’exemple de la traduction : le système dispose du texte original et du texte déjà traduit par l’homme. A lui de s’adapter et de trouver comment passer de l’exemplaire original à celui traduit, à lui de trouver le modèle mathématique adéquat. Le deep learning est l’un des modèles d’apprentissage le plus performant dans certaine tâche, notamment de perception.

Le deep learning, comment ça marche ?

Le deep learning repose sur un modèle de réseau de neurones artificiels, simulant (de façon très grossière certes) le fonctionnement du cerveau. Des neurones sont interconnectés les uns aux autres. Ces neurones sont en fait des automates, des programmes informatiques  n’effectuant qu’une seule opération mathématique. Leur fonctionnement se rapproche de celui des neurones du cerveau humain :

  • une ou plusieurs entrées
  • un coefficient de pondération à chaque entrée
  • un seuil
  • une ou plusieurs sorties connectées à un autre neurone.

Si la somme des entrées est supérieur au seuil alors il y aura une donnée en sortie, si la somme est inférieure au seuil, alors il n’y aura pas de sorties. Il faut tout de même noter que les modèles actuels sont un peu plus complexes que ce fonctionnement purement binaire.L’enjeu réside justement à trouver le meilleur algorithme pour ces neurones.

Schéma d'un neurone artificiel

Ces neurones sont interconnectés les uns aux autres dans des couches superposées. C’est pourquoi l’apprentissage est dit “profond”. Il peut y avoir jusqu’à 100 couches de neurones interconnectés dans certain système de reconnaissance d’image ! Chacune de ces couches permettant au système d’apprendre un peu plus. Plus il y a de couches, plus le système est complexe et difficile à entraîner, mais plus il est performant.

Perceptron 4layers

Pour apprendre, le système peut modifier sur chaque neurone les différents coefficients de pondération de ses entrées et le seuil d’activation. Les sorties des neurones d’une couche constituent les entrées pour les neurones d’une autre couche.
Pour les plus motivés et les plus intéressés d’entre vous je ne peux que vous conseiller d’écouter la « Leçon inaugurale au Collège de France » de Yann Le Cun.

Deep learning et reconnaissance d’images ou d’objets

Les systèmes de Deep learning apprennent donc pour généraliser. Dans le cas de la traduction, le système dispose des textes originaux et des textes traduits. Il s’ajuste automatiquement pour que sa traduction corresponde à celle fournie. Vous imaginez bien que l’opération n’est possible qu’à partir du moment où le système dispose d’un grand nombre d’exemples : au minimum plusieurs milliers. Au plus il a d’exemple au plus il sera performant.

Voiture concept

Comment une intelligence peut-elle reconnaître que cette image est une voiture ?

Pour la tâche de reconnaissance d’image, l’intelligence artificielle est confrontée à un problème plus complexe que celui de la traduction où 3 à 4 couches de neurones suffisent. Le nombre d’image ou de représentation d’une voiture est quasiment infini. Comment une intelligence artificielle peut-elle reconnaître une voiture ? Quelles sont les caractéristiques essentielles à prendre en compte : le nombre de roues, la surface vitrée, la couleur, la forme… ? Comment entraîner ces machines pour qu’elles puissent reconnaître un objet ?

Les systèmes de deep learning apprennent eux-mêmes leur expertise par l’expérience. Ils vont donc définir quelles sont les caractéristiques essentielles à prendre en compte pour reconnaître une voiture sur la base des exemples que le programmateur lui a fourni. La mise à disposition de la première base d’images taggées en 2012 a donc constitué une avancée décisive pour résoudre ce type de tâche. En effet, les IA ont pu dès lors s’entraîner sur un grand nombre de cas. Elle disposait en entrée d’une image et en sortie un tag correspondant. La performance de ses intelligences ne peut que s’améliorer quand on sait que chaque jours 800 millions d’images sont postées sur Facebook…

DeepMask - Facebook

Exemple de reconnaissance d’objet avec Deep Mask de Facebook. Copyright (c) 2016, Facebook, Inc. All rights reserved.

Ci-dessus, un exemple d’utilisation de l’algorithme DeepMask appliqué à une image.  Il génère un ensemble de masques d’objets, chacun avec un score d’objet correspondant. Ces masques recouvrent les objets dans une image et peuvent être utilisés comme première étape pour la détection d’objets.

 

Maintenant que le deep learning n’a plus de secret pour vous (ou presque), je vous conseille de tester les performances des AI de Google dans la reconnaissance d’objet:

  • Autodraw  : outil de dessin qui combine le machine learning avec des dessins d’artistes talentueux pour vous aider à créer quelque chose de visuel et de rapide.
  • QuickDraw : Vous avez 20 sec pour dessiner un objet reconnaissable par l’AI de Google. 

Amusez-vous…