Christophe Tricot : “Prédire, c’est le principal terrain de jeu du machine learning”

C

Co-fondateur et directeur général de La Forge, incubateur spécialisé dans l’intelligence artificielle, Christophe Tricot a tenté d’ouvrir pour nous la “boîte noire” de l’IA et a souligné les limites de notre modèle… Une interview réalisée avant le premier tour des municipales en mars.

Christophe Tricot

En quelques mots, pouvez-vous vous présenter ?

Je m’appelle Christophe Tricot, j’ai un passé de chercheur après une formation d’informaticien spécialisé sur des technologies d’intelligence artificielle. J’ai fait un doctorat sur tout le champ de la modélisation/représentation de connaissances et commande des graphiques. J’ai aussi un passé d’entrepreneur dans le conseil, ma dernière expérience avant La Forge consistant à accompagner des entreprises de différentes tailles avec différentes problématiques, principalement des grands groupes, pour déployer des technologies d’IA.

Quel est le projet de La Forge, l’incubateur que vous avez co-fondé ?

On a créé La Forge en octobre 2019 avec pour ambition d’aider les entreprises qui ne peuvent pas faire de l’IA, faute de temps, de compétences ou d’argent, mais qui veulent lancer des produits qui tirent le meilleur parti des nouvelles technologies d’intelligence artificielle. La Forge, c’est quatre personnes opérationnelles quasiment à temps plein et un comité d’accompagnement qui s’est baptisé “Les Forgerons”. Ce sont en fait des investisseurs – une dizaine de personnes – qui nous aident à accompagner les entreprises dans lesquelles on investit et à qualifier des projets.

Aujourd’hui nous avons investi dans un projet qui se spécialise sur la chirurgie de la cataracte. Nous sommes à la recherche cette année de deux autres projets. Des entreprises qui ont un savoir-faire assez avancé – typiquement c’est ce qu’on trouve dans la médecine mais on le voit aussi dans plein d’autres domaines -, qui ont déjà une équipe, mais qui ne savent pas faire de l’IA et qui ont surtout la volonté de lancer un nouveau produit avec ces technologies.

Intelligence artificielle : ensemble des techniques et technologies qui permettent de résoudre des problèmes complexes en s’inspirant de l’humain.

Christophe Tricot

Pouvez-vous définir l’intelligence artificielle et le machine learning ?

Définir l’intelligence artificielle c’est aussi compliqué, je pense, que définir l’intelligence tout court. Si on regarde un peu son évolution depuis les années 50 et les différentes pratiques, on peut l’assimiler à l’ensemble des techniques et technologies qui permettent de résoudre des problèmes complexes en s’inspirant de l’humain. Au début, l’IA revient à se dire que nous sommes capables de “simuler le comportement intelligent”. C’est un champ de pratiques qu’on appelle intelligence artificielle, mais qui n’a en fait rien d’intelligent. On parle bien de simulation et ne faut pas aller chercher de l’intelligence ailleurs que dans la tête de ceux qui la conçoivent. Ce qui est important dans cette définition, en tout cas à mes yeux, c’est qu’on ne parle pas d’”une” intelligence artificielle, mais bien d’un “un ensemble de techniques et technologies”.

Pour nourrir cette ambition de résoudre des problèmes complexes en s’inspirant de l’humain, on a eu différentes approches. Historiquement, il y a eu une approche qui était plus issue du monde des logiciens, de la philosophie, qui est je dirais “symbolique”. Là vous allez retrouver tous les systèmes experts. Une autre approche qui a le vent en poupe en ce moment, c’est celle du machine learning.

Justement, comment expliquer en quelques mots le concept de machine learning ?

Cette fois, il s’agit de techniques statistiques qui consistent à dire : “pour simuler l’intelligence humaine, je vais me baser sur plein de données d’exemples”. Là on parle d’apprentissage automatique. A partir de ces données d’exemples, on va entraîner, déduire un “modèle” qui permet de reproduire ce comportement dit “intelligent”. Ça c’est tout le champ du machine learning. Si je schématise, on peut faire trois choses avec le machine learning : de la classification, autrement dit mettre des objets en boîte, de la régression linéaire, c’est-à-dire prédire des valeurs, et enfin du clustering, c’est-à-dire que cette fois je n’ai pas les boîtes, mais je vais essayer de les faire émerger.

Au départ, on s’est demandé comment le cerveau faisait pour traiter l’information.

Christophe Tricot

Pouvez-vous expliquer ce qu’est un réseau de neurones et comment il s’inscrit dans ces technologies ?

Si on parle de s’inspirer de l’humain, c’est effectivement parce que, dans le machine learning, on parle souvent des “réseaux de neurones”. Au départ, on s’est demandé comment le cerveau faisait pour traiter l’information. En résumé, on a supposé un comportement des neurones donné et on l’a reproduit de manière logique et informatique. Cela a donné les “perceptrons” au début, puis le premier réseau de neurones. Sont venus ensuite des réseaux de neurones plus compliqués, plus “profonds”, ce qui a donné en anglais le “deep learning” (apprentissage profond). Dans l’IA on a donc le champ de l’apprentissage automatique et du machine learning qui a lui-même en son sein le champ des réseaux de neurones. Et encore à l’intérieur des réseaux de neurones, les techniques les plus avancées, les plus complexes, que sont le deep learning. Le deep learning c’est des réseaux de neurones à plusieurs couches.

Le deep learning, c’est donc l’aboutissement des réseaux de neurones ?

Pas vraiment. Ce qu’il ne faut pas entendre dans mes propos c’est que le deep learning est plus puissant que les autres. C’est plutôt une technique qui est plus adaptée à certains usages. On a plein d’exemples, dans des domaines différents comme le domaine bancaire, où on ne va même pas utiliser des réseaux de neurones. Il y a des techniques statistiques comme le “random forest” qui sont des techniques de machine learning qui marcheront beaucoup mieux et qui peuvent être aussi très complexes dans le service qu’on va proposer. Il faut le voir comme une typologie.

Comment fonctionne un réseau de neurones ?

Le fonctionnement des réseaux de neurones est plutôt simple pour un esprit averti comme celui d’un mathématicien ou d’un statisticien. In fine, un réseau de neurones, comme son nom l’indique, c’est plein de neurones qu’on a connectés en plusieurs couches. Et le fonctionnement d’un neurone est décrit par une formule mathématique et statistique. C’est pour cela que, même si on parle de réseaux de neurones, ceux qui manipulent ces techniques-là dans les entreprises sont des statisticiens.

Ce qu’on ne sait pas dire dès qu’on parle d’apprentissage automatique, c’est comment le modèle va se configurer.

Christophe Tricot

Un neurone se résume donc à une formule mathématique ?

Pas une mais des formules. En réalité, en fonction des types de neurones qu’on va mettre dans le réseau, on va avoir différentes configurations. Et c’est là que ça se complexifie, parce qu’on va rajouter des éléments de complexité qu’on appelle par exemple la “backpropagation”. On vient recomplexifier le modèle comme des pièces mécaniques qu’on assemblerait, comme des Lego© en un peu plus complexe. Mais tout cela reste toujours explicable par des formules mathématiques. Des formules qu’il ne faut pas confondre non plus avec des lignes de code…

On est loin de la “boîte noire” souvent décrite…

On sait expliquer à l’échelle du neurone ce qu’il se passe, sans problème. On sait aussi expliquer à l’échelle du réseau de neurones ce qu’il se passe. C’est un algorithme qui le fait. Mais ce qu’on ne sait pas dire dès qu’on parle d’apprentissage automatique, c’est comment le modèle va se configurer. Car un réseau de neurones, c’est plein de couches de neurones qui, à partir des données d’exemples, vont se configurer. Et au bout d’un moment, on va considérer que le modèle marche bien.

Par exemple, si je veux faire reconnaître à une machine des photos de chats et de chiens dans une bibliothèque de photos, je vais l’entraîner sur les données d’exemples. Je vais la laisser se configurer jusqu’à avoir une configuration des neurones satisfaisante, pour détecter suffisamment bien les photos. Je ne saurai pas dire à l’arrivé pourquoi on a tel poids ou telle configuration sur chaque neurone, parce que c’est l’approche statistique qui l’aura déterminé par approximations successives, par à-coups de “régression linéaire” selon le terme statistique. C’est le degré d’approximation qui va définir un certain nombre de points. Le tout c’est de savoir que, globalement, ça marche.

Est-ce qu’on peut aussi expliquer en quelques mots ce qu’est le Gradient Boosting qui a été utilisé dans notre modèle ?

Le Gradient Boosting, comme les réseaux de neurones, c’est une des techniques qu’on va retrouver dans la besace d’un data scientist. Il va permettre de mieux préparer les données, de procéder par agrégation et d’optimiser les données. Le terme “boosting”, ça vient de là. Le Gradient Boosting, c’est comment on prépare les données pour que, statistiquement, on trouve le meilleur moyen de les analyser. C’est typiquement utilisé pour de la “classification”. Là on entre vraiment dans le détail, mais la classification c’est le problème qui consiste à classer plein d’objets dans différentes boites. On a par exemple des objets rouges, des objets bleus, des objets jaunes… L’idée est de déterminer dans quelle boîte mettre chaque objet, ou dans quelle “classe”. En bref, le Gradient Boosting, c’est une technique qui permet de mieux préparer les données pour mieux les classer.

Prédire, je dirais qu’on fait ça tous les jours. C’est même le champ d’application de l’IA et du machine learning.

Christophe Tricot

Quel est le champ d’application où les méthodes de machine learning sont le plus souvent utilisées ?

Le machine learning est souvent utilisé par les entreprises dans tout ce qui est prédiction de l’attrition (perte de clientèle – NDLR). Si je suis une entreprise, je veux pouvoir prédire quand mon client va partir. On sait qu’un client, ça coûte très cher à acquérir, on dit d’ailleurs qu’il vaut mieux garder ses clients plutôt qu’en chercher d’autres. Il faut donc détecter celui qui va partir pour le retenir, lui faire une offre commerciale, lui proposer des choses. Dans la relation client, le scoring de l’attrition, c’est un truc qui marche très fort. C’est l’usage numéro 1 du machine learning. Quand on est dans l’industrie par contre, on peut faire du prédictif pour tout ce qui est détection de problèmes mécaniques par exemple. Prédire quel appareil il faut maintenir, quel appareil il faut changer, celui qui va tomber en panne…

Prédire des résultats d’élections avec ce genre de technique, est-ce possible ?

Utiliser d’une part le big data, c’est à dire la matière de données hétérogènes et d’autre part les techniques de machine learning pour prédire, je dirais qu’on fait ça tous les jours. C’est même le champ d’application de l’IA, et du machine learning en particulier, qui est le plus porteur. C’est ce qui génère le plus de valeur auprès des entreprises à très court terme. Quand on parle d’IA, bien souvent, on parle de prédictif. Donc prédire un résultat, que ce soit par une classification ou que ce soit sur une valeur comme un score, cela marche très bien quand on a de bonnes données d’exemple. Prédire le gagnant d’une élection n’est pas si différent de prédire quel client va rapporter le plus gros chiffre d’affaires ou quel client va se sauver.

Il faudrait enrichir ces données avec tout ce qui peut impacter le résultat.

Christophe Tricot

Que pensez-vous du modèle que nous avons développé pour les municipales ?

Prédire les résultats d’une élection en se basant uniquement sur les données figées et les élections passées – le candidat 1 a eu tant de part de voix et le candidat 2 tant de part de voix -, ne va pas forcément être très pertinent. En tout cas on sera beaucoup plus pertinent si on est capable d’aller chercher des données sur ce qui se passe autour. J’aurais tendance à prendre en compte et à privilégier dans le modèle tout ce qui vient impacter les résultats d’élections. Typiquement l’actualité, qui vient régulièrement changer la donne en politique. Et là, il y a beaucoup d’informations possibles. C’est d’ailleurs là que ça devient difficile. Intellectuellement, on peut imaginer avoir toutes les datas, mais dans la pratique c’est plus compliqué. On n’a pas forcément accès à toutes ces données, soit parce qu’elles ne sont pas disponibles, soit parce qu’on n’a pas droit de les utiliser, soit parce qu’on aura trop de biais, etc. En tout cas, j’aurais tendance à essayer d’enrichir. Plus on va avoir de données en volume, plus on va avoir d’informations, plus on pourra aller sur des techniques de machine learning complexes.

Est-ce à dire que nous manquions de données pour avoir un modèle pertinent ?

Il faudrait enrichir ces données avec tout ce qui peut impacter le résultat. Par exemple et pour caricaturer, si je donne juste le nom d’un candidat, sans donner la ville ou sans information sur le lieu, je ne vais rien prédire. Le modèle va se baser uniquement sur des lettres, ce qui n’aura pas de sens. Par contre, si on prend des données très chaudes sur ce qui se passe dans l’actualité, cela va dire quelque chose. Je pense par exemple à regarder dans la presse de qui et de quoi on parle, à regarder le nombre de followers d’un candidat sur Twitter, le nombre des personnes à qui il est connecté. La presse, quand elle parle d’un candidat, ça dit quelque chose, les entreprises citées ou les autres personnes citées avec ce candidat disent quelque chose. Tous ces éléments-là disent quelque chose de ce qui se passe. On peut donc espérer leur appliquer du machine learning pour faire un modèle. Là on parle de “featuring” c’est à dire : quels éléments d’informations je vais prendre pour entraîner mon modèle.

Plus on a d’informations au départ, plus on a de chances d’avoir des features pertinentes à la fin pour le modèle…

Oui. Typiquement les réseaux de neurones, technique que vous avez utilisée, demandent pas mal de données en entrée avec assez de profondeur. Le deep learning c’est pire. Cela demande beaucoup de volume de données avec plein d’informations différentes sur les individus. Si vous avez peu de données, beaucoup vont être hyper corrélées, c’est à dire qu’elles vont être dépendantes les unes des autres. On risque alors de faire ce qu’on appelle du “surentraînement”. On va tourner en rond ou enfoncer des portes ouvertes et ça ne va pas être un plus. Surtout, il faut chercher les biais dans les données parce qu’on peut, sans s’en rendre compte, reproduire de grosses bêtises.

Si vous avez peu de données, beaucoup vont être hyper corrélées. On risque alors de faire du “surentraînement”. On va tourner en rond ou enfoncer des portes ouvertes.

Christophe Tricot

En fonction de ce que vous allez pouvoir agréger comme informations sur les objets sur lesquels vous voulez apprendre, vous allez au contraire pouvoir faire varier votre modèle avec différentes techniques. C’est là que le travail du data scientist intervient parce que toutes les données ne seront pas signifiantes, en tout cas ne seront pas utiles. C’est tout le savoir-faire du data scientist de trouver le modèle qui est le plus pertinent et de s’adapter aux données qu’on lui donne. J’aime définir le data scientist comme un artisan. Quelqu’un qui, en quelque sorte, maîtrise l’”art”, qui a une expertise, un savoir-faire, qui connaît les techniques, mais qui a surtout une expérience qui lui permet de dire comment utiliser ces techniques, comment les mettre bout à bout, quels résultats on peut espérer obtenir à partir des données.

La machine ne se passera donc jamais de l’homme ?

En ce moment il y a toute une mode du machine learning automatisé (“AutoML”) qui vise à dire qu’on n’a plus besoin des data scientists. C’est une approche un peu brute qui se prive de tout le savoir-faire des bons data scientists. En fonction de l’analyse qu’on veut faire, des données qu’on a, leur volume, leur complexité, leur qualité etc. et en fonction des techniques qui sont possibles et accessibles, ce sont pourtant eux qui vont déterminer la meilleure stratégie pour atteindre l’objectif.

L’intelligence artificielle est un moyen de démultiplier l’expertise. Mais il faut qu’il y ait une expertise à démultiplier !

Christophe Tricot

Faut-il qu’un expert, comme un politologue par exemple, soit à côté du data scientist pour l’aider à sélectionner les bonnes données ?

Je pense même que c’est indispensable. Pour une simple raison : d’après moi, l’intelligence artificielle est un moyen de démultiplier l’expertise. Si je suis capable, moi, humain, de trier des photos de chats et de chiens pour reprendre mon exemple, avec l’IA je vais pouvoir en traiter beaucoup plus, beaucoup plus vite. Donc je vais aller plus loin. Mais il faut qu’il y ait une expertise à démultiplier ! Je peux utiliser l’intelligence artificielle pour diagnostiquer le coronavirus – on en parle beaucoup en ce moment avec ce qu’a fait Alibaba pour détecter les cas avec un taux de réussite a priori de 97%. Or ce n’est pas la machine qui s’est dit d’elle-même qu’elle allait faire ce travail. Non. Si elle l’a fait, c’est qu’il y avait des scientifiques qui étaient capables d’avoir de la data et donc qui étaient capables de la faire parler.

Le data scientist doit travailler avec un expert pour donner du sens aux données. Et je parle de “sens” à double titre : c’est la signification qu’on attribue aux données, mais c’est aussi la direction que le scientifique va donner à son modèle. C’est lui qui sait qu’avec ces données, a priori, on doit pouvoir détecter ou diagnostiquer telle maladie, ou détecter que telle personne va être élue ou pas. S’il n’y a pas l’expertise “métier”, le data scientist va, au pire, mouliner la donnée et sortir des choses qui sont aberrantes. Au mieux, il va devoir lui-même se forger un premier vernis d’expertise pour comprendre a priori ce que peut être le sens d’une donnée… La transmission de l’expertise entre l’équipe porteuse d’un projet et les équipes de data scientists est indispensable. Il faut qu’il y ait des experts métier à côté du data scientist, mais il faut également qu’il y ait le porteur du projet, le porteur du produit, il faut qu’il ait toutes les parties prenantes. Le modèle prédictif est rarement l’alpha et l’oméga d’un projet. Ce modèle, on va l’intégrer dans une chaîne de valeur plus complexe, avec des usages derrière.

Nous ne sommes pas à l’abri de trouver un truc incroyable dans les datas.

Christophe Tricot

Conclusion ?

Je dirais, peut-être, qu’on ne sait pas sans avoir essayé. Le message fort, c’est qu’avec l’IA, on est sur une page blanche, parce que les usages sont nouveaux, les données sont nouvelles. Et donc bien malin est celui qui peut dire “ne faites pas ça, ça ne marchera pas”, bien stupide est celui qui dit “faites-le, je suis sûr que ça va marcher”. Nous ne sommes pas à l’abri de trouver un truc incroyable dans les datas, le truc génial. Les succès, quand on les explique a posteriori, semblent souvent évidents, mais encore fallait-il essayer. Et tant qu’on n’a pas mis les mains dedans…

En savoir plus sur La Forge, incubateur dédié à l’intelligence artificielle

Benoit Deshayes

Responsable de la rédaction de Linternaute.com