🧱Retour aux fondamentaux: Le Machine Learning🤖

Quand on parle de crĂ©er une intelligence artificielle, plusieurs approches ont Ă©tĂ© tentĂ©es pour parvenir Ă  crĂ©er un algorithme « intelligent ». Cependant, si on regarde rĂ©cemment, tous les modèles que l’on trouve sont dĂ©rivĂ©s d’un paradigme principal : le Machine Learning (souvent abrĂ©gĂ© en ML). Que ce soient les LLM, les rĂ©seaux de neurones, ou mĂŞme des modèles plus simples, tous suivent les principes du Machine Learning (ou l’apprentissage automatique en bon français).

Mais quels sont ces principes ? Comment fonctionne un modèle de Machine Learning ? C’est ce que cet article veut mettre en avant.

Petit point sur le vocabulaire

Avant de rentrer dans le sujet, je souhaite simplement mettre au clair certains concepts.

  • Modèle : c’est le nom usuel d’un programme de Machine Learning. Il est aussi bien utilisĂ© pour dĂ©signer le produit final qui va prĂ©dire les valeurs que le programme avant son apprentissage.
  • Cible : la valeur que l’on veut que l’algorithme de Machine Learning prĂ©dise. On retrouve aussi le nom « Target » ou « y » dans la littĂ©rature.
  • Jeu de donnĂ©es : c’est le corpus de donnĂ©es que l’on rassemble pour entraĂ®ner le modèle de Machine Learning. Les donnĂ©es peuvent ĂŞtre de nature diffĂ©rente (tableau de donnĂ©es, fichiers PDF, images, etc.). On l’appelle aussi « dataset« 
  • Fonction d’erreur : c’est une mesure qui permet de dĂ©finir Ă  quel point un modèle se trompe par rapport Ă  la rĂ©alitĂ©. On parle aussi de fonction de perte ou de loss-function
  • Fonction de score : c’est une mesure qui permet de dĂ©terminer Ă  quel point un modèle est proche de la rĂ©alitĂ©. Les fonctions de score et d’erreur Ă©voluent gĂ©nĂ©ralement dans des sens contraires.

Une machine qui apprend ?

Avant d’aborder ce qu’est un algorithme de Machine Learning, et ses particularitĂ©s, voici un bref rappel de ce qu’on attend gĂ©nĂ©ralement d’un algorithme de Machine Learning. On veut que ce programme, en lui fournissant des donnĂ©es en entrĂ©es, qu’e l’algorithme qu’il nous prĂ©dise une valeur, la cible de manière correcte. Et donc on veut que notre modèle gĂ©nĂ©ralise des règles applicables Ă  toutes les donnĂ©es qu’il est susceptible de rencontrer pour prĂ©dire correctement la cible. Tous les problèmes de ML sont des variations de ce problème. Ce qui changera souvent est ce que dĂ©signent la valeur et le format de celle-ci (nombre, texte, image, etc.)

Un algorithme de Machine Learning, c’est quelque chose d’un peu particulier dans le monde des algorithmes. En effet, quand on parle d’algorithme, la comparaison la plus commune pour expliquer ce que c’est, c’est la recette de cuisine. On a des ingrĂ©dients, qui reprĂ©sentent nos entrĂ©es de l’algorithme et des Ă©tapes Ă  suivre qui reprĂ©sente les règles de notre algorithme. Avec ces deux Ă©lĂ©ments, on arrive Ă  constituer notre plat final, qui reprĂ©sente le rĂ©sultat de l’algorithme, et qui est ce qu’on cherche Ă  automatiser dans le cas d’un programme informatique.

Schéma d'un programme classique
SchĂ©ma simplifiĂ© d’un programme classique

Et bien un programme d’apprentissage automatique fonctionne Ă  rebours d’un programme classique, Ă  lui on va donner des donnĂ©es en entrĂ©es, Ă©ventuellement les rĂ©sultats qu’on attend de lui, et il va se dĂ©brouiller pour savoir quelles règles permettent de transformer les donnĂ©es en sortie, ou dans le cas oĂą on n’a pas de donnĂ©es d’essayer de trouver des points communs entre les donnĂ©es.

SchĂ©ma d’un programme de Machine learning

Ce mĂ©canisme de trouver des règles en fonction des entrĂ©es, c’est ce qu’on appelle l’apprentissage, ou l’entraĂ®nement et c’est le point commun de chaque algorithme de Machine Learning.

Ă€ partir de lĂ , un des prĂ©requis de ce domaine va ĂŞtre de constituer un jeu de donnĂ©es qu’on pourra passer Ă  l’algorithme afin de gĂ©nĂ©rer ces règles et faire en sorte que le modèle de Machine Learning qu’on va crĂ©er sera suffisamment performant pour la tache que nous souhaitons rĂ©aliser.

Comment faire apprendre une machine ?

Maintenant, qu’on a vu le principe gĂ©nĂ©ral du Machine Learning, la question est quelles sont les stratĂ©gies pour faire apprendre une machine. Il en existe plusieurs, et je vais en prĂ©senter 3 ici parmi les plus communes :

  • L’apprentissage supervisĂ© : c’est la mĂ©thode d’apprentissage qui est la plus classique, quand on parle de ML. Le principe est de constituer un jeu de donnĂ©es qui contient la cible que le modèle doit prĂ©dire. On dit que les donnĂ©es sont labellisĂ©es. On passe ensuite Ă  l’algorithme de Machine Learning, les donnĂ©es et les cibles associĂ©es, et le modèle de ML s’adapte et minimise les erreurs qu’il fait en s’appuyant sur la fonction d’erreur ou de score.
  • L’apprentissage non-supervisĂ© : ici, les donnĂ©es ne sont pas labellisĂ©es, et l’algorithme essaie de trouver des points communs entre les donnĂ©es et de regrouper les donnĂ©es.
  • L’apprentissage renforcĂ© : l’objectif ici est de faire en sorte de pĂ©naliser et rĂ©compenser l’algorithme pendant son entraĂ®nement en fonction des erreurs et des progrès qu’il fait. Il y a plusieurs manières de faire ainsi, le processus peut ĂŞtre manuel, on peut crĂ©er une fonction qui fournit ces rĂ©compenses/pĂ©nalitĂ©s, etc.

Il existe d’autres types d’apprentissages, mais voici ceux que je trouve les plus marquants et les plus simples Ă  retenir.

Quels sont les principaux obstacles ?

Maintenant qu’on a vu les principaux mĂ©canismes du ML, de manière assez gĂ©nĂ©rique, on va voir quels sont les principaux obstacles qu’on rencontre quand on fait du Machine Learning. Si je dois rĂ©sumer la majoritĂ© des obstacles qu’on rencontre en un mot, ce serait le mot « biais« . Les algorithmes de ML peuvent tomber dans des biais qui peuvent ĂŞtre liĂ©s Ă  divers facteurs.

Mauvaise mesure du score du modèle

Un premier biais que l’on peut avoir, arrive quand on mesure les performances de son modèle. Pour s’assurer que le modèle ait bien gĂ©nĂ©ralisĂ© les règles qu’il devait apprendre, on va mesurer le score du modèle sur des donnĂ©es qu’il n’a pas encore vues, des donnĂ©es de test. Le risque de mesurer la performance sur les donnĂ©es que le modèle a vues en entraĂ®nement est que le modèle a mĂ©morisĂ© les donnĂ©es et donc qu’il n’arrive pas Ă  gĂ©nĂ©raliser. C’est pour ça que le jeu de donnĂ©es est sĂ©parĂ© en donnĂ©es d’entraĂ®nement et de test (avec gĂ©nĂ©ralement 70-80% des donnĂ©es pour l’entrainement, et 20-30% pour le jeu de test).

Ce problème est liĂ© Ă  la mĂ©thode que l’on utilise pour mesurer la performance du modèle.

Sur-apprentissage et sous-apprentissage

Le sur-apprentissage et le sous-apprentissage sont des problèmes liĂ©s Ă  la compatibilitĂ© entre l’algorithme de ML choisi et le jeu de donnĂ©es.

Le sur-apprentissage ou overfitting est un problème oĂą le modèle n’arrive pas Ă  gĂ©nĂ©raliser et mĂ©morise les donnĂ©es. L’indicateur principal du sur-apprentissage est que le score du modèle mesurĂ© sur les donnĂ©es d’entraĂ®nement est largement supĂ©rieur au score mesurĂ© sur les donnĂ©es de test. Cela signifie que le modèle est trop complexe pour le problème qu’il faut rĂ©soudre et qu’il faut le simplifier. Cela peut ĂŞtre aussi la consĂ©quence d’un jeu de donnĂ©es trop petit.

Le sous-apprentissage ou underfitting, en revanche est un problème oĂą le modèle n’arrive pas Ă  capter et Ă  s’adapter Ă  la complexitĂ© du jeu de donnĂ©es. Un indicateur qui permet de dĂ©tecter cela est que le score du modèle mesurĂ© sur les donnĂ©es d’entraĂ®nement et de test est très faible. Il faut donc adapter l’algorithme pour qu’il capte mieux la complexitĂ© des donnĂ©es. Cela peut aussi ĂŞtre une consĂ©quence d’un jeu des donnĂ©es trop petit, comme pour l’overfitting.

Exemple d'underfitting et d'overfitting
Exemple d’underfitting et d’overfitting

Biais liés aux données

Un autre aspect pour lequel il faut faire attention, la composition du jeu de donnĂ©es. Il y a tout un tas de biais liĂ©s Ă  la reprĂ©sentativitĂ© des diffĂ©rents types de donnĂ©es dans le jeu initial. Par exemple, quand on fait un modèle de reconnaissance faciale, il faut que l’algorithme reconnaisse tous les types de visages, peu importe l’ethnicitĂ© de la personne, si la personne porte des lunettes, la couleur des cheveux, etc… Et pour ça, il faut que le jeu d’entraĂ®nement de cet algorithme contienne des images de personnes avec des caractĂ©ristiques variĂ©es et qu’aucune population ne soit sur-reprĂ©sentĂ©e.

Ici, j’ai pris l’exemple de la reconnaissance faciale, mais ce problème peut survenir sur d’autres types de donnĂ©es.

Conclusion

Les modèles de ML sont des programmes informatiques particuliers, qui essaient de deviner des règles Ă  partir des donnĂ©es qu’on lui passe en entrĂ©e. Il y a plusieurs manières de faire apprendre un modèle, en fonction de si nos donnĂ©es sont labellisĂ©es ou non. Il y a aussi plusieurs obstacles, plusieurs biais Ă  Ă©viter. Dans de futurs articles, on reviendra complĂ©ter ces approches et voir comment, concrètement, on crĂ©Ă© un modèle, et on opère Ă  travers ces diffĂ©rents biais.

Partager l'article:

Autres articles