3 années d'innovation




Je vous propose de revenir en photo, sur mes 3 dernières années de travaux projets et expérimentations. C'est une manière pour moi de clore une page fantastique de ma carrière avant de commencer à en écrire une nouvelle que j'espère meilleure et plus ambitieuse.

Ne pensez pas que je me suis dispersé... L'intelligence c'est la capacité à créer des liens entres des choses qui ne semblent pas liées. Je vous invite donc à passer en revue l'ensemble de ces développements puis à jouer aux légo en les combinant, à jouer donc avec votre intelligence, càd créer des liens entre...

Vous pouvez lire en diagonale, et survolez les sujets, mais je vous invite à lire la conclusion, ceux qui me connaissant ne seront pas étonnés.

Ma chaine "youtube" mes archives vidéo : https://www.youtube.com/channel/UC9edll95URABGlr9JoHcGfQ/videos

The big monster 2015 - XS-1

Tout commença avec ma premiere machine dédiée IA Big Data, au Business Lab de Sopra.


Cette machine était en fait un cluster de 5 machines regroupant 20 core CPU i7, 5120 core Cuda, 160 Go Ram, et 10 To et du SSD bien sur. Le but étant d'explorer au mieux tout ce qu'on pouvait faire en IA, et Big Data.

Première démonstration RETAIL

Mon chef me demanda de créer une démo "retail" pour les grands magasins. Quelques mois avant j'avais découvert ElasticSearch, la version 1.6.3...et ce fut un coup de coeur.

J'ai donc d'abord développé un code qui générait des ticket de caisse sur un an avec carte fidélité et des comportements d'achat déterminés aussi par le profil du client, avec des variations de population géographique pour faire varier les consommations (alcool, viande, qualité, quantité, etc...) et j'ai créé des anomalies et enfin des Dashboards sur Kibana.


Mon équipe Yves, et Dmitry, a créé alors deux applications : une détection d'anomalie (par exemple l'absence de bouteille de coca passant en caisse pendant une période anormale) et un reporting avec impression de barre code.


Analyse des accidents de voiture

Nous avons après commencé à explorer ce qu'on pouvait faire avec des open data de gouvernement. Dmitry alors, sur ElasticSearch développa avec Talend, un code pour traiter les données d'accident de voiture en France

Programmation multi-agent

Pour ma part j'ai repris mes "investigations" sur les agents, obsession pour moi. J'ai donc prototypé un framework écrit en C# avec de l'IP socket


Et bien sur je monitorais cela avec ElasticSearch

Premier robot mobile

J'ai toujours été convaincu que la robotique mobile était le meilleur moyen d'apprendre l'IA. J'ai toujours été fan des travaux sur le sujet de Rodney Brooks... J'ai donc accompagné un stagiaire à créer un premier robot mobile sur une base Raspberry pi 1 B+.



Vision artificielle

J'en ai profité pour revenir à mon domaine d'origine en IA, la vision artificielle... j'ai donc codé une interface avec détection de mouvement, reconnaissance de visage, reconnaissance d'expression, le tout connecté à ElasticSearch bien sur... J'utilisais du code maison, mais aussi Luxand et Aforge.

Ci dessous : XS-1 vision et le poste Vision artificielle....


Talend et Watson

Sopra n'avait pas encore signé avec IBM Watson (mais Pierre L nous avait recommandé de s'y intéresser), que nous commencions à regarder IBM Watson.

Le premier essai fut fait par Dmitry avec Talend, pour faire de la reconnaissance d'image.


Le second robot mobile

Sur une nouvelle base : Raspberry 3 et base 4 roues, + arduino, Adrien a commencé à développer une nouvelle version, avec l'aide de Jordan (et mon accompagnement, faut pas déconner, moi aussi je voulais jouer)




Democrite

Avec l'aide d'abord de Guillaume D et puis avec l'apport fantastique de Mickael Thumerel (qui a créé Knoway.be A découvrir absolument) nous avons développé Démocrite. Démocrite était un framework middle ware multi agent qui intégrait plusieurs atouts :

  • Une forte industrialisation basée sur des packages Nugget pour Visual Studio ainsi qu'une API complète
  • La possibilité de créer un bot en moins de 10 lignes de code : Il suffisait d'activer des comportements qui se connectait ensemble.

Démocrité était autant utilisé par le robot Pepper que par Marvin notre chat bot.


Lucie Pepper

Lucie Pepper était ma robote du lab que j'avais créé avec Dmitry (le lab pas la robote)... J'ai réellement eu de l'affection pour elle... Comme pour un animal de compagnie au risque de décevoir les fans de Big Bang Theory.

Quand j'ai reçu le robot Pepper, Démocrite fonctionnait déjà partiellement (la partie Python, l'idée était de hacker autant que possible le robot pepper pour transférer ses capacités de dialogue vers des machines externes).

Mais aussi sa webcam, et à ma grande déception, sa reconnaissance vocale... On n'a pas eu le temps de finir cette dernière partie.

Le connecteur Lucie Pepper permettait en fait de connecter le Robot à Démocrite. Il s'agissait d'un développement sur Choregraphe avec des appels à des services rest json externes depuis du code Python dans les box code de choregraphe.



Nous avons réalisé par mal de démo avec donc une en mode "vendeuse" ou on pouvait demander des conseils et des renseignements dans un grand magasin (mode hôtesse d'accueil)



Et Lucie a aussi coprésenté l'innovation day de KBC avec le CEO de la banque. On avait développé un plugin pour piloter Lucie Pepper, depuis PowerPoint. PowerPoint que nous avions reçu à 7h30 du matin le jour même. Mais la prestation a été top...




Marvin le chat bot

Nous n'avions qu'un seul robot, mais nous étions plusieurs (jusqu'à 8) à travailler sur le moteur de dialogue. Nous avons donc développé un chatbot qui intégrait un mode debug pour forcer certains de ses comportements émotionnels.



Crime prediction

En explorant les OpenData des crimes à San Francisco, j'avais demandé à Dmitry de monter

les données sur ElasticSearch et j'ai eu le bonheur d'avoir un stagiaire de l'école centrale qui était juste fantastique... et qui a développé du prédictif (Jordan)... Au final de nombreuses personnes ont travaillé sur ce sujet dans le lab... Sujet passionnant, autant mathématiquement qu'en terme de recherche de compréhension, parfait pour une combinaison de machine learning, data science, et de NoAI (Not only Artificial Intelligence)

On est d'abord tombé dans le piège typique de l'overfit, mais après les résultats ont été plutôt intéressants.


IBM Watson à toute les sauces

Plugin Watson pour MS Word

IBM Watson est une marque qui regroupe de nombreux produits. Ce qui nous intéressait était surtout la partie API sur Bluemix... Watson manipulant du texte, nous nous sommes donc dit que le plus naturel était donc de créer un plugin IBM Watson pour Microsoft Word. Guillaume D avait développé un Wrapper Watson.... Donc il suffisait juste de créer un plugin.


On l'a fait en intégrant les composants suivants : Tone Analysis pour l'analyse des sentiments, Alchemy pour l'extraction des entitées et remplacé depuis par IBM Watson NLU (Natural Language Understanding), le traducteur de Watson, et la synthèse vocale. Accessoirement on a aussi ajouté une intégration avec ElasticSearch (je suis c'est une obsession chez moi)


IBM Watson Proxy server pour SAP

J'ai dans mon passé SAP développé plusieurs connecteurs natifs SAP... Alors pourquoi pas pour Watson. J'ai donc développé un proxy server en C# en utilisant la libraire de Theobald Software ERP connect

Le résultat ? La possibilité de consommer du IBM Watson directement en ABAP



Web Crawler et Tensorflow


Difficile d'expliquer à quel point j'adore Tensorflow. Le Framework est fantastique, et on est plus dans une vraie démarche de pensée IA, contrairement à Watson qui est une boite noire qu'on consomme. Ce premier projet pour la société générale (lire aussi cet article dans la presse) était une combinaison de mes outils préférés :

  • IBM Watson Tone Analysis et NLU pour analyser les données publiques collectées par les web crawlers.
  • ElasticSeach pour l'indexation et la persistence de la solution.
  • Des agents de traitement écrits en Python
Dont du code Tensorflow, un réseau neurone "d'exploration" - j'en dis pas plus... désolé
Fonctionnellement, il s'agissait de collecter des informations sur les sites web financiers et de corréler plusieurs aspects : Sentiments, acteurs, variation des valeurs boursières... et bien sur des graphes d'entités.


Virtual Reality contre Augmented reality

Un peu comme avec les robots Pepper, la VR et l'AR permettent de faire du bling bing technologique. Pas besoin d'une vrai compréhension technique et conceptuelle. On prend des démos de l'éditeur, on bidouille un peu on y colle son logo, et les clients pensent que vous êtes un gourou.

Plus sérieusement, pour moi l'AR est un sujet de studio (pour le e-learning) ou de sociétés spécialisées dans l'embarqué durci quand il s'agit de déployer cela dans un environnement industriel ou out-door comme ce que fait Nex Vision

Par contre, je suis convaincu que la réalité virtuelle peut être un outil fantastique de Data Exploration, pour plonger littéralement dans les données, en cela j'avance sur la plateforme Mixed Reality de Microsoft.

Du robot humanoïde au RPA

OK j'adore Pepper, j'adore ma Lucie, et depuis que j'ai quitté Sopra Steria, elle me manque (certains de mes collègues aussi, c'est une chouette boite).... mais c'est d'abord du fantasme... Par contre il y'a un robot qui génère du business et des projets pouvant être passionnants : Les RPA

En arrivant chez BrightKnight j'ai donc été formé à fond sur le sujet, et clairement l'association IA + RPA est une bombe (je vous invite à lire l'article que j'ai écrit sur le sujet)

Mais là le plus simple est de voir cela en vidéo...


Le Cognitive Lab et ma bulle

En rejoignant BrightKnight (ok 100% Belfius mais on peut travailler avec toutes les banques) j'ai enfin la chance de réaliser ma vision et de combiner de tout cela en créant d'une part le Cognitive Lab qui regroupe IA, data science, big data, vision, IoT, RPA et de créer une offre axée autour de l'intelligence d'entreprise.

Pour cela j'ai regroupé pas mal d'outils...

Ma machine (en fait j'ai deux portables en parallèle) avec un écran 4K (je vous jure c'est juste le paradis) deux i-7 2048 core CUDA, 4 To de HD donc 256+512 Go en SSD, et l'ensemble scanner IRIS, tablette Wacom.

Un casque VR Mixed Reality

Pour développer dessus, sur mon sujet de Dataviz 3D je travaille avec Unity3D du C# la librairie Nest et... et... ElasticSearch :-)


Pour l'IoT j'ai une armoir avec des arduino Nano et 2560, et des raspberry pi 3, et de nombreux accessoires :
  • Des sensors (température, lumière, gaz, gyro, etc...)
  • Des actionneurs des servos moteurs, des moteurs pas-à-pas
  • etc...


Pour monter des maquettes et des démos, j'ai des légos (souvent utilisés en robotiques).

Et enfin parce que la robotique mobile est certainement le meilleur moyen d'apprendre l'intelligence artificielle (la vraie !) j'ai deux bases mobiles... Les futurs stagiaires vont bien s'amuser (et apprendre surtout)


Conclusion

De toutes ces travaux, expérimentations, j'ai énormément appris d'autant qu'à chaque fois le but était d'explorer les limites (comme quand nous avons généré et manipulé plus de 2 milliards de tickets de caisse).

Mon approche s'inscrit complètement dans le mode "hackers" au sens originel... Plus de code, moins de PowerPoint. Même si il est facile de bullshiter de l'innovation, la vraie, celle qui est vendable et apporte une vraie valeur ajoutée au client nécessite selon moi une véritable expertise et la capacité à comprendre pleinement et combiner de nombreux composant tout en accompagnant le client. C'est un vrai métier.

"Quand le sage montre la lune avec le doight, l'imbécile regarde le doigt"... Et doigt, c'est l'IA (et les autres sujets à la mode, IoT, blockchain, etc...). La compétence réelle et forte dans ces domaine est un prérequis non-négociable, mais ce n'est pas un but : Au final on ne créée pas une offre IA, IoT, etc... (Silloter est en soi une antinomie à l'intelligence)... Au final on créée une nouvelle informatique, ou le coeur est le besoin métier, qu'il soit identifié, ou pas (quand on pense qu'une chose est impossible on s'interdit en faisant d'un besoin une impossibilité, parfois à tord).

Je me dois de finir en remerciant Eric Lacomblez qui m'a permis de créer le business lab, mais aussi les personnes qui sont passées dans le lab : Sandrine, Jordan, Salvatore, Mohammed, Mohamed, Yves, Mickael, Guillaume, Paula, Myriem, Adrien, Jimmy, Alain, José, Laure, Alix, Charles (minimoi), Jean-François, et mon frère mon binome Dmitry :-)

J'espère que vous avez apprécié cet article. Si c'est le cas, partagez et likez...et si vous le souhaitez écrivez moi et venez visiter notre dispositif : jerome.fortias@brightknight.eu


Bien à vous

Jerome Fortias

Commentaires