Espace DeepRacer d'action AWS et fonction de récompense - AWS DeepRacer

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Espace DeepRacer d'action AWS et fonction de récompense

Espace d'action

Dans l'apprentissage par renforcement, l'ensemble de toutes les actions ou choix valides disponibles pour un agent lorsqu'il interagit avec un environnement est appelé espace d'action. Dans la DeepRacer console AWS, vous pouvez entraîner les agents dans un espace d'action discret ou continu.

Espace d'action discret

Un espace d'action discret représente toutes les actions possibles d'un agent pour chaque état d'un ensemble fini. Pour AWS DeepRacer, cela signifie que pour chaque situation environnementale progressivement différente, le réseau neuronal de l'agent sélectionne la vitesse et la direction de la voiture en fonction des informations fournies par ses caméras et son capteur LiDAR (en option). Le choix se limite à un groupe de combinaisons prédéfinies d'angle de braquage et de valeur d'accélérateur.

Une DeepRacer voiture AWS se trouvant dans un espace d'action discret à l'approche d'un virage peut choisir d'accélérer ou de freiner et de tourner à gauche, à droite ou de continuer tout droit. Ces actions sont définies comme une combinaison d'angle de braquage et de vitesse créant un menu d'options, 0 à 9, pour l'agent. Par exemple, 0 peut représenter -30 degrés et 0,4 m/s, 1 peut représenter -30 degrés et 0,8 m/s, 2 peut représenter -15 degrés et 0,4 m/s, 3 peut représenter -15 degrés et 0,8 m/s, et ainsi de suite jusqu'à 9. Les degrés négatifs font tourner la voiture vers la droite, les degrés positifs la font tourner vers la gauche et 0 permet de maintenir les roues droites.

L'espace d'action discret DeepRacer par défaut d'AWS contient les actions suivantes :

Espace d'action discret DeepRacer par défaut d'AWS
Numéro de l'action Direction Vitesse
0 -30 degrés 0,4 m/s
1 -30 degrés 0,8 m/s
2 -15 degrés 0,4 m/s
3 -15 degrés 0,8 m/s
4 0 degré 0,4 m/s
5 0 degré 0,8 m/s
6 15 degrés 0,4 m/s
7 15 degrés 0,8 m/s
8 30 degrés 0,4 m/s
9 30 degrés 0,8 m/s
Espace d'action continu

Un espace d'action continu permet à l'agent de sélectionner une action parmi une plage de valeurs pour chaque état. Tout comme dans le cas d'un espace d'action discret, cela signifie que pour chaque situation environnementale progressivement différente, le réseau neuronal de l'agent sélectionne la vitesse et la direction de la voiture en fonction des données fournies par ses caméras et son capteur LiDAR (en option). Toutefois, dans un espace d'action continu, vous pouvez définir la gamme d'options parmi lesquelles l'agent choisit son action.

Dans cet exemple, la DeepRacer voiture AWS se trouvant dans un espace d'action continu à l'approche d'un virage peut choisir une vitesse comprise entre 0,75 m/s et 4 m/s et tourner à gauche, à droite ou aller tout droit en choisissant un angle de braquage compris entre -20 et 20 degrés.

Discret ou continu

L'avantage d'utiliser un espace d'action continu est que vous pouvez créer des fonctions de récompense qui entraînent les modèles pour les inciter à agir sur la vitesse/la direction à des points spécifiques d'une piste afin d'optimiser les performances. Le choix parmi une gamme d'actions permet également de modifier en douceur les valeurs de vitesse et de direction qui, dans un modèle bien entraîné, peuvent produire de meilleurs résultats dans des conditions réelles.

Dans le cadre d'un espace d'action discret, le fait de limiter les choix d'un agent à un nombre limité d'actions prédéfinies vous oblige à comprendre l'impact de ces actions et à les définir en fonction de l'environnement (circuit, format de course) et de vos fonctions de récompense. Cependant, dans un environnement d'action continu, l'agent apprend à choisir les valeurs de vitesse et de direction optimales à partir des limites min/max que vous lui avez fournies pendant l'entraînement.

Bien que fournir une gamme de valeurs parmi lesquelles le modèle puisse choisir semble être la meilleure option, l'agent doit s'entraîner plus longtemps pour apprendre à choisir les actions optimales. Le succès dépend également de la définition de la fonction de récompense.

Fonction de récompense

Au fur et à mesure que l'agent explore l'environnement, il apprend une fonction de valeur. La fonction value aide votre agent à évaluer la qualité d'une action entreprise, après avoir observé l'environnement. La fonction value utilise la fonction de récompense que vous écrivez dans la DeepRacer console AWS pour évaluer l'action. Par exemple, dans le cadre de la fonction de récompense follow the center line de la DeepRacer console AWS, une bonne action permet de maintenir l'agent au centre de la piste et d'obtenir un score supérieur à celui d'une mauvaise action, ce qui éloigne l'agent du centre de la piste.

Au fil du temps, la fonction de valeur aide l'agent à apprendre les politiques qui augmentent la récompense totale. La meilleure stratégie consiste à équilibrer le temps que l'agent passe à explorer l'environnement avec le temps qu'il passe à exploiter ou à tirer le meilleur parti de ce que la politique a appris par expérience.

Dans l'exemple de fonction de récompense AWS DeepRacer ci-dessous, l'agent prend d'abord des mesures aléatoires pour explorer l'environnement, ce qui signifie qu'il ne parvient pas très bien à rester au centre de la piste. Au fil du temps, l'agent commence à apprendre quelles actions le maintiennent près de la ligne médiane, mais s'il le fait en continuant à effectuer des actions aléatoires, il lui faudra beaucoup de temps pour apprendre à rester près du centre de la piste pendant tout le tour. Ainsi, lorsque la politique commence à apprendre les bonnes actions, l'agent commence à utiliser ces actions au lieu de prendre des mesures aléatoires. Cependant, s'il utilise ou exploite toujours les bonnes actions, l'agent ne fera aucune nouvelle découverte, car il n'explore plus l'environnement. Ce compromis est souvent appelé le problème de l'exploration par rapport à l'exploitation dans RL.

Testez les espaces d'action par défaut et des exemples de fonctions de récompense. Une fois que vous les aurez toutes explorées, mettez vos connaissances à profit en concevant vos propres espaces d'action personnalisés et vos propres fonctions de récompense personnalisées.