Il y a 15 jours, vous avez pu découvrir le premier numéro de notre rendez-vous bimensuel : L’Echo des TOs #1 – From the Clouds. Pour rappel, les Technical Officers chez Xebia font partie, aux côtés des CTOs, d’une direction technique élargie. Ils défrichent les nouvelles tendances technologiques, creusent les méthodologies associées et orientent Xebia dans la bonne direction.
Bienvenue dans ce deuxième écho des TOs, bienvenue dans le Deep Learning.
Pour lire cet écho en musique
Le Deep Learning, c’est quoi ?
Avant de partir sur une définition plus formelle de ce qu’est le Deep Learning, nous avons fait l’exercice de demander son interprétation imagée de la question à Tracy Anicet, notre chargée de recrutement passionnée par tous ces nouveaux sujets :
“Le Deep Learning, c’est un truc chelou avec des algorithmes qui permettent de faire en sorte que la machine apprenne à reconnaître des choses. Tu sais, quand tu apprends à reconnaître des trucs en étant gamin, bah tu fais du Deep Learning. Tu commences à apprendre des formes basiques puis tu arrives à distinguer des trucs plus complexes. C’est pour ça qu’un gamin au début il arrive pas à reconnaître des ronds et des carrés, mais au bout d’un moment il y arrive !”
Et bien mine de rien, c’est une définition qui tient la route !
Plus concrètement, le Deep Learning est une branche de l’Intelligence Artificielle, dérivée de l’apprentissage automatique, qui regroupe un ensemble d’algorithmes capables d’apprendre des représentations de plus en plus complexes de la donnée, afin de traiter des problématiques qui étaient jusque là inaccessibles avec des techniques de Machine Learning classiques.
Pourquoi on parle de Deep Learning à Xebia ?
Le Deep Learning, c’est un peu le buzzword du moment. Tous les géants du web investissent des millions en recherche sur ce sujet. Reconnaissance d’images, de sons, de texte, génération de nouvelles données, bref, tous les sujets pour lesquels les humains excellent, et même plus, sont aujourd’hui traités par des algorithmes de Deep Learning qui sont l’état de l’art sur ces questions.
Mais alors, pourquoi s’intéresse-t-on à cela ? Après tout, on peut maintenant utiliser des Intelligences Artificielles As A Service via les plateformes proposées par Google, Amazon, IBM, Microsoft et consorts. Finalement, un projet de Deep Learning pourrait être “simplement” un projet d’intégration de ces plateformes dans des applications. Et c’est parfois le cas. Mais quelques questions se posent tout de même :
- Et si je veux embarquer l’intelligence au sein de mes applications sans avoir à faire appel à des APIs cloud ?
- Et si je veux customiser les algorithmes pour les utiliser dans mes applications qui sont en langue française sur un domaine spécifique ?
- Et si mon cas d’usage est trop spécifique et que je ne trouve aucune plateforme répondant à mon usage ?
- Est-ce qu’il est possible d’avoir nos propres algorithmes embarqués dans nos browsers en gardant la data côté client (Privacy, tout ça tout ça) ?
Voilà pourquoi le sujet nous intéresse à Xebia. Nous ne rivalisons pas avec les plateformes d’IA As a Service, nous réalisons des projets de création d’algorithmes répondant à des besoins personnalisés, à des besoins de privacy, à des besoins d’intelligence on-device, etc. Ce sont des projets innovants, qui représentent l’une des branches d’avenir des projets Data.
Où en sont les entreprises aujourd’hui ?
Le niveau de maturité des entreprises est très variable sur ce sujet. Certaines grosses entreprises et startups ont déjà investi en masse dessus et ont leurs propres pôles de R&D. Beaucoup d’autres s’intéressent à ce sujet dans leurs programmes d’innovation, se matérialisant souvent en des POCs ou des prototypes pour valider l’intérêt de ces nouvelles technologies et algorithmes.
Quels sujets avons-nous traité chez Xebia ?
En interne, nous avons déjà réalisé beaucoup de choses pour monter en compétences, explorer les sujets et partager notre savoir faire. C’est comme cela que nous pourrons être prêts pour les prochains sujets de nos clients, et comme cela que nous pouvons aussi valoriser notre expertise.
Reconnaissance d’animaux sur des voies de train
La première intégration d’algorithmes de Deep Learning pour la reconnaissance d’image dans des projets Xebia.
Nous avons travaillé avec Diana Ortega et Fabian Gutierrez sur l’intégration d’un modèle Inception V3 sur un Raspberry Pi pour faire des reconnaissances à la volée d’animaux sur un flux vidéo, à l’occasion de la Keynote de la XebiCon 2016.
Projet Magritte
Nous avons été assez précurseurs dans l’exploration et l’implémentation de systèmes de reconnaissance d’image on-device. Grâce à Qian Jin et Sylvain Lequeux nous avons fait le tour du monde des conférences pour faire suivre les avancements du projet Magritte. Les sujets Data-Mobile font partie de nos sujets les plus chauds du moment.
Génération de textes de poésie ou de rap
Nous avons testé quelques architectures de réseaux de neurones récurrents pour analyser puis générer du texte. Des textes de Rap français ont été utilisés pour en analyser la structure via ce type d’algorithme, pour ensuite générer de nouveaux textes inédits. Ce projet a été présenté lors du mois de la data 2017 par Thibaud Vienne et Pierre Sendorek : « Des neurones artificiels pour du langage naturel« .
Conversion de voix
Une application de conversion de voix basée sur des réseaux de neurones a été présentée lors de la XebiCon 2017 par Pierre Sendorek : « Faire dire n’importe quoi à Bruce Willis ou Sylverster Stallone« . Le principe est d’être capable d’apprendre automatiquement un modèle de conversion de la voix d’une personne vers celle d’une autre personne, en l’occurrence Bruce Willis.
Deep Reinforcement Learning pour les jeux vidéos
Nous avons cherché à comprendre comment fonctionne l’interaction entre Apprentissage par Renforcement et Deep Learning pour permettre à un système d’apprendre automatiquement à jouer au jeu Flappy Birds. Les résultats obtenus ont été présentés lors du mois de la data 2017 par Sameh Ben Fredj et Yoann Benoit : « Reinforcement Learning : des algorithmes qui apprennent comme des humains !« .
XebiARPeople
Nous avons réalisé avec Simone Civetta une application mobile mêlant Deep Learning et Réalité Augmentée pour faire de la reconnaissance faciale. Une architecture particulière de réseaux de neurones permet d’identifier une personne sur une image sans besoin d’images d’entraînement de cette dernière, et le tout a été intégré dans une application iOS avec Core ML. Une fois la personne détectée, des informations sont ajoutées en réalité augmentée sur le flux vidéo. Le projet a notamment été présenté lors du Mobile Things du 20 juin dernier, et la présentation est disponible pour les curieux : « Deep Learning for Face Recognition »
Reconnaissance d’écriture manuscrite
Nous avons réalisé pour un client un prototype d’architecture de réseaux de neurones pour la reconnaissance d’écriture manuscrite. Ce ne fut pas une tâche aisée au regard de la complexité des données à disposition, comme l’expliquent Pierre Sendorek et Diana Ortega dans leur retour d’expérience : « Démonter / remonter un réseau de neurones pour l’OCR avec TensorFlow : leçons retenues »
Reconnaissance de cartes d’identité
Ce projet a fait l’objet d’une conférence lors du DataXDay par Pierre Sendorek et Pablo Lopez : « Computer Vision : a pragmatic alliance between Deep Learning and a more traditional technique« . Il mêle Deep Learning et approches classiques de traitement d’images pour faire de l’OCR sur des cartes d’identité.
Deep Learning sur Browser
Nous avons testé avec Anta Aidara et Paul-Guillaume Dejardin le nouveau framework TensorFlowJS pour intégrer et entraîner des modèles de Deep Learning au sein de son browser. Le résultat ? Un « tinder-like » pour approuver ou rejeter des photos via la reconnaissance d’un signe de tête ! Entraîner et intégrer un petit prototype de modèle s’est avéré très simple grâce à ce framework très bien documenté. Cependant, pour l’entraînement de modèles profonds sur une grande quantité de données, l’entraînement sur le browser n’est pas la solution idéale, mais il peut cependant permettre d’affiner un modèle pré-entraîné.
Tensors in the Cloud
La manipulation d’algorithmes de Deep Learning sur le cloud est un vrai sujet complexe et beaucoup de perspectives. Sylvain Lequeux et Romain Sagean ont testé l’utilisation de modèles TensorFlow ou Keras dans Google Cloud ML, avec à la clé une présentation lors du dernier DataXDay : « Tensors in the sky with Cloud ML« .
Quelles perspectives pour la suite ?
Cette année, nous continuons à investir énormément sur ce sujet, nous sommes sur tous les fronts !
Montée en compétences & partage de connaissance
Pour notre montée en compétences, une série de XKE est en cours depuis février dernier pour comprendre à la fois les aspects théoriques et manipuler par la pratique avec le framework Keras. Ces XKE sont faits sous forme de tutoriels réutilisables pour tout le monde, avec tout le contenu théorique et les exercices pratiques. Une formation technique Deep Learning est aussi en cours de construction et sera bientôt disponible.
Investissement matériel & nouveaux projets
Enfin, le clou de notre investissement sur le sujet est matérialisé par notre nouvelle NVidia DGX Station que nous venons d’acquérir. 4 GPUs Tesla sont à disposition des Xebians pour booster l’entraînement de leurs algorithmes !
C’est un énorme atout technique pour nous Xebians, mais c’est aussi un moyen d’aider nos clients à mettre en place des projets de Deep Learning avec une architecture ultra performante, le tout dans le respect des contraintes réglementaires concernant leurs données. Grâce à cette machine aux caractéristiques hors normes, nos clients pourront bénéficier de toute la puissance de calcul et de stockage nécessaire pour prototyper rapidement de nouvelles idées sans avoir à investir dans une infrastructure coûteuse ou mettre leurs données dans le cloud. C’est notamment ce que nous faisons lors de nos « Data Science Design Sprint« , des ateliers d’idéation suivis de sprints de prototypage pour valider l’intérêt business d’un Use Case Data Science, mais aussi lors de la réalisation de projets Data Science de bout en bout afin de tester rapidement de nouvelles approches lorsque l’on est limités par la puissance de calcul ou que la solution Cloud n’est pas envisageable.
Les Xebians présents lors de la réception de la machine étaient comme des enfants à Noël devant leurs cadeaux, découvrez notre vidéo teasing à ce sujet :
A bientôt pour de nouvelles aventures des Technical Officers de Xebia !
Ils sont cités dans l’article (et vous les avez peut-être déjà rencontrés)
Tracy Anicet | Diana Ortega | Fabian Gutierrez | Qian Jin | Sylvain Lequeux | Thibaud Vienne | Pierre Sendorek |
Simone Civetta | Pablo Lopez | Anta Aidara | Paul-Guillaume Dejardin | Romain Sagean | Yoann Benoit |
L’article Écho des TOs n°2 : How Deep Is Your Love? est apparu en premier sur Blog Xebia - Expertise Technologique & Méthodes Agiles.