Logique Floue #11

De la physique nucléaire à l’IA : le parcours de Luca Colaneri

avec Luca Colaneri

Dans ce onzième épisode de Logique Floue, rencontre avec Luca Colaneri, ancien chercheur à l’Institut de physique nucléaire d’Orsay, qui a rejoint SpirOps en 2017.

Physicien de formation, Luca travaillait notamment sur la recherche de matière noire avant de quitter le monde académique. Il arrive chez SpirOps avec des bases en programmation acquises au cours de ses recherches, mais sans formation d’informaticien. Un changement d’univers qui l’oblige à apprendre en faisant, notamment grâce au travail en binôme avec les autres membres de l’équipe.

Depuis, Luca travaille principalement sur la voiture autonome, et notamment sur la manière dont un véhicule analyse les informations transmises par ses différents capteurs pour comprendre son environnement et prendre des décisions en temps réel.

Il revient sur ce qui l’intéresse dans l’approche développée par SpirOps : partir d’un problème, chercher à le comprendre et construire des règles explicites pour le résoudre, plutôt que de s’appuyer systématiquement sur l’apprentissage massif de données.

L’épisode permet d’aborder plusieurs questions :

• Quand faut-il utiliser l’apprentissage automatique et quand peut-on construire des règles explicites ?
• Pourquoi utiliser des modèles très lourds lorsqu’une approche plus simple peut suffire ?
• Comment concevoir des systèmes à la fois performants, contrôlables et économes en ressources ?

Mais Luca raconte aussi ce qu’il est venu chercher — et retrouver — chez SpirOps : le plaisir de la recherche, la curiosité intellectuelle et surtout le travail avec des personnes animées par la même envie de comprendre et de bien faire les choses.

CRÉDITS: Carole Cheysson - Pulse (interview), Sacha Bénard (assistant), William Lopez (mix), Kelian Regis (jingle), Yara ALnajem (illustration) et Audiomeans (hébergement et diffusion)

[00:00] INTRODUCTION :

Logique Floue est un podcast consacré à l'intelligence artificielle et au monde qui se construit autour d'elle. Au fil des épisodes, des chercheurs, entrepreneurs, philosophes ou acteurs publics viennent partager leur vision de l'IA. D'autres épisodes sont consacrés aux femmes et aux hommes qui la développent au quotidien. Dans ce nouvel épisode, rencontre avec Luca Colaneri, ancien chercheur à l'Institut de physique nucléaire d'Orsay, avant d'intégrer l'équipe de SpirOps, où ils trouvent une nouvelle manière de penser l'IA. 

[00:33] Luca Colaneri :

Moi, je suis un matérialiste. Ça veut dire que pour moi, le cerveau, l'intelligence, c'est un phénomène émergent d'interaction de la matière. Tout est physique pour moi. L'information est physique. Tout existe parce qu'il y a des particules qui s'agrègent dans des molécules, qui s'agrègent dans des choses végétales ou pas végétales, qui manipulent de l'information et, de façon extrêmement complexe, il y a l'intelligence qui émerge. Ce n'est pas moi qui l'ai dit, c'est comme ça. Et si on voit ce qu'aujourd'hui on a commencé à appeler l'intelligence artificielle, donc les réseaux des neurones profonds et l'intelligence générative, il y a une base mathématique très claire, très connue, et il y a souvent les mêmes atouts mathématiques comme les études de la physique marchent aussi dans ces domaines.

[01:30] Carole :

Est-ce que tu peux te présenter et me dire depuis combien de temps tu travailles chez SpirOps ?

[01:34] Luca Colaneri :

Je m'appelle Luca et je travaille ici à SpirOps depuis novembre 2017. Et SpirOps, ça a été mon vrai premier job en tant que salarié parce qu'avant de travailler ici, j'étais chercheur en CDD, donc j'étais en post-doc à l'Institut de physique nucléaire d'Orsay. Donc j'ai une formation de physicien. Je ne suis pas ingénieur, je ne suis pas informaticien de base. J'ai travaillé sur deux projets principalement quand j'étais chercheur, sur l'expérience de recherche de matière noire et sur un logiciel de... pour calculer des choses basées sur des formules qu'on appelle « Generalized Partons Distributions » qui dérive la distribution des composants, des protons, des neutrons, des particules qu'on appelle des hadrons. Donc ça c'était les choses qui m'ont appris à coder. Donc quand j'ai décidé de quitter la recherche, de chercher, un vrai travail, le seul atout que j'avais, c'était que je savais programmer un petit peu.

A l'époque, j'avais un peu peur d'aller travailler comme un data analyst. C'est la chose que font souvent les physiciens qui se reconvertissent. Je ne trouvais pas ça hyper intéressant. Mais ça arrive souvent parce qu'on a les outils mathématiques pour le faire. Donc ça marche bien. Quand on fait de la physique, on fait des analyses de données. Mais je voulais pas ça, donc j'ai cherché un peu et par pur hasard je suis tombé sur cette petite boîte, sur le site et donc j'ai envoyé un message, une candidature, j'ai dit je cherche du boulot et trois mois après il m'a répondu. On a fait un entretien, ça a bien marché. Ça a tellement bien marché qu'après huit ans désormais, je suis là, je suis toujours là.

[03:23] Carole :

Ça veut dire que tu savais pas coder ou coder juste pour finalement ton application et tu te retrouves dans une boîte qui fait entièrement ça avec des gens qui font ça de manière très poussée.

[03:37] Luca Colaneri :

Tout à fait. Donc depuis ce temps-là, j'ai un syndrome de l'imposteur parce que tout le monde ici code mieux que moi. Ils savent des choses que je ne sais pas parce que je ne l'ai jamais vraiment appris et parce qu'il ne m'intéresse pas vraiment à savoir tous les secrets des Windows ou d'un système réperatif. Ça ne m'intéresse pas vraiment. Ce qui est intéressant, c'est de comprendre comment faire des choses. Il y a le côté outils et le côté quoi faire avec l'outil. Moi, ça m'intéresse quoi faire avec l'outil. Je ne savais pas vraiment coder comme eux. J'avais des bases parce que quand on fait de la physique, il faut coder, il faut le faire. Mais pas à ce niveau-là. 

Un peu après, quand j'étais embauché, il m'a dit qu'on s'était dit que je ne pouvais pas coder mais que j'allais apprendre. Mais comme j'avais une thèse en physique, il pensait que j'étais intelligent et que j'allais apprendre. Ils ont fait un pari sur moi et apparemment, ils ne m'ont pas complètement perdu. Ils m'ont gardé tout ce temps-là. 

[04:36] Carole :

Et du coup, tu as dû apprendre en le faisant ou comment tu as appris ?

[04:41] Luca Colaneri :

En le faisant, parce qu'ici, il y a cette pratique que je trouve super, qu'on ne trouve pas souvent ailleurs, de faire du pair programming, donc d'être à deux personnes sur un ordinateur. Et la première personne avec qui j'ai travaillé, c'est Medhi, qui a été incroyable, d'une patience infinie, surtout parce que je ne savais pas bien coder et à l'époque je ne parlais pas si bien français. Travailler ici m'a poussé à bien apprendre cette langue parce que quand je faisais des recherches on parlait presque exclusivement en anglais. Mes collègues n'étaient pas tous français donc on parlait en anglais. Ça a ralenti beaucoup mon apprentissage de la langue. Et Medhi était fantastique . En étant deux, moi j'avais les idées mais je ne savais pas comment les réaliser. Et avec lui, j'ai appris plein de choses.

[05:23] Carole :

Est-ce qu'il y a justement un projet sur lequel tu travailles en ce moment et où tu fais ça ?

[05 :30] Luca Colaneri :

Oui. Alors, depuis que je suis à SpirOps, j'ai toujours travaillé plus ou moins sur le même projet, qui est le projet de la voiture autonome. D'abord, j'avais travaillé avec Mehdi sur la fusion, qui est le fait que sur les véhicules autonomes ont différents capteurs, qui dit chacun sa vérité et l'objectif de la fusion c'est de merger toutes ces vérités pour arriver à une vérité cohérente consistante, qu'on peut utiliser après avec dans les cerveaux de la voiture pour prendre des décisions après comme un de ces capteurs qu'on utilisait dans les projets était vraiment pas bon, j'ai été affecté à la reconstruction de l'information à partir des données brutes de ces capteurs, notamment des Lidars. Ce sont des faisceaux laser qui balayent le paysage et nous donnent un nuage de points. A partir de ces nuages de points, on reconstruit les objets que l'on voit autour de la voiture. C'est tout à fait de l'analyse de données. La tâche est difficile parce que cette analyse des données doit advenir en temps réel. On n'a pas les temps de regarder les données au calme, à faire beaucoup de travail, beaucoup de calculs pour sortir les informations. Ça peut se passer en quelques millisecondes parce qu'après, il y a tout de suite de nouvelles données qui vont arriver et il faut les faire.

Et donc là, il faut réfléchir à l'algorithme. Dans l'algorithme, ça veut dire, je regarde ça, si ça, alors ça, ça c'est l'idée c'est l'algorithme. Après il y a l'implémentation de l'algorithme. Nous on code ainsi place-place donc il y a ces secrets, les choses à savoir. Mais ça je trouve moins intéressant, c'est ça mon point de vue quand je parle d'outils et d'utilisation de l'outil. L'outil c'est le langage de programmation, c'est l'ordinateur. Mais une fois que j'ai l'idée, une fois que je trouve l'idée , je ne viens pas de voir comment ça marche mais le moment que je vois ok c'est ok, là je me lasse, je n'ai pas envie d'aller au fond du détail, du langage, d'être tout contrôlé jusqu'à la dernière ligne, du code, du dernier bit. Il y a des gens ici qui aiment vraiment beaucoup ça. Heureusement qu'il y a, parce que ça accélère les choses, ça fait marcher tout la boîte.

[07:40] Carole :

Et quand tu imaginais l'intelligence artificielle avant de commencer à le faire, c'était quoi pour toi ? Ça voulait dire quoi ? Comment ça allait s'appliquer ? Qu'est-ce qui allait... Qu'est-ce qui était intéressant de réfléchir et de créer ?

[07:55] Luca Colaneri :

J'avoue qu'à l'époque, c'était tout très vague parce que je ne connaissais strictement rien. Après que j'ai commencé à travailler ici, j'ai commencé vraiment à explorer, à lire plus, à étudier, à m'informer. Et j'ai découvert tout un monde. L'approche SpirOps, c'est de comprendre les choses et de l'implémenter, donc de créer des règles, des choses qui sont intelligentes, subtiles, mais qui ont besoin d'une compréhension. Quand on crée une chose, il faut qu'on la comprenne bien. L'approche des réseaux de neurones, qui a un succès énorme parce que ça marche bien, et je trouve ça génial parce que c'est une émergence comme l'intelligence, une interaction simple qui crée une chose extrêmement complexe, mais c'est une façon de faire de force brute parce que on comprend pas, on comprend pas ce qui se passe. Il faut que je fasse un exemple concret quand on fait la reconnaissance d'image on prend l'image si moi je dois faire une règle qui dit quand on regarde ces images à regarder les pixels par pixel est une règle spécifique, verbaliser pour dire ça c'est un chat, ça c'est un chien c'est un tache presque impossible.

Les réseaux de neurones arrivent à prendre ces règles tout seul et ça c'est super c'est incroyablement, c'est vraiment génial, mais c'est brute force donc on lui donne les données et il apprend tout seul ça permet de faire des choses justement qu'on ne peut pas verbaliser. Ça, je pense que c'est vraiment la distinction. S'il y a des règles que je peux expliquer, il n'y a pas besoin de raisonner. Et un bon exemple de ça, c'est par exemple la conduite autonome. Notre approche, c'est que les règles, on peut les dire. Elles ne sont pas infinies. C'est simple. Il ne faut pas taper quelqu'un, il faut rester sur la route, il faut aller d'ici à là-bas. Bon, je simplifie, mais c'est simple. On peut verbaliser les règles. S'il doit reconnaître des choses complexes dans une image...  on ne peut pas verbaliser les règles. Je peux les verbaliser pour un autre être humain qui comprend mon langage et lui dit il y a cette caractéristique mais du point de vue des données brutes lues par un ordinateur, des bits à lire on ne peut pas. C'est trop compliqué. Un réseau de neurones peut.

Donc c'est pour la plupart des choses et des applications qu'on peut utiliser au niveau commercial, moins intéressants. Moi, quelqu'un qui me demande de faire un réseau de neurones, qui fasse un truc, je n'ai pas envie de le faire. Ça ne me rajoute rien. C'est de l'assemblage. Ça ne me demande pas un effort intellectuel fort. Par contre, le faire avec notre approche, c'est autre chose. Avec tout l'avantage que, comme on n'a pas besoin de gigabytes de données, on n'a pas besoin d'une infrastructure immense pour travailler. On peut corriger les erreurs tout de suite parce qu'on peut les identifier tout de suite parce que toutes les règles sont bien définies. Donc on sait s'il y a une erreur, où ça se produit et comment le corriger. Après, du point de vue strict de l'intelligence artificielle, moi je pense que l'approche de SpirOps, l'idée qu'ils ont à la base, le fondateur avec le cerveau de SpirOps, a une quantité d'application infinies énormes qui sont vraiment en concurrence avec plein d'applications que les gens utilisent, que les gens font des réseaux de neurones. La facilité, entre guillemets, des réseaux de neurones c'est que comme on disait c'est de la force brute, j'ai pas besoin de réfléchir mais c'est très souvent overkill, on n'a pas besoin, on peut le faire autrement avec tous les avantages du point de vue, de l'infrastructure, du contrôle, du coût énergétique et du coût vraiment économique pour tout, pour les choses, pour le nombre de gens qui doivent travailler, pour le nombre d'ordinateurs utilisés, etc.

[11:56] Carole :

Si on doit réfléchir à l'intelligence artificielle de manière peut-être un peu plus globale et puis en regardant loin, qu'est-ce que... Qu'est-ce qui t'enthousiasme ? Qu'est-ce qui te fait envie sur ce qui va arriver dans l'intelligence artificielle que vous créez ici chez SpirOps ?

[12:12] Luca Colaneri :

Je n'ai jamais réfléchi à ça. Moi, je me trouve bien ici, je vais prendre très large. La première chose, c'est vraiment d'un point de vue humain et intellectuel, dans le sens que l'équipe est fantastique. Les gens sont super. Il y a une bienveillance infinie l'un vers les autres. Si j'ai une question, ils me répondent, il n'y a jamais de jugement sur le fait que je ne sais pas, que j'aurais dû savoir, etc. Et comme je disais tout à l'heure, tout le monde connaît mieux que moi. Et ils m'ont dit, je ne sais pas qui a dit ça en premier, la source de ce dicton, c'est que Si tu es la personne la plus intelligente dans la pièce, tu n'es pas dans la bonne pièce. Et moi, je suis dans la bonne pièce parce que j'ai toujours quelque chose à apprendre ici de quelqu'un.

[12:55] Carole :

Tu me dis que ce qui te plaît le plus aujourd'hui dans ton travail, c'est l'aventure humaine.

[13:00] Luca Colaneri :

Ah oui, ça vaut tout. Parce que quand j'ai travaillé dans la recherche, déjà l'ambiance n'était pas si paisible qu'ici. Franchement, ça dépend un peu. Mais quand même, j'ai travaillé avec des gens. Quand on fait de la recherche, on ne le fait pas pour l'argent ou pour le succès. C'est une chose, parce qu'on est passionné, malheureusement, on est mal payé. Et le fait que tout le monde, au moins dans le domaine de la physique que j'ai vécu, les gens sont hyper passionnés, même j'ai vu des professeurs qui, proche de la retraite, il y avait vraiment la passion de faire, de travailler, d'avancer, de comprendre, de faire apprendre aux autres. Ça, c'était super. Et j'avais peur de perdre ça quand j'ai changé de chemin. Et si je le retrouvais pas ? Ici il y a des personnes et il y a des personnes partout. Et je pense que les choses se passent bien dans une boîte quand les gens ont les mêmes objectifs, plus ou moins. Et quand l'objectif c'est de bien faire les choses, quand on est passionné de les faire, c'est pas juste un devoir. Parce que souvent on a des collègues ailleurs, je parle de ma femme, de mes amis, il y a le collègue qui doit venir au boulot parce qu'il a besoin d'un salaire. C'est humain, je pense que 90% des gens vont au travail parce qu'ils doivent, pas parce qu'ils sont passionnés pour ce qu'ils font. Et ça, c'est un grand frein à la motivation.

Et donc, il y a différentes personnes dans le même endroit qui ont différents attentes l'un de l'autre, différents niveaux de ça suffit, ça suffit pas, et ça crée de la friction. Après, il y a aussi tous les côtés de... d'envie personnelle de monter dans la hiérarchie de toutes les aspirations personnelles comment on dit la, j'ai un trou de mémoire, l'ambition personnelle ou l'égo tout simplement les gens qui se sentent supérieurs sans pas l'être, tout ça crée une ambiance souvent toxique, après je parle d'expérience pas personnelle, mais des proches qui... Quand on met à la tête quelqu'un qui n'est pas bien, il prend des décisions qui ne sont pas les bonnes décisions, et en cascade, ça pourrit la vie à tout le monde. Ici, déjà le fait qu'on prenne des décisions collectivement, ça empêche ces problèmes. On ne subit pas les décisions des autres, donc on n'est pas frustré. Mais vraiment, la chose qui change tout, c'est vraiment l'enthousiasme de faire les choses. Quand on est content de faire les choses, sans oublier le résultat, on est content de travailler ensemble vers le même objectif, ça créé l'harmonie qui fait marcher les choses.