The blog of blog of blogs

Les aventures d'un ethnologue dans le grand monde

IA et deep learning (1): la constitution des datasets 12 avril 2021


.

.

Tout a commencé en 2012 lors d’une compétition informatique, lorsque la méthode de l’apprentissage profond (deep learning) a prouvé qu’elle était meilleure pour identifier visuellement des objets que toutes les méthodes concurrentes. C’est ce qui a permis d’ouvrir de vastes possibilités dans le domaine de l’intelligence artificielle (IA).
Il était désormais possible de trouver non seulement des solutions au problème technique de la reconnaissance d’image (machine vision) mais surtout il était possible de dupliquer la méthode au-delà des seules images. Le deep learning s’est imposé comme une méthodologie standard qui permet aussi d’identifier les sons, le langage manuscrit, etc.

Pour faire court, le deep learning consiste d’abord à coller des étiquettes de texte sur des images, afin de construire de gigantesques jeux de données (datasets) de référence. On est dans un ordre de grandeur au moins mille fois plus grand que votre gigantesque fichier Excel de 1 giga octet, bienvenue dans le Big Data. Dans un second temps, ces jeux de données sont utilisés comme échantillon pour permettre à des algorithmes d’apprendre seuls à répéter la même tâche jusqu’à être capables de répéter cette tâche en dehors du jeu de données de référence qui a servi à les « éduquer ». 

.

La première étape est donc de disposer d’un référentiel de mots bien organisé et ce n’est déjà pas une mince affaire.

La référence du secteur s’appelle WordNet , une base lexicale qui fait autorité depuis les années 1980 (on en avait besoin avant l’ère de l’ordinateur !) et qui compte à ce jour plus de 155000 mots organisés dans une arborescence logique de 175000 sous-ensembles et 200000 paires, du type : carnivore > canidé > chien >  toutou

Ne vous laissez pas avoir par la simplicité de cet exemple… WordNet est géré par l’université de Princeton et si vous voulez ne serait-ce que commencer à comprendre le sujet il est necessaire de s’attaquer à : Fellbaum, Christiane : WordNet and wordnets. In : Brown, Keith et al. : Encyclopedia of Language and Linguistics. 2005

 

.

La deuxième étape consiste à disposer d’une banque d’images. L’une des plus vastes est ImageNet   : 14 millions d’images reroupées en 21000 sous-ensembles logiques. On notera que l’arborescence d’ImageNet réplique celle de WordNet afin de permettre une forte coherence entre les deux, jusqu’à pouvoir les faire fonctionner comme un unique ensemble. Car les images seules ne servent à rien. Ce qui fait la valeur d’ImageNet c’est l’association d’images à des mots du lexique WordNet.

Les plus curieux pourront lire avec intérêt : L. Fei-Fei and J. Deng. ImageNet: Where have we been? Where are we going?, CVPR Beyond ImageNet Large Scale Visual Recognition Challenge workshop, 2017

Il est ainsi possible d’avoir des milliers d’images de petite cuillère, annotées “petite cuillère” afin qu’un algorithme soit capable de reconnaître qu’il y a ou qu’il n’y a pas une petite cuillère le plus souvent possible : seule, au milieu d’autres couverts de table, en pleine lumière, dans la pénombre, tordue, partielle, en train d’être utilisée (en mouvement), photographiée, dessinée, schématisée, en ombre, peinte, peinte en noir, peinte en blanc, brillante, sale, absente, etc.

.

The process of buiding the datasets requires a huge human workforce in order to link images and names, so that cats are identified properly as cats in multiple conditions. Once this phase is done, manually, over Peta-bytes of data, the dataset will be put in use to train algorithms so that Artificial Intelligence softwares perform as expected beyond the range of their initial « educational » dataset.

.

Le processus d’étiquetage est découpé en différentes étapes réparties à l’échelle mondiale, de la plus technique à la moins technique. Au niveau zéro, l’industrie logicielle s’est fait une spécialité d’exploiter des millions de travailleurs pauvres et pas chers, dont vous n’entendrez jamais parler, parce que, justement, ils sont exploités. Tous ces gens ont beau travailler sur ordinateur, cela n’enlève rien au fait que leur activité est proche du travail à la pièce que connaissait déjà Emile Zola au XIXe siècle.

Enfin l’étiquetage final se fait en recourant au crowdsourcing : une force de travail humaine de centaines de milliers (millions ?) de volontaires anonymes qui, la plupart du temps, sont inscrits auprès du plus gros acteur dans ce domaine, le Mechanical Turk de l’entreprise Amazon. C’est ouvert à tous, très bien organisé, vous pouvez y participer et vous serez rémunéré pour le faire. Pas beaucoup non plus.

Une troisième manière de mettre au boulot l’humanité est de recourir à l’outil Captcha, qui vous demande d’identifier par exemple des feux de signalisation sur des images, pour s’assurer “que vous n’êtes pas un robot”. Vous l’avez sûrement déjà fait, sans que personne vous dise que vous étiez mis à contribution avec des millions d’autres personnes pour alimenter un jeu de données d’IA visuelle. Merci pour eux, vous avez travaillé gratuitement.

.

Bien entendu, l’explication qui précède s’applique aux images mais aussi à tout le reste. Les sons, les compositions chimiques, le développement des cellules cancéreuses, les formules de calcul, les gestes de la main, le langage naturel parlé ou écrit, le mouvement des corps célestes ou tout autre domaine qui vous motive dans la vie (le jeu de données MNIST par exemple recense 70.000 chiffres manuscrits de 0 à 9).

A partir du moment où vous avez sous la main un (très) grand échantillon sur n’importe quoi, le deep learning peut servir à en automatiser la reconnaissance, d’abord en faisant appel à une armée de contributeurs humains pour associer manuellement à cet échantillon de “choses” des mots permettant de les identifier, puis en faisant travailler un algorithme sur ce jeu de données.

Si votre entreprise ou votre administration fabrique de l’IA il est plus que probable que vous éduquez vos algorithmes en les faisant travailler sur des datasets fabriqués par d’autres, que vous avez achetés ou réutilisés en libre accès, libre de droits comme ImageNet par exemple. Tous sujets confondus, il existe quelques centaines de jeux de données d’importance variable qui servent à l’éducation de 90% des algorithmes d’intelligence artificielle dans le monde.

Et dans tous les cas, retenez bien l’ordre dans lequel ça se passe : d’abord l’étiquetage par des humains pour créer le jeu de données, ensuite l’apprentissage algorithmique en utilisant ledit jeu de données.

.

La méthode du deep learning implique donc ce prérequis tacite : il est absolument nécessaire que l’échantillon de départ soit correctement étiqueté, parce que bien sûr en tant qu’utilisateur de logiciel d’intelligence artificielle, vous ne voulez certes pas que votre produit reconnaisse une pie là où il y a une antilope (photo).

Datasets are the backbone of the whole AI industry
Their integrity is critical for the consequences of AI-led decisions.

 

Toute la complexité consiste ensuite à bien coder l’algorithme, afin qu’il puisse d’une part faire le moins d’erreur possible sur le jeu de données de référence mais aussi qu’il parvienne à extrapoler. Il doit être capable de reconnaître une petite cuillère en bois en suspension dans une station spatiale même s’il n’a jamais vu cette image auparavant.

C’est bien l’objectif d’une IA : qu’elle soit capable de se débrouiller seule dans la vraie vie.

…mais avant de passer à cette étape de mise en œuvre, je m’en vais rester un moment sur la notion de dataset pour souligner, en appuyant très fort, à quel point l’intégrité de ces jeux de données est absolument critique pour préparer tout le reste. La colonne vertébrale de l’IA ce n’est pas l’algorithme, c’est le jeu de données qui a servi à l’éduquer.

Le sujet avait déjà été abordé en 2016 par Alexander Wissner-Gross dans son article Les datasets davantage que les algorithmes. Mais il semble qu’il n’y avait pas beaucoup d’oreilles pour l’entendre.

.

La plupart du temps en effet les mises en œuvre pratiques d’une IA présentent l’étape finale et abordent la viabilité de l’algorithme.

Si l’IA fait une erreur à ce stade, les ingénieurs et les vendeurs de ces logiciels (et les politiciens) vous diront qu’il s’agit d’un problème d’algorithme qui nécessite encore un réglage, ou qu’il faut mieux analyser les données captées par l’IA afin de comprendre où elle s’est trompée afin de pouvoir rapidement corriger un problème. Mais vous aurez beau mettre au travail vos meilleurs mathématiciens et data scientists, il est bien possible qu’il n’arrivent jamais à trouver des solutions au problème parce qu’il ne descendront pas la chaîne de causalité jusqu’à son étape fondamentale, celle où le jeu de données est créé : la phase d’étiquetage, qui a servi de base à la configuration de l’algorithme.

Et bien sûr les fabricants d’IA sont à la recherche de leur pierre de Rosette, ils aimeraient que cela aille plus vite et donc tentent d’accélérer le rythme en retenant un unique dataset (le plus gros fait l’affaire) pour être plus rapidement sur le marché, le plus gros marché possible. Mais à force d’entraîner les algorithmes sur des datasets toujours plus vastes, les intelligences artificielles ne sont-elles pas condamnées à faire de plus en plus d’erreurs ?
C’est une question qui chatouille toute l’industrie du secteur, surtout si on y ajoute l’impact environnemental lié à la consommation d’énergie. …à tel point que Google a licencié les chercheuses de stature internationale qui peuplaient son équipe « IA et éthique » pour avoir publiquement soulevé le problème dans un article au sujet des IA en langage naturel (les dangers des perroquets stochastiques 🦜).

Spéciale dédicace à Margaret Mitchell et Timnit Gebru.

 .

Quel espoir de “bon apprentissage” pouvez-vous avoir, si votre référentiel indique qu’une antilope est une pie ? Votre algorithme ne fonctionnera jamais correctement ou plutôt il affirmera toujours qu’une antilope est une pie, dès qu’il verra une nouvelle antilope.

Les datasets sont perçus comme un truc simple, qui va de soi, sous-estimés dans les catastrophes qu’ils peuvent déclencher dans la vraie vie lorsque les IA prendront des décisions basée sur ce qu’elles y ont appris. Quel résultat obtiendrez-vous si, par défaut, les visages féminins ne reçoivent que des propositions d’emploi d’“infirmière” alors que les visages masculins peuvent postuler pour devenir “médecins” ? Et quel espoir de correction du jeu de données pouvez-vous avoir s’il comporte 200000 éléments et a déjà été traité en phase d’étiquetage par 10000 personnes ? Vous prétendriez pouvoir reprendre un par un chaque élément pour le re-valider ? Surtout qu’en tant que fabricant d’IA vous allez dire que ce n’est pas votre boulot, ce n’est pas votre jeu de données, ce n’est pas votre responsabilité juridique. Il a été conçu par quelqu’un d’autre…

.

Avant que l’IA puisse être généralisée comme technologie courante dans le monde qui nous entoure, il faudra qu’on parvienne à un consensus sur le fait que leurs jeux de données en sont le facteur limitant et que cette limite est liée à la culture, aux contextes sociaux.
Vous n’avez pas besoin de davantage de spécialistes techniques, vous avez besoin de faire travailler ces ingénieurs avec des spécialistes en sciences sociales :
des gens qui ne sont pas impressionnés par la sophistication technologique et qui demandent, encore et encore, quels sont les impacts collectifs, sociaux, humains ?

Là réside le cœur d’un problème que ne savent résoudre ni les directeurs, ni les ingénieurs, ni les crowdsourceurs, ni les docteurs en génie logiciel : le social.
La constitution des jeux de données est un phénomène social, les « données » elles-mêmes sont une construction sociale. Pour le domaine de l’IA qui s’affirme essentiellement « technologique » et donc « objectif », c’est le loup qui entre dans la bergerie… et vous devez cesser de considérer les jeux de données comme des trucs sans valeur ajoutée et socialement neutres, sans quoi le loup va vous manger tout cru.

Je parle des dégâts dans la suite de cet article.

..

The wolf of social beliefs among the innocence of AI datasets… because DATASETS ARE A SOCIAL CONSTRUCT.
Largely overlooked, the datasets, not algorithms, are a key actor of AI (in-)efficiency.
Take them seriously, please, otherwise the wolf will eat you alive.

.

.

.