Sans que l'on s'en rende compte, les avancées technologiques réalisées grâce au deep learning nous permettent de profiter quotidiennement de fonctionnalités qu'il aurait été impossible de créer il y a quelques années... Des services tels que Cortana de Microsoft, Siri d'Apple, ou encore Now de Google pour ne citer que les plus connus découlent de cette méthode mêlant neurosciences, mathématiques, et nouvelles technologies. Outre le développement des applications de reconnaissance vocale précitées, le deep learning est surtout utilisé pour apprendre à identifier le contenu des images. Facebook s'en sert par exemple pour son application de reconnaissance faciale DeepFace qui permet d'identifier et taguer les personnes qui se trouvent sur les photos partagées par ses membres.
Le deep learning est également exploité pour développer des systèmes de traduction en temps réel, de traitement du langage naturel (synthèse et reconnaissance vocale). En résumé, les scientifiques cherchent à apprendre à des programmes informatiques, à comprendre et interpréter des images et du son, dans le but de développer des applications qui vont des fonctions des terminaux mobiles aux réseaux sociaux, en passant par l'automobile, la robotique, ou encore la médecine.
Qu'est-ce que le deep learning ?
Comme le machine learning, le deep learning est un ensemble de techniques informatiques permettant d'enseigner aux machines à apprendre par elles-mêmes. Le machine learning est une méthode d'apprentissage automatique utilisée pour trouver des correspondances entre des produits sur des sites marchands, par exemple. Typiquement, lorsque vous consultez le pitch d'un livre sur un site comme Amazon, il va vous proposer des articles de la même famille susceptibles de vous intéresser.Le deep learning est une technique d'apprentissage dit « profond » permettant à un programme informatique d'apprendre à identifier le contenu d'une image, ou de comprendre le langage naturel. C'est une forme d'intelligence artificielle qui tente grosso modo d'imiter le fonctionnement neuronal du cerveau humain, par le biais d'un réseau de neurones artificiels composé de milliers d'unités de calculs.
L'idée n'est pas nouvelle. Depuis les années 70, des chercheurs en IA tentent de percer les secrets du fonctionnement du cerveau humain dans l'espoir de pouvoir un jour le répliquer virtuellement et le transposer sur des machines qui deviendraient aussi intelligentes et autonomes que l'homme. Soyons clairs, ce scénario maintes fois imaginé dans des œuvres de science-fiction n'est pas près de se concrétiser, mais les recherches ont néanmoins progressé de façon spectaculaire et permettent de commencer à concevoir des machines plus intelligentes.
Dans le film Blade Runner de Ridley Scott sorti en 1982, les réplicants sont des clones humains plus vrais et dangereux que nature.
Après des années sans résultats probants, la communauté scientifique s'était peu à peu détournée des réseaux de neurones pour se concentrer sur d'autres formes d'analyses. Ils sont revenus sur le devant de la scène vers la fin des années 2000, grâce aux travaux de Geoffrey Hinton et Yann LeCun, deux éminents chercheurs à l'origine de la création du deep learning et qui ont été, depuis, recrutés respectivement chez Google et Facebook. Ils ont développé de nouveaux modèles de réseaux de neurones basés sur plusieurs couches et capables d'effectuer un apprentissage hiérarchique. Un peu comme le cerveau humain, les couches de neurones catégorisent d'abord les informations les plus simples, avant de passer aux données les plus compliquées. Exemple : le système apprend à reconnaître une lettre avant d'analyser un mot, une phrase, etc. Le deep learning est né, mais il a fallu attendre 2012 avec l'émergence d'une nouvelle génération de puces graphiques (GPU) et l'accès à davantage de données de masse (big data) pour que les scientifiques obtiennent des résultats encourageants.
Une fois n'est pas coutume, c'est Google qui est à l'origine des débuts de cette nouvelle révolution technologique. Dans le cadre de leur projet sur le deep learning, les ingénieurs du fameux laboratoire X-Lab parviennent à créer un réseau neuronal capable de reconnaître la tête d'un chat, et le visage d'un humain. Le réseau qui comprend 1 000 ordinateurs et pas moins de 16 000 processeurs (CPU) a analysé au hasard des millions de captures de vidéos issues de YouTube. Au bout de trois jours d'entraînement intensif, le système a pu reconnaître par lui-même ce qu'est un chat, ainsi que le visage d'une personne avec un taux de réussite de 70 %, une première ! À partir de là, la plupart des géants de la high-tech ont commencé à investir des fortunes colossales dans le deep learning. Début 2015 dans le cadre d'un challenge scientifique, les laboratoires de Microsoft Research et de Google ont annoncé avoir obtenu respectivement un taux d'erreur de 4,94 %, et de 4,8 % dans la reconnaissance d'images.
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.
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 !
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.
Rencontre avec Guillaume Barat de NVIDIA
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.
Conclusion
Définir chaque objet, chaque élément, chaque son par une succession de chiffres pour qu'un ordinateur soit en mesure de les identifier et de les traiter, voici l'incroyable genèse du deep learning. Le traitement de l'image sera bientôt maîtrisé à 100 % par les chercheurs, ce qui ouvre une voie royale au marché de l'automobile, de la robotique, ou encore des drones pour le développement de modèles semi-autonomes et autonomes. Comme nous avons pu le voir, bien d'autres secteurs en tirent déjà des bénéfices comme la médecine, mais aussi l'astronomie, la météorologie, la cartographie, le marketing digital, les moteurs de recommandations, etc. Bien que moins avancé, le traitement du langage naturel donne déjà des résultats significatifs. Apple, Microsoft, et Google en font déjà l'étonnante démonstration avec leurs assistants vocaux toujours plus performants.L'intelligence artificielle est un domaine passionnant, mais il suscite de vives inquiétudes. Bill Gates, Elon Musk et le célèbre physicien Stephen Hawking font partie des éminentes célébrités se disant inquiètes des progrès de l'IA. Comme dans de nombreux films de science-fiction, ils évoquent la possibilité de voir un jour des machines plus intelligentes que l'homme se retourner contre lui. D'ici 10, 20 ou 30 ans, les capacités de calculs seront telles qu'ils n'ont peut-être pas tout à fait tort. Elon Musk ne se contente pas de tirer la sonnette d'alarme, le patron de Tesla a mis la main à la poche et déboursé 10 millions de dollars pour financer des recherches sur la sécurité de l'IA. Le sujet n'a pas fini de faire débat....