Google investit dans des domaines et des projets très dif­fé­rents, en par­ti­cu­lier lorsqu’il s’agit de tech­no­lo­gies avant-gardistes. Dans le domaine de l’in­tel­li­gence ar­ti­fi­cielle (IA) notamment, le groupe de services tech­no­lo­giques a ajouté une corde non né­gli­geable à son arc avec le projet Deepmind. Ce projet consiste à faire pro­gres­ser le dé­ve­lop­pe­ment de pro­grammes à l’aide de l’in­tel­li­gence ar­ti­fi­cielle de façon à leur permettre, à l’avenir, de résoudre des problèmes complexes sans l’in­ter­ven­tion de l’être humain. L’ap­pren­tis­sage par ren­for­ce­ment joue ici un rôle essentiel puisqu’il permet de dé­ve­lop­per les IA.

Qu’est-ce que l’ap­pren­tis­sage par ren­for­ce­ment (Rein­for­ce­ment Learning) ?

Traduit lit­té­ra­le­ment, le Rein­for­ce­ment Learning signifie « ap­pren­tis­sage par ren­for­ce­ment ». Ce terme décrit une méthode utilisée dans le domaine de l’ap­pren­tis­sage au­to­ma­tique. Avec l’ap­pren­tis­sage supervisé et l’ap­pren­tis­sage non supervisé, l’ap­pren­tis­sage par ren­for­ce­ment constitue la troisième pos­si­bi­lité pour apprendre à des al­go­rithmes à prendre des décisions par eux-mêmes. Dans cette méthode, l’accent est mis sur le dé­ve­lop­pe­ment de solutions in­tel­li­gentes pour résoudre des problèmes de gestion complexes.

Con­trai­re­ment à l’ap­pren­tis­sage supervisé et à l’ap­pren­tis­sage non supervisé, cette méthode d’ap­pren­tis­sage au­to­ma­tique n’a besoin d’aucune donnée pour le con­di­tion­ne­ment. En effet, pour les deux autres méthodes, les pro­grammes sont d’abord alimentés avec des données. Cette étape est en­tiè­re­ment supprimée dans le Rein­for­ce­ment Learning. À la place, les données sont générées lors d’une procédure essai-erreur au cours de l’en­traî­ne­ment et sont dotées d’une étiquette. Le programme passe alors par plusieurs cycles d’en­traî­ne­ment dans l’en­vi­ron­ne­ment de si­mu­la­tion afin de livrer un résultat suf­fi­sam­ment précis. Plutôt que de con­fron­ter le système avec les bons résultats pendant l’en­traî­ne­ment (comme dans l’ap­pren­tis­sage supervisé), on définit uni­que­ment des im­pul­sions aidant le système.

Le but visé par cet en­traî­ne­ment est de permettre à l’in­tel­li­gence ar­ti­fi­cielle de résoudre des problèmes de gestion très complexes sans con­nais­sances préa­lables apportées par l’homme. Par com­pa­rai­son avec l’in­gé­nie­rie con­ven­tion­nelle, cette méthode est plus rapide, plus efficace et fournit idéa­le­ment le meilleur résultat que l’on puisse attendre.

Dans ce cadre, les essais de l’ap­pren­tis­sage par ren­for­ce­ment se déroulent souvent en s’appuyant sur des jeux. Les jeux vidéo cons­ti­tuent une base idéale pour explorer et com­prendre l’ap­pren­tis­sage par ren­for­ce­ment. Ils pré­sen­tent gé­né­ra­le­ment un en­vi­ron­ne­ment de si­mu­la­tion, dif­fé­rentes pos­si­bi­li­tés de commande et une influence sur l’en­vi­ron­ne­ment. D’autre part, les jeux com­por­tent souvent un problème ou une suite de tâches complexes qu’il s’agit de traverser au fil des étapes du jeu. La plupart des jeux adoptent également des systèmes de points qui se rap­prochent très fortement du système de ré­com­pense du Rein­for­ce­ment Learning.

Les prin­ci­paux cher­cheurs dans le domaine de l’in­tel­li­gence ar­ti­fi­cielle con­si­dè­rent l’ap­pren­tis­sage par ren­for­ce­ment comme une méthode très pro­met­teuse pour atteindre une in­tel­li­gence ar­ti­fi­cielle forte. On peut ainsi imaginer qu’un jour, une machine pourra prendre des décisions ra­tion­nelles par elle-même et résoudre n’importe quelle tâche avec succès, à l’instar de l’être humain. La machine observe, apprend et peut résoudre ses problèmes de façon autonome.

En résumé

Dans l’ap­pren­tis­sage par ren­for­ce­ment, la machine apprend par ses in­te­rac­tions avec l’en­vi­ron­ne­ment et applique ce qu’elle a appris pour résoudre des problèmes complexes sans que l’être humain ait à saisir des données.

Comment fonc­tionne l’ap­pren­tis­sage par ren­for­ce­ment ?

Le Rein­for­ce­ment Learning désigne de nom­breuses méthodes in­di­vi­duelles dans les­quelles un al­go­rithme ou un agent logiciel apprend des stra­té­gies de façon autonome. L’objectif est de maximiser les ré­com­penses au sein d’un en­vi­ron­ne­ment de si­mu­la­tion dans lequel l’or­di­na­teur exécute une action puis reçoit un feed-back. L’agent logiciel ne reçoit au préalable aucune in­for­ma­tion sur l’action la plus pro­met­teuse et doit dé­ter­mi­ner seul sa méthode dans le cadre d’un processus essai-erreur.

À dif­fé­rents moments, l’or­di­na­teur reçoit des ré­com­penses qui auront un impact sur ses stra­té­gies. Grâce à ces évé­ne­ments, l’agent logiciel apprend à évaluer les con­sé­quences de certaines actions au sein de l’en­vi­ron­ne­ment de si­mu­la­tion. Le tout forme la base de l’agent logiciel et permet de dé­ve­lop­per des stra­té­gies durables tout en maxi­mi­sant les ré­com­penses.

Pour entraîner un système à l’aide de l’ap­pren­tis­sage par ren­for­ce­ment, on utilise le Q-Learning. Son nom vient de la fonction Q qui calcule le bénéfice attendu pour une action dans le statut. Le but de l’ap­pren­tis­sage par ren­for­ce­ment est d'établir une « policy » aussi efficace que possible. On entend ici par « policy » le com­por­te­ment appris par l’agent logiciel lui indiquant quelle action en­tre­prendre dans n’importe quelle variante de com­por­te­ment (« ob­ser­va­tion ») de l’en­vi­ron­ne­ment d’ap­pren­tis­sage (« en­vi­ron­ment »).

La « policy » peut être re­pré­sen­tée dans un tableau Q au sein duquel les lignes con­tien­nent toutes les ob­ser­va­tions et les colonnes toutes les actions possibles. Pendant l’en­traî­ne­ment, les cellules cor­res­pon­dantes sont ensuite remplies avec des valeurs Value re­pré­sen­tant la prochaine ré­com­pense attendue.

Néanmoins, ce tableau Q n’est uti­li­sable que dans une mesure limitée. La re­pré­sen­ta­tion visuelle fonc­tionne uni­que­ment dans un petit espace action-ob­ser­va­tion. Si les pos­si­bi­li­tés sont trop nom­breuses, l’agent logiciel doit utiliser un réseau neuronal.

Dans quels cas le Rein­for­ce­ment Learning est-il utilisé ?

Cette méthode d’ap­pren­tis­sage au­to­ma­tique est d’ores et déjà utilisée dans certaines en­tre­prises, dont Google. Le groupe de services tech­no­lo­giques utilise par exemple l’ap­pren­tis­sage par ren­for­ce­ment pour gérer les cli­ma­ti­seurs dans les centres de calcul. Grâce à l’in­tel­li­gence ar­ti­fi­cielle, Google a pu jusqu’à présent éco­no­mi­ser 40 pour cent de l’énergie né­ces­saire pour ventiler les serveurs.

Le Rein­for­ce­ment Learning est également utilisé dans la gestion de systèmes complexes, par exemple des systèmes de transport in­tel­li­gents. Il permet d’obtenir des solutions in­tel­li­gentes dans la sur­veil­lance de la qualité. En outre, l’ap­pren­tis­sage par ren­for­ce­ment in­ter­vient dans les réseaux élec­triques in­tel­li­gents, la gestion des robots, l’op­ti­mi­sa­tion des chaînes de livraison pour diverses en­tre­prises de lo­gis­tique ou l’au­to­ma­ti­sa­tion des usines.

Toutefois, l’exemple de Rein­for­ce­ment Learning le plus parlant pour le con­som­ma­teur reste le park assist. Dans cette tech­no­lo­gie, l’in­tel­li­gence ar­ti­fi­cielle est utilisée pour iden­ti­fier des objets et indiquer à l’uti­li­sa­teur le chemin optimal pour se garer.

Pour fonc­tion­ner, un al­go­rithme de Rein­for­ce­ment Learning doit compléter de nombreux cycles d’en­traî­ne­ment, car les ré­com­penses sont parfois at­tri­buées avec un décalage dans le temps. Cependant, le Rein­for­ce­ment Learning est une méthode d’ap­pren­tis­sage au­to­ma­tique appelée à gérer de nombreux processus et à résoudre des problèmes complexes à l’avenir.

Aller au menu principal