Catégorie : Intelligence artificelle

  • Les Big Data peuvent-ils faire la pluie et le beau temps ?

    Éric Blayo est professeur à l’Université de Grenoble Alpes où il est membre du Laboratoire Jean Kuntzmann. Il est membre de l’équipe AIRSEA après avoir dirigé pendant 10 ans l’équipe-projet commune MOISE (Inria-CNRS-UGA) Il s’intéresse à la modélisation mathématique et numérique des sciences de l’environnement (météo, système océan-atmosphère, climat). Ces processus complexes doivent selon lui faire l’objet de modélisation (éventuellement à plusieurs échelles de temps et d’espace) et d’assimilation de données qui permettent de corriger des modèles par essence toujours imparfaits. Pour Binaire, il nous parle ici de l’apport des Big Data dans son domaine de recherche. Antoine Rousseau. Cet article est publié en collaboration avec The Conversation.
    Éric Blayo, Crédit Photo Inria

    La prévision météorologique fut un des tout premiers domaines scientifiques à faire usage de la simulation numérique : dès la fin des années 40 (première prévision numérique du temps par une équipe pilotée par Jule Charney et John Von Neumann en 1950), et même virtuellement 30 ans plus tôt dans les travaux visionnaires de Lewis Fry Richardson, qui en posait les bases et décrivait même ce que pourrait être une forecast factory (usine à prévision) météorologique. Depuis lors, des systèmes de prévision ont été développés progressivement pour toutes les sciences environnementales : météorologie, océanographie, pollution de l’air, hydraulique fluviale, climat… Mais alors, forts de décennies de travail et d’expérience, bénéficiant de la progression exponentielle de la puissance de calcul, alimentés par des quantités de données (notamment satellitaires) colossales, et maintenant baignés dans la révolution de l’intelligence artificielle, pourquoi ces systèmes numériques ne fournissent-ils pas encore des prévisions quasi parfaites ?

    Un système de prévision, qu’est-ce que c’est ?

    Pour tenter de comprendre cela, commençons par décrire ce qu’est un système de prévision dans ces domaines applicatifs. Avant tout, il est basé sur la connaissance de la physique des phénomènes mis en jeu. Ces lois physiques, qui traduisent en général des principes simples comme la conservation de la masse ou de l’énergie, sont exprimées sous forme d’équations mathématiques. Beaucoup sont d’ailleurs connues depuis les travaux de grands scientifiques comme Euler, Fourier, Navier, Stokes, Coriolis ou Boussinesq il y a deux siècles. Ces équations, qui mettent en jeu vitesse, pression, température, sont toutefois trop complexes pour être résolues exactement, et l’on va construire un modèle numérique afin de les résoudre de façon approchée (mais pas approximative !). Autrement dit, on remplace l’équation mathématique exacte par une expression approchée calculable par un ordinateur.

    Mais, comme l’a dit Niels Bohr, physicien de génie et grand pourvoyeur de citations restées à la postérité : « Prévoir est très difficile, surtout lorsque cela concerne l’avenir ». Ainsi notre modèle numérique ne nous sera que de peu d’utilité pour prédire la situation de demain s’il n’est pas bien « calé », c’est-à-dire renseigné aussi précisément que possible sur la situation d’aujourd’hui : votre état de santé à l’issue d’une chute sera loin d’être le même suivant que vous trébuchez sur une plage de sable fin ou du haut d’une falaise de 30 mètres, et une connaissance parfaite de la loi de la gravitation n’y changera rien. Concrètement, cela signifie qu’il faut fixer les valeurs de toutes les variables du modèle à un instant donné, et donc utiliser pour cela les observations disponibles au même moment. Des techniques mathématiques très sophistiquées ont été développées pour cela, qu’on englobe sous le terme d’ « assimilation de données ».

    A ce stade, on dispose donc d’un système qui, utilisant les données sur l’état actuel, est capable de prédire un état futur. Pour parfaire le tout, on essaie même le plus souvent d’évaluer la fiabilité de cette prévision : c’est par exemple l’« indice de confiance » associé aux prévisions météo. Le montagnard, le marin, ou plus simplement le cycliste, connait son importance, et fera des choix prudents si l’incertitude est grande. Cette incertitude est évaluée généralement par des techniques de « prévisions d’ensemble », consistant à réaliser de nombreuses prévisions en perturbant légèrement à chaque fois un paramètre du système, comme son état initial. Si les prévisions demeurent très cohérentes entre elles, alors on dira que la prévision est fiable ; si au contraire elles présentent des disparités fortes, on considérera que la prévision est incertaine.

    Des erreurs, un papillon, et pourtant elle tourne !

    Un système de prévision très précis serait synonyme d’une incertitude très faible dans toutes les situations possibles. Or, dans ce domaine des fluides géophysiques, il y a des erreurs significatives à tous les stades :
    dès les équations, déjà : on ne comprend pas toute la physique, et on la représente donc imparfaitement. La physique à l’intérieur des nuages par exemple est encore bien loin d’être parfaitement comprise.
    dans la partie numérique ensuite, qui par essence est une approximation. Incapable, même avec le meilleur ordinateur du monde, de calculer la solution approchée en tout lieu et à chaque instant, on va se contenter de le faire sur un maillage (figure), c’est-à-dire en des points répartis géographiquement (les modèles numériques actuels en considèrent tout de même fréquemment la bagatelle de plusieurs dizaines ou centaines de millions). Ce faisant, on ne peut donc pas représenter ce qui se passe à des échelles plus petites que celle du maillage, et l’on va, soit choisir de l’ignorer totalement, soit tenter de simuler l’effet de ces petites échelles non représentées sur la solution : c’est ce que l’on appelle une « paramétrisation sous-maille », art extrêmement difficile.
    dans la description de l’existant enfin : on ne connait évidemment pas parfaitement la température actuelle en tout point de l’océan, ni la perméabilité du sol partout sur terre. Et si l’assimilation de données expliquée plus haut permet de remédier partiellement à cela, elle est basée sur l’utilisation de mesures qui par essence comportent des erreurs, instrumentales d’une part et de représentativité d’autre part (pour faire court : on ne mesure pas forcément directement la quantité représentée dans le modèle, et en plus cette mesure n’est ni à un endroit ni à un instant correspondant au maillage du modèle).
    Si l’on ajoute à cela le fameux effet papillon popularisé par Ed Lorenz, c’est-à-dire le fait que, pour certains écoulements ou certaines échelles, une légère différence initiale puisse amener à une situation totalement différente après quelque temps, il y a finalement de quoi être pessimiste quant à la capacité à prévoir de façon fiable. Et pourtant, quoiqu’on en dise dans la file d’attente à la boulangerie ou à la boucherie, la qualité des prévisions est maintenant bien meilleure qu’il y a quelques années, et a fortiori décennies. Soyons honnêtes : si nous râlons aujourd’hui contre une prévision météo, ce n’est pas parce qu’il a plu toute la journée alors que celle-ci était annoncée ensoleillée, mais plus vraisemblablement parce que la pluie est arrivée deux heures plus tôt qu’annoncée, ou que le front de nuages était décalé de 40 kms.

    La puissance de calcul et l’IA à la rescousse ?

    La précédente litanie des erreurs montre qu’il reste de la marge pour de futures améliorations. Les progrès de l’informatique et le boom de l’intelligence artificielle doivent-ils nous rendre optimistes et nous faire miroiter des lendemains qui, à défaut de chanter, verraient leur météo parfaitement anticipée ? C’est en fait plus compliqué qu’on ne pourrait le croire.

    À quoi servent des ordinateurs plus puissants ?

    • A utiliser des méthodes numériques plus coûteuses, car plus précises : la solution numérique est alors plus proche de la solution exacte des équations mathématiques. C’est bien, mais comme on l’a vu, ces équations sont incomplètes et cette erreur d’approximation numérique n’est qu’une petite partie du problème.
    • A augmenter la « résolution », c’est-à-dire la finesse du maillage. On pourrait alors se dire qu’on va là encore, mécaniquement, diminuer l’erreur d’approximation numérique. C’est vrai… mais le diable se niche dans les détails. En augmentant la résolution, on représente une physique plus riche, de nouveaux phénomènes sont présents, dont certains peut-être mal compris, des rétroactions apparaissent dont on ne soupçonnait pas forcément l’ampleur. Et il faut in fine comprendre tout cela, et peaufiner un nouveau réglage de ce que nous avons appelé la « paramétrisation sous-maille ». Bref, augmenter la résolution est en général encore absolument nécessaire pour les applications dont nous parlons, mais s’accompagne d’un lourd travail de compréhension physique et de réglage avant d’aboutir à un réel gain en précision.
    • A mieux quantifier l’incertitude (améliorer l’indice de confiance), en rendant possible de plus nombreuses simulations.

    Et l’intelligence artificielle dans tout ça ? On nous explique que l’IA est capable de tout analyser et de tout prédire. Alors, peut-elle aider ici ? A vrai dire, l’apport de l’IA est particulièrement spectaculaire sur des données disparates et/ou concernant des sujets dont le comportement repose sur des lois mal connues, voire inexistantes. Or, pour les fluides géophysiques, les équations mathématiques utilisées actuellement sont d’ores et déjà une bonne représentation de la vraie physique, et l’assimilation de données permet souvent de combiner mesures et modèles de façon quasi optimale. On est donc dans un contexte où l’IA ne doit donc pas être attendue comme le messie. Par contre, elle peut très certainement s’avérer extrêmement utile pour tout ce qui se situe « hors cadre ». Par exemple tout ce qui relève d’une physique encore mal comprise dans ces systèmes de prévision : les interactions complexes entre l’océan et l’atmosphère, la micro-physique, les paramétrisations sous-mailles… Les scientifiques saisissent en ce moment tous ces sujets à bras le corps.

    Et l’humain dans tout ça ?

    N’oublions toutefois pas, dans ce large panorama, un facteur essentiel : le savoir-faire humain, le tour de main du scientifique modélisateur. Les systèmes de prévision sont des mécaniques complexes, et celui-ci les règle minutieusement, et réalise en fait de la « compensation d’erreur ».  De la même façon que, pour obtenir une meilleure tarte, on compensera sur le moment la trop grande acidité des fruits à notre disposition en dépassant la quantité de sucre prescrite par la recette, le modélisateur sait adapter son système pour qu’il fournisse les meilleurs résultats possibles. Une conséquence directe en est qu’apporter au système ce qui devrait être une amélioration (une meilleure méthode, une nouvelle paramétrisation…) s’avère souvent décevant au premier abord, voire même détériore la qualité des prévisions. En effet, l’introduction de cette nouveauté met à terre le subtil équilibre des réglages du modèle. Ainsi, quand on pense pouvoir améliorer un élément d’un système de modélisation, le chemin est souvent encore long avant que cela n’améliore les prévisions elles-mêmes, car cela passe par une nouvelle phase de réglages.

    En guise de conclusion

    Plus que par bonds spectaculaires de lièvre sous EPO, comme ça peut être le cas dans dans certains domaines scientifiques où l’invention d’un nouvel instrument ou d’une nouvelle théorie engendre une véritable révolution, la connaissance et la prévision des milieux géophysiques comme l’atmosphère ou l’océan progressent à petits pas réguliers de tortue : moins romanesque, mais tout aussi efficace sur la durée. A cet égard, l’IA est une nouvelle ressource venant enrichir le panel des outils disponibles. Sans révolutionner la discipline, elle permettra sans nul doute de nouvelles avancées. La tortue poursuit son chemin.

    Éric Blayo, professeur à l’Université de Grenoble Alpes

  • Détecter le faux, sécuriser le vrai

    Nous avons déjà parlé de bobards dans Binaire, par exemple avec l’article de Benjamin Thierry. Cette fois, c’est Thierry Berthier, chercheur en cybersécurité et intelligence artificielle, qui vient nous en parler. Thierry est Chief Technical Officer d’Aletheion, une startup de cybersécurité financière qui développe des outils pour protéger les entreprises des fakenews. L’informatique a soulevé le problème. L’informatique avec, par exemple, l’intelligence artificielle et la blockchain, est convoquée pour le résoudre. Serge Abiteboul
    Thierry Berthier

    Depuis Sun Tzu, les sciences militaires s’appuient sur la déception, terme désignant l’ensemble des mesures et contremesures à mettre en œuvre pour induire en erreur son ennemi. On y retrouve les ruses de guerre, les leurres, les déformations crédibles de la réalité et les falsifications en tout genre. Désormais, ce sont les fausses données numériques ou Architectures de Données Fictives (ADF) qui sont utilisées pour « intoxiquer » une cible. A l’ère de Turing, les ADF sont massivement utilisées durant la phase initiale d’ingénierie sociale de nombreuses cyberattaques. Elles exploitent le facteur humain et les biais cognitifs pour amener la cible à cliquer sur la pièce jointe contenant un logiciel malveillant, pour cliquer sur un lien corrompu ou pour divulguer ses identifiants et mot de passe. Près de 90% des cyberattaques débutent par un leurre numérique contenant des données fictives. Cette réalité systémique place le facteur humain au centre de la chaine de sécurité et l’identifie comme le maillon le plus faible. La montée en puissance de l’intelligence artificielle augmente encore la menace en offrant des capacités nouvelles de création d’ADF complexes, immersives et cohérentes.

    Dans l’échelle des menaces numériques, la cybercriminalité financière occupe une place prépondérante. Elle est à la fois très rentable, facilement déployable et bien moins risquée pour l’attaquant que le braquage physique d’une banque ! Les cyberfraudes impactent aujourd’hui tout le spectre des entreprises, de la petite PME jusqu’au grand groupe industriel. Les arnaques au Président, les attaques FOVI (aux Faux Ordres de Virement), aux faux fournisseurs, au faux changement de RIB, ou aux faux supports techniques se sont généralisées. 93% des entreprises françaises ont été victimes d’au moins une tentative de FOVI depuis 2016. Deux tiers d’entre elles ont détecté (à temps) l’attaque mais le tiers restant a effectué le virement frauduleux. A l’échelle mondiale, le préjudice déclaré cumulé sur les trois dernières années dépasse les 6 milliards de dollars. Ces attaques sont construites selon des scénarios variables mais elles partagent une trame opérationnelle commune. L’attaquant usurpe l’identité d’une autorité interne ou externe à l’entreprise et amène son interlocuteur à effectuer un virement en urgence et de manière confidentielle. Pour rendre crédible l’usurpation d’identité, il s’appuie sur de faux sites web imitant un site officiel, sur de faux documents crédibles et sur une phase d’ingénierie sociale intense qui lui permet de collecter des renseignements exploitables concernant sa future victime.

    L’ADF peut être utilisée à plus grande échelle pour déstabiliser le cours d’une action d’une entreprise cotée en bourse. L’objectif de l’attaquant est de créer artificiellement une forte et éphémère volatilité sur un titre ciblé afin d’exploiter ces variations brutales. Il peut alors spéculer à la baisse puis à la hausse en avance du marché. Pour cela, il lui suffit de produire un communiqué officiel crédible, usurpant l’identité du service de communication du groupe ciblé et d’annoncer des baisses de résultats, des difficultés financières ou une fusion acquisition inamicale. Le communiqué est alors diffusé auprès des agences de presse spécialisées qui, si elles ne détectent pas le caractère frauduleux du message, le diffusent à leur tour, induisant un FlashCrash sur le titre. Ce type d’attaque par HoaxCrash ne dure jamais plus de 5 à 6 minutes, le temps qu’un démenti soit publié, souvent par l’attaquant lui-même, entrainant la remontée du cours à son niveau initial. Les « HoaxCrash en V » peuvent induire de fortes turbulences boursières. Ils provoquent des préjudices financiers pour les acteurs qui ont tenu compte de la fausse information dans leurs stratégies à court terme. Lorsqu’ils se répètent, les HoaxCrash nuisent à l’image et la réputation de l’entreprise ciblée.

    Une fois mis en place, les ADF agissent comme des leurres cognitifs immersifs de plus en plus difficilement détectables par le cerveau humain.   Comment lutter contre ces attaques ?

    L’intelligence artificielle donne de bons résultats dans la détection des tentatives de fraudes bancaires et des cyberattaques. L’apprentissage automatique appliqué à la cybersécurité a montré son efficacité dans la détection des menaces persistantes avancées et des attaques furtives en s’appuyant notamment sur l’analyse du comportement des utilisateurs. Ces techniques exploitent de grands volumes de données issues du système d’information pour identifier très en amont, les séquences caractéristiques d’attaques. Le traitement automatique du langage naturel est utilisé pour analyser le contenu d’un mail et ses métadonnées à la manière d’un filtre anti-spam. Le texte est préalablement décomposé en « token » signifiants. Ceux-ci sont ensuite confrontés à des motifs typiques de scénarios de fraude. Une métrique adaptée permet d’évaluer la proximité du message reçu avec un message d’attaque typique, de calculer un indice de véracité et un indice d’impact de ce message. En cas de forte similarité avec un message frauduleux, des alertes sont envoyées en temps réel pour bloquer au plus tôt les mécanismes destructeurs des FOVI et des HoaxCrash. L’intelligence artificielle agit alors comme un assistant bienveillant donnant l’alerte quand nos fragilités biologiques nous poussent vers le piège numérique.

    Enfin, une architecture Blockchain couplée à une identification forte et/ou biométrique de l’émetteur à l’entrée de la chaîne de blocs s’avère utile pour sécuriser la transmission de documents et lutter contre les attaques par usurpation d’identité. C’est cette complémentarité de l’IA et de la Blockchain qui assure la robustesse du dispositif et qui apporte une réponse pertinente au problème plus global des fake news.

    Thierry Berthier, Chercheur en cybersécurité & cyberdéfense, CTO Aletheion

    Pour aller plus loin, il faudra attendre :

    From Digital Traces to Algorithmic Projections, Thierry Berthier et Bruno Teboul, À paraître  le 1 octobre 2018, ISTE Wiley – Elsevier. Version françasie en janvier 2019

  • Les selfies de binaire : Charlotte

    Suite et fin provisoire de notre série les selfies de binaire. Après Thierry, Pascal,  Antoine et Marie-Agnès, Serge,  Charlotte Truchet nous dévoile un secret.

     

    Charlotte Truchet,
    Chercheuse sans contrainte.

     Ton parcours

    Quand j’étais petite, je faisais Licence d’informatique. Mais comme je n’étais pas trop heureuse dans mon école, j’ai envoyé des CV à des journaux scientifiques pour trouver un stage. Et là, paf, surprise, le magazine La Recherche me prend à l’essai comme pigiste ! J’ai pris une claque comme jamais : les bouclages, la rédaction, les enquêtes… je ne savais rien faire. Ça a été très dur au début, et puis petit à petit j’ai appris et j’ai adoré : c’est tellement important de transmettre la science nue, crue, pure. Tout le monde ou presque est d’accord là dessus, mais peu de gens s’y collent vraiment… Peu importe que l’audience soit parfois en deçà des espérances, peu importe que le public ne comprenne pas tout – le lien entre scientifiques et grand public doit être entretenu, à tout prix.

    Bref, je suis restée 3 ans à La Recherche, je suis passée rédactrice, et après je suis retournée à l’école : j’ai fait une thèse et je suis devenue universitaire. Cette histoire m’a rendue durablement schizophrène : comme ancienne journaliste, je trouve que les chercheurs abusent grave quand ils vulgarisent (à pinailler sur deux virgules, à tout compliquer, à exiger des affiliations illisibles longues de 10 km…). Comme chercheuse, je trouve que les journalistes se foutent de la gueule du monde (à trop simplifier, à ne pas assez vérifier, à chercher le buzz). Grâce à Binaire, au moins, ma schizophrénie sert à quelque chose !

    Ton domaine de recherche

    © users.cecs.anu.edu.au/~jks/G12

    Je fais de la programmation par contraintes, mais je vais pas m’étendre parce que j’en ai déjà parlé ici. J’aime bien travailler sur des problèmes mal formulés, surtout si c’est en collaboration avec des non-informaticiens : j’ai fait ma thèse en informatique musicale, puis j’ai travaillé avec des urbanistes et maintenant des chimistes. C’est difficile, on ne se comprend pas mais on s’enrichit. Tout le monde a plein de problèmes fondamentalement informatiques, sans le savoir ! Et c’est joli quand on arrive à s’y attaquer sans que personne n’y perde son identité.

     Quelle est l’évolution de ton domaine ?

    © mnemonas

    Comme tout le monde, je suis ébahie par l’irruption de l’IA dans le débat public. La programmation par contraintes, c’est de l’IA au sens scientifique, mais pas au sens grand public. Alors forcément, la vie est compliquée. C’est un peu inquiétant de voir l’essentiel des ressources scientifiques du moment concentrées sur un domaine connu pour une seule techno visible (l’apprentissage), et aux contours soigneusement mal définis. Enfin, on survivra. De toutes façons mon domaine, traditionnellement centré sur les méthodes de résolution (qu’on veut toujours plus rapides et plus efficaces), s’ouvre maintenant sur d’autres disciplines, et c’est une bonne chose. L’informatique est trop jeune pour être cloisonnée.

    Le plus et le moins dans ton activité de recherche

    Le plus : Je ne saurais pas le formuler, j’adore mon métier, c’est tout. J’aime particulièrement travailler au tableau avec des belles notations et d’autres personnes. Le côté esthétique est très important. La qualité des autres personnes, aussi ! Travailler au tableau, c’est partager beaucoup de choses : des intuitions, des idées lumineuses ou foireuses, des blagues, des échecs… L’avantage à l’Université c’est qu’on peut partager ça avec des gens fantastiques (et qu’on n’est pas obligé de le partager avec des gens pas fantastiques). C’est une liberté fondamentale qui nous permet de survivre à presque tout, je pense.

    Le moins :  C’est plus facile à identifier, c’est l’administration qui nous bouffe. Quand j’entends un chef dire « ça on va demander aux enseignants-chercheurs de le faire, ça ne prend pas trop de temps », j’ai envie de tuer quelqu’un.

  • Petit binaire : apprendre avec un gros Q

    Oui binaire s’adresse aussi aux jeunes de tous âges que le numérique laisse parfois perplexes. Avec cette nouvelle rubrique « petit binaire », osons ici expliquer de manière simple et accessible un grand principe de l’informatique : l’apprentissage par la machine (machine learning). Thomas Deneux endosse le rôle de petit binaire et nous explique comment faire apprendre quelque chose à une machine en lui mettant des baffes… ou en lui donnant des fromages !

    Marie-Agnès Enard, Pascal Guitton et Thierry Viéville.

    .

    – On m’a dit que les machines apprennent toutes seules maintenant, plus besoin de les programmer ?

    – Hola, je t’arrête tout de suite, on a du les programmer à apprendre toutes seules !
    – Certes, et … mmm : attends le mieux est de voir comment ça marche.
    – Oui oui, comme cela on saura au moins de quoi on parle, quand on discute de ces trucs là.

    Apprendre des actions au fil des récompenses (ou des baffes).

    Pour permettre à un algorithme d’apprendre automatiquement on va spécifier :
    – une liste de sensations, ce sont les entrées du mécanisme ;
    – une liste d’actions possibles, ce sont les sorties du mécanisme ;
    et chaque fois que le mécanisme fera une action, il aura un retour positif ou négatif : une récompense ou une baffe.

    Ce que va faire le mécanisme c’est calculer la valeur Q associée à une certaine action a quand il reçoit une certaine sensation s

    Q(s, a)

    et quand il reçoit une certaine sensation s, il choisira d’effectuer l’action a qui donne la plus grande valeur Q(s,a).

    – Attends … c’est tout ?!?

    Presque, regarde un exemple, avec cette petite souris dans cette arène : elle cherche à manger les fromages, mais malheureusement elle est aveugle et sans odorat, aussi elle peut seulement sentir quand elle touche un fromage ou un mur de l’arène (ce sera plus simple pour nous).  Pour réussir à manger les fromages, elle avance tout droit tant qu’elle n’est pas bloquée par un mur (quand s = « libre », l’action qui donne la meilleure valeur Q est « Avancer »), et se retourne à gauche lorsqu’elle est bloquée par un mur (quand s = « bloqué », l’action qui donne la meilleur valeur Q est « À gauche »). C’est une stratégie très simple… et efficace !


    https://scratch.mit.edu/projects/227229889/#fullscreen

    – Je vois comment ça marche, mais comment ça « apprend » !?!

    C’est facile : je t’ai expliqué comment la souris choisit ses actions grâce aux valeurs Q, voici maintenant comment elle a appris ces valeurs grâce à son programme de Q-learning !

    Quand on l’a lâchée pour la première fois dans l’arène, cette souris était totalement néophyte, elle ne savait pas quelle action choisir : toute la table Q valait zéro. Elle a alors choisi ses actions au hasard, jusqu’à choisir une fois « Avancer » et tomber sur un fromage ! A ce moment là, elle a mémorisé que « Avancer » peut donner une récompense (le fromage !) en mémorisant dans la table Q libre », « Avancer »)=20. Dorénavant elle choisira d’avancer quand elle sera libre !… sauf de temps en temps où elle continuera d’assouvir sa curiosité en choisissant une autre action au hasard.

     

    – Je comprends : la valeur Q indique la récompense qu’on peut recevoir ! Mais alors, comment la souris a-t-elle appris à se retourner quand elle est bloquée ?! On lui donne un fromage à chaque fois qu’elle se débloque ?

    Hé, très bonne question, mais pas besoin de la récompenser pour cela ! En effet, lorsque la souris était bloquée par un mur puis a réussi par hasard à se débloquer une première fois en tournant, elle a apprécié de se sentir « libre » à nouveau ! (puisqu’elle a déjà appris que quand elle est libre, elle peut rencontrer des fromages). Aussi a-t-elle mémorisé cela en augmentant la valeur Q bloqué », « À gauche »). Finalement, la valeur Q indique non seulement la récompense qu’on peut recevoir immédiatement, mais aussi celles qu’on pourra recevoir plus tard.

     

    – Génial ! Alors la souris a vraiment appris toute seule comment attraper des fromages ! Et ceci grâce à un programme très simple ! C’est avec le même programme que l’ordinateur AlphaGo de Google a battu le champion du monde du jeu de Go Lee Sedol ?

     

    A peu près ! A la différence que le nombre de sensations et d’actions possibles au jeu de Go est largement plus grand, aussi AlphaGo a dû être entraîné sur des millions de parties. Il a aussi fallu quelques astuces pour faire progresser sa fonction Q : par exemple, utiliser du Deep Learning pour la calculer (je te parlerai de cela une prochaine fois).

    Mais oui, le principe reste le même :
    * agir en choisissant l’action qui va donner la valeur maximale et
    * ajuster la valeur des actions exécutées grâce aux récompenses et nouvelles sensations observées !

    – Mais attends, tu ne lui as même pas donné de baffes à la souris finalement !

    Et oui, c’est vrai, j’ai décidé d’être sympa. C’est vrai que si j’avais entouré l’arène d’une clôture électrique elle aurait pu apprendre encore plus vite à se débloquer. Récompenses ou punitions, peu importe, l’essentiel c’est que le programme comprenne que certaines actions sont meilleures que d’autres.

    – Attends, t’es en train de me dire que le bâton ou la carotte c’est la même chose ?! Franchement moi je préfère apprendre avec des fromages plutôt qu’avec des baffes !

    Bien sûr ! Je n’ai jamais dit qu’un programme d’ordinateur et un être humain (ou même une vraie souris) c’est la même chose ! Il est bien connu que, contrairement au Q-learning, le cerveau ne mémorise pas de la même manière les récompenses et les punitions.

    – Ben oui, on est quand même pas des machines… Alors, cette « intelligence artificielle », ce n’est qu’un simple calcul ?

    Tu as raison. Déjà c’est un débat de savoir si on est vraiment des machines de Turing ou pas (un jour, il faudra aussi que je te parle de ce Monsieur Turing ; il a imaginé un modèle relativement simple d’un ordinateur universel qu’on appelle machine de Turing), et la complexité de l’apprentissage biologique est sans comparaison avec nos ordinateurs actuels les plus puissants. Mais en plus, nous les humains, comme les animaux, on vit, on meurt, et on choisit ce qu’on veut faire tant qu’on vit ! C’est une différence fondamentale avec les machines, qui elles, exécutent leurs programmes sans réfléchir.

    Et puis concernant les robots : Certes, je t’ai parlé d’apprentissage machine, mais cela reste un mécanisme, comme lorsqu’on programme explicitement un robot à faire une tâche comme sortir d’un labyrinthe. La différence, c’est que le mécanisme consiste à utiliser un algorithme un peu universel qui va s’adapter à une tâche en fonction des données qu’il reçoit. Rien de magique.

    Cela ne nous empêche pas d’être fier de tous les algorithmes que les femmes et les hommes ont inventés ! Et de continuer à chercher à en inventer de plus performants. Et quand ce sont de vrais robots qui apprennent, se déplacent, interagissent avec nous, cela devient vraiment impressionnant c’est sûr.

    Tu sais, c’est précisément un projet qui me tient à coeur : j’ai mis au point un petit robot roulant qui s’appelle AlphaI, pour l’instant il apprend à se déplacer dans une arène, exactement comme la souris, mais plus tard il saura faire plein d’autres choses. Je l’utilise pour faire comprendre aux petits et aux grands comment marche l’intelligence artificielle.

    http://naivia.fr

    – Trop classe ! Merci !

    Thomas Deneux, responsable du service informatique de l’UNIC

    Au programme du prochain épisode :

    Comment expliquer le fonctionnement d’Internet avec des Post-it ?

  • Les selfies de binaire : Thierry

    Si vous lisez ces lignes, c’est que vous connaissez le blog binaire et que l’informatique ou les sciences du numérique vous intéressent ou du moins attisent votre curiosité. Comme vous le savez, nous avons le souhait de proposer des sujets variés dans des domaines où l’informatique est omniprésente.  Aujourd’hui, nous avions envie de vous parler de nous, pour que vous puissiez découvrir la diversité des parcours qui sont les nôtres et avoir ainsi une meilleure connaissance de celles et ceux qui s’adressent à vous.  C’est Thierry Viéville qui démarre cette mini-série.

    icons/myface.jpg

    Thierry Viéville
    Chercheur en neurosciences

     

    Ton parcours

    Je faisais des études d’ingénieur parce que je n’avais pas pu être ni psychiatre ni curé (c’est authentique), et comme travailler en télécommunication me gonflait prodigieusement, j’ai été faire des recherches en neurosciences parce que mes professeurs de l’époque m’avaient expliqué que l’informatique n’était pas une discipline scientifique donc qu’on ne pouvait pas y faire des recherches scientifiques (c’est authentique !)… et puis j’ai découvert l’INRIA.

    Ton domaine de recherche

    Animation des sections IRM à travers l'axe-Z d'un être humain adulte sain.
    ©fastfission@wikipédia

     Les neurosciences computationnelles* forment un domaine de recherche scientifique assez étrange où on part d’une hypothèse complètement fausse à savoir que le cerveau est une simple machine à traiter l’information pour essayer d’expliquer certains aspects de son fonctionnement. Ces modèles dits computationnels (c’est à dire se concentrant sur le traitement de l’information) marchent assez bien quand on s’intéresse à des fonctions plutôt « animales » c’est à dire correspondant à des fonctions déjà présentes dans le règne animal (ex: réflexes, reconnaissances d’objets, sélection d’une action, …). Mais c’est encore plus intéressant quand  la confrontation de ces modèles à la réalité biologique échoue : cela oblige à faire évoluer notre vision scientifique et c’est ça qui est passionnant.
    Techniquement, autour de Frédéric Alexandre, nous proposons de modéliser le cerveau comme un système de mémoires actives en synergie et en interaction avec le monde interne et externe et de le simuler dans son ensemble et en situation.

    Quelle est l’évolution de ton domaine ?

    C’est l’arrivée du « machine learning » c’est-à-dire de ces algorithmes qui sont capables d’être extrêmement performants  à condition de leur confier la simulation d’une tâche cognitive très restreinte, qui a bouleversé notre champ de recherche. Tandis que nous savons que la construction d’une soit disant intelligence artificielle globale contredit des résultats mathématiques établis (par exemple** les « no-free lunch theorems« ) donc reste une croyance, il n’en reste pas moins que l’espèce humaine est là avec son cerveau, et le comprendre dans sa globalité semble impliquer de dépasser les outils théoriques dont nous disposons aujourd’hui.

    Le plus et le moins dans ton activité de recherche

    Le plus : le moment où un truc super compliqué (parce qu’on a pas encore compris ou parce que le ou la collègue qui l’exprime a encore une vision confuse ou pire : se la joue de manière pédante) devient limpide et clair.
    Le moins :
    mourir d’ici moins d’un demi siècle sans savoir ce qui se passera après en matière de compréhension de notre cerveau.

    Pour en savoir plus

    (*) La grenouille gobe t’elle aussi les cailloux ? une introduction aux neurosciences computationnelles

    (**) Les « no-free lunch » theorems.

    ©Leon Fedden https://goo.gl/CmbwQF

    Rien n’est gratuit 🙂 Ces théorèmes montrent qu’un algorithme de machine-learning, tel que nous le formulons aujourd’hui, qui serait plus performant que les autres pour résoudre une classe de problèmes particulière est forcément moins performant sur un grand nombre d’autres classes de problèmes. Un algorithme qui résoudrait tous les problèmes serait obligatoirement totalement inefficace, en fait pas plus efficace que tirer au hasard la solution. La conséquence est que plutôt que de chercher un algorithme qui serait artificiellement intelligent de manière globale, il faut au contraire se doter d’outils mathématiques et informatiques pour introduire de maximum d’informations a-priori pour résoudre un problème donné, comme l’explique Stéphane Mallat.

     

  • Intelligence artificielle et pensée humaine

    Parler encore d’intelligence artificielle ? Au milieu de tout le bruit médiatique sur ce sujet une chercheuse en sciences de l’éducation, Margarida Romero, va répondre à une question rarement posée et jamais analysée de façon aussi profonde à notre connaissance : comment éduquer nos concitoyen.ne.s dans un monde où l »intelligence artificielle » devient omniprésente ? Pascal Guitton & Thierry Viéville. Cet article est publié en collaboration avec The Conversation.

    Comme toute nouvelle technologie, l’intelligence artificielle fait l’objet à la fois d’espoirs et de peurs et ce qu’elle recouvre aujourd’hui présente de grands enjeux (Villani et al, 2018). Elle pose aussi des questions profondes sur notre propre humanité. La machine dépassera-t-elle l’intelligence des humains qui l’ont conçue ? Quel sera le rapport entre ce qu’on appelle des intelligences artificielles et nos intelligences humaines ?

    Dans un ouvrage récent, Jean-Gabriel Ganascia (2017) répond à la première question : il montre très simplement que se développe une intelligence algorithmique dite artificielle (il parle d’ »intelligence artificielle technique »), dont les performances font que notre société est effectivement bouleversée, car nous vivons au temps des algorithmes (Abiteboul-Dowek, 2017). Cependant l’idée d’une intelligence artificielle forte qui dépasserait l’intelligence des humains n’est pas une idée vraie ou fausse, c’est une croyance car elle n’est pas étayée par des arguments scientifiques. Il se trouve qu’il est de l’intérêt de ceux qui dominent le marché du numérique de nous le faire croire et de médias en quête d’audience de relayer cette croyance.

    Pensée critique et créativité

    Alors, avant de s’inquiéter de nos compétences face à ce monde présupposé d’intelligences artificielles – disons, IA pour désigner cette croyance, nous nommerons autrement les éléments scientifiques établis -, nous devons aiguiser nos compétences humaines clés : la pensée critique et la créativité. Tout d’abord, si nous faisons preuve de pensée critique, il faudrait commencer par nous questionner sur l’expression IA. Est-ce que le terme d’intelligence est pertinent pour désigner des applications informatiques basées notamment sur l’apprentissage machine (machine learning) ? Ces algorithmes ont pour objectif de développer des systèmes capables de capter, de traiter et de réagir face à des informations (massives) selon des mécanismes qui s’adaptent au contexte ou aux données pour maximiser les chances d’atteindre les objectifs définis pour le système. Ce comportement qui peut paraître “intelligent” a été créé par des humains et présente des limites liées d’une part à la capacité humaine actuelle de définir des systèmes d’apprentissage machine efficaces, et d’autre part à la disponibilité de données massives pour que les systèmes s’adaptent. Le constat est que ces systèmes sont plus performants que des humains sur des tâches bien spécifiques comme la reconnaissance de sons, d’images ou encore, récemment, des tests de lecture comme le Stanford Question Answering Data Set. Avoir un meilleur test de lecture, signifie-t-il être capable de comprendre, dans un sens humain et intelligent, le texte lu ? La capacité statistique à identifier des réponses peut paraître intelligente, mais rien ne prouve que ce soit dans le sens critique et créatif des humains.

    Compétences du 21ème siècle @margaridaromero : cliquer sur l’image pour agrandir. Compétences du 21 e siècle.

    Que doit-on apprendre aujourd’hui ? Les compétences du 21ème siècle tiennent compte de l’omniprésence du numérique et du besoin de renforcer le développement humain tant du point de vue des attitudes (tolérance à l’ambiguïté, tolérance à l’erreur et prise de risque), que du rapport au savoir et aux technologies. Ces compétences nécessaires à la réussite personnelle et professionnelle ne sont radicalement plus les mêmes qu’autrefois dans ce monde globalisé et aussi plus collectif à plus petite échelle, révolutionné par le numérique,et qui évolue beaucoup plus vite. Un référentiel de compétences a
    été proposé pour aider à se construire des valeurs et des attitudes
    aidant au développement de chacune et chacun.

    Lorsque dans les années 1950 Turing propose un test basé sur une confrontation purement langagière entre un humain et un autre agent, qui pourrait être une machine ou un autre humain, il ne cible pas l’intelligence de la machine, mais l’intelligence que nous pourrions lui attribuer. Si l’humain juge qu’il est en train d’interagir avec un agent humain et non une machine, le test d’intelligence artificielle est considéré comme réussi. Et peut-on se contenter d’une bonne capacité de réponse à une conversation humaine pour considérer qu’une machine est intelligente ?

    Définir l’intelligence humaine

    Si nous considérons l’intelligence comme la capacité d’apprendre (Beckmann, 2006) et l’apprentissage comme l’adaptation au contexte (Piaget, 1953), il serait possible de considérer les systèmes capables d’améliorer leur adaptation au contexte à partir de la collecte et le traitement de données comme étant intelligents. Cependant, si nous considérons l’intelligence comme la “capacité à résoudre des problèmes ou à créer des solutions qui ont une valeur dans un contexte socioculturel donné” (Gardner et Hatch, 1989, p. 5), sous une approche diversifiée et dynamique, il est plus difficile de considérer qu’un système, si adaptatif et si massivement nourri aux données soit-il, puisse porter un jugement métacognitif sur son processus et ses produits en lien à un contexte socioculturel donné. La définition d’intelligence humaine de Gardner et Hatch se rapproche fortement de celle de la créativité comme processus de conception d’une solution jugée nouvelle, innovante et pertinente en lien au contexte précis de la situation-problème (Romero, Lille et Patino, 2017). L’intelligence n’est pas donc la capacité à « performer » selon des règles préétablies ou prédictibles (y compris avec des mécanismes d’adaptation ou d’apprentissage machine sur des données), mais plutôt l’aptitude à créer du nouveau en démontrant une faculté de sensibilité et d’adaptation au contexte socio-culturel et l’empathie sur le plan intra et inter-psychologique aux différents acteurs. Ceci implique de comprendre la nature humaine et socio-historique pour être en mesure de porter un jugement sur son propre processus de création, de manière autonome.

    Si nous adoptions cette deuxième approche critique et créative de l’intelligence, nous devrions être prudents sur l’usage du terme IA pour des solutions qui “se limitent” à s’adapter selon des mécanismes préétablis qui ne peuvent pas engendrer de jugement auto-réflexif de valeur, ni de perspective socio-culturelle. Les systèmes d’apprentissage machine qui sont qualifiés d’IA peuvent être très performants car basés sur des modèles très élaborés nourris avec des données massives, mais ils ne sont pas “intelligents” à la manière critique et créative des humains. Ainsi, mon téléphone peut apprendre à reconnaître les mots que je dicte vocalement, même si j’ai un accent qu’il va inférer d’autant plus que j’utilise le système. Mais pour autant, lui attribuer une vraie intelligence face à ma dictée vocale relève d’une projection subjective, c’est-à-dire d’une croyance.

    Développer l’esprit critique

    Nous pouvons également questionner “l’intelligence de l’IA” en lien avec la pensée critique qui caractérise l’intelligence humaine. Dans le cadre du projet #CoCreaTIC, nous définissons la pensée critique comme la capacité de développer une réflexion critique indépendante, qui permet l’analyse des idées, des connaissances et des processus en lien avec un système de valeurs et de jugements propres. C’est une pensée responsable qui s’appuie sur des critères et qui est sensible au contexte et aux autres. En revanche, si nous pensons aux systèmes d’apprentissage algorithmiques, et les résultats politiquement incorrects qu’ils ont produit face à des images et des réponses textuelles pouvant être cataloguées comme discriminatoires, nous ne devons ni redouter, ni condamner, ni accepter ce résultat, car il n’a aucune valeur morale. L’explication la plus probable est qu’en “apprenant” des données issues d’humains, le mécanisme met en avant des éléments racistes et sexistes, il n’a pas de système de valeurs propre. Ici, cette soi-disant IA ne dispose pas de pensée responsable, mais exacerbe certaines dérives que l’humain est capable de produire mais aussi de limiter et de corriger par ses critères et sa sensibilité aux autres.

    Voici ici une tentative de définition de l’esprit critique, elle-même critique, proposée par l’Éducation nationale, y compris sous forme de ressource éducative :

    Une tentative de définition de l’esprit critique. ©educsol cliquer sur l’image pour agrandir

    Le développement de l’esprit critique est au centre de la mission assi-
    gnée au système éducatif français, renforcé par l’attention désormais portée à l’éducation aux médias et à l’information. Le travail de formation des élèves au décryptage du réel et à la construction, progressive, d’un esprit éclairé, autonome et critique est essentiel. Dans l’approche de l’esprit critique proposée par Eduscol, il faut signaler son caractère dynamique et l’importance donnée à la pratique de l’esprit critique pour son développement tant en termes d’évaluation de l’information, d’analyse des faits/interprétations que de l’évaluation et de la confrontation des interprétations. Dans leur approche, ces pratiques « nourrissent » des attitudes d’écoute, de curiosité, d’autonomie, de lucidité et de modestie.

    Dans le #RapportVillani, la pensée critique est évoquée face à ces technologies tant sur les aspects éthiques qu’en lien avec le besoin de développer “l’esprit critique” dans l’éducation sur ces sujets. D’autre part, le rapport souligne l’importance de la créativité dans l’éducation comme une manière de préparer les citoyens aux défis de ce qui est rendu possible avec ces algorithmes. L’éducation au fondement du numérique, notamment dans des approches critiques, créatives et participatives, peut permettre également de développer un rapport à l’informatique qui permette aux citoyen.ne.s de démystifier l’IA, de développer une exigence éthique, et d’adopter une attitude éclairée (acceptation ou non, de ce qui sera utilisé au niveau de leurs activités personnelles, sociales ou professionnelles). Pour ces raisons, le développement de la compétence de pensée informatique est également un atout qui vient compléter les besoins de développement de la pensée critique et créative face au numérique.

    Le levier de la pensée informatique

    En 2006, Jeannette Wing nomme «pensée informatique» (computational thinking) la capacité d’utiliser les processus informatiques pour résoudre des problèmes dans n’importe quel domaine. La pensée informatique est présentée par Jeannette Wing comme un ensemble d’attitudes et de connaissances universellement applicables, au delà de l’usage des machines. Pour la développer, les apprenant·e·s (dès la maternelle, et à tous âges) peuvent combiner l’apprentissage des concepts et des processus informatiques qui font l’objet de la «littératie numérique» (objet, attribut, méthode, patron de conception, etc.) et une démarche de résolution de problèmes créative faisant appel aux concepts et aux processus informatiques (Romero, Lepage et Lille, 2017). Des projets comme Class’Code en France ou CoCreaTic au Québec ont développé des ressources et une communauté pour soutenir cette approche dans laquelle il ne s’agit pas d’apprendre “le codage” (au sens de coder avec un langage informatique) pas à pas, mais de résoudre des problèmes de manière créative et sensible au contexte du problème. En d’autres termes, dépasser le codage permet de s’ancrer dans une démarche plus large de programmation créative. Celle ci engage les apprenants, car c’est un processus critique et créatif de résolution de problèmes qui fait appel aux concepts et aux processus informatiques. Il ne s’agit pas de coder pour coder, ou d’écrire des lignes de code les unes après les autres, mais de développer une approche de résolution de problèmes complexes qui engage dans une analyse réflexive et empathique de la situation, de sa représentation et de l’opérationnalisation d’une solution qui profite des stratégies métacognitives liées à la pensée informatique.

    Illustration de la pensée informatique ©Cointe pour Interstices

    La pensée informatique 13 est présentée par Jeannette Wing comme un ensemble d’attitudes et de connaissances universellement applicables, au-delà de l’usage des machines ; « cette panoplie d’outils intellectuels inclut, par exemple, la capacité à nommer de manière pertinente les objets et en expliciter leur type ou catégorie pour les manipuler correctement, à maîtriser la complexité d’un grand problème ou d’un système en le hiérarchisant, à pouvoir spécifier dans ses moindre détails un procédé pour qu’il puisse s’exécuter sans ambiguïté de manière mécanique, etc. ». On parle de pensée informatique pour montrer que l’on ne souhaite pas uniquement initier à la programmation, mais permettre aux jeunes de prendre du recul par rapport au numérique et positionner l’apprentissage de l’informatique comme une compétence transdisciplinaire qui s’appui+e sur le numérique pour permettre de développer des stratégies de pensée. La pensée informatique se veut ainsi émancipatrice, dans le but d’aider à former des citoyennes et citoyens éclairé.e.s, qui puissent être des acteurs à la fois faisant preuve d’esprit critique mais aussi avec une capacité de compréhension et de (co)création avec la « panoplie d’outils numériques » qu’évoque Wing en parlant de la pensée informatique.

    Le développement d’une approche critique et créative du numérique par le biais de la pensée informatique, permet aux apprenant.e.s d’aller au-delà d’une posture d’utilisateurs qui pourrait percevoir l’IA comme une boîte noire plein de mystères, de dangers ou d’espoirs illimités. La compréhension des enjeux d’analyse de problèmes en lien à des situations-problèmes ancrés dans des contextes socio-culturels précis (par exemple, les enjeux migratoires) est une manière de voir l’informatique comme à la fois une science et une technologie qui vont permettre, à partir des limites et contraintes de nos modélisations d’un problème, de tenter de donner des réponses qui vont se nourrir de données de plus en plus massives, sans pour autant pouvoir être considérées comme pertinentes ou de valeur sans l’engagement du jugement humain.

    Pour une éducation qui permette de vivre à l’ère numérique

    Comme le signale le le #RapportVillani, nous avons besoin, face à l’émergence de l’IA, d’une éducation plus critique et créative, mais aussi, d’une approche plus orientée vers la pensée informatique de la culture numérique afin que les citoyen.ne.s (petits et grands) puissent comprendre le facteur humain dans la modélisation et la création des systèmes artificiels, le fonctionnement basique des algorithmes et de l’apprentissage machine ou encore les limites de l’IA face au jugement nécessaire pour considérer la valeur des solutions produites par les algorithmes. Pour une citoyenneté éclairée à l’ère du numérique, nous avons besoin de continuer à aiguiser notre pensée critique, créative, de résolution collaborative de problèmes tout en ajoutant une nouvelle corde à notre arc : le développement de la pensée informatique.

    Margarida Romero, Directrice du laboratoire LINE de l’ESPE de Nice à l’Université Côte d’Azur.
    @margaridaromero

    Pour en savoir plus :

    Références :

    Beckmann, J. F. (2006). Superiority: Always and everywhere? On some misconceptions in the validation of dynamic testing. Educational and Child Psychology, 23(3), 35.

    Dowek G. & Abiteboul S. (2017) Le temps des algorithmes. Éditions du Pommier.

    Ganascia, J-G (2017) Le Mythe de la Singularité. Faut-il craindre l’intelligence artificielle? Sciences ouvertes Éditions du seuil.

    Gardner, H., & Hatch, T. (1989). Educational implications of the theory of multiple intelligences. Educational researcher, 18(8), 4-10.

    Piaget, J. (1953). The origin of intelligence in the child. Routledge and Kegan Paul.

    Romero, M., Lepage, A., & Lille, B. (2017). Computational thinking development through creative programming in higher education. International Journal of Educational Technology in Higher Education, 14(1), 42.

    Romero, M., Lille, B., & Patiño, A. (2017). Usages créatifs du numérique pour l’apprentissage au XXIe siècle. PUQ.

    Simonet, G. (2010). The concept of adaptation: interdisciplinary scope and involvement in climate change. SAPI EN. S. Surveys and Perspectives Integrating Environment and Society, (3.1).

    Villani, C., Schoenauer, M., Bonnet, Y., Berthet, C., Cornut, A.-C., Levin, F., Rondepierre, Y. (2018) Donner un sens à l’intelligence artificielle, rapport de mission parlementaire du 8 septembre 2017 au 8 mars 2018 https://www.aiforhumanity.fr

  • Tinyclues : élémentaire mon cher Watson !

    Des maths à l’informatique
    David Bessis est un matheux haut de gamme, passé notamment par l’École Normale Supérieure, l’Université de Yale et le CNRS. Ses intérêts, l’algèbre, la géométrie, la topologie, ne le prédestinaient pas à l’informatique, même s’il s’intéressait déjà au domaine et avait, par exemple, utilisé des méthodes formelles pour prouver des théorèmes.

    Sherlock_Holmes, Portrait de Sydney Paget, Wikipédia

    En 2008, il obtient un résultat important qui marque l’achèvement de son programme de recherche. Il décide alors de visiter d’autres rivages, de mettre les maths en pause pour aller regarder du côté de l’informatique, au sein d’une société de marketing digital. Il découvre un problème : le marketing digital et les masses de données sur lesquelles il faut baser des choix stratégiques. Il se passionne pour de nouvelles techniques comme la fouille de données ou l’apprentissage automatique (machine learning), avant même que le « Big Data » ne fasse les gros titres.

    En bon scientifique, il se dit « je vais écrire un livre là-dessus et partager ces magnifiques connaissances ». Et puis, une petite voix lui susurre à l’oreille qu’il devrait plutôt devenir un bâtisseur de ce nouveau monde. Il se met alors à développer sa propre techno, pendant un an, sur son ordinateur, à la maison. L’aventure Tinyclues commence.

    Le problème
    Les grandes entreprises accumulent des masses de données : les catalogues produits, les achats des clients, les données des campagnes de marketing, etc. A partir de ces données, on peut faire aux clients des recommandations comme « vous avez aimé ces films, vous allez adorer celui-là ». Des sociétés comme Netflix sont devenues brillantes dans ce domaine. Mais David Bessis s’intéresse à un autre problème, assez voisin : comment choisir les messages qu’une entreprise envoie à un client. Il ne s’agit pas de noyer le client sous les messages. Il faut bien les cibler, qu’ils intéressent, qu’ils soient pertinents, efficaces. Et les occasions sont nombreuses, basées sur des évènements comme la sortie d’un nouveau produit, sur les partenariats de l’entreprise, sur des besoins saisonniers comme de déstocker certains produits, etc.

    David prend bien le temps de faire la distinction entre le problème de ses clients et le retargeting. Ce dernier se concentre sur des consommateurs ou prospects qui ont fait preuve d’une certaine intention – par exemple en cherchant un produit spécifique sur un site e-commerce, sans l’acheter – tandis que les clients de Tinyclues s’adressent à l’ensemble de leurs propres clients. Ensuite, le retargeting est bien plus intrusif car publicitaire – qui n’a pas été poursuivi pendant des mois sur un produit dont il a consulté le site de vente ? – quand les clients de Tinyclues prennent la parole en leur nom propre sur des canaux délimités, auxquels leurs consommateurs ont souscrit, par exemple une newsletter.

    David Bessis, PDG Tinyclues, Twitter

    La quête d’une solution
    On peut voir cela comme un problème classique d’apprentissage automatique. Les données des entreprises clientes de Tinyclues sont des bases de données relationnelles. C’est-à-dire que ce sont des tableaux à deux dimensions avec pour colonnes, par exemple, le nom du client, la catégorie du produit, le prix, la date d’achat, etc. Les algorithmes d’apprentissage automatique dont tout le monde parle (les réseaux de neurones profonds) prennent comme entrée un tableau de nombres. Il suffit donc de transformer les tables relationnelles en un tableau de nombres, puis d’exécuter un algorithme standard.
    David nous arrête. Pas du tout ! Les données relationnelles sont très structurées. La géométrie des données de l’entreprise est une géométrie complexe, multidimensionnelle. En fait, chaque colonne peut être vue comme une dimension, et en « forçant » les tables relationnelles dans un tableau de nombres de dimension deux, on perd bien trop d’information. En le citant : « avec un tableau de nombres, on ne voit plus que l’ombre des données ».

    David a développé ses propres algorithmes. Et oui, il n’existe pas qu’un seul algorithme. Il en existe plein, bien plus que de recettes de la Tarte Tatin.

    Essayons de décrire les très grandes lignes de la solution de David. Il faut chercher du sens dans les données. Le fait qu’on vende plus de gants en hiver a du sens ; le fait que les buveurs de bière achètent plus de chips, aussi. Ces sens, on les trouve dans les corrélations entre les valeurs de deux colonnes des tables relationnelles, de trois peut-être. (Si on va trop loin, en cherchant des corrélations de plus de colonnes, on explose la complexité.) Ces corrélations contiennent une sémantique latente.

    On aimerait relier ces corrélations qui existent dans les données à des notions utilisées dans le marketing classique comme un « film policier » ou un « hipster ». Mais le genre d’un film est une notion bien imprécise. Le concept de hipster est-il plus qu’une illusion ? Les produits, les comportements des personnes sont par nature trop complexes pour arriver à des taxonomies, des règles de marketing simples et précises. Par contre, les corrélations latentes dans les données permettent de faire émerger des « aspects » (en anglais on parle de features) qui peuvent guider les prises de parole de l’entreprise.

    Une solution en deux temps

    Holmes et Watson, par Sydney Paget, Wikipedia

    Apprentissage non-supervisé : Première étape, le logiciel de Tinyclues analyse les données de l’entreprise pour y trouver des corrélations, une tâche algorithmique de titan. Le résultat, ce qu’ils appellent un « digest », est tout une gamme d’aspects qui essentiellement définissent la connaissance client.

    Apprentissage supervisé : Deuxième étape, le système interagit avec les personnes du marketing pour définir les prises de paroles à partir de ces aspects. Cette seconde étape définit la communication de l’entreprise avec ses clients.

    La segmentation classique du marketing, à l’origine de la fameuse « ménagère de plus de cinquante ans », est remplacée par une analyse intelligente des données. L’analyse statistique classique de données s’appuie sur la masse. A l’inverse, David promet de « remplacer les préjugés par de l’intelligence adaptative et personnalisée. » Le nom « Tinyclues » (petits indices en langue de Shakespeare) revendique le fait que même avec très peu d’information le logiciel est capable de faire le bon choix.

    Tout cela pourrait résonner comme des promesses. Mais les entreprises clientes, telles que Fnac, CDiscount ou Oui.sncf, ne se contentent pas de promesses. Elles mesurent et comparent les résultats et, selon David, ces derniers sont impressionnants : +50% de revenus. Et le PDG de Tinyclues d’encourager les lecteurs de Binaire à aller regarder des témoignages sur le site web.

    Précision importante, le même logiciel est utilisé pour tous les clients, sans croisement entre leurs données, rassurez-vous. Là où de nombreuses solutions (proclamées) d’IA reposent souvent sur une forte couche de personnalisation manuelle. La solution de Tinyclues fonctionne comme un service sur le cloud, avec un abonnement. Tinyclues a pris le temps de bien mettre au point le modèle. L’enjeu est à présent de le déployer. Et la croissance, notamment internationale, est au rendez-vous. Quant à l’équipe, elle compte aujourd’hui 60 personnes – dont la moitié en R&D – et ne sera pas loin de doubler en 2018.

    Nous avons été impressionnés par la techno. Peut-être David a-t-il perçu dans nos voix le regret qu’elle ne serve que dans le marketing. Dans sa vision d’une société « AI-first », dans laquelle les algorithmes se concentrent sur des tâches que les humains ne savent pas faire, nous avons entendu qu’il rêvait déjà d’autres rivages.

    Serge Abiteboul, Inria & ENS, Tom Morisse, Fabernovel

  • Après la moto-crotte, le robot-crotte autonome

    Les robots-crottes d’Anne Hidalgo sont, depuis la semaine dernière, déployés dans tout Paris. Vous en avez peut-être croisés. Ils s’attaquent à ce qui a été longtemps considéré comme une des plaies parisiennes, les crottes de chien.

    Selon consoGlobe, les quelques 300 000 chiens de propriétaires parisiens indélicats « chient » chaque année environ vingt tonnes de crottes sur les trottoirs de la capitale. Les tentatives pour s’en débarrasser ont été nombreuses comme la Chiraclette, la célèbre moto-crotte des années 80. Ses résultats mitigés et son coût conséquent l’ont fait abandonner.

    La Chiraclette, ©Mairie de Paris

    Plus récemment, PoopleMaps a choisi une approche « crowd sourcing ». L’internaute armé de son smartphone traque l’étron, le photographie, et le dénonce.

    Pour trouver une solution au problème, il fallait convoquer la high tech, et  plus précisément Parrot, une entreprise française spécialiste des objets connectés. Parrot s’est attaquée au problème et a conçu Poop-buster, l’arme ultime contre les fèces des rues de la capitale.

    Poop-buster est un drone autonome qui survole les rues parisiennes pour traquer les déjections canines. Il utilise aussi la base de données de la plateforme PoopleMaps.

    Le drone utilise deux caméras stéréoscopiques et des capteurs olfactifs et haptiques. Son programme d’apprentissage automatique (machine learning) lui permet de reconnaitre sa proie. Il fond dessus et la capture à l’aide d’un bras articulé. Il la dépose ensuite soit dans des conteneurs de la ville de Paris prévus pour ça, ou sur des parterres de fleurs où ils serviront d’engrais.

    A droite, poubelle à crotte © Ville de Paris

    Poop-buster a été testé évidemment dans le 16ème arrondissement. Quelques erreurs de jeunesses ont été à déplorer.

    Dans un premier temps, ce sont surtout des erreurs de décharges qui ont été notées. Une citoyenne ayant par exemple commis l’erreur de porter une robe trop colorée a été confondue avec un parterre de fleurs et s’est vue bombardée de colombins par une escadre de Poop-busters qui venaient de nettoyer un tronçon de la rue de la Pompe. Un petit malin qui avait cru intelligent de voler le boitier électronique placé sur les poubelles s’est retrouvé cerné et bombardé lui aussi de projectiles malodorants.

    Poop-buster place Victor Hugo

    Le plus dramatique a pourtant été atteint quand un Poop-buster a pris un chiot chihuahua pour un simple caca de chien. Si esthétiquement la ressemblance est flagrante, les deux ne jouent pas le même rôle social.

    Poupette dans la main de son maitre © wikipedia

    Les amis des bêtes se tranquilliseront : Le chiot Poupette en a été quitte pour une belle frayeur après une balade aérienne dans Paris. Comme les petits paquets récupérés sont  identifiés et géolocalisés avec une parfaite traçabilité, son maitre a pu le retrouver batifolant dans une poubelle de l’Avenue Foch.

    Ces incidents ont donné lieu à une belle passe d’arme entre deux Mairesses, Danièle Giazzi pour 16ème, et Anne Hidalgo, pour Paris. La Maire de Paris a déclaré : « je nettoie la capitale. Je vous laisse défendre les fientes de nos trottoirs. »

    Nous avons demandé à un chercheur d’Inria comment le logiciel avait pu prendre un chihuahua pour une chiure. T. Viéville nous a expliqué que l’algorithme de reconnaissance de déjection canine s’appuyait surtout sur la forme et la taille de l’objet du délit, et peu la couleur. Le drone s’est approché et le chiot tétanisé s’est immobilisé. L’algorithme a alors décidé qu’il s’agissait d’une crotte. Monsieur Viéville a ajouté : « L’odeur a probablement été l’élément déterminant ».

    Des progrès sont encore à venir : la technologie devrait permettre bientôt, grâce à l’analyse ADN, de retrouver les producteurs d’excréments et donc les propriétaires indélicats. Une telle mesure est à l’étude et serait sans doute très impopulaire chez les cynophiles. La SPA s’est élevée contre ce fichage des chiens et a saisi la CNIL.

    Pour ce qui est de la reconnaissance d’étron, le logiciel a été amélioré depuis et les problèmes ne devraient plus se reproduire. Vous pouvez à tout hasard vous procurer des étiquettes (technologie RFID) « Je ne suis pas une crotte » disponibles gratuitement en mairie. Si vous ne les avez pas, nous vous conseillons quand même d’éviter les robes à fleurs et de surveiller vos caniches et bébés. On ne sait jamais.

    Étiquettes de la Mairie : Je ne suis pas une crotte

    En attendant, réjouissons-nous ! Grace à Poop-buster, nos rues ne transformeront plus en champs de coprolithes.

    Sterko Dung, Institut National de Recherche en Intelligence Artificielle, Paris

     

  • L’IA est–elle sexiste, elle aussi ?

    A l’occasion de la Journée Internationale des Droits des Femmes, nous nous intéressons cette année non aux informaticiennes, mais aux usagères des technologies d’Intelligence Artificielle : devront-elles, ici comme ailleurs, affronter un sexisme malveillant ? Comme d’habitude, plus, moins ? Et surtout, pourquoi ? Au détour de cette question certes un peu bateau, Anne-Marie Kermarrec nous offre à la fois un panorama des différentes sources de biais qu’on trouve dans les technologies informatiques et une réflexion sur l’IA, miroir de nos propres sexismes et autres déplorables habitudes. Binaire

     

    L’Intelligence Artificielle (IA pour les intimes) a le vent en poupe et est partout : elle traduit vos documents, guide vos recherches, vous recommande des films, vous suggère quoi manger, quand courir, nourrit votre fil d’actualité, vous aide à trouver un job, à vous garer, à vous marier, à vous soigner, à vous informer et ce n’est que le début. Avec tout cela, l’IA est autant un sujet de fantasme que d’incertitude, d’optimisme que d’inquiétude, le monde oscille entre admiration et crainte, s’épate de voir un programme apprendre « tout seul » comment gagner aux échecs, s’inquiète de savoir quels métiers vont disparaître et à quel point nous allons être manipulés, aidés, augmentés et j’en passe.

    Dans cet enchevêtrement de questionnements et de doutes, d’aucun peut s’interroger sur la capacité de l’IA à corriger les maux de notre société. Ou est-ce qu’au contraire, elle reproduit voire amplifie les travers d’un monde rongé par les inégalités en tous genres ? Si ces biais potentiels peuvent concerner de multiples volets de notre société, inégalités sociales, raciales, que sais-je, je ne m’intéresse en cette journée internationale du droit des femmes 2018 qu’aux inégalités hommes/femmes que peut continuer à colporter l’IA. Est ce que nos dernières inventions numériques continuent bien gentiment de véhiculer le sexisme ou est ce qu’au contraire tenons nous là un puissant remède aux stéréotypes de genre ?

    L’IA est-elle neutre ?

    L’IA est un « vieux » domaine académique, à l’échelle temporelle de l’informatique, qui doit son succès récent à la présence de données massives combinées à des capacités de calcul gigantesques. Plus précisément, l’IA repose sur trois éléments essentiels : des algorithmes, des données et des ordinateurs. On peut accorder aux ordinateurs, dont la taille a diminué au fil des années à mesure que leur puissance de calcul a augmenté qu’ils adoptent un principe « matériel » intrinsèque de neutralité et ne peuvent être taxés de biais. Qu’en est-il des algorithmes et des données ? Les deux peuvent être biaisés à des degrés arbitraires. Et si on parle tant de la transparence des algorithmes aujourd’hui, c’est que justement on craint ces biais, pour une large part parce qu’ils sont algorithmiques. La plate-forme APB en est un excellent exemple, qui a été jugée beaucoup plus sévèrement qu’un autre algorithme, plus ancien, mais mis en œuvre par les humains qui consistait à faire la queue et à accepter les étudiants sur la base du premier arrivé premier servi. Pas tellement plus juste qu’une sélection aléatoire algorithmique en dernier recours pourtant.

    Transparence des algorithmes

    Les données sont-elles biaisées ?

    Mais il est aussi tout aussi légitime de parler de besoin de transparence des données. Rappelez vous Tay, un bot, planqué derrière une image de jeune fille, lancé par Microsoft en 2016, qui imitant un millenial se retrouve après quelques tweets à tenir des propos sexistes comme gamergate is good and women are inferior, alors même que la promesse du géant américain était que, plus Tay s’entretiendrait avec des humains sur les réseaux sociaux, plus son « intelligence » s’aiguiserait. Même si Tay a été manipulée (et ça n’a pas été très difficile du reste), ce comportement est simplement dû au fait que les données sur lesquelles elle avait été entrainée sont juste un reflet navrant de la société. Comme souvent, les algorithmes ont juste un peu accéléré le mouvement.

    Plus récemment la jeune doctorante du MediaLab du MIT, Joy Buolamwini, en étudiant plusieurs algorithmes de reconnaissance faciale a constaté qu’ils marchaient très bien sur… les hommes blancs. Pourquoi ? Simplement parce que ceux-ci sont beaucoup plus représentés dans les banques de données utilisées par l’apprentissage d’une part et que d’autre part, les benchmarks pour les évaluer, c’est à dire les ensembles de tests, sont tout aussi biaisés. Pour simplifier, un algorithme de reconnaissance faciale est considéré comme bon par la communauté, s’il obtient de bonnes performances sur ces benchmarks, c’est-à-dire qu’il est capable de reconnaître des hommes blancs avec une forte probabilité.

    Ainsi, on peut assez facilement imaginer qu’un algorithme qui guide dans le choix des formations proposera plus naturellement à une jeune fille de faire médecine ou du droit et à un jeune homme de tenter une prépa scientifique s’il repose uniquement sur les statistiques et corrélations des dix dernières années. On comprend aussi pourquoi une femme négociera moins bien son salaire qu’un homme à poste équivalent car si elle interroge  son application favorite sur le sujet, les statistiques sont claires et donc les données utilisées pour rendre l’algorithme intelligent sont  évidemment biaisées. De fait les résultats de l’algorithme aussi.

    Et les exemples sont nombreux. Ainsi, des expériences lancées à l’université de Boston ont montré que des algorithmes d’intelligence artificielle, entrainés sur des textes issus de Google news, à qui on demandait de compléter la phrase : Man is to computer programmers as woman is to x,  répondaient homemaker [1]. Sans commentaire. Dans une autre étude [2], il est encore montré que les collections d’images utilisées par Microsoft et Facebook pour les algorithmes de reconnaissance d’images associent les femmes aux cuisines et au shopping quand le sport est plutôt relié aux hommes. Et évidemment, les algorithmes, non seulement reproduisent ces biais, mais les amplifient, accentuant au cours du temps ces associations. De même, lorsque les traducteurs automatiques traduisent une phrase d’un langage sans genre à un langage ou le genre doit être explicite, les biais sont évidents. They are programmers sera naturellement traduit en français par « ils sont programmeurs » et They are nurses par « elles sont infirmières ». Essayez vous-même comme je viens de le faire !

    Deux visages - sculptureEt si les algorithmes pouvaient rectifier le tir ?

    Les exemples précédents sont autant d’exemples où les machines sont neutres, les algorithmes sont neutres et l’IA résultante est biaisée uniquement car les données le sont.

    Encore une fois il est difficile de biaiser une machine, mais un algorithme est conçu et développé par des informaticien.ne.s qui peuvent en faire à peu près ce qu’ils en veulent. Si l’IA a été conçue initialement pour imiter l’ « intelligence » humaine, avec des algorithmes qui tentaient de reproduire au plus près les comportements humains, reflétés par les données, son emprise est telle aujourd’hui que l’on peut imaginer saisir cette opportunité pour rationaliser cette « intelligence » et surtout lui éviter de reproduire ces biais dont la société n’arrive pas à se débarrasser naturellement. Ainsi les algorithmes ne représenteraient plus une menace mais pourraient devenir les vrais Zorros du 21ème siècle.

    Est-ce si simple quand on compte autant d’obstacles éthiques que techniques ?  Tout d’abord, les industriels aujourd’hui n’ont pas tous accusé réception de ce problème de biais [3]. En fait, détecter les biais est une première étape qui n’est pas complètement naturelle car nous sommes malheureusement très habitués à certains d’entre eux. Quand bien même on observe ces biais, les traiter n’est pas non plus nécessairement évident. Imaginons un algorithme de ressources humaines qui doit sélectionner 10 personnes pour un entretien parmi n candidats à un poste de développeur Web. Il est clair que si on laisse faire un algorithme d’apprentissage classique, compte tenu de la disproportion notoire femmes/hommes de ces filières, il risque de sélectionner 10 hommes. Imaginons maintenant que nous forcions de manière explicite, le nombre de candidates à être supérieur ou égal à 5, ou de manière probabiliste en augmentant la probabilité de retenir une femme, malgré le biais des données. Ceci est alors équivalent à instaurer un quota, stratégie sur laquelle de nombreux comités n’ont pas réussi à converger indépendamment d’une mise en œuvre algorithmique.

    Techniquement, il n’est pas simple de garantir la validité des modèles et leur évaluation si on « nettoie » les données pour éviter les biais. En outre le problème de certains algorithmes d’intelligence artificielle aujourd’hui est qu’on a du mal à expliquer leurs résultats, c’est le cas de l’apprentissage profond (Deep Learning), selon les experts du domaine eux-mêmes. On sait et on observe que ces algorithmes fonctionnent plutôt bien, mais sans complètement comprendre pourquoi. C’est d’ailleurs l’un des prochains défis scientifiques du domaine. Quels seraient donc alors les paramètres à ajuster pour que le tout fonctionne de manière non biaisée ?

    Un autre problème concerne la détection et la génération des biais : la sous-représentation des femmes dans le domaine est telle que les algorithmes qui ressemblent à leurs concepteurs, véhiculent leur mentalité, leurs biais et donc leur culture masculine à 90%. De là à les taxer de sexisme, c’est peut-être y aller un peu fort mais clairement notre société est si « genrée » aujourd’hui qu’il n’est pas exclu que le manque de diversité dans ce domaine soit un frein à la détection et l’évitement de biais. Ceci ne fait que confirmer le fait que nous avons besoin de plus de femmes en informatique, également pour le bien de nos algorithmes.

    Pour conclure, il est assez clair que si l’IA cherche à modéliser le monde au plus près, elle absorbera ses travers et les normes culturelles biaisées de tous cotés et en particulier concernant les inégalités hommes femmes, voire les exacerbera en les renforçant, grâce à ces immenses capacités à calculer des corrélations en tous genres et surtout les plus présentes. Il est donc urgent de saisir cette opportunité algorithmique pour soigner notre société. Ce n’est pas simple mais un grand nombre de scientifiques sont d’ores et déjà sur le front !

    Anne-Marie Kermarrec, Mediego, Inria
    @AMKermarrec

    Pour aller plus loin :

    1. http://www.telegraph.co.uk/news/2017/08/24/ai-robots-sexist-racist-experts-warn/
    2. http://www.newsweek.com/2017/12/22/ai-learns-sexist-racist-742767.html
    3. https://www.technologyreview.com/s/608248/biased-algorithms-are-everywhere-and-no-one-seems-to-care/

     

  • La malédiction de la grande dimension

    Stéphane Mallat est le titulaire de la chaire « Sciences des données » du Collège de France où il présente le cours « L’apprentissage face à la malédiction de la grande dimension » (leçon inaugurale le 11 janvier 2018). Il a été professeur d’informatique à l’École normale supérieure de la rue d’Ulm de 2012 à 2017. En 2001, il a cofondé une start-up, Let It Wave, qu’il a dirigé jusqu’en 2007.  Les algorithmes d’apprentissage peuvent nous émerveiller par leurs résultats, nous effrayer aussi parce qu’ils sont mal compris. Le cours de Stéphane Mallat devrait permettre de mieux les appréhender. Serge Abiteboul.
    Cet article est publié en collaboration avec The Conversation.
    Voir la page binaire sur l’informatique au Collège de France

    Nous assistons à un déluge de données numériques, sous la forme d’images, de sons, de textes, de mesures physiques ainsi que toutes les informations disponibles sur Internet. L’analyse automatique de ces données est devenue un enjeu industriel, sociétal et scientifique majeur. La performance des algorithmes d’analyse de données a fait un bond ces dernières années, grâce à l’augmentation des capacités de calcul et des masses de données, mais aussi grâce à l’évolution rapide des algorithmes d’apprentissage. Ce bond est à l’origine de la renaissance de l’Intelligence Artificielle. En particulier, les réseaux de neurones ont récemment obtenu des résultats spectaculaires pour la classification d’images complexes, la reconnaissance vocale et de musique, pour la traduction automatique de textes ou la prédiction de phénomènes physiques et même pour battre le champion du monde de Go. Ils sont utilisés dans des applications industrielles et médicales, y compris pour les voitures autonomes. La chaire de sciences des données présentera les algorithmes et les principes mathématiques permettant de comprendre la nature des connaissances acquises par ces algorithmes d’apprentissage.

    Un algorithme d’apprentissage prend en entrée des données, par exemple une image, et estime la réponse à une question, par exemple trouver le nom de l’animal dans l’image. Ces algorithmes d’apprentissage ne sont pas entièrement déterminés à l’avance. Ils incluent de nombreux paramètres qui sont optimisés avec des exemples, lors de la phase d’apprentissage. Pour la reconnaissance d’animaux, on donne à l’algorithme des exemples d’images et le nom des animaux dans chaque image. L’apprentissage assure que l’algorithme ne fasse pas d’erreur sur les exemples d’entrainement. Cependant cela ne présente aucun intérêt en soit. Il faut garantir que ce résultat se généralise et donc que l’algorithme soit capable de prédire le bon résultat sur des données qu’il n’a jamais vues au préalale. Cette généralisation est liée à l’existence de régularités, que l’algorithme utilise pour relier le résultat sur une donnée inconnue avec les exemples connus.

    La complexité de ce problème vient du très grand nombre de variables dans chaque donnée. Ainsi une image a typiquement plus d’un million de pixels, et donc plus d’un million de variables dont il faut tenir compte pour répondre à une question. L’interaction de ces variables produit un nombre gigantesque de possibilités. C’est la malédiction de la dimensionnalité. Pour faire face à cette malédiction, il est nécessaire d’avoir des informations à priori qui sont utilisées par les algorithmes.  Comprendre la nature de cette régularité en grande dimension est un enjeu fondamental qui fait appel à de nombreuses branches des mathématiques, dont les statistiques, les probabilités, l’analyse et la géométrie.

    Sciences des Données et Mathématiques Appliquées

    La chaire s’intitule « sciences des données » par opposition au singulier « la science des données » car ce domaine est une auberge espagnole, où cohabitent des approches et des cultures scientifiques totalement différentes, qui s’enrichissent mutuellement. Cela comprend les mathématiques et notamment les statistiques, mais aussi l’informatique et l’intelligence artificielle, le traitement du signal et la théorie de l’information, et toutes les sciences comme la physique, la biologie, l’économie ou les sciences sociales, qui traitent et modélisent des données. Apporter une vision et un langage commun au-delà des spécificités de chaque domaine est la vocation des mathématiques. C’est ce point de vue qui sera développé, tout en restant enraciné dans les applications qui sont sources de problèmes nouveaux, de créativité et d’idées. Cet aller-retour entre mathématiques et applications, qui efface progressivement les frontières entre expérimentations et théorie, est au cœur de la démarche des mathématiques appliquées. La beauté des concepts qui se dégagent ne s’enracine pas seulement dans leur pureté, comme celle d’un diamant qui se suffirait à lui-même, mais dans la beauté des correspondances entre domaines aussi différents que la reconnaissance d’images, la neurophysiologie, la chimie quantique, la cosmologie ou l’économie. Révéler ces correspondances est aussi l’ambition des mathématiques appliquées.

    En sciences des données il s’agit de comprendre le lien entre les applications, l’algorithmique, les expérimentations numériques et la compréhension mathématique du traitement de masses de données. Les mathématiques sont importantes pour garantir la robustesse des résultats, notamment pour des usages critiques comme la conduite de voitures autonomes. Le cours offrira la possibilité de participer à des challenges de données, organisés par mon équipe de recherche à l’École Normale Supérieure. Ces challenges proviennent de start-ups, d’hôpitaux ou des laboratoires scientifiques, et permettent à chacun de développer ses propres idées, et ainsi comparer la performance de différents types d’algorithmes sur de vrais problèmes. Ces challenges sont disponibles sur cette page web.

    Cette chaire a aussi pour objectif de mieux faire comprendre les avancées des algorithmes et des mathématiques de l’apprentissage et de l’intelligence artificielle, à un plus large public. Diffuser la connaissance dans ce domaine est important car ces technologies auront probablement un impact croissant sur l’industrie, la médecine mais aussi sur certains aspects de notre organisation économique et sociale. Il faut y réfléchir bien au-delà des cercles scientifiques.

    Face à la Malédiction de la Dimensionnalité

    Le cours de cette année introduira les outils algorithmiques et mathématiques liés à la généralisation pour des données incluant un grand nombre de variables. Il approfondira la notion de régularité qui est centrale dans ce domaine, et son utilisation par des différents types d’algorithmes, y compris des réseaux de neurones. Le cours commencera par la notion de régularité pour des données en basse dimension, à travers la transformée de Fourier et la transformée en ondelettes, avec des applications pour le débruitage et la compression de signaux. Il considérera ensuite l’apprentissage supervisé, les algorithmes à noyaux, et la performance des réseaux de neurones à une couche cachée.

    Chaque séance de cours sera suivie par un séminaire présentant l’état de l’art dans différents domaines d’applications. Des challenges de données seront proposés aux participants et présentés lors des premières séances. Au menu de cette année, plus de 10 challenges, pour l’économie d’énergie, le diagnostic de cancer à partir de données génomiques, la prédiction en finance, l’analyse de questionnaires, la reconnaissance d’images de célébrités ou la prédiction de scores de football.

    Stéphane Mallat, Professeur au Collège de France

     

  • Les algorithmes du luxe

    Charles Ollion, Chief Science Officer & Cofondateur d’Heuritech

    B : Charles, comment es-tu arrivé à l’informatique ?
    CO : quand j’étais ado, j’aimais programmer des jeux vidéo. J’ai fait Télécom Paris, puis une thèse en informatique sur l’apprentissage profond, à l’Institut des Systèmes Intelligents et de Robotique de l’Université Pierre et Marie Curie. Ensuite, j’ai cofondé Heuritech en 2013 avec Tony Pinville (le PDG actuel) et d’autres copains de thèse. Au début, nous faisions surtout du conseil en apprentissage automatique (machine learning) sur l’analyse du langage et de l’image. Cela nous a appris à connaître un peu le monde des entreprises.

    Faster R-CNN – Ren 2015

    B : comment en êtes-vous arrivés à la mode et au luxe ?
    CO : nous cherchions un marché. Notre techno, c’était au départ surtout de l’analyse d’images, et dans la mode, les images sont justement essentielles. Et puis, la mode est un marché important en France. Enfin, aucun acteur spécialisé ne dominait le secteur. La demande des géants du secteur, et une pointe de hasard, ont fait le reste. Nous avons été invités à participer au jury d’un hackathon* organisé par Louis Vuitton. On a hésité à y aller, c’était un dimanche matin ! Finalement, un mois plus tard, Vuitton nous rappelait et nous gagnions notre premier gros client du secteur. Nous avions trouvé notre spécialité : le luxe et la mode.

    B : vous analysez des images, pour quoi faire ?
    CO : A partir d’images du web, de réseaux sociaux, en particulier d’Instagram, nous analysons les choix des consommateurs sur les produits qu’ils portent, qu’ils viennent de nos clients ou de leurs concurrents. Cela nous permet de mesurer les performances de ces produits, les évolutions selon les modèles, les couleurs, les pays… Nous cherchons à comprendre comment différents types de clients s’approprient ces produits, comment ils les portent, dans quel contexte… Si un produit est porté différemment que ce qui était prévu par les designers par exemple, cela intéresse nos clients. Enfin, nous détectons les nouvelles tendances.

    Dernièrement, nous avons pu ainsi étudier un engouement pour les sacs en osier. Notre client avait déjà pu observer le phénomène. Ce que nous apportons, c’est quantifier ce qui est en train de se passer pour savoir si c’est significatif et probablement parti pour durer, ou juste une mode passagère.

    Les résultats que nous obtenons sur les comportements de consommateurs, dans la mode et le luxe, sont utilisés par nos clients sur différents enjeux. Leurs équipes produit peuvent mieux adapter les collections, les équipes de logistique ajuster les prévisions, les équipes marketing mieux orienter les campagnes de pub.

    B : qui sont vos concurrents ?
    CO : Il y a quelques startups similaires à nous en IA pour la mode. Mais on entend surtout parler de grands de l’IA comme Google qui proposent des solutions généralistes, pour analyser tout type d’images. Nos algorithmes sont toutefois plus spécialisés et obtiennent donc des résultats plus précis. Pour apporter de la valeur, il ne suffit pas d’avoir de super techniciens d’apprentissage automatique, il faut aussi des experts du domaine, la mode dans notre cas.

    B : vous apprenez à des logiciels à analyser les tendances de la mode. Tu peux nous raconter un peu comment fonctionne votre chaine d’apprentissage ?
    CO : nous partons d’un principe bien connu en Deep Learning : un entraînement à partir d’une base d’images annotées à la main, par exemple des photos de mode et les différents types d’habits présents sur ces photos. L’algorithme apprend sur cette base d’images, et si celle-ci est assez large et diversifiée, il est capable de généraliser et prédire les annotations sur de nouvelles images. Nous utilisons également d’autres techniques plus avancées développées en interne qui nous permettent de réduire le nombre d’exemples annotés à la main.

    Nous faisons passer dans ce réseau de neurones un volume énorme de photos. C’est ce qui nous fournit les analyses du marché, les tendances dont nos clients ont besoin. Pour le travail qu’il fait, le réseau n’a pas besoin d’avoir une précision parfaite, pas besoin de procurer la même qualité qu’un expert. Parce que pour repérer des tendances, donc faire des analyses à un niveau très agrégé, avoir raison dans 90 à 95% des cas suffit. Par contre, il serait impensable de faire traiter de tels volumes de données par des humains. Nous récupérons environ 10 millions d’images par jour, en crawlant le web. Nous avons besoin de logiciels, et même de logiciels très performants.

    Pour développer nos algorithmes, nous nous basons sur des modèles libres de réseaux convolutifs, et des frameworks comme TensorFlow et Keras.

    Localisation d’un objet dans une image, le chien
    Segmentation d’un objet dans une image, le chien

    B : continuez-vous à améliorer vos algorithmes ?
    CO : bien sûr. Par exemple, nous utilisons des techniques récentes pour faire de la « segmentation ». Prenez un sac à main dans une image. Nous commençons par le localiser avec un premier réseau relativement classique de neurones qui produit des coordonnées pour délimiter un rectangle autour du sac. Puis, nous utilisons un autre réseau, profond celui-là, pour trouver son contour exact à l’intérieur de ce rectangle. C’est à dire que nous l’extrayons du reste de l’image. C’est une tâche que le cerveau d’un humain réalise simplement, mais qui est compliquée pour un ordinateur. Cette approche nous procure de bien meilleurs modèles de sac, ce qui fera que nous aurons besoin de beaucoup moins d’images à l’avenir pour entrainer notre modèle à reconnaître ces sacs. Pour cela, nous utilisons des résultats de recherche très récents.

    B : au sein d’Heuritech, combien êtes-vous aujourd’hui dans la technique, et combien d’experts en mode ?
    CO : nous avons une quinzaine d’informaticiens, pour moitié avec des doctorats, et une dizaine de personnes pour la gestion de projet, au contact des clients. Il y a des croisements entre les compétences des uns et des autres : d’un côté nos informaticiens se familiarisent avec la mode, de l’autre nous formons les gestionnaires de projet aux bases de l’apprentissage automatique. Ce n’est pas simple de trouver des spécialistes en IA sur le marché, mais nous y arrivons parce qu’ils trouvent chez nous des défis techniques, une vraie R&D.

    B : quels sont vos prochains chantiers ?
    CO : nous voulons industrialiser les processus d’apprentissage. Pour satisfaire de nouveaux clients sans que cela ne devienne trop coûteux, il faut que nous automatisions encore plus l’introduction de nouvelles classes de produits, de nouvelles images d’entrainement. C’est indispensable aussi pour pouvoir nous installer sur de nouveaux marchés comme le mobilier ou le vin. Et puis nous allons devoir nous améliorer sur d’autres techniques, en particulier sur l’analyse de texte. L’apprentissage automatique fonctionne assez bien sur certaines tâches de traitement de texte comme la traduction, mais moins bien pour d’autres comme comprendre une phrase dans un contexte particulier. Il faut que nous puissions extraire des connaissances des textes pour encore mieux comprendre le contenu des images qu’ils accompagnent.

    Serge Abiteboul, Inria et ENS Paris, Tom Morisse, Fabernovel

    (*) Un hackathon est une réunion de développeurs pour collaborer à un logiciel, le plus souvent pendant plusieurs jours.

    Voir aussi les diapos du cours « Deep Learning », Master Data science, Université Paris Saclay, par Olivier Grisel, Inria, et Charles Ollion, Heuritech

  • L’apprentissage profond avant tout

    Un nouvel « Entretien autour de l’informatique ». Yann LeCun  est un informaticien, chercheur en intelligence artificielle, et plus particulièrement en « apprentissage automatique » (machine learning). Il est internationalement reconnu notamment pour ses résultats sur la reconnaissance de caractères et la vision par ordinateur en s’appuyant sur les réseaux de neurones convolutifs (son invention). Il est professeur à l’Université de New York et directeur du laboratoire d’Intelligence Artificielle de Facebook. Il a été titulaire de la Chaire « Informatique et sciences numériques » au Collège de France (2015-2016). Cet article est publié en collaboration avec TheConversation.

    Yann LeCun (@ylecun sur Twitter)

    B : Pourrais-tu nous parler de l’ « apprentissage machine » ?
    YL : On écrit un programme informatique pour réaliser une tâche particulière comme faire une recherche dans une base de données. Mais parfois la tâche est trop compliquée. On ne sait pas expliquer à l’ordinateur comment la réaliser. On utilise alors un programme d’apprentissage, un programme simple mais avec de nombreux paramètres. A partir de données qu’on lui fournit en entrée (par exemple une image), le programme calcule des valeurs de sortie (c’est un chien, un chat, etc.) et le résultat dépend fortement des paramètres qu’on ne sait pas a priori fixer. On fournit beaucoup d’images de chats et de chiens avec des annotations qui précisent de quel animal il s’agit. On va ensuite faire des tas de calculs pour déterminer les paramètres du programme, ceux qui donnent les résultats les plus proches des valeurs des annotations. Et on arrive ce cette façon à un programme qui distingue très bien les images de chats de celles de chiens.

    Le programme d’apprentissage qui les distingue est relativement simple (quelques pages de code). Il utilise des maths du 18ème siècle, et de l’informatique du siècle dernier. Ce qui a véritablement fait marcher tout cela, ce sont des puissances de calcul considérable, la disponibilité de grands corpus de données numériques, et le développement de nouveaux algorithmes dans les années 80 : les réseaux neuronaux artificiels multicouche et la rétropropagation du gradient de l’erreur.

    B : est-ce que tu peux nous expliquer un peu comment ils fonctionnent ?
    YL : ce sont des algorithmes inspirés (mais de loin) du fonctionnement des neurones biologiques. Imaginez des couches de petits calculateurs très simples commandés par des paramètres ; chaque calculateur décide de ses sorties à partir de ses entrées… et de ses paramètres. On fournit des entrées au réseau global (une image) et il propose une sortie (c’est un chat, c’est un chien). Si le système ne donne pas le résultat que nous espérons obtenir sur un exemple particulier, on calcule une « différence » entre ce qu’on obtient et ce qu’on voudrait obtenir et on propage cette différence pour modifier les paramètres de tous les petits calculateurs. La difficulté est d’arriver à régler efficacement les paramètres pour minimiser l’erreur que le réseau fait sur l’ensemble des exemples annotés.

    B : c’est en réalité bien plus compliqué que ce que tu dis. De nombreux algorithmes ont été proposés. Il a fallu pas mal de temps avant d’obtenir de bons résultats.
    YL : oui. L’idée est simple mais sa mise au point a pris du temps.

    B : et il existe d’autres types d’apprentissage…
    YL : ce que je viens de décrire c’est de l’apprentissage supervisé. Dans ce cadre, j’ai par exemple proposé des algorithmes de réseaux convolutifs qui donnent d’excellents résultats et qui sont très utilisés.

    Et puis, on peut aussi considérer l’apprentissage par renforcement. Pour battre le champion du monde de Go, DeepMind  s’est appuyé sur un grand nombre de techniques. Leur programme a, de manière classique, appris d’une énorme quantité de parties de Go jouées par des grands maîtres, c’est de l’apprentissage supervisé. Mais il a aussi joué des millions de parties contre lui même. Une des versions du programme-joueur essaie de faire varier un paramètre dans un sens ou dans un autre. Si cette version gagne plus souvent que l’autre, cela renforce la conviction que c’était une bonne idée de faire varier ainsi le paramètre. C’est ce qu’on appelle l’apprentissage par renforcement.

    Enfin, d’autres chercheurs travaillent sur l’apprentissage non supervisé. Un programme observe ce qui se passe autour de lui, et construit à partir de cette observation un modèle du monde. C’est essentiellement de cette façon que les oiseaux, les mammifères, que nous mêmes fonctionnons. Ce n’est pas si simple ; les algorithmes que nous concevons aujourd’hui attendent des prédictions du monde qui soient exactes, déterministes. Mais si vous laissez tomber un stylo (voir photo), vous ne pouvez pas prédire de quel côté il va tomber. Nos programmes d’apprentissage retiennent qu’il est tombé, par exemple, à gauche puis devant. Il faudrait apprendre qu’il peut tomber n’importe où aléatoirement. Il y a des travaux passionnants dans cette direction. Cela ouvre des portes pour de l’intelligence artificielle, au-delà de l’analyse de contenu.

    B : je t’ai entendu dire que certaines fonctions du cerveau comme le langage ou la mémoire étaient relativement simples, que la vraie difficulté résidait dans l’apprentissage.
    YL : au delà de l’inné qui est bien présent, l’apprentissage est essentiel. Une procédure d’apprentissage est présente dans le cortex d’animaux, identique dans plusieurs zones du cerveau. Si pour une raison quelconque, une de ces zones est abîmée, la fonction qu’elle abrite va se reconstruire ailleurs. Le même programme va recevoir dans une autre zone des entrées et va se spécialiser dans la tâche qui aurait dû être réalisée par la zone abîmée.

    On peut proposer la thèse que de nombreuses parties du cerveau abritent le même principe d’apprentissage. On pourrait s’inspirer de cette idée en intelligence artificielle pour utiliser le même algorithme d’apprentissage pour de nombreuses fonctions. Les évolutions récentes confortent ce point de vue. Dans des domaines de l’informatique très séparés, comme la traduction, la reconnaissance de formes, la conduite de voiture, les mêmes principes des réseaux convolutifs, de l’apprentissage supervisé, donnent de très bons résultats, et sont aujourd’hui utilisés couramment.

    B : une inquiétude avec ces méthodes est que nous risquons de construire des systèmes informatiques que nous comprenons finalement assez mal, que nous maîtrisons mal.
    YL : oui. Le programme d’apprentissage automatique est simple et la difficulté réside souvent dans le choix des données qui sont fournies pour l’entraîner. On ne sait pas où on peut arriver et cela dépend des données d’apprentissage. Par exemple, ce n’est pas simple de complètement fiabiliser le comportement d’une voiture autonome. La masse de données est considérable, les risques le sont également. C’est compliqué mais on y arrive quand même. C’est surtout possible parce que les systèmes peuvent s’autocorriger. Un accident ou même un presque-accident apportent de l’expérience au système, l’améliorent. Si on ne peut pas promettre de construire un programme parfait du premier coup, on peut surveiller ce qui se passe, entraîner le programme pour le perfectionner continuellement.

    B : comme ces systèmes prennent une importance considérable dans notre société, ne doit-on pas attendre d’eux qu’ils aient des responsabilités, qu’ils obéissent à des règles éthiques ?
    YL : évidemment. Ce sujet est de plus en plus important. Les humains présentent des biais parfois conscients, souvent inconscients. Mal entraînée, une machine peut reproduire ces même biais. Google a par exemple proposé un système de reconnaissance des visages qui classifiait parfois des visages noirs comme des visages de gorille. Le logiciel n’était pas raciste. C’est qu’il avait été mal entraîné, avec trop peu de visages noirs.

    Avec Facebook et des partenaires industriels, l’UNESCO et des ONG comme l’ACLU (Union américaine pour les libertés civiles), nous avons monté le « Partnership on AI »  pour mettre cette technologie au service des gens et de la société.

    B : saura-t-on bientôt construire des machines avec l’intelligence générale d’un humain ?
    YL : un jour. Mais ça va prendre du temps. Les chercheurs dans les tranchées savent combien le problème est difficile.

    Il est d’ailleurs passionnant de voir comment les programmes et les machines transforment la valeur des choses. Un lecteur Blue Ray super sophistiqué, bourré d’électronique et d’algorithmes coûte moins de 50 euros quand un saladier en céramique, utilisant des technologies très anciennes, peut en valoir des milliers. La valeur tient bien dans la réalisation par un humain. Les machines participent à la création de valeur, à l’augmentation de la productivité. Cela pose le problème du partage de toute cette valeur générée.

    Serge Abiteboul, Inria et École Normale Supérieure, Paris

    Du site web personnel de Yann LeCun

     

  • Vision artificielle, Saison 2 : reconnaître un objet spécifique

    On reconnait automatiquement nos visages sur le Web, on comprend sans intervention humaine le contenu d’une image, on reconstruit une partie occultée d’une scène, on … Mais qui « on » ? Des algorithmes de vision artificielle. Et comment ça marche ? Nous avons posé la question à  Jean Ponce, chercheur chez Inria et au Département d’informatique de l’ENS, et spécialiste de la reconnaissance de formes dans des photos et des vidéos.  Il nous emmène à la découverte de ce demi-siècle d’histoire de la vision artificielle. Voici le 2ème épisode où l’on apprend à identifier automatiquement des objets spécifiques. Thierry Viéville, Serge Abiteboul.

    Commencer par le premier épisode en cliquant ici.

    Jean Ponce, responsable de l’équipe de recherche WILLOW (Modèles de la reconnaissance visuelle d’objets et de scènes).

    Ma montre (ou celle de James Bond si vous préférez, mais une montre précise, pas n’importe laquelle) est-elle présente dans la photo du premier épisode ?  Qu’en est-il de mon chat Nietzsche ? Il s’agit ici de reconnaître un objet spécifique, bien particulier, unique ; c’est a priori la version la plus simple du problème de la reconnaissance visuelle, puisqu’on peut faire abstraction de la variabilité liée aux divers marques et modèles de montres et de leurs usure, ainsi que de l’apparence changeante des chats (couleur, embonpoint, pelage, taille, yeux, etc.). Le problème reste très difficile, avec des facteurs « de nuisance » liés à la position et l’orientation des objets observés et aux changements d’illumination. Attention cher lecteur, aujourd’hui nous plongeons un peu dans la technique…

    Utiliser la géométrie. Le niveau de gris (pour des images en noir et blanc, ou plus généralement la couleur) associé à chaque pixel d’une image numérique dépend de manière complexe des propriétés physiques du capteur, de la scène, et de l’illumination. Ceci suggère d’accorder plus de confiance aux caractéristiques géométriques d’une scène qu’à son apparence. En particulier, supposons qu’on observe une pièce mécanique plate reposant dans un plan depuis un point de vue fixe (cf. image ci-dessous).

    Source : « Hyper : a new approach for the recognition and positionning of 2D objects », N. Ayache, O. Faugeras, IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986.

    Les seules variables dans ce cas sont la position  et l’orientation de cette pièce dans le plan. Supposons de surcroît qu’on connaisse a priori la forme de la pièce, approximée par un ensemble de segments de droites, et qu’on soit capable d’extraire automatiquement une description similaire des contours des objets présents dans une photo. Trouver la pièce dans une image revient alors à apparier les deux familles de segments de droite correspondants, sous la contrainte qu’il existe une transformation rigide (rotation + translation) unique permettant de passer de l’une à l’autre.  Bien que le coût (temps de calcul) du meilleur appariement global semble a priori prohibitif (techniquement, exponentiel dans le nombre de segments), il n’en est rien car la contrainte de rigidité permet de calculer la transformation entre les deux formes dès que deux segments ont été appariés, pour un coût (essentiellement) quadratique, tout à fait raisonnable pour des pièces telles que celles montrées ci-dessus.

    Cette technique a été développée en 1982 chez Inria dans l’équipe d’Olivier Faugeras, un des pionniers de la vision artificielle moderne, par son doctorant Nicholas Ayache. Elle a été ensuite étendue au cas plus difficile de pièces tridimensionnelles par Martial Hebert, un autre doctorant de Faugeras. Cette approche, dont les racines remontent à la thèse de Roberts évoquée dans le premier épisode, a dominé les années 80, avec des travaux menés en parallèle par des chercheurs tels que David Lowe au laboratoire de robotique de Stanford, ou Eric Grimson et Dan Huttenlocher au laboratoire d’intelligence artificielle du MIT. Il s’est malheureusement révélé difficile de la généraliser à des formes tridimensionnelles complexes et surtout à des images contenant du fouillis, c’est-à-dire plusieurs objets ou des textures complexes agissant comme distracteurs.

    Invariants et apparence globale. Au lieu de calculer la position et l’orientation des objets à reconnaître, des chercheurs,  tels qu’Isaac Weiss de l’Université du Maryland, ont songé, au début des années 90, à modéliser leur forme par des caractéristiques indépendantes de ces paramètres, appelées des invariants : ainsi, l’aire d’une région plane est invariantes aux translations et aux rotations ; le rapport de l’aire au carré du périmètre est de plus indépendant des changements d’échelle, etc. On peut ainsi reconnaître un objet en comparant ces caractéristiques à celles de prototypes déjà observés. La vogue des invariants a été de courte durée, en partie parce que, en dehors du fait qu’ils ne résolvaient pas le problème du fouillis, on a rapidement démontré qu’une forme réellement tridimensionnelle n’admettait aucun invariant au déplacement de l’appareil photo qui l’observe. Les travaux sur les invariants menés par exemple à Oxford, par Andrew Zisserman et ses collègues, ou chez Inria, notamment dans les équipes d’Olivier Faugeras et de Roger Mohr, un autre pionnier français de la vision artificielle disparu trop tôt, voici quelques mois, ont en revanche eu le mérite de contribuer à l’adoption de concepts issus de la géométrie projective, qui ont eu un impact profond sur la reconstruction de scènes tridimensionnelles à partir de plusieurs photographies, avec de nombreuses applications à des domaines aussi variés que l’archéologie, les effets spéciaux, ou la réalité augmentée.

    Il est devenu clair dès le milieu des années 90 que la géométrie seule n’était pas suffisante à la mise au point de méthodes de reconnaissance visuelle robustes. Fallait-il donc en revenir au signal lui-même, aux niveaux de gris ? Matthew Turk et Sandy Pentland au MIT ont popularisé cette idée en l’appliquant à la reconnaissance de visages. Chaque image est vue comme un tableau de nombres (les niveaux de gris à chaque pixel), ou de manière équivalente, comme un point dans un espace de très grande dimension, les niveaux de gris des pixels successifs donnant les coordonnées du point. On se dote donc d’une collection de photos de personnes de référence. Toute nouvelle photo est ensuite appariée à la photo de référence la plus proche (dans le sens de la distance euclidienne entre les points associés aux deux images ou leurs projections dans des espaces de dimension plus petite), la personne correspondante étant déclarée reconnue. Ceci suppose bien entendu que les images soient cadrées sur le visage, qu’il soit vu de face, etc. Ces travaux ont été par la suite généralisés à des contextes plus difficiles, en particulier par Hiroshi Murase et Shree Nayar à l’Université de Columbia, qui ont démontré la reconnaissance en temps réel d’objets tridimensionnels de tous les jours (fruits, voitures jouets) observés dans des positions et orientations arbitraires. Mais ces modèles globaux (dans le sens où c’est l’image entière, ou une imagette détourée par seuillage sur un fond noir, qui est représentée) ne permettent pas de résoudre le problème du fouillis, des occultations partielles, ou des ombres par exemple.

    Apparence locale. En 1996, la thèse de Cordelia Schmid au sein de l’équipe Inria de Roger Mohr a été (enfin !) l’occasion d’une percée significative : l’idée est (a posteriori) simple : représenter l’apparence locale et non plus globale, c’est-à-dire modéliser un objet par une série d’imagettes de taille réduite (quelques pixels) centrées, soit en chaque point de l’image, soit en des points jugés « intéressants » selon un critère approprié.  On cherche alors à apparier les imagettes trouvées dans deux images sous des contraintes géométriques similaires à celle utilisées plus haut, tout en exploitant cette fois la similarité des motifs de couleur (ou de niveaux de gris) correspondants. Pour cela on remplace l’imagette brute par un « descripteur » qui doit permettre de distinguer des différences subtiles entre des motifs différents tout en étant peu sensible aux facteurs de nuisance liés aux variations de pose et d’illumination. Le descripteur « SIFT » de David Lowe (arrivé entretemps à l’Université de Colombie Brittanique)  a rapidement supplanté les « jets » moins robustes d’abord utilisés par Cordelia Schmid et Roger Mohr, qui étaient inspirés des travaux de Jan Koenderink à l’Université d’Utrecht. Tous deux utilisent le gradient des imagettes, peu sensible aux changement d’illumination, et des invariants locaux, qui contrairement aux invariants globaux évoqués plus haut, existent pour toute forme bornée par une surface lisse. La paire d’images ci-dessous illustre le processus.

    Source : Inconnue alors que cette image est utilisee depuis des années dans divers cours de vision autour du globe … merci de nous signaler sa source si vous la connaissez. !

    On se donne donc une image « requête » (à gauche), et on cherche à trouver dans une base de données l’image contenant le même objet parmi des milliers d’autres où il ne figure pas.  L’image « retrouvée » par le système est affichée à droite. Notez les différences importantes  entre l’illumination et la configuration géométrique du jouet entre les deux photos. Le processus de recherche examine les images candidates de la base l’une après l’autre, et cherche à apparier chaque candidate a la requête. On commence par trouver les points « intéressants » (en rouge) présents dans les deux images. On construit ensuite des hypothèses raisonnables d’appariement entre ces points (les flèches vertes)1 en comparant leurs descripteurs. Certaines d’entre elles, parfois une majorité, sont bien sûr incorrectes. Pour en éliminer une partie, on impose alors des contraintes géométriques locales (les traits rouges, symbolisant le fait que des appariements entre points voisins devraient être disposés de manière similaire dans les deux images). Enfin on compte le nombre d’appariements restants et l’image retrouvée est celle qui réunit le plus de votes.

    Cette approche a en grande partie contribué à sortir la vision artificielle de sa tour d’ivoire. Nous verrons dans le prochain épisode comment aborder la reconnaissance de catégorie d’objets, avec des méthodes pas si différentes en fait, avant d’examiner les contributions incontestables de l’apprentissage statistique moderne à notre domaine, qui ont ensuite permis l’explosion industrielle de la vision artificielle.

     Jean Ponce, Inria et École normale supérieure, CNRS, PSL Research University

    1 Cet exemple « jouet » ne montre qu’un petit nombre d’appariements potentiels, l’auteur les ayant dessiné a la main, il n’a pas eu l’énergie d’en représenter d’avantage. J’espère que vous ne lui en voudrez pas. Dans la réalité il y aurait des milliers de flèches vertes, dont un grand nombre seraient incorrectes.

  • Jouez avec les neurones de la machine

    Le canard artificiel de Vaucanson (1738), qui « boit, mange, cancane, barbote et digère comme un vrai canard »

    « L’intelligence artificielle est la science de faire faire à des machines des choses qui demanderaient de l’intelligence si elles étaient faites par des humains». Tout est dit par le fondateur de l’intelligence artificielleMarvin Minsky. Exit les fantasmes du genre* de celui d’une «servante-robot, qui sert [le] café [au lit] le matin ».  Et comme le mentionne Cédric Villani au lancement de sa mission de réflexion sur ces sujets, notre meilleure arme est «une grande qualité de formation» sur ce sujet qui est «l’affaire de [toutes et] tous». Soit. Et si on commençait, là, maintenant ? Ça vous dirait de soulever le capot de l’intelligence artificielle ? Thierry Viéville.

    Un réseau de neurones est un mécanisme générique composé de petites unités (des pseudo-neurones) connectées les unes aux autres. Chaque unité fait une opération très simple : elle prend des valeurs en entrée, les combine très simplement (un simple calcul de moyenne avec des coefficients comme les notes du bac) et applique une transformation sur le résultat (par exemple ne garde que les valeurs positives). Les coefficients utilisés pour pondérer la moyenne sont les paramètres de cet algorithme. C’est la combinaison d’un très, très grand nombre de ces unités qui permet de réaliser des opérations très complexes. Un réseau de telles « neurones » s’obtient en accumulant plusieurs couches de telles unités. En entrée il y a les données que l’on veut traiter. Elles se transforment à travers toutes les couches et la dernière couche donne en sortie une prédiction sur ces données, par exemple détecter s’il y a un visage dans une image. Le réseau de neurone constitue ainsi une fonction paramétrée par ces nombreux coefficients (on parle de « poids ») et c’est le choix de ces poids qui définit le traitement effectué.

    Chaque « neurone » mélange les entrées X de manière proportionnelle à ses poids W et rectifie le résultat pour donner la sortie y. C’est la combinaison de miriades de tels calculs élémentaires qui genère un système complexe. Issu de Interstices.

    Sur l’interface web de TensorFlow, on constitue facilement un réseau d’une douzaine de neurones possédant chacun entre 3 et 10 paramètres. La sortie calculée dépend donc d’une centaines de paramètres en plus des deux coordonnées (x,y) du point d’entrée. Sur l’interface, chaque carré représente un neurone et la couleur du pixel de coordonnées (x,y) dans le carré représente la sortie du neurone quand on met (x,y) en entrée du réseau. Il y a un seul neurone en sortie, il est représenté avec un carré plus grand sur la droite du réseau. Les paramètres du réseau sont initialisés au départ avec des valeurs aléatoires.

    Mais comment apprendre ces poids ? L’apprentissage supervisé consiste à fournir des exemples de données accompagnés de la solution à trouver, pour entrainer le réseau à ajuster ces poids comme il faut. Ici, il s’agit d’une série de points dans un carré avec pour chacun une couleur attendue (bleu ou orange), avec comme but de prédire la couleur du point à un endroit donné. C’est un algorithme classique d’ajustement progressif des poids (on parle de « descente de gradient ») qui permet de trouver les paramètres en question. Le bouton « play » en haut à gauche de l’interface permet de lancer cet algorithme, on voit alors la sortie du réseau de neurones évoluer au cours de l’ « apprentissage » : la couleur du fond du neurone de sortie tend à prendre la couleur des points d’entrainement qui sont dessinés par-dessus. Une autre partie du jeu de données est ensuite utilisée pour tester la qualité de la fonction obtenue par le réseau. Une courbe en haut à droite affiche le taux d’erreurs liées aux données utilisées pour apprendre (pour vérifier que les poids se sont bien ajustés) et le taux d’erreurs liées aux autres données de test (pour vérifier que ce qui a été appris se généralise bien à de nouvelles données). Des boutons sur la gauche permettent de régler la répartition des données entre le jeu d’apprentissage et celui de test et aussi  d’ajouter des erreurs aux données (les bruiter) pour voir si le mécanisme est robuste face à ces erreurs.

    © Casterman

    En pratique, on arrive à trouver des paramètres satisfaisants, mais il n’y a pas vraiment de cadre théorique pour formaliser tout cela, c’est affaire d’expérience : choisir le bon nombre de neurones, le bon nombre de couches de neurones, quels calculs préliminaires ajouter en entrée (par exemple multiplier les entrées pour augmenter les degrés de liberté permettant de faire le calcul). Ce genre de techniques permet d’obtenir des résultats impressionnants en pratique, comme en reconnaissance de la voix ou d’objets dans une image (voir les vidéos du cours de Yann Le Cun au Collège de France). Cependant, comprendre pourquoi (et comment) on obtient de si bons résultats reste une question scientifique encore assez ouverte. En attendant voulez-vous essayer une application réelle sur des données réelles ? C’est par ici https://www.clarifai.com/demo (il suffit de jouer avec les options).

    A vous de tester votre petite cuisine neuronale ! Arriverez-vous à mettre les bonnes couleurs sur le jeu de données en spirale ?


    Quelques exemples

    Si on choisit de simplement classer deux populations, ici orange et bleue, qui sont déjà groupées en deux blocs facilement séparés par un ligne, alors c’est très facile : il suffit de trois neurones. En cliquant sur l’image on peut lancer la solution et observer l’ajustement des paramètres de chaque unités de calcul, ces pseudo neurones.
    Les deux premiers neurones de la couche d’entrée calculent pour la position horizontale et verticale et le neurone de sortie combine ses informations pour faire une sortie oblique.
    On parle de problème linéaire pour décrire un tel problème de classification dont la solution est une simple séparation par une surface plate.
    Mais si les données sont complètement intermélées comme dans le cas de ces données en spirale alors il faut beaucoup plus de couches de calcul avec plus de neurones.
    On voit alors comment au fil du calcul dans les couches de l’architecture, chaque neurone code pour un aspect de la forme à trouver, basique dans les couches basses, plus sophistiqué dans les couches plus hautes. Beaucoup de calculs pour une simple paire de spirales ! Mais ce qui est remarquable c’est que cette foule de calculs élémentaires a pu coder approximativement un objet non trivial, en s’adaptant aux données, sans avoir eu à donner des informations à priori sur ces formes spiralées.
    Faut-il tous ces neurones pour résoudre ce problème de classification de données ? Pas forcément : lors d’un atelier lycéen où des jeunes expérimentaient ce logiciel à travers l’interface Web, en expérimentant numériquement les solution possibles, deux d’entre eux Akmal et Amandine ont obtenu une solution plus longue à obtenir et moins stable qu’une solution gourmande en nombre de neurones, mais qui marche plutôt bien.
    Et vous avez vous une solution encore plus astucieuse à proposer ?

     


    Thalita Firmo-Drumond à partir d’une proposition de Laurent Viennot éditée par Valérie François et publiée conjointement sur pixees.fr.

    (*) On trouve hélas cette métaphore sexiste et anti-pédagogique au possible (sans aucune explicitation du propos qui serait au deuxième degré), en introduction du livre blanc sur l’intelligence artificielle produit par un institut de recherche de référence sur ces sujets.

    En savoir plus :

     

  • Vision artificielle, Saison 1 : la reconnaissance visuelle

    On reconnait automatiquement nos visages sur le Web, on comprend sans intervention humaine le contenu d’une image, on reconstruit une partie occultée d’une scène, on … Mais qui « on´´ ? Des algorithmes de vision artificielle. Et comment ça marche ? Nous avons posé la question à  Jean Ponce chercheur chez Inria et au Département d’informatique de l’ENS, et spécialiste de la reconnaissance de formes dans des photos et de la vidéo.  Il nous emmène à la découverte de ce demi-siècle d’histoire de la vision artificielle. Voici le 1er épisode. Thierry Viéville, Serge Abiteboul.

    Vision et intelligences artificielles

    © Inria / Photo Kaksonen

    L’intelligence artificielle (IA) est un domaine de recherche interdisciplinaire, ancré dans la science informatique, mais avec des liens forts avec la robotique, les sciences cognitives et les mathématiques par exemple. Son but est de construire des machines capables de reproduire des activités  dites « intelligentes », telles que le raisonnement logique ou la compréhension de l’écriture et de la parole.

    Dans ce cadre, la vision artificielle a pour objectif de doter ces machines d’un sens de la vue, en inventant des algorithmes et des logiciels capables d’interpréter le contenu de photographies ou de vidéos numériques. C’est une composante fondamentale de l’IA : comme la plupart des animaux, un robot (de l’aspirateur automatique à l’androïde de la science-fiction) interagira plus facilement avec les objets inertes et les agents actifs qui l’entourent s’il peut les voir. La vision artificielle est également un des vrais succès de l’IA. Par exemple, quand je prends une photo de mon neveu et de ma nièce avec mon téléphone portable, le logiciel de celui-ci calcule la position de leurs visages (affichée sous la forme de petits carrés par le téléphone), permettant d’en obtenir une image nette. La vision artificielle est aussi un élément clé des effets spéciaux numériques qui font (presque) des mondes imaginaires du cinéma moderne et de ses habitants une réalité. De même, c’est une technologie incontournable pour les systèmes d’aide à la conduite déjà disponibles aujourd’hui, comme pour les voitures autonomes de demain.

    On attribue en général les débuts de l’intelligence artificielle au fameux « Workshop de Darmouth » organisé par McCarthy, Minsky, Rochester et Shannon en 1956. La vision artificielle a vu le jour un peu plus tard, avec la thèse de Larry Roberts au Massachussetts Institute of Technology (MIT) en 1963. Cet article est le premier d’une série racontant une partie de cette histoire. Il s’appuie sur une conférence que j’ai donnée aux journées scientifiques d’Inria en juin 2017, à l’occasion des 50 ans de l’institut national de recherche français consacré au numérique sous toutes ses formes, et dont les scientifiques sont depuis le début des années 80 des acteurs incontournables de la vision artificielle sur la scène mondiale.

    Épisode 1 : La reconnaissance visuelle

    Considérons par exemple cette photographie prise par mes collègues de l’Université de Berkeley et du MIT, Alyosha Efros et Antonio Torralba.

    Le but d’un logiciel de vision artificielle est de construire une description du contenu de l’image, qui pourrait être ici une liste de caractéristiques générales, « Paris, scène d’extérieur, café », d’objets ou de personnes spécifiques,« ma montre, Donald Trump », même si je ne pense pas que l’un ou l’autre soit présent dans cette image, après tout un logiciel de vision artificielle, ou plus généralement d’IA, peut faire des erreurs, ou de types d’objets plus généraux « arbres, chaises, personnes ». A ces descriptions « symboliques » d’une image peut se substituer un modèle « physique » stockant par exemple la distance entre le point de la scène associé à chaque pixel et la personne qui a pris la photo, ou encore la « véritable » couleur de chaque objet. (Tout capteur, y compris l’œil humain, mélange allègrement celle-ci avec la couleur des sources lumineuses, soleil, ciel,  ou lampes diverses ; le cerveau humain a la capacité remarquable d’éliminer en grande partie cet effet, mais ceci est une autre histoire).

    Je me concentrerai dans cette série d’articles sur le côté « symbolique » de la vision artificielle, connu sous le nom général de reconnaissance visuelle.

    Il vous paraît sans doute évident, cher lecteur et chère lectrice, que notre photo montre une scène d’extérieur, un bar en terrasse, avec des gens prenant leur café, des arbres, des chaises, etc. Mais  vous n’êtes pas une machine. Reconnaître un objet, c’est entre autres faire abstraction de nombreuses variables : deux images de la même personne prises de face ou de profil, sont, pixel par pixel, très différentes. De même, une moitié d’un visage photographié en plein soleil est souvent beaucoup plus sombre que l’autre. La partie du visage dans l’ombre change de surcroît avec la position du soleil. Pire,  je « vois » bien (et vous aussi, j’imagine) qu’une chaise, un banc, un fauteuil ou un tabouret sont des objets sur lesquels on peut s’asseoir, mais leurs images, en tant que motifs de couleurs sur le canevas d’une photographie ou d’une peinture, sont encore une fois très différentes. Il est donc naturel que la plupart des recherches en reconnaissance visuelle se concentrent aujourd’hui sur les difficultés liées à la variabilité intrinsèque de l’apparence du contenu d’une image.

    Il faut aussi garder en tête des difficultés encore plus grandes : la première distingue la vision artificielle de l’interprétation automatique du langage écrit et de la parole : même si on peut en général décrire une photographie en termes familiers, nous n’avons aujourd’hui aucune idée de ce que pourrait être un « vocabulaire visuel » naturel, et ne disposons pas dans ce contexte d’alphabet, mots, phrases, syntaxe ou sémantique comparables à ceux établis par les linguistes dans le domaine du langage écrit ou parlé. Comme l’écrivait beaucoup mieux que moi Léonard de Vinci dans son traité sur la perspective, où il rangeait la peinture au dessus de la poésie, un texte n’admet (essentiellement, pas  littéralement évidemment) qu’une seule interprétation, alors qu’une image en admet une infinité, car on peut y pénétrer à de multiples niveaux. Le cendrier au premier plan de notre photo, qui n’occupe que quelques pixels, est-il moins important que les arbres ? Ces problèmes de vocabulaire et de granularité restent aujourd’hui des défis majeurs, encore peu abordés par les chercheurs en vision artificielle. Les questions liées à la variabilité de l’apparence se sont déjà montrées assez difficiles pour nous occuper depuis presque 50 ans. Nous suivrons dans le prochain article plusieurs pistes pour y faire face.

     Jean Ponce, Inria et École normale supérieure, CNRS, PSL Research University

    Référence :

    The Book
    Computer Vision, a modern approach

  • Construire une machine Turing

    Nous avons reçu un article de Marc Raynaud qui nous fait partager son expérience de la création d’une machine de Turing et son utilisation dans un environnement scolaire. La machine de Turing est un objet à la fois complexe et simple, explorons un peu cet « engin », construit avec des technologies dont aurait pu se servir Turing à l’époque de la publication de son article fondateur. Pierre Paradinas, Cnam.

    Crédits Photos sur tout l’article : Marc Raynaud

    Construire une machine Turing

    Alan Turing a publié en 1936 un article intitulé : « Sur les nombres calculables avec une application au problème de la décision » Dans cet article fondateur de la science informatique, il décrit un dispositif que son maître de thèse Alonzo Church appellera une machine de Turing.

    Le principe est extrêmement simple, il suffit de disposer d’un ruban infini, constitué de cases pouvant contenir des symboles. Un mécanisme peut lire, écrire et se déplacer d’une case vers la gauche ou vers la droite. La machine peut changer d’état avec des « transitions’. Sur un exemple de transition, c’est encore plus simple :

    • si la machine est à l’état 3, si elle lit un 1,
    • on peut lui dire : écrit un 0,
    • et déplace-toi d’une case à gauche et passe à l’état 5.

    Voilà vous savez tout…

    Par exemple, nous pourrions déterminer dans une suite de 0 et de 1 si le nombre de 1 est pair. Pour cela on va utiliser une « bascule » qui représentera le nombre de 1…

    À chaque fois que la machine lira un 1, elle passera de l’état q1 à l’état q2 et inversement. Son état (q1 ou q2) à la fin du parcours correspondra à la parité du nombre de 1 rencontrés. On lui dit alors de passer une case et de nous écrire sa réponse sous la forme d’un 1 dans le cas impair et d’un 0 dans le cas pair.

    On représente l’algorithme par une table des transitions.

    La partie en jaune correspond aux instructions que l’on peut donner à la machine. Elle peut écrire, se déplacer d’une case à gauche ou d’une case à droite et changer d’état. À noter l’état 12 est ici l’état final, il provoque l’arrêt de la machine. Cette table des transitions, nous donne le modèle de feuille de programmation à réaliser sous la forme d’une feuille perforée.

    Comment réaliser une « vraie machine »?

    Le ruban infini a été replié sur lui-même sous la forme d’un disque qui comprend 100 cases, il n’est pas infini, mais il est quand même assez grand pour notre usage. Le codage binaire correspond à la hauteur de petits cylindres en fer. Le mécanisme d’écriture a été réalisé avec des moteurs Lego qui entraînent des crémaillères (l’asservissement des moteurs a été réalisé avec des cames et des relais, sans électronique). Le mécanisme de lecture pousse une tige par l’intermédiaire d’un ressort, contre les petits cylindres, la position de butée indique au système le symbole écrit. Le comportement de la machine dépend à tout instant de l’état et du résultat de la lecture, pour cela on utilise deux types de mémoire : (i) l’état est mémorisé simplement par la position physique du commutateur des états, (ii) le résultat de la lecture est mémorisé dans un des 3 relais prévus à cet effet. En fait, le schéma électrique général est directement issu du principe donné par Alan Turing.

    Principe de fonctionnement

    Pour que le système fonctionne, il faut générer des impulsions ! Dans vos ordinateurs, un quartz en produit des milliards par seconde. Ici, on se contente d’une ou deux impulsions par seconde. Elles sont générées par une horloge (le même hardware (matériel)  que le premier ordinateur construit au monde, par Charles Babbage), les impulsions sont dirigées vers les différents organes de la machine. À chaque tour d’horloge on produira une impulsion vers le mécanisme de la lecture, vers les relais sous le lecteur pour renvoyer aux systèmes de déplacement, d’écriture et de changement d’état.
    De nombreuses machines et de nombreux modèles de calcul ont été proposés. Il est fascinant de découvrir qu’ils calculent tous la même chose. La machine de Turing dans son extrême simplicité (avec un ruban infini) peut réaliser les mêmes programmes que la machine la plus sophistiquée.

    La machine à l’école

    Lors de séances dans des classes de lycée la machine permet la recherche d’algorithmes (actions sur les chaînes de caractères, calculs en binaire, division Euclidienne, PGCD, suites numériques,…) avec des tests directement qui montrent la valeur pédagogique à voir un algorithme s’exécuter directement en pas à pas . Quand l’algorithme ne fonctionne pas j’entends souvent la phrase « Ah je vois pourquoi » l’erreur peut être plus formatrice que la réussite !

    Présentation de la Machine de Turing au Lycée Lesage à Vannes. © Marc Raynaud
    Et utilisation programmation de la Machine de Turing. © Marc Raynaud

    Marc Raynaud, Association Rennes en Sciences

    Pour aller plus loin:

  • Prolog est orphelin

    Nous venons d’apprendre le décès d’Alain Colmerauer et il nous semble important de dire quelle était sa place dans le paysage de l’informatique mondiale. Alain est l’inventeur du langage Prolog, qui a joué un rôle clé dans le développement de l’IA, il se trouve que plusieurs binairiens ont programmé avec ce langage, pour leur recherche ou pour payer leurs études ainsi que de proposer des extensions. Un collègue ami d’Alain, Philippe Jorrand, Directeur de recherche émérite au CNRS, nous parle de son parcours. Pierre Paradinas.

    Photo : Alain Colemrauer

    Alain Colmerauer était un ancien de l’IMAG (Institut d’Informatique et de Mathématiques Appliquées de Grenoble), devenu une personnalité scientifique de premier plan par le rayonnement international de l’œuvre majeure de sa recherche, le langage PROLOG.

    Alain Colmerauer était un élève de la première promotion de l’ENSIMAG, diplômée en 1963. Il a débuté sa recherche au Laboratoire de Calcul de l’Université de Grenoble, l’ancêtre du LIG. Dans sa thèse, soutenue en 1967, il développait les bases théoriques d’une méthode d’analyse syntaxique. Puis, pendant son séjour de deux ans à l’Université de Montréal, c’est en imaginant une utilisation originale des grammaires à deux niveaux (les « W-grammaires »), qu’il a établi les bases embryonnaires de ce qui allait devenir PROLOG.

    De retour en France en 1970, il accomplit ensuite toute sa carrière à l’Université de Marseille, où il devient professeur. C’est là, au Groupe d’Intelligence Artificielle du campus de Luminy, qu’il forme avec détermination une petite équipe de jeunes doctorants, puis d’enseignants-chercheurs, pour développer la PROgrammation en LOGique. Sous sa direction, c’est ce petit groupe qui a élaboré les fondements théoriques de cette approche originale de la programmation, puis conçu et mis en œuvre les versions successives du langage qui allait connaître un succès international et être la source d’un courant de recherche fertile : PROLOG I, PROLOG II, PROLOG III où les contraintes linéaires venaient rejoindre la logique puis Prolog IV avec une théorie d’approximation plus aboutie, des contraintes sur les intervalles, et un solveur.

    Prolog III, manuel de référence, Prologia, Marseille, 1996

    Par ailleurs, le langage Prolog sera adopté par le projet d’ordinateur de 5ème génération développé par le MITI au Japon dont l’objectif était de créer une industrie et les technologies de l’intelligence artificielle à la fin des années 80. Une entreprise PrologIA, distribuera le langage dans ses différentes version.

    Alain Colmerauer a toujours été un esprit original. Il se défiait de tout ce qui peut ressembler à une pensée unique, et n’hésitait pas à exprimer des idées parfois iconoclastes, mais souvent fécondes. Il croyait à ce qu’il faisait, et sa ténacité lui a souvent été utile face à quelques difficultés institutionnelles et à l’incrédulité de collègues plus installés que lui dans les modes scientifiques. Pour ceux qui l’ont bien connu pendant de longues années, Alain était un ami solide.

    Alain Colmerauer est décédé à Marseille, le vendredi 12 mai 2017.

    Philippe Jorrand, DR émérite CNRS

    Pour aller plus loin :

  • Podcast : Intelligence-artificielle

    Enjeux et histoire de l’intelligence artificielle.

    Certaines personnalités (Bill Gates, Elon Musk, Stephen Hawking…) ont lancé un appel afin de mettre en garde contre les dangers de l’intelligence artificielle. Terminator et Skynet vont-ils détruire l’humanité ? Visiblement, la question ne se pose pas comme cela…

    Cette vidéo est un des grains de culture scientifique et technique du MOOC sur l’Informatique et la Création Numérique. La vidéo a été réalisée par Manhattan Studio Production.

    Nicolas Rougier est chercheur à l’Inria au sein de l’équipe Mnemosyne et de l’Institut des maladies neurodégénératives à Bordeaux. Il travaille en neurosciences computationelles et cherche à comprendre le fonctionnement du cerveau au travers de modèles informatiques.

    Pour aller plus loin

     

  • Pétanque : une belle victoire des informaticiens

    Joueurs de boules, vers 1840, par Charlet.

    Les robots sont depuis longtemps dans des usines de fabrication de boules de pétanques. Ce n’est que récemment qu’ils se sont invités sur les terrains de jeu de pétanque même.

    La pétanque (du provençal pèd : pieds, et tanca : planté ; (lou) jo à pèd-tanca, le jeu à pieds-plantés, ou (la) petanco, la pétanque) est un jeu de boules dérivé du jeu provençal. C’est le dixième sport en France par le nombre de licenciés. Fin 2007, on compte 558 898 licenciés répartis dans 78 pays. À ces chiffres, il convient de rajouter les pratiquants occasionnels, en vacances notamment, c’est-à-dire plusieurs millions d’amateurs. C’est un sport principalement masculin (seulement 14 % des licenciés sont des femmes en France). Néanmoins, c’est l’un des rares sports où des compétitions mixtes sont organisées. Wikipédia

    Un scoop binaire : l’intelligence artificielle a fini par vaincre l’humanité.

    Trois robots ont battu la semaine dernière une triplette de champions. Après les échecs, le go, Jeopardy !, c’est un des derniers bastions de la domination humaine qui cède.

    Il a fallu pour battre les humains à ce jeu pourtant très simple combiner les talents d’informaticiens d’Inria Paris et de roboticiens bordelais du CNRS, des spécialistes de robotiques, d’apprentissage automatique, et de géométrie computationnelle, sans compter bien entendu leurs collègues universitaires marseillais, en pointe sur tous les sujets du deep-learning à la pétanque. Nous avons rencontré le responsable de l’équipe, Lagneau Ennepé.

    Pour confronter les robots, la ville d’Aubagne a réuni une triplette de choc – on a parlé de dream team. Emilie, Redouane, et Marcel sont des habitués des tournois, bardés de médailles. Emilie a été championne du monde, Redouane champion du Maroc, et Marcel champion de Provence.

    Reachy, le bras robotique bio-inspiré et open sourceReachy, le bras robotique bio-inspiré et open source

    Les trois robots, Fanny, Marius et Aimée, en fait identiques, ont été développés à partir de Reachy, le bras robotique bio-inspiré et open source, de Pollen Robotics. Un premier défi a été le poids de la boule de pétanque, trop lourd pour Reachy. Malgré l’insistance des ingénieurs, la fédération de pétanque a refusé les boules en plastiques (même peintes couleur argent). L’équipe de Lagneau a dû revoir complètement la mécanique du bras.

    Une autre difficulté a été la nature souvent imprévisible des terrains de pétanque. Les pentes, les trous, les irrégularités… Les robots s’appuient sur un premier réseau de neurones pour découvrir le terrain et apprendre à s’y adapter, mais surtout sur la notion de robotique incarnée qui déporte l‘intelligence vers la mécanique elle -même.

    Les robots ont perdu leur première partie de manière inhabituelle pour une partie de pétanque.  C’était au tour d’Aimée de jouer. Elle est restée bloquée pendant de longues minutes sans bouger, avant que l’arbitre ne déclare la triplette humaine vainqueur. Emilie Noether, la pointeuse de la triplette humaine, a déclaré : « Bonne mère ; ça t’arrive d’hésiter, mais, putaing, tu te fais crier dessus et tu joues, cong. Je n’avais jamais vu cela en tournoi. »

    Lagneau nous a expliqué : « Il existe deux façons de lancer les boules : pointer comme un têtu et tirer comme un testard. Une des plus grandes difficultés techniques a été de résoudre ce simple questionnement, pointer ou tirer.  C’est d’ailleurs la cause d’innombrables disputes à la pétanque. »

    Ce qui s’est passé est dramatiquement simple. Les robots ont joué des milliers de parties à un contre un. Le but était d’entrainer leurs réseaux de neurones pour apprendre à décider sur le dilemme : tirer ou pointer. Ils n’ont donc pas tous joué les mêmes parties. Dans la situation de la première partie, Marius pensait qu’il fallait tirer quand Fanny était convaincue qu’il fallait pointer. Ils ont transmis leurs avis par Bluetooth à Aimée. Le problème que l’équipe de Lagneau n’avait pas envisagé, c’est qu’Aimée était arrivée à des probabilités si voisines qu’elle a choisi de s’en remettre à l’avis des autres : et là égalité et blocage. C’était totalement imprévisible.

    Ce problème n’est jamais plus arrivé. Nous avons cru comprendre que la solution de l’équipe de Lagneau était très low tech (une ligne de code) : en cas de désaccord, suivre l’opinion de Fanny. En fait, ils ont suivi le conseil de Corine Lercier : « Les femmes ont toujours raison. Et même si elles ont tort c’est qu’elles ont tarpé une raison d’avoir tort. » Est-ce vrai aussi pour les robottes ? La féminité des robots étant un sujet toujours délicat, la question reste en discussion dans les communautés d’intelligence artificielle.

    Fanny, Marius et Aimée n’ont cessé de s’améliorer. Les humains ont commencé à douter et finalement perdu. La dernière partie s’est conclue sur le score de 13 à zéro. Cela a conduit les participants à suivre une vieille coutume provençale « embrasser Fanny ». Il s’agit d’embrasser le postérieur d’une Fanny. Comme un des robots s’appelle Fanny, la fin s’imposait. Redouane a commencé par dire : « le cul de la radasse ? T’es con toi ! » Mais, devant les huées de la foule, il a dû s’y résoudre. Il a embrassé comme les deux autres le postérieur de Fanny !

    Serge Abiteboul, Marie-Agnès Enard, Pierre Paradinas, Charlotte Truchet, Thierry Vieille,

    Il y a un an, pile

    Un article de binaire sur le Big data et les objets connectés avait fait beaucoup réagir : La data du vibromasseur (binaire du 1er avril 2016). Le sujet reste d’actualité. Voir l’article du Monde : Un fabricant de sextoys connectés va indemniser les utilisateurs qu’il a espionnés (LeMonde.fr du 15 mars 2017).  La Société Informatique de France a créé une commission sur ces sujets ; n’hésitez pas à la contacter.

  • Elle commande les machines par la pensée

    Nataliya Kosmyna vient d’être récompensée par le prix « Génération Jeunes Chercheuses » de L’Oréal-UNESCO pour les femmes et les sciences. Franck Tarpin-Bernard, qui a encadré sa thèse, nous parle de ses travaux passionnants et des nouvelles formes d’interactions homme machine. Nataliya est aujourd’hui en post-doc à Inria Rennes où elle étudie les interfaces cerveau-ordinateur. Anne-Marie Kermarrec.

    Nataliya Kosmyna ©NataliaBogdanovska
    Nataliya Kosmyna ©NataliaBogdanovska

    Depuis que l’informatique existe, les chercheurs s’interrogent sur les différentes façons d’interagir avec les ordinateurs et par extension les nouveaux dispositifs numériques. Cette réflexion et les innovations qui l’ont accompagnées ont très largement contribué à la démocratisation de leurs usages. Depuis les cartes perforées de l’après-guerre jusqu’à la commande vocale des téléphones mobiles, que de chemin a été parcouru ! Avec l’avènement des interfaces graphiques des années 80 puis plus tard des interfaces tactiles dans les années 2000, il est devenu de plus en plus naturel d’interagir avec le monde numérique.

    img_9561Après les progrès considérables dans le domaine de la reconnaissance du mouvement et de la parole, on peut se demander quel sera le prochain mode de communication avec les machines qui nous entourent ?

    Si vous êtes fan comme moi de Clint Eastwood et avez vu son film Firefox, l’arme absolue, dans les années 80, l’idée que l’on puisse interagir avec les machines par la pensée vous fascine. C’est ce défi qui anime Nataliya Kosmyna, prix « Génération Jeunes Chercheuses » de L’Oréal-UNESCO pour les femmes et les sciences.

    img_0985Lorsque Nataliya arrive d’Ukraine au Laboratoire d’Informatique de Grenoble pour son Master en 2011, peu de chercheurs s’intéressent à ce domaine. En effet, les performances des systèmes de reconnaissance sont encore modestes et les usages se restreignent principalement à l’emploi de dispositifs de captation très onéreux en vue d’offrir un moyen d’interaction à des personnes fortement handicapées et ne disposant pas d’autres canaux de communication (locked in syndrom par exemple). Pourtant, nous entrevoyons alors que les progrès réalisés par l’électronique et le traitement du signal devaient permettre de franchir un grand pas et démocratiser les usages des interfaces cerveau-ordinateur.

    Sur le principe, l’approche est assez simple. Lorsque nous réalisons des tâches cognitives ou motrices diverses, les neurones situés dans des zones spécifiques du cerveau sont activés et des signaux électriques se propagent à travers les synapses. Avec les progrès de l’électronique, il est aujourd’hui possible de capter un signal électrique à la surface du crâne avec un casque plus ou moins fourni en électrodes, similaires à ceux utilisés en milieu médical pour faire des électro-encéphalogrammes. Bien sûr, si la résolution temporelle des mesures est très performante, il n’en est pas de même pour la résolution spatiale et chaque électrode capte un signal résultant de l’activation de millions de neurones. Grâce aux progrès réalisés par les chercheurs en traitement du signal et en particulier l’équipe du Gipsa-lab avec laquelle Nataliya a travaillé, il est cependant possible aujourd’hui d’extraire du flux des données des marqueurs qu’on peut associer à certaines formes de pensée.

    img_0004Compte tenu du très faible rapport signal sur bruit, ces systèmes nécessitent des temps d’apprentissage très longs afin que la machine soit capable de discriminer quelques pensées, rarement plus de quatre simultanément.

    Dès lors, au sein de l’équipe Ingénierie de l’Interaction Homme-Machine (IIHM) sous ma direction puis aujourd’hui de Inria avec Anatole Lécuyer, Nataliya a cherché à imaginer des moyens de réduire drastiquement les temps d’apprentissage en couplant aux techniques issues du traitement du signal des concepts venant de l’IHM. Sa thèse de doctorat, intitulée « Co-apprentissage pour les interfaces cerveau-ordinateur », fourmille d’approches innovantes pour aider le sujet à maitriser la technologie et participer à l’apprentissage. La tentation du traitement du signal est assez naturellement de construire une boite noire qui reconnait les pensées de commande sans que le sujet n’ait rien à faire. Pourtant, se priver de l’implication du sujet est regrettable, car il est très difficile pour quelqu’un de structurer sa pensée pour faciliter la reconnaissance s’il n’a pas une certaine compréhension de ce que la machine reconnait et pourquoi elle le reconnait. Ainsi si vous souhaitez déclencher une commande de zoom, quelle pensée ou image mentale allez-vous construire et quelle stabilité a cette image dans le temps ? En impliquant le sujet et en construisant une situation de co-apprentissage entre le sujet et la machine, il est possible de grandement améliorer le temps d’apprentissage.  En scénarisant les phases d’apprentissage, Nataliya est arrivée à motiver les sujets à investir le temps nécessaire pour obtenir des résultats satisfaisants.

    Nataliya est guidée par une idée : démocratiser l’usage des interfaces cerveau-ordinateur. Si on écoute les centaines de quidams qui ont eu l’occasion de piloter un drone par la pensée en utilisant sa technologie lors de conférences ou d’événements grand public, on comprend qu’elle est sur le bon chemin.

    Bien sûr les défis sont encore nombreux et le domaine des interfaces cérébrales est encore jeune, un peu là où en était la reconnaissance vocale il y a trente ans. Les taux de reconnaissance qui sont plus souvent autour de 80-85% que 95% restent insuffisants pour être utilisables seuls en pratique, et les temps de latence pour reconnaitre une pensée se chiffrent encore en secondes. Mais il suffit de voir un sujet se prendre pour un jedi lorsqu’il fait décoller le drone par la pensée pour comprendre qu’il s’agit là d’une innovation majeure qui va mobiliser beaucoup d’intelligence collective dans les prochaines années.

    Franck Tarpin-Bernard, Université Grenoble Alpes, SBT

    @francktarpin @nataliyakosmyna