Louis-François Bouchard

View Original

Comment les machines apprennent?

Regardez la vidéo!

Vous avez probablement déjà entendu que le champion du monde d'échecs, de go, et même de certains jeux vidéo comme Dota est une machine. Les récents progrès de l'Intelligence Artificielle ont permis aux chercheurs de vaincre les meilleurs joueurs du monde dans ces jeux, grâce à une technique appelée Reinforcement Learning ou apprentissage par renforcement. Cette même technique permet également aux robots de marcher, d'ouvrir des portes ou même de jouer au football. Mais quelle est cette technique exactement? Ce court article vise à présenter les bases de cette technologie et à donner un aperçu de son fonctionnement.

Comment ça marche

L'apprentissage par renforcement s'inspire des êtres vivants : il optimise les récompenses positives et négatives.

L'apprentissage par renforcement est une technologie inspirée des êtres vivants. Les êtres vivants, en général, apprennent certains comportements pour obtenir des récompenses ou éviter une punition. Si vous mangez quelque chose de savoureux, vous voudrez surement le manger à nouveau. Si vous touchez un poêle chaud, il est fort probable que vous n'ayez plus envie de le refaire. L'apprentissage par renforcement consiste à faire la même chose : enseigner aux machines comment obtenir des récompenses positives et éviter les récompenses négatives. Nous appelons ces machines des « agents ».

Un agent évoluant dans son environnement (un terrain de football).

Ces agents évoluent dans un environnement. Ils vont observer cet environnement et agir en fonction de ces observations. Selon le résultat de leurs actions, ils recevront une récompense, positive ou négative. Au début, l'agent se comportera de manière aléatoire, mais il deviendra de mieux en mieux par essais et erreurs. En d'autres termes, ils apprennent à maximiser le montant de la récompense qu'ils reçoivent tout au long de leur vie.

Un exemple simple…

Regardons un exemple simple. Vous êtes sur une ligne imaginaire, avec un gâteau prêt à manger d'un côté et un feu de camp brûlant de l'autre. Que feriez-vous dans cette situation? En règle générale, votre réponse serait de marcher droit vers le gâteau. Sinon, vous vous blesserez en marchant dans le feu de camp. Mais comment un ordinateur va-t-il le savoir et apprendre le même processus de prise de décision? Par essais et erreurs!

Comme nous en avons discuté, dans un premier temps, l'agent va se comporter de manière aléatoire. La moitié du temps, il ira vers la gauche et l'autre moitié vers la droite. Mais à un moment donné, il atteindra l'une des récompenses, soit positive, soit négative.

Un exemple simple d'apprentissage par renforcement où l'agent explore son environnement pour maximiser les récompenses.

A ce moment, l'agent apprend qu'aller à gauche fait mal, ou à l’inverse, s'il a eu de la chance, il apprend à quel point un gâteau est bon. C'est tout! Une fois qu'il connaît ces récompenses, il peut avoir un comportement optimal dans cet environnement et aller directement au gâteau à chaque fois.

C'est un exemple très simple, car la seule possibilité pour l'agent est d'aller à droite ou à gauche. Cependant, généralement, il aurait beaucoup plus de chemins possibles. Même s'il a déjà trouvé une bonne récompense dans un environnement aussi compliqué, il doit continuer à chercher de meilleures récompenses. En d'autres termes, peut-être qu'un plus gros gâteau nous attend au prochain virage, alors de temps en temps, nous devons tenter notre chance et jeter un coup d'œil.

On peut faire une comparaison avec le monde réel. Si vous êtes comme moi, vous avez l'habitude de commander régulièrement la même pizza dans la même pizzeria, mais si vous en essayez une nouvelle de temps en temps ? Vous pouvez l'apprécier encore plus et décider que c'est votre nouveau favori. Vous n'auriez jamais découvert cette amélioration sans essayer quelque chose de nouveau, même si vous avez déjà apprécié le goût du premier resto!

Conclusion

Bien sûr, tous les scénarios ne sont pas aussi simples, mais dans l'apprentissage par renforcement, chaque problème peut être vu de cette façon. Le seul changement à chaque nouveau défi auquel l'agent sera confronté est le type d'environnement dans lequel il évoluera. Qu'il s'agisse d'un échiquier, d'un jeu vidéo ou même des états des moteurs d'un robot apprenant à marcher, la logique est la même : l'agent essaie des choses, voit comment l'environnement réagit à ses actions, et s'adapte pour faire mieux à l'avenir. Vous pouvez voir l'apprentissage par renforcement comme un apprentissage automatique à la manière du darwinisme.

Si cela a du sens pour vous, félicitations! Vous comprenez maintenant ce qu'est l'apprentissage par renforcement et comment cela fonctionne. Il y a bien sûr plus de détails techniques, mais c'est l'essentiel de cette technique étonnante, aux capacités étonnantes.

Merci d’avoir lu cet article!

Venez discuter avec nous dans notre communauté Discord: ‘Learn AI Together’ et partagez vos projets, vos articles, vos meilleurs cours, trouvez des coéquipiers pour des compétitions Kaggle et plus encore!

Si vous aimez mon travail et que vous souhaitez rester à jour avec l'IA, vous devez absolument me suivre sur mes autres médias sociaux (LinkedIn, Twitter) et vous abonner à ma newsletter hebdomadaire sur l'IA!

Pour supporter mon travail:

  • La meilleure façon de me soutenir est de souscrire à ma newsletter tel que mentionné précédemment ou de vous abonner à ma chaîne sur YouTube si vous aimez le format vidéo en anglais.

  • Soutenez mon travail financièrement sur Patreon

Article co-écrit par

— Malrick Costantini, LinkedInwebsite

— Elias Ilmari, LinkedInwebsite

— Louis-François Bouchard, LinkedInwebsite