le mardi 24 novembre 2015

Deep learning : quand l'intelligence artificielle tente d'imiter le cerveau humain

Les champs d'application


Des millions de personnes profitent déjà des progrès réalisés grâce au deep learning. Les champs d'action de cette technologie sont le traitement de l'image, de la vidéo, de la voix, et plus spécifiquement de la détection d'objets dans le domaine automobile (piétons, panneaux de signalisation, voitures, bus, marquage au sol...). De nombreux secteurs d'activité exploitent des programmes de reconnaissance d'image : les sites marchands pour classifier, identifier et trouver des similitudes entre des produits ou des familles de produits ; la robotique pour permettre par exemple à un robot-aspirateur de se déplacer en toute autonomie ; les réseaux sociaux et autres sites de partage de photos pour la reconnaissance faciale ; les moteurs de recherche pour détecter les similitudes entre des images ; l'industrie automobile pour le développement des voitures autonomes ; la médecine pour la recherche de cellules cancéreuses, etc.

Pour l'heure, les systèmes de reconnaissance vocale et de la vidéo sont moins avancés : « Il reste de gros travaux à réaliser pour que le traitement de la vidéo et celui de la voix soient aussi pertinents que celui de l'image maîtrisée à 95 % » nous explique Guillaume Barat, spécialiste du deep learning chez NVIDIA. Malgré cela, certaines applications sont déjà édifiantes. Voici quelques exemples.

DeepFace de Facebook

Dévoilé au mois de juin 2014, le système de reconnaissance faciale DeepFace de Facebook se révèle très impressionnant. Le réseau social, qui possède la plus importante galerie photo en ligne du monde (250 milliards de photos !), a développé un réseau de neurones capable de reconnaître le visage d'une personne sur une photo avec un taux de réussite de 97,25 %, qu'elle soit de profil ou que les conditions d'éclairage soient trop sombres ou trop lumineuses.

Pour réussir un tel exploit, Facebook n'a pas fait les choses à moitié et s'est notamment offert les services du chercheur français Yan LeCun pour diriger son laboratoire d'intelligence artificielle basé à Paris. L'équipe de chercheurs a utilisé des techniques d'apprentissage profond et traité 4 millions de photos représentant 4000 personnes issues de sa base de données. Chaque visage a été modélisé en 3D pour pouvoir être positionné de face puis analysé à l'aide de 120 millions de paramètres variables. Une fois les données récoltées, le système effectue des comparaisons entre les photos pour trouver des correspondances. Cette fonction a, depuis, été implémentée dans le réseau social partout dans le monde, sauf en Europe où elle a été jugée trop intrusive par les défenseurs du droit à la vie privée.

Facebook Deepface

Skype Translator de Microsoft

La firme de Redmond a développé l'une des applications basées sur le deep learning et le machine learning les plus impressionnantes. Lancée en version preview au mois de décembre 2014, Skype Translator est un système de traduction à la volée de conversations. L'application traduit les appels audio et vidéo quasiment en temps réel dans six langues : anglais, espagnol, français, allemand, italien, et mandarin. Pour les messages écrits, Skype Translator prend en charge 50 langues. Pour l'heure, le système ne fonctionne pas sur les terminaux mobiles, mais uniquement sur PC. Les premiers utilisateurs ne tarissent pas d'éloges à son propos sur les réseaux sociaux. Très simple d'utilisation, il suffit d'installer la nouvelle version de Skype disponible sur le Windows Store, choisir la langue de l'autre personne, sélectionner le mode de traduction automatique et le tour est joué. Bluffant !

Translator Video W Transcpt1

NVIDIA Drive

Outre les applications grand public précitées, il existe d'innombrables systèmes basés en partie sur le deep learning. Le fabricant NVIDIA est impliqué dans de nombreux secteurs d'activité, dont celui de l'automobile, pour lequel il fournit des outils d'aide à la conduite assistée et autonome (ADAS). Le fondeur développe à la fois des SOC embarqués (NVIDIA Tegra K1 et X1) et une plate-forme logicielle dédiée NVIDIA Drive exploitée par de nombreux constructeurs : Audi, Tesla, Honda, etc. Véritable cerveau de l'automobile, le Nvidia Drive PX est capable de gérer non seulement les écrans de bord à l'intérieur de l'habitacle, mais aussi jusqu'à 12 caméras.

Comme on peut le voir dans la vidéo ci-dessous, le système analyse et interprète en temps réel les données captées par les caméras : piétons, vélos, voitures, bus, camions, couleurs des feux de signalisation, sens de la route, etc. Grâce à des algorithmes de deep learning et la puissance de calculs embarquée, le NVIDIA Drive PX apprend et se perfectionne à mesure que le véhicule roule. Outre la reconnaissance des éléments extérieurs, NVIDIA développe également Drive CX pour la gestion de l'habitacle (traitement du langage parlé et assistance au conducteur), et Drive NX pour l'assistance à la conduite. Les premières démonstrations réalisées à l'occasion du CES de Las Vegas en 2015 sur un véhicule Audi montre l'énorme potentiel du deep learning dans le domaine de l'automobile.



DreamQuark

Détecter des cellules cancéreuses ou un risque de cécité, voici les autres prouesses possibles grâce au deep learning. DreamQuark est une start-up française qui exploite cette technologie pour proposer des applications dans le domaine de la santé. Elle a développé notamment un outil permettant aux ophtalmologistes de prévenir les risques de rétinopathie chez leurs patients diabétiques. Cette maladie qui est la première cause de cécité chez les diabétiques peut être évitée si elle est détectée à temps. Grâce aux technologies du deep learning, la start-up a développé un programme pour les médecins capables de détecter les cellules défaillantes sur des photographies en haute définition de rétines. Les débuts de l'intelligence artificielle dans la médecine sont particulièrement prometteurs.

NEURONES


Rencontre avec Guillaume Barat de NVIDIA


Guillaume Barat Copyright J.Cartegini
Pour Guillaume Barat, le « Monsieur deep learning » de NVIDIA en France, les réseaux de neurones n'ont presque plus aucun secret. Il a bien voulu répondre à nos questions pour nous aider à mieux comprendre l'une des plus fascinantes révolutions technologiques de ces dernières années.

Après des années de traversée du désert, le deep learning est devenu l'un des programmes phares pour la recherche. Qu'est-ce qui a changé ?

Guillaume Barat : En 1989, le chercheur français YanLeCun avait développé un système de reconnaissance automatique de chèques pour les banques basé sur des algorithmes de deep learning. Malgré un franc succès, l'application qui nécessitait trois jours de traitement prenait trop de temps. C'était tout le problème, même avec la bonne technique, le deep learning ne permettait pas d'obtenir des résultats satisfaisants dans un laps de temps raisonnable. À partir de 2012, l'accès à des quantités de données de plus en plus importantes, les nouveaux algorithmes issus de l'intelligence artificielle, et l'utilisation de GPU (cartes graphiques du type Titan X de Nvidia) pour effectuer du calcul très intensif ont complètement changé la donne. Il y a eu vraiment un saut technologique très important qui a transformé les réseaux de neurones en de véritables machines à reconnaître.

Qui a créé ces nouveaux algorithmes ?

G.B. : C'est difficile à dire, car ils ont été initiés dans les années 80 puis modifiés autour des années 2010 et 2012. Mais les grands noms qui sortent du lot dans ce domaine sont Geoffrey Hinton, Juergen Schmidhuber, puis Yan LeCun et Yoshua Bengio. Ils ont été vraiment les premiers à remettre cette technique au goût du jour il y a trois ans en modifiant l'algorithmique et en utilisant très rapidement des GPU, en lieu et place des CPU (microprocesseurs). Et pour être tout à fait précis, c'est Dan Ciresan du groupe Juergen Schmidhuber qui fut le premier à faire tourner un réseau de neurones sur des GPU (2010). Grâce à cela, Geoffrey Hinton a établi notamment un record en 2012 à l'occasion de la prestigieuse compétition de deep learning ImageNet. Il est parvenu à réduire de moitié le taux d'erreur de reconnaissance d'image qui est passé d'environ 30 % à 15 %. Du jour au lendemain, tout le monde a voulu faire du deep learning et a commencé à se livrer à une course aux performances qui ne s'est plus jamais arrêtée.

Quels sont les avantages des GPU pour ce type de recherches ?

G.B. : Les cartes graphiques existaient depuis longtemps, mais personne n'avait eu l'idée de faire le lien avec le deep learning. La nouvelle génération de GPU lancée en 2012 a permis d'accéder à une puissance de calculs suffisante pour obtenir des résultats satisfaisants dans un laps de temps raisonnable. Grâce aux GPU, on peut vraiment répartir les opérations de calculs en parallèle sur un grand nombre d'unités de calculs (NDLR : les corps GPU). Au lieu d'avoir à échanger des informations et de faire des calculs les uns après les autres, toutes les opérations se font en même temps et permettent d'obtenir in fine un seul résultat. Cela a vraiment permis d'accélérer les temps de calcul. L'université de Berkeley est parvenue par exemple à entraîner son réseau de neurones avec 72 000 images par jour.

Pourquoi le deep learning suscite-t-il un tel engouement ?

G.B. : Pour comprendre pourquoi sans rentrer trop dans les détails techniques, il faut savoir comment on faisait avant pour faire de la reconnaissance d'image. Par le passé, pour détecter par exemple un nez, il fallait décrire de manière humaine et algorithmique la manière de le détecter, sachant que tout le monde a un nez différent. Il y avait donc un travail humain de codage très précis et long à faire pour détecter des éléments en particulier. Si après un nez, on voulait détecter une oreille, il fallait tout recommencer à zéro, car c'est complètement différent... Pour vous donner un exemple, on utilise depuis longtemps sur des chaines de fabrication la vision digitalisée assistée par ordinateur pour détecter des pièces défectueuses. À l'époque, il fallait compter entre un à deux mois de travail pour coder les nouveaux défauts possibles d'une pièce pour que le système puisse ensuite les détecter. Il fallait évidemment recommencer pour chaque nouvelle pièce. Avec le deep learning, il suffit de charger des images de bonnes pièces pour apprendre au programme à les identifier, puis faire exactement la même chose avec des images de pièces défectueuses. Après 3 à 7 jours d'entrainement, le programme est parfaitement opérationnel. Le gain de temps est considérable.

Quel est le rôle de NVIDIA dans ce domaine ?

G.B. : Nous ne faisons pas du deep learning en tant que tel. Comme d'autres, nous avons investi dans des ressources humaines qui comprennent le deep learning, les tenants et les aboutissants de cette technologie, et où elle va. Concrètement, nous sommes là pour supporter les chercheurs qui en font. Au-delà du développement de GPU, NVIDIA propose également des outils logiciels permettant de bénéficier pleinement et facilement des performances du matériel. Typiquement, nous avons développé une sorte de GUI (NDLR : Graphical User Interface : interface graphique) qui permet de configurer et entraîner un réseau de neurones pour faire de la classification d'images. C'est un outil de visualisation très pratique qui permet de voir ce que fait chaque couche de réseau de neurones. Si mon business model est par exemple de classer les sacs à main, j'entraine le réseau avec des images de sacs à main pour lui apprendre à les reconnaître. Sur les images non polluées comprenant un seul objet, cela ne pose pas de problème, mais si une image comprend un environnement avec par exemple une voiture, il serait impossible sans cet outil de savoir ce que l'algorithme prend en compte. Cet outil permet de s'assurer que le réseau de neurones reconnaît bien ce que l'on souhaite (cf : voir capture ci-dessous). Cela fait partie des travaux de simplification de NVIDIA pour rendre le deep learning le plus accessible possible.

Nvidia performance primitives examples
Modifié le 25/11/2015 à 10h09
Commentaires