Le zoo du Machine Learning

Cet article est issu de la newsletter IA Comprise et reproduit ici par commodité. Recevez toutes les lettres dans votre boîte mail au fur et à mesure de leur publication en laissant votre adresse dans le cadre à droite !

Chère lectrice, cher lecteur,

J’en parlais dans une précédente lettre : l’Intelligence Artificielle d’aujourd’hui n’est qu’une illusion suffisamment crédible (et utile) d’intelligence. Il est donc important de comprendre de quelle façon un ordinateur parvient, grâce au machine learning, à résoudre des problèmes de la vie courante.

Toute la magie est en réalité dans la transcription d’une question dans l’une des catégories qu’un ordinateur est capable de traiter grâce à des algorithmes.

Hélas, l’univers du machine learning reste vaste, abstrait et technique. Autant de raisons d’être intimidé lorsqu’on y met le pied la première fois, de reporter à « plus tard » le moment où l’on s’y plongera vraiment… et finalement de ne jamais franchir le pas.

Je me suis creusé la tête pour trouver comment représenter de façon aussi marquante que possible les principales catégories de problèmes de machine learning. Une astuce bien connue pour améliorer la capacité de mémorisation, en particulier de concepts abstraits, consiste à les associer à des images ou des objets bien réels et familiers. Et quoi de plus familier que des situations rencontrées par des animaux que nous connaissons tous ?

Voici donc un petit tour d’horizon du zoo du machine learning !

La régression et le faucon

Le faucon pèlerin est l’animal le plus rapide au monde. En vol piqué, il est capable de dépasser les 300km/h pour fondre sur le malheureux oiseau qui constituera son prochain repas.

Un faucon prêt à régresser la trajectoire d’une proie

À une telle vitesse, le faucon ne peut guère manœuvrer : en amorçant la descente, il doit viser non pas la position de sa proie mais celle qu’elle atteindra le temps que le faucon termine sa descente [1]. Le faucon va donc devoir prévoir la trajectoire de sa cible à partir de ses positions précédentes : en machine learning, c’est ce que l’on appelle un problème de régression.

Sans doute connaissez-vous déjà le plus simple de ces algorithmes, la régression linéaire. On suppose que la variable à prévoir (par exemple, la position de la proie) est proportionnelle à une autre variable connue (par exemple, le temps écoulé ; le coefficient de proportionnalité est la vitesse, supposée constante) et on extrapole (ici, la position à un temps futur).

Cet algorithme se généralise aux relations non linéaires ou à plusieurs variables, mais le principe reste le même : prévoir la valeur d’une variable à partir des autres valeurs qu’on lui connaît.

Une application classique consiste à estimer le prix d’un bien immobilier donné à partir de ses caractéristiques (surface, date de construction, localisation…) et du prix de vente effectif d’autres biens jamais parfaitement identiques.

La classification et la tortue

La tortue luth est l’une des plus anciennes espèces animales encore présentes de nos jours. Elle est connue pour entreprendre de grandes migrations à travers l’océan Pacifique pour trouver des bancs de méduses, sa principale source d’alimentation. Une tortue luth peut consommer en une seule journée son propre poids en méduses !

Le poids d’une tortue luth en méduses, cela en fait beaucoup

Pour identifier son plat préféré, elle s’appuie sur un certain nombre de critères visuels ou olfactifs, issus notamment de son expérience. Et c’est comme cela que l’on retrouve d’immense quantités de sacs plastiques dans leurs estomacs, d’autant plus souvent blancs et transparents que la tortue est âgée et habituée à associer ces critères à une forte probabilité d’être une délicieuse méduse. [2]

Cette approche constitue un problème de classification : à partir de caractéristiques d’un objet connu (blanc + transparent + odeur de plancton = comestible), la tortue essaie de prévoir la classification (comestible ou non comestible) d’un objet inconnu.

Un problème de classification ressemble à un problème de régression, avec une différence majeure : ce n’est pas une valeur que l’on cherche à prévoir, mais une catégorie. Souvent, les algorithmes de classification peuvent indiquer une probabilité d’appartenir à telle ou telle catégorie.

Une application classique de la classification consiste à prévoir si un acheteur potentiel risque d’être un mauvais payeur ou de faire opposition sur un achat à partir de son comportement.

Le clustering et l’écureuil

À l’automne, les écureuils sont connus pour amasser de grandes quantités de fruits à coque pour se nourrir pendant l’hiver. Problème, il faut trouver des cachettes suffisamment discrètes pour qu’elles ne soient pas découvertes par d’autres, mais pas trop non plus au risque que l’écureuil lui-même les oublie.

L’écureuil, moins distrait qu’on ne le dit

Pour favoriser leur mémoire, certains écureuils utilisent un moyen mnémotechnique nommé chunking qui consiste à grouper les fruits avant de les cacher [3]. En créant ainsi des groupes en fonction de similarités de taille, de qualité ou de variété, l’écureuil effectue un problème de clustering.

Le clustering n’est pas une forme de classification : il ne s’agit pas de classer un nouvel objet inconnu en se basant sur des catégories connues, mais de créer les catégories dans lesquelles placer tous les objets. Plus fondamentalement, le clustering fonctionne très différemment des problèmes de régression ou de classification.

Dans ces derniers, on se base sur des cas connus pour prédire la valeur ou la catégorie d’un cas inconnu : on parle d’apprentissage supervisé. Dans le clustering, il n’y a pas de cas « connus » sur lesquels s’appuyer : il ne s’agit pas de prévoir mais de comprendre comment organiser les cas. On parle ici d’apprentissage non supervisé.

Le clustering est particulièrement utilisé en marketing, pour constituer des ensembles cohérents de clients ou de prospects similaires qui pourront chacun être traités spécifiquement.

La réduction dimensionnelle et le chat

Sans doute avez-vous déjà vu ces vidéos sur Youtube : un concombre est placé derrière un chat, qui se retourne et fait un bond spectaculaire.

Malgré l’intention humoristique, c’est une expérience fortement déconseillée si vous tenez à votre chat : il s’agit d’une réaction de terreur instinctive issue de la confusion entre le concombre et un serpent.

Les chats sont-ils vraiment cucurbitophobes ?

Pourtant, un concombre ne ressemble que vaguement à un serpent. Et si vous approchez le concombre face au chat, il n’aura probablement aucune réaction.

Mais des millions d’années d’évolution ont prouvé qu’une précieuse fraction de seconde de réaction face à un serpent pouvait faire la différence entre la vie et la mort. Dans une telle situation d’urgence, le cerveau (ou la moelle épinière) ne traite pas toute l’information jusqu’au bout : dès qu’il reçoit le signal « objet vert et allongé », il déclenche immédiatement la réaction réflexe de fuite.

Dans cette situation, seule une fraction de toute l’information disponible a été traitée, celle qui contient le signal le plus important. C’est une forme de réduction dimensionnelle.

En machine learning, ce type de traitement est fréquemment utilisé en amont d’autres algorithmes pour améliorer les performances ou faciliter l’interprétation et la visualisation des résultats d’un modèle.

Dans l’exemple de la prévision du prix d’une maison par régression, la réduction dimensionnelle pourrait ainsi permettre d’identifier les paramètres fortement corrélés (ex. « plus d’un étage » et « présence d’un escalier ») afin de les exclure du modèle.

La méthode ensembliste et la fourmi

Avez-vous déjà observé le mouvement d’une fourmi ? Au lieu de se déplacer en ligne droite d’un point à un autre, son mouvement semble erratique. Même si elle finit par arriver à destination, elle a probablement dû marcher l’équivalent de plusieurs fois le plus court chemin.

La fourmi, concentré d’intelligence collective

Pourtant, le comportement de la fourmi est le résultat de centaines de millions d’années d’évolution et ne devrait pas laisser de place au gaspillage d’énergie. Qu’est-ce qui justifie ce comportement ?

Ce qui compte, c’est l’efficacité de la colonie entière. Au lieu d’effectuer chaque déplacement avec une efficacité maximale, une fourmi individuelle inclut dans sa trajectoire d’autant plus d’aléatoire qu’elle est en terrain inconnu.

Si elle trouve de la nourriture, elle revient vers le nid en laissant derrière elle une très légère trace chimique. D’autres fourmis peuvent détecter cette trace et orienter leur déplacement dans cette direction – toujours avec une part d’aléatoire. Si elles trouvent également de la nourriture, elles retourneront de la même façon au nid, créant progressivement une trace chimique de plus en plus importante qui guidera les autres fourmis de plus en plus précisément [4].

Cette stratégie collective particulièrement efficace est un exemple de méthode ensembliste. Au lieu d’utiliser un seul algorithme pour atteindre le résultat souhaité, une série d’algorithmes [5] est lancée en parallèle et on mesure les résultats. Le processus est ensuite relancé plusieurs fois, en biaisant chaque fois les algorithmes ou les paramètres des algorithmes en fonction des résultats du cycle précédent.

Bien que coûteuse en temps et en interprétabilité, une méthode ensembliste peut permettre d’atteindre une performance supérieure à la performance optimale du meilleur algorithme utilisé ! Ce qui s’explique bien : lorsque, dans une même expérience, certaines valeurs sont mieux prédites par un algorithme donné et d’autres valeurs par un second algorithme, une méthode ensembliste retient le meilleur dans les deux cas.

Les réseaux adverses génératifs et le coucou

Le coucou est connu, outre son cri caractéristique, pour son comportement de parasitage.

Comme tout parent le sait, nourrir des oisillons est une tâche exténuante. D’incessants aller-retours sont nécessaires aux parents, limitant de fait le nombre d’oisillons qu’un oiseau peut parvenir à faire survivre.

Malgré son air innocent, le coucou est un redoutable parasite

Dans le grand jeu de l’évolution, le coucou a adopté une stratégie particulière : au lieu d’élever lui-même ses petits, il dissémine ses œufs dans les nids d’autres oiseaux, laissant à d’autres la lourde tâche de les nourrir. Une femelle coucou peut ainsi pondre 25 œufs en une saison, bien plus que ce qu’elle serait capable de nourrir elle-même !

Bien entendu, les premiers oiseaux ainsi parasités il y a bien longtemps repéraient généralement ces œufs intrus et les poussaient hors du nid (il est probable qu’à cette époque le parasitage n’était qu’un complément pour une mère coucou élevant aussi des oisillons).

Au fil du temps, le coucou s’est adapté. La couleur de ses œufs a notamment évolué pour ressembler le plus possible à celle de ses hôtes. Ils sont devenus plus gros pour être plus difficiles à pousser hors du nid et plus épais pour résister à des coups de bec. La mère coucou détruit parfois les autres œufs du nid pour favoriser le sien – quand ce ne sont pas les oisillons coucous eux-mêmes qui se mettent à pousser les autres œufs hors du nid.

En parallèle, les oiseaux parasités se sont également adaptés. Certaines espèces d’oiseaux, comme le rouge-queue, ont appris à reconnaître les œufs de coucous, conduisant le coucou à aller coloniser les nids d’autres espèces d’oiseaux. D’autres espèces ont appris à guetter leur propre nid pour éviter qu’un coucou ne vienne y déposer un œuf… et ce n’est qu’une question de temps avant que le coucou ne s’adapte à son tour. [6]

Le parasitage du coucou est l’un des nombreux cas de « course aux armements » dans la nature, dans lesquels deux espèces concurrentes développent en opposition des armes et défenses de plus en plus perfectionnées pour prendre le dessus sur l’autre. C’est le principe de base des réseaux adverses génératifs (Generative Adversarial Networks ou GAN), un exemple moderne d’utilisation des fameux réseaux neuronaux.

Ces problèmes ont pour but de générer des données nouvelles ressemblant le plus possible (d’un point de vue statistique) à des données existantes.

Schématiquement, un GAN fonctionne comme suit. Deux algorithmes sont développés avec des objectifs antagonistes : l’un, le réseau générateur, génère des données, au début aléatoirement. Ces données sont soumises en alternance avec les données existantes à un autre algorithme, le réseau discriminateur, qui doit les reconnaître. Le match commence.

Le discriminateur marque des points lorsqu’il parvient à identifier correctement si les données étaient authentiques ou altérées. Le générateur marque au contraire lorsqu’il parvient à soumettre des données que le discriminateur croit réelles. Au fur et à mesure du temps, les deux réseaux s’adaptent progressivement l’un à l’autre en tentant d’optimiser leur score, jusqu’à parvenir à un équilibre stable.

Vous avez sûrement entendu parler des deepfakes, ces images ou vidéos si réalistes qu’elles trompent même l’œil humain. Eh bien, elles sont généralement issues de GAN. Mais on compte aussi parmi ses applications des choses comme la modélisation d’intérieurs immobiliers réalistes ou de voix de synthèse qui paraissent humaines.

Cette personne n’existe pas : la « photo » a été générée en quelques secondes par GAN

Il est temps de conclure cette lettre déjà bien longue… J’espère que vous aurez trouvé ce petit safari instructif – et que vous repenserez à ces animaux la prochaine fois que vous vous demanderez comment fonctionne le machine learning !

Erwan


[1] https://www.sciencesetavenir.fr/animaux/le-faucon-pelerin-se-comporte-comme-un-missile-lorsqu-il-chasse_118861
[2] https://ourblueplanet.bbcearth.com/blog/?article=why-do-marine-animals-eat-plastic
[3] https://www.sciencesetavenir.fr/animaux/biodiversite/les-ecureuils-rangent-les-fruits-a-coque-de-la-meme-facon-que-l-on-range-nos-courses_116704
[4] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4060675/
[5] Qui peuvent être de nature différente, ou des variations aléatoires d’un même algorithme.
[6] https://www.maxisciences.com/oiseau/l-etonnante-strategie-du-coucou-oiseau-parasite_art13430.html

Inscrivez-vous gratuitement pour ne rater aucune lettre !

Laisser un commentaire

Abonnez-moi à la newsletter