FYI.

This story is over 5 years old.

Tech

Un algorithme pour aider les robots à comprendre le concept de causalité

Si un robot détecte la présence d’une canette vide sur le sol, comment saura-t-il ce qu’il faut en faire ?
Image: Science

Représentez-vous une canette de soda écrasée sur le sol. Intuitivement, vous vous demandez sans doute déjà ce qu'il lui est arrivé. Peut-être que quelqu'un l'a écrasée entre ses mains, ou l'a jeté sous les roues d'une voiture dans un accès de rage. Peut-être même qu'un individu l'a écrasée de toutes ses forces contre son front en hurlant « DÉTONATEUR !!! »

Quel que soit l'événement qui a mis la canette de soda dans cet état, n'importe quel humain est capable de passer en revue des scénarios possibles dans sa tête, et de les classer en fonction de leur plausibilité. Nous faisons cela sans même y songer. En revanche, pour un ordinateur, c'est une toute autre paire de manches.

Publicité

Depuis quelques temps, des programmes très complexes appelés réseaux de neurones ont été perfectionnés au point de pouvoir reconnaître des objets avec un haut pourcentage de réussite. Ils peuvent en outre reconnaître une canette de soda compressée, mais ne pourront certainement pas en déduire d'où elle vient, et ce qui l'a mis dans cet état. Dans le futur, on ne pourra pas se contenter de robots capables d'identifier un objet tombé au sol, de le regarder deux minutes puis de passer à autre chose. Personne ne veut un futur peuplé de robots malpropres.

Si le robot savait su que la canette avait un jour été en parfait état et remplie de soda, mais que quelqu'un avait bu son contenu avant de la jeter, alors il pourrait déduire que la « canette » est maintenant un « déchet ». Ensuite, il pourrait la recycler en conséquence. Pour que des machines agissent de manière aussi efficace que des humains dans le monde réel, elles doivent être capables de faire des inférences sur l'histoire d'un objet. C'est à cette condition seulement qu'elles pourront interagir avec lui de manière appropriée : les robots doivent être à même d'identifier des relations de causalité, et d'en comprendre la structure.

Une équipe de chercheurs en informatique du MIT, de l'Université de New York et de l'Université de Toronto sont convaincus qu'ils ont fait une découverte fondamentale sur la capacité des robots à imiter le comportement humain. Dans un article publié dans ScienceScience, ils décrivent comment ils ont entrainé un algorithme à analyser et identifier les éléments d'une large collection de traits tracés à la plume. Ces traits proviennent de caractères tracés à la main, eux-mêmes issus de mots écrits dans une cinquantaine de langues différentes. Ensuite, ils lui ont présenté de nouvelles images de caractères, inconnus cette fois. L'algorithme a dû imaginer de quelle manière ces caractères avaient été tracés, en considérant plusieurs possibilités. Enfin, il a dû dessiner lui-même les caractères en question.

Publicité

Dans un sens très étroit, l'ordinateur a réussi à « examiner » une chose—ici, une lettre—et à déduire de quelle manière elle avait été conçue.

Regardez Motherboard: Inhuman Kind

Ruslan Salakhutdinov, l'un des co-auteurs de l'article et chercheur à l'Université de Toronto, explique : « Si voulez que votre robot parvienne à un niveau de reconnaissance d'objets équivalent à celui d'un humain, qu'il puisse identifier tout ce qui l'entoure, il faut construire un système capable d'apprendre des dizaines de milliers de catégories et d'identifier très rapidement de nouveaux objets. La question est : comment y parvenir ? ».

Après la première session d'entrainement, l'algorithme était désormais capable de reconnaître, déconstruire, et reproduire un nouveau caractère après y avoir été exposé une fois seulement. Salakhutdinov appelle cela « l'apprentissage en one shot. » L'astuce est d'utiliser un algorithme bayésien, un outil de machine learning plus simple que les réseaux de neurones en général ; en effet ces derniers peuvent utiliser des dizaines de « couches » de neurones stimulés. L'approche bayésienne que les chercheurs ont utilisée, basée sur l'inférence de probabilités, nécessite également des quantités de données moindres que la plupart des réseaux de neurones. Ceux-ci ont besoin de milliers et de milliers d'exemples avant de pouvoir reconnaître une image correctement ou d'en générer une nouvelle.

Publicité

« Les humains font cela très bien. Si je vous montre un caractère coréen, vous n'avez pas besoin d'en voir des milliers avant de pouvoir dire de quel caractère il s'agit, ou d'arriver à en reproduire la forme. Mais pour un ordinateur, c'est très difficile » ajoute Salakhutdinov.

Les applications possibles de l'algorithme mis au point par les chercheurs n'ont d'ailleurs rien de vraiment futuriste. Un algorithme qui peut décortiquer l'image d'un objet pour en analyser les différentes parties, puis deviner comment il a été constitué, pourrait être utilisé par exemple dans le domaine de la

reconnaissance automatique de la parole

.

« Imaginons que vous entendez le mot « Chewbacca » pour la première fois. Qu'est-ce qu'un fichu Chewbacca ? Une fois que vous connaissez la réponse à cette question, vous ne vous la posez plus. Lors du développement de l'enfant et de l'acquisition du langage, ce processus est constamment à l'oeuvre. Les humains sont très bons pour ça. En ce qui concerne les images, c'est pareil. On pourrait appliquer les mêmes principes d'identification par des algorithmes dans différents domaines. »

Après tout, à quoi pourrait bien servir un robot qui sait identifier une canette de soda sur le sol, s'il ne sait pas ce qu'est une poubelle ?