Algorithmes : Entre fantasmes et réalité (2/3)

 
Algorithme_02.jpg
 

D’une formule à un exécutable

Toujours afin de démystifier le concept d’algorithme, ce deuxième article se concentrera sur plusieurs notions permettant de mieux comprendre comment marche cet outil.

Comme nous l’avons vu un algorithme a pour but de « résoudre un problème donné ». L’application la plus courante est effectuée grâce à un programme exécutable par un ordinateur. C’est cette utilisation que nous tenterons de comprendre dans cet article, notamment à l’aide de l’ouvrage d’Aurélie Jean, De l’autre côté de la Machine, voyage d’une scientifique au pays des algorithmes. Ouvrage dont je vous recommande vivement la lecture.

Tout d’abord il faut comprendre comment passer d’une formule mathématique à une série d’instruction intelligible pour un ordinateur. Pour cela il faut « numériser » un algorithme. Il sera qualifié de numérique lorsqu’il sera « conçu pour être implémenter dans un code informatique destiné à faire tourner une simulation ou un calcul »[1].  L’implémentation correspond à la « Mise en place sur un ordinateur d'un système d'exploitation ou d'un logiciel adapté aux besoins et à la configuration informatique de l'utilisateur ». Concrètement il s’agit de l’intégration de l’algorithme. Les lettres ou signes formant un langage sont converties en 0 et 1 afin d’être compris par l’ordinateur. Cette opération s’effectue par le biais de ce que l’on nomme un « compilateur ». C’est cet outil qui traduit les lettres et signes en 0 et 1. Cette traduction nous donne un exécutable, ou comme le précise le dictionnaire Larousse « un programme exécutable par un ordinateur ».

La clé de la réussite : le choix des valeurs

Mais cette suite d’instruction ne fait que suivre ce que vous lui demandez de faire ! Afin de le faire progresser il va falloir l’entraîner, et pour cela il existe deux principales techniques. Mais avant de développer ce point, il est nécessaire de parler de ce qu’Aurélie Jean nomme « les biais algorithmiques ». L’utilisation d’un algorithme demande également de le calibrer. Cela signifie choisir les valeurs à identifier pour les paramètres, et c’est justement le choix de ces valeurs qui fait toute la difficulté de l’utilisation de cet outil.

Peu importe le but de votre algorithme, si celui-ci ne se réfère pas aux bons paramètres pour atteindre votre objectif cela ne servira à rien. Ce choix des paramètres peut poser de nombreux problèmes. En tant qu’être humain notre vision du monde est fatalement biaisée. Que cela soit dû à notre enfance, aux valeurs transmises par nos parents ou celles que nous nous sommes appropriées à travers nos expériences, notre défense de ces dernières varie. Les exemples donnés par Aurélie Jean dans son ouvrage sont frappants. Le développement des premiers airbags, par des hommes n’ont pris en compte que leurs points de vue. De nombreux airbags ne se sont pas déclenchés lorsque la personne à protéger était une femme ou un enfant. Un logiciel de reconnaissance faciale n’a pas reconnu une chercheuse à la peau noire, car développé exclusivement par des blancs. L’auteure elle-même admet en avoir été victime en développant un algorithme ne prenant pas en compte les personnes d’origines asiatiques. Ces choix, conscients ou non, peuvent être classés en deux catégories : explicite et implicite.

Attention aux biais algorithmiques

Un biais explicite est un choix. L’auteur de l’algorithme choisit délibérément de prendre en compte telle ou telle variable, condition, constante… Ce choix influence nécessairement les résultats. Et bien sûr il n’existe pas un algorithme parfait pour tel problème donné, les paramètres pris en compte sont donc extrêmement importants. Ce premier biais est donc le résultat d’un choix, l’algorithme n’est aucunement responsable de la discrimination qui peut en résulter, seuls ceux qui l’ont paramétré le sont. Comme tout outil, tout dépend de son utilisation.

Le deuxième biais algorithme est, par opposition au premier, implicite. Mais pour pleinement le comprendre il faut d’abord expliquer ce qu’est le machine learning. C’est cette notion, notamment, qui nourrit les plus grands fantasmes concernant les algorithmes et l’intelligence artificielle. Notion que nous examinerons dans le troisième et dernier article de cette série.

[1] Aurélie Jean, De l’autre côté de la Machine, Voyage d’une scientifique au pays des algorithmes, Édition de l’Observatoire, 2019

 

 

Sources :

https://www.larousse.fr/dictionnaires/francais/impl%C3%A9menter/41911

https://www.journaldunet.fr/web-tech/dictionnaire-du-webmastering/1445284-compilation-informatique-definition-concrete-et-role/

https://www.sciencesetavenir.fr/high-tech/intelligence-artificielle/les-algorithmes-sont-partout-leurs-biais-nous-trompent_131820

https://theconversation.com/intelligence-artificielle-combattre-les-biais-des-algorithmes-125004

Aurélie Jean, De l’autre côté de la Machine, Voyage d’une scientifique au pays des algorithmes, Édition de l’Observatoire, 2019