Formez et évaluez les DeepRacer modèles AWS - 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.

Formez et évaluez les DeepRacer modèles AWS

Lorsque votre DeepRacer véhicule AWS roule tout seul sur une piste, il capture les états environnementaux à l'aide de la caméra montée à l'avant et prend des mesures en réponse aux observations. Votre DeepRacer modèle AWS est une fonction qui associe les observations et les actions à la récompense attendue. Former votre modèle consiste à rechercher ou découvrir la fonction qui optimise la récompense prévue afin que le modèle optimisé préconise les actions (paires vitesse-angle de direction) que votre véhicule peut effectuer pour se déplacer de manière autonome de la ligne de départ à la ligne d'arrivée.

En pratique, la fonction est représentée par un réseau neuronal. La formation du réseau implique de trouver les influences réseau optimales en fonction de séquences d'états de l'environnement observées et des actions du véhicule en réponse à ces états. Les critères d'optimalité sous-jacents sont décrits par la fonction de récompense du modèle, qui encourage le véhicule à effectuer des déplacements autorisés et efficaces sans provoquer d'accidents ni d'infractions. Une fonction de récompense simple peut renvoyer une récompense de 0 si le véhicule est sur la piste, de -1 s'il est hors piste et de +1 s'il franchit la ligne d'arrivée. Avec cette fonction de récompense, le véhicule est pénalisé en cas de sortie de piste et récompensé s'il atteint la destination. Cette fonction de récompense peut être satisfaisante si le temps et la vitesse ne sont pas un problème.

Supposons que vous souhaitiez faire rouler le véhicule aussi vite que possible sans sortir d'une piste rectiligne. Au fur et à mesure que le véhicule accélère et ralentit, il peut se diriger vers la gauche ou vers la droite afin d'éviter des obstacles ou pour rester dans les limites. Prendre un virage trop prononcé à grande vitesse peut facilement entraîner le véhicule en dehors de la piste. Prendre un virage trop serré peut ne pas permettre d'éviter une collision avec un obstacle ou un autre véhicule. En règle générale, les actions optimales consistent à prendre un virage plus large en réduisant la vitesse ou à moins braquer dans un virage plus serré. Pour encourager ce comportement, votre fonction de récompense doit attribuer un score positif pour récompenser une plus grande vitesse dans les virages plus serrés et/ou un score négatif pour pénaliser une plus grande vitesse dans les virages plus larges. La fonction de récompense peut également attribuer une récompense positive pour une accélération dans une ligne plus droite ou un ralentissement à proximité d'un obstacle.

La fonction de récompense est un élément important de votre DeepRacer modèle AWS. Vous devez le fournir lors de la formation de votre DeepRacer modèle AWS. La formation implique une répétition d'épisodes de la ligne de départ à la ligne d'arrivée de la piste. Au cours d'un épisode, l'agent interagit avec la piste afin de déduire la suite d'actions optimale, en exploitant qu maximum la récompense cumulée attendue. Au final, la formation produit un modèle d'apprentissage par renforcement. Après la formation, l'agent exécute un pilotage autonome en exécutant l'inférence sur le modèle afin de réagir de manière optimale quelle que soit la situation. Cela peut se faire dans un environnement simulé avec un agent virtuel ou dans un environnement réel avec un agent physique, tel qu'un véhicule à l'DeepRaceréchelle AWS.

Dans la pratique, pour former un modèle d'apprentissage par renforcement, vous devez choisir un algorithme d'apprentissage. Actuellement, la DeepRacer console AWS prend uniquement en charge les algorithmes d'optimisation des politiques proximales (PPO) et de soft actor critic (SAC). Vous pouvez ensuite choisir un framework d'apprentissage profond prenant en charge l'algorithme choisi, à moins que vous ne souhaitiez en écrire un à partir de zéro. AWS DeepRacer s'intègre SageMaker à certains frameworks d'apprentissage en profondeur populaires, tels que TensorFlow, facilement disponibles dans la DeepRacer console AWS. L'utilisation d'une infrastructure simplifie la configuration et l'exécution des tâches de formation et vous permet de vous concentrer sur la création et l'amélioration de fonctions de récompense qui répondent à vos problèmes.

La formation d'un modèle d'apprentissage par renforcement est un processus itératif. Tout d'abord, il est difficile de définir une fonction de récompense couvrant simultanément tous les comportements importants d'un agent au sein d'un environnement. Ensuite, les hyperparamètres sont souvent ajustés pour garantir des performances de formation satisfaisantes. Dans les deux cas, l'expérimentation est nécessaire. Une approche prudente consiste à commencer par une fonction de récompense simple, puis à l'améliorer progressivement. AWS DeepRacer facilite ce processus itératif en vous permettant de cloner un modèle entraîné, puis de l'utiliser pour démarrer le cycle de formation suivant. À chaque itération, vous pouvez introduire un ou plusieurs traitements plus sophistiqués dans la fonction de récompense de façon à gérer des variables qui étaient précédemment ignorées, ou vous pouvez ajuster systématiquement les hyperparamètres jusqu'à ce que le résultat converge.

Comme il est d'usage de le faire dans le domaine du Machine Learning, vous devez évaluer un modèle d'apprentissage par renforcement formé pour vérifier son efficacité avant de le déployer sur un agent physique pour exécuter l'inférence dans une situation réelle. Dans le contexte du pilotage autonome, l'évaluation peut être basée sur le temps pendant lequel un véhicule reste sur une piste donnée entre le départ et l'arrivée ou sur le temps qu'il lui faut pour terminer le parcours sans quitter la piste. La DeepRacer simulation AWS vous permet d'exécuter l'évaluation et de publier les mesures de performance à des fins de comparaison avec des modèles formés par d'autres DeepRacer utilisateurs d'AWS sur un classement.