lundi 19 mars 2018

Création d'un Robot à partir d'une FAQ en quelques minutes avec Microsoft QnA Maker Partie 1

Tout d'abord nous allons créer le service en se connectant à la page : https://qnamaker.ai/Create/Index
Une fois la page affichée, simplement entrer le nom du Service, puis dans notre cas en 2, on référence le document en ligne du Scrum Guide, mais nous pourrions avec les options 3 et 4 utiliser soit un fichier structuré de notre choix ou bien encore construire manuellement une base de connaissance
Une fois ce choix configuré, simplement cliquer sur Create en bas de page, puis l'extraction est disponible dans le module Knowledge base comme montré ci dessous. Après avoir revu et corrigé la structure de la base d'extraction, cliquer simplement sur le bouton Save & Retrain puis cliquer sur le bouton Test pour tester votre robot. Noter que vous pourrez améliorer les réponses en lui indiquant vous même le meilleur choix.
Une fois l'interface Test affichée, il nous suffit de tester notre robot comme montré ci dessous, par exemple demandons lui le role du product owner , on voit que la réponse est bonne et conforme au Scrum Guide, à noter la zone encadrée en rouge liste toutes les réponses possibles, on peut à ce niveau améliorer la réponse du robot en modifiant la bonne réponse. Sur la droite, on peut formuler plusieurs alternatives de questions pour améliorer le panel de questions possible.
Finalement, l'entrainement se fait en multipliant les sesions de chat avec le robot, et en enrichissant la KB. Pour des utilisations simple, le retour sur investissement d'un tel robot est absolument incroyable.
La dernière étape va consister à publier notre robot, pour cela cliquer simplement le bouton Publish

La page suivante s'affiche avec un exemple d'http request pour utiliser notre service robot
Nous verrons dans le prochain article comment créer un Bot consommant ce service




Intelligence Artificielle et Ethique : Les enjeux de demain

Il m'a semblé important d'écrire cet article dans un moment ou l'intelligence artificielle n'est plus que de la science fiction mais commence véritablement à exister dans notre société et apparaitre au coeur de toute transformation digitale digne de ce nom. Les reflexions éthiques autour de l'intelligence artificielle vont faire partie des sujets majeurs à aborder dans les années à venir, aussi dans ce premier article, nous mettrons le focus sur les conséquences inquiétantes de l'intelligence artificielle sur notre monde afin de pouvoir mieux anticiper le futur pour un monde meilleur.
Optimisation Logistique, Détection de fraude, création d’œuvres artistiques, travaux de traduction : les systèmes machines dits intelligents sont en train de transformer nos vies pour le meilleur et peut être le pire. Au fur et mesure que ces systèmes accroissent leurs capacités, notre monde devient plus efficace toujours plus abondant.
Les géants de la technologie typiquement représentés par le GAFAM (Google, Amazon, Facebook, Apple et Microsoft) et bien d'autres mais aussi quelques personnes dont Stephen Hawking et Elon Musk pensent que l’heure est venue de parler du domaine quasiment sans limite de l’intelligence artificielle et de ses impacts sur notre monde. Nous allons voir dans cet article quelles sont les difficultés et conversations qui retiennent toute l’attention des Experts IA.
Elon Musk et Stephen Hawking ont signé une lettre ouverte sur l’intelligence artificielle consultable à l’adresse suivante : https://fr.wikipedia.org/wiki/Lettre_ouverte_sur_l%27intelligence_artificielle

1-Que se passera t’il après la fin des emplois ?

Le monde des travailleurs est concerné au premier rang par l’automatisation. Alors que nous avons inventé des techniques d’automatisation de multiple types de travaux, nous sommes censés créer de nouvelles perspectives pour que les travailleurs concernés puissent occuper des rôles plus complexes,  passant de travaux plutôt physiques qui ont dominé largement le monde de l’industrie jusqu’à nos jours vers du travail plus orienté intellect et création qui caractérise l’essentiel du travail stratégique dans notre société globalisé à l’échelle mondiale.  
Si l’on considère le transport routier, il emploie actuellement des millions d’individus. Que se passera t’il quand les camions autonomes promis par Tesla seront disponibles dans un peu plus d’une décennie ? Maintenant, d’un autre coté si l’on regarde la diminution du risque d’accidents, ces véhicules autonomes semblent former un choix éthique sur plan de la vie. Le même scenario pourrait arriver aux travailleurs de bureau, médecins, avocats, développeurs etc.
C’est à ce stade précisément que la question du “Comment va on passer son temps ? » se pose. La plupart des gens reposent toujours sur un système vendant leur temps afin d’avoir un salaire suffisant pour subvenir à ses besoins et ceux de sa famille. On pourrait juste imaginer que cette transition soit une opportunité permettant à ces gens de trouver du sens à des activités non reliées au travail, comme prendre soin de leur famille, s’engager dans des communautés et apprendre/découvrir de nouvelle manières de contribuer à la société humaine
Si nous réussissons dans cette voie, un jour, en se retournant et en pensant qu’il était dur et injuste que les êtres humains soient obligés de vendre la plus grande partie de leur temps juste pour être capable de "survivre" et assumer leurs besoins.
On sait qu’aujourd’hui la faisabilité de l’automatisation de taches techniques est plus importante sur des taches prédictibles qu’imprédictibles dans des proportions d’environs 78% pour les premières contre 25% pour les deuxièmes.
Sur le moyen terme, les personnes travaillant sur des travaux plus imprédictibles seront moins impactés par l'automatisation.
2-Inégalité. Comment redistribue t’on la richesse créée par les machines ?
Notre système économique est basé sur la compensation pour contribuer à l’économie, le plus souvent indexé sur le taux horaire de travail. La majorité des entreprises dépendent du travail horaire quand il s’agit de produits et de services. Mais en utilisant l’intelligence artificielle, une entreprise va drastiquement se dissocier de sa dépendance vis à vis de la force de travail humaine, ce qui signifie que les revenus seront redirigés vers une population réduite. En corollaire, les personnes impliqués dans des sociétés pilotées par l’intelligence artificielle, seront celles qui gagneront le plus d’argent.
On peut déjà voir des différences de santé d’entreprises, avec par exemple, les fondateurs de Start Ups qui récupèrent une large partie des revenus au travers des surplus créés. En 2014, à titre d’exemple, les mêmes revenus ont été générés par les 3 plus grandes compagnies de Detroit et les trois plus grandes compagnies de la Silicon Valley…. simplement, dans la Silicon Valley, il y avait 10 fois moins d’employés !
La question est donc : comment structurer une économie juste et équitable dans le futur : Le GMI (Garanteed Mininum Income) sera-t-il applicable ?
3-Humanité. Comment les machines vont affecter notre comportement et interactions?
Les agent conversationnels ou Chatbot s’améliore sans cesse à mieux modéliser une conversation humaine. En 2015, un robot nommé  Eugene Goostman won the Turing Challenge  a gagné au test de Turing pour la première fois. Dans ce challenge, les examinateurs humains ont utilisé un système de messagerie textuel pour converser avec une entité inconnue, puis essayer de deviner si la conversation avait eu lieu avec un humain ou une machine. Eugene Goostman a trompé plus de la moitié des examinateurs leur faisant croire qu’ils étaient en train de parler à un être humain.
Ce jalon est simplement le début d’une ère ou nous allons fréquemment interagir avec des machines comme s’il s’agissait d’humains, que ce soit dans les domaines du service ou de la vente. Tandis que les humains sont limités pour ce qui concerne l’attention et la gentillesse qu’ils peuvent apporter à une autre personne, les chatbot peuvent canaliser virtuellement des ressources illimitées dans la construction de relations.
Les robots d’intelligence artificielle sont tellement puissant qu’ils peuvent déclencher des phénomènes d’addiction, notamment dans le domaine du jeu, laissant présager de nombreuses opportunités de travail dans le domaine de l’addictologie. Un article intéressant démontre ce point : Tech addiction is the new frontier of human dependency.
4-La Bétise artificielle. Comment se protéger des erreurs?
L’intelligence vient par l’apprentissage, que vous soyez humain ou machine. Les systèmes passent tous au travers d’une phase de training au cours de laquelle, ils apprennent et améliorent leur capacité à détecter les bons patterns et agir de manière appropriée. Lorsqu’un système est complétement entrainé, il va partir en test ou l’on va éprouver sa performance afin de valider ou non sa mise en production.
De manière évidente, les phases de training ne peuvent pas couvrir tous les cas possibles auxquels le système sera confronté dans le monde réel. Ces systèmes peuvent être trompés dans des cas ou les humains ne le seraient pas. Par exemple, dans le cas des voitures autonomes, la programmation d’une éthique déontique ou conséquentialiste défaillante, pourrait avoir des conséquences mortelles dans certains cas. Si l’on prend l’exemple déontique, la voiture obéit strictement au code la route, dans ce cas pour éviter un piéton traversant un passage piéton, la voiture pourrait prendre la décision de se crasher pour respecter le code de la route. Nous devrons donc être vigilant si l’on souhaite pouvoir disposer d’un IA surpuissante au service de l’humain. L'accident mortel provoqué par une voiture autonome Uber met au fait de l'actualité la relative fiabilité des véhicules autonomes tel que commenté dans cet article : https://www.msn.com/fr-fr/actualite/monde/un-véhicule-autonome-duber-impliqué-dans-un-accident-mortel/ar-BBKrj5K?ocid=spartandhp
5-Des robots racistes. Comment éliminer les biais de l’IA?
Bien que l’intelligence artificielle est capable d’effectuer des taches à une vitesse et niveau de complexité bien au-delà des capacités humaines, on ne peut toujours pas lui adjuger toute notre confiance. Google et Alphabet sont parmi les leaders dans l’IA aujourd’hui, on peut le voir au travers de Google Photo Service, ou l’IA est utilisée pour identifier des personnes, objets ou scènes (a tester absolument sur votre album photo!). Mais le système peut échouer, quand un système de reconnaissance visuel pour la prédiction de futurs criminels montre un biais cognitif à l’encontre de personnes noires par exemple. De la même manière, on se rappellera du robot Microsoft rapidement retiré pour avoir tenu des propos racistes.
On ne doit pas oublier que les systèmes IA à la base sont créés par des humains, qui eux-mêmes peuvent être biaisés et juge et parti. Une fois de plus, bien utilisé, l’intelligence artificielle peut devenir un catalyseur pour un changement positif.
6-Sécurité. Comment proteger l’IA contre des utilisations dommageables?
Plus une technologie est puissante et évoluée, plus elle peut être candidate à des utilisations néfastes. La bombe atomique au siècle dernier nous en a donné de tristes exemples. Ceci s’applique non seulement aux robots fabriqués pour remplacer les soldats humains, ou les armes autonomes, mais aussi au système IA qui peuvent causer des dommages en cas d’utilisation « illicite ».  Pour cette raison, la cybersécurité va devenir de plus en plus importante, étant donné que ces combats n’auront pas forcément lieu que sur le terrain. Après tout, on a à faire à un système qui est plus rapide et capable que l’être humain dans des proportions hors norme.
7-Génie destructeur. Comment se protéger contre les conséquences inattendues ?
Ce n’est pas seulement des utilisations dommageables dont nous devons avoir peur. Que se passera t’il si l’intelligence artificielle se retournait contre nous ? Un responsable de la section IA au MIT, donnait récemment un exemple d’IA se retournant contre les humains avec l’exemple suivant : Les systèmes IA vont se développer de plus en plus vite notamment au travers du Deep Learning, par conséquent les IA vont se développer toutes seules, et à moment donné vont s’intéresser à des problèmes clés du monde. Très vite l’environnement sera un sujet identifié, l’IA déterminera alors que l’humain est l’entité la plus néfaste pour l’environnement et pour résoudre ce problème pourrait prendre la décision de détruire les humains pour régler le problème. Du point de vue machine, ce n’est pas forcément de la malveillance, mais plutôt un manque de compréhension du contexte global. Mais en détruisant l’humanité, l’IA aurait atteint son objectif de protection de l’environnement, mais pas de la manière par laquelle les humains l’aurait fait.
8-Singularité. Comment garde t’on le contrôle d’un système intelligent complexe?
La domination de l’être humaine sur la planète, n’est pas le fait de sa force physique, mais plutôt de son intelligence et sa créativité. Ceci pose une question sérieuse au sujet de l’intelligence artificielle : Va-t-elle un jour nous dépasser ? On ne peut pas juste les débrancher, parce qu’une machine suffisamment avancée pourrait anticiper ce mouvement et se défendre. C’est ce que certain appelle la singularité : Le point dans le temp ou les être humains ne seront plus les être les plus intelligents sur la planète.


mercredi 14 mars 2018

Computer Vision Science avec les technologies Microsoft - Contexte et mise en oeuvre Partie 2


Le service Custom vision fair partie du module Vision de l'offre Cognitive Services de Microsoft
Le module Vision contient les éléments suivants :

Le Service Custom Vision ou Service Vision personnalisée en français permet de télécharger des images de référence, de les classifier, puis d'entrainer un modèle pour l'utiliser afin d'évaluer et classifier automatiquement nos images.
On peut alors ajouter des images, corriger et réentrainer le modèle. Tous les fonctionnalités peuvent être lancées et invoquées à partie de l'API REST ce qui fait qu'il est facille d'incorporer toutes ces fonctionnalités à partir d'applications que l'on écrit en C#, Angular, Python etc.
Dans cet article nous allons voir comment créer un projet Custom Vision pour classifier des images, nous téléchargerons des images et entraineront et testeront le modèle. Pour cet exemple nous utiliserons des photos de plantes.
dans le prochain article nous verrons comment consommer le modèle à partir d'une application custom.
La première étape consiste à se connecter au service customvision à l'adresse : https://customvision.ai
Une fois connecté la page projets apparait : 

Cliquer sur New Project puis renseigner le nom et la description, nous choisissons ici les options compact pour pouvoir exporter les classifiers vers des telephones mobiles IOS ou Android


Nous allons ajouter des images, pour démarrer 5 images de fraises que nous taggeront fraise et fruit. Il nous faut au minimum 5 images d'une catégories et 2 tags pour pouvoir entrainer le modèle

Une foirs les images téléchargés nous allons ajouter les tags puis valider

Puis nous allons entrainer le modèle en cliquant simplement sur le bouton Train

Une foir l'itération d'entrainement terminé on voit apparaitre le résultat de la reconnaissance, bien évidemment, plus on ajoutera d'images, plus le modèle sera efficace

On peut alors tester le modèle directement à partir du site, pour cela on peut récupérer l'URL du fruit à reconnaitre puis la soumettre à l'outil de test

On voir ici une reconnaissance à 100% dans ce cas

Enfin si l'on veut le tester à partir d'un téléphone par exemple, nous pourrons exporter le modèle qui pourra être utilisé offline à partir d'un Iphone par exemple, pour cela, cliquer sur le bouton export puis choisir le type de device cible
L'assistant fournit des exemples de code pour pouvoir utiliser le modèle à partir des caméras des téléphones.
Nous avons vu qu'il est très simple de créer et entrainer un modèle sur un thème particulier et de le déployer sur le système de son choix. Dans le prochain article, nous verrons comment utiliser ce modèle et l'API REST à partir d'un application Custom




Computer Vision Science avec les technologies Microsoft - Contexte et mise en oeuvre Partie 1

Dans ce premier article, nous allons aborder le domaine et les applications du Computer Vision avec l'intelligence artificielle, dans le deuxième article nous nous interesserons plus particulièrement à la mise en oeuvre du Computer Vision au travers de la brique Microsoft Custom Vision qui constitue l'un des produits de la suite Microsoft Cognitive Services.
Le monde de l'intelligence artificielle connait aujourd'hui un essor spectaculaire tant sur le plan de l'évolution des technologies que des applications métiers. Le gros avantage de ce domaine est que le traitement d'images ne dépend pas des pays, langues etc. Ainsi, on ne retrouve pas les problèmes rencontrés dans le NLP (Natural Language Processing) par exemple pour ce qui concerne le traitement du language, ou force est de constater que dès que l'on sort de la langue de Shakespeare, les systèmes ont des niveaux de performances problématiques.
En revanche dans le domaine de l'image, ce problème n'existe pas et les applications mises en oeuvre rivalisent d'ingéniosité et de valeur ajoutée. nous allons donc commencer par faire un tour d'horizon rapide du potentiel de ce domaine fonctionnel et technologique de l'IA. Les secteurs ou l'on va retrouver des application interessantes sont 
  • Le domaine médical
  • L'industrie
  • Le secteur de la distribution
  • Le secteur de l'agriculture
  • Les réseaux sociaux
Pour citer quelques exemple, dans le domaine médical, Microsoft, l'initiative InnerEye (démarrée en 2010) permet de travailler sur des outils de diagnostic par imagerie, l'équipe a d'ailleurs posté un grand nombre de vidéos expliquant leur développements, incluant cette vidéo sur le Machnine Learning à partir d'analyse d'image : 

Le domaine du Deep Learning va très probablement jouer un role de plus en plus important dans les applications de diagnostic étant donné que le Deep Learning devient plus accessible et que l'on a des sources de données de plus en plus importantes en termes d'images médicales qui font désormais partie intégrante du Process de Diagnostic par IA.
Dans le domaine de la distribution, les nouvelles expériences d'achat proposée par Amazon Go entièrement basée sur du Computer Vision et du Machine Learning, permettent aux client une expérience nouvelle évitant le pénible passage à la caisse comme montré dans la vidéo ci dessous :

Dans le domaine de l'agriculture tout comme dans l'industrie des applications sont faites pour accèlérer le tri ou le controle optique permettant de détecter par exemple des défauts sur des légumes ou bien manufacturés à des cadences largement supérieures à celle d'un humain.
Dans le domaine de la sécurité, les système de controle au frontières sont en train également de migrer vers la reconnaissance faciale comme preuve d'identité ( évolution des systèmes Parafe existants).
Enfin dans le domaine des résaux sociaux, on pourra citer le projet Lens de Pinterest qui fonctionne comme Shazam mais avec des images, permetttant de reconnaitre à peu près tout ce qui existe et connecter à du contenu marketing ou de type blog, comme montré ci dessous.