Brevet FR3084867A1 — publié le 20200214

PROCÉDÉ D'ASSISTANCE POUR QU'UN VÉHICULE À CONDUITE AUTOMATISÉE SUIVE UNE TRAJECTOIRE, PAR APPRENTISSAGE PAR RENFORCEMENT DE TYPE ACTEUR CRITIQUE À SEUIL L'invention concerne les véhicules à conduite automatisée, et plus précisément les stratégies de suivi de trajectoire par de tels véhicules, à base d'apprentissage par renforcement (ou « Reinforcement Learning »). On notera que l'on entend ici par « véhicule à conduite automatisée 10 (ou autonome) », un véhicule pouvant être conduit de façon automatisée (et donc sans intervention de son conducteur) pendant une phase de conduite autonome. Dans un véhicule à conduite automatisée (ou autonome), un dispositif d'assistance contrôle à chaque instant sa direction et son accélération au moyen de commandes destinées à certains organes impliqués dans ses déplacements. La détermination de ces direction et accélération définit une consigne à suivre à chaque instant où la conduite automatisée (ou autonome) est active. Les stratégies de suivi de trajectoire d'un véhicule à conduite zo automatisée utilisent un algorithme qui prend en entrée des informations sur l'environnement de ce véhicule et délivrent en sortie des commandes au moins pour l'angle de braquage (ou de volant) de ce véhicule. Comme le sait l'homme de l'art, il existe au moins deux grandes techniques de suivi de trajectoire par apprentissage par renforcement. Comme 25 leur nom l'indique elles comprennent toutes une phase d'apprentissage (ou d'exploration), destinée à rechercher une configuration optimale, et une phase d'exploitation. L'invention concerne plus précisément la phase d'apprentissage (exploration et exploitation). Une première technique, connue sous l'appellation anglaise « Q- 30 learning », est fondée sur une estimation de la récompense (ou « reward ») cumulée future qui est espérée pour la réalisation d'une action a = rr(s) pour conduire le véhicule lorsque ce dernier est placé dans un état s défini par 2 rapport à une délimitation d'une voie de circulation sur laquelle il circule. L'objectif est de déterminer la fonction 7, qui se présente sous la forme d'un réseau de neurones à plusieurs entrées (définies par s) et une seule sortie, et qui est optimale. s L'espace des actions étant discret, on calcule cette récompense cumulée future espérée (que l'on appelle en anglais « Q-value ») pour chacune des actions possibles ab et l'on choisit celle qui induit la récompense cumulée future espérée maximale. Cette première technique est notamment décrite dans l'article qui est accessible à l'adresse Internet « https://rd. springer. com/content/pdf/10.1007/02F B F00992698. pdf ». Cette première technique étant fondée sur une discrétisation de l'espace des actions, un problème de convergence apparait assez rapidement et ne permet pas d'arriver à un suivi de trajectoire satisfaisant. Une seconde technique, connue sous l'appellation anglaise « Actor- Critic » - en français « acteur critique »), notamment décrite dans l'article accessible à l'adresse Internet « https://arxiv.org/pdf/1509.02971.pdf » et dans les documents brevet CA2993551 et CN107346138, est fondée sur une séparation de l'estimation de la récompense cumulée future espérée (ou Q-value) précitée et du choix de l'action a = u(s), et permet de travailler dans un espace des actions continu. L'action a = Tr(s) à réaliser dans le véhicule est vue de manière stochastique, et la probabilité d'une action est augmentée ou diminuée en fonction de l'écart entre la récompense effectivement obtenue et la récompense estimée, et l'on choisit celle qui induit la récompense cumulée future espérée (ou Q-value) maximale. Plus précisément, cette seconde technique comprend une étape dans laquelle on détermine des récompenses cumulées futures espérées, notées Q(s,a), pour des états s et des actions a, puis, pour chaque Q(s,a), on déduit une fonction de perte qui est fonction d'une erreur d'estimation de ce Q(s,a), représentative de sa surestimation ou sous-estimation, puis on minimise chaque fonction de perte pour faire évoluer chaque Q(s,a) associé vers un Q(s,a) final associé à une erreur d'estimation finale, puis on ajuste la probabilité P(a) de l'action a à réaliser dans le véhicule ayant l'état s dans le 3 sens de l'erreur d'estimation de Q(s,a). Pour mettre en oeuvre l'étape précitée, on peut classiquement utiliser des première et seconde fonctions principales appelées respectivement « la critique » et « l'acteur ». s La première fonction principale détermine la récompense cumulée future espérée (ou Q-value), notée Q(s,a) et généralement régie par l'équation de Bellman Q(s,a) = r(s,a) + yQ(s',a'), où s' est l'état qui suit l'état s après que l'action a = u(s) ait été réalisée, a' = Tr(s'), r(s,a) est la récompense obtenue en ayant réalisé l'action a en présence de l'état s du véhicule, et y est un 10 paramètre appartenant à l'intervalle [0 ; 1[. La seconde fonction principale détermine, à partir de l'état s, l'action a optimale à réaliser dans le véhicule, et donc correspond à la fonction -rr que l'on recherche. La première fonction principale (ou critique) va converger vers la Q-value réelle grâce à l'équation de Bellman de laquelle on déduit une fonction 15 de perte « lossc » devant être minimisée et définie par l'équation lossc = [(r + yQ(s',a')) - Q(s,a)]2. Cette fonction de perte 'osso est fondée sur l'erreur d'estimation de la Q-value, nommée « TDerror » (« Temporal Difference Error » - erreur de différence temporelle) et définie par l'équation TDerror = (r + yQ(s',a')) - Q(s,a). Cette erreur d'estimation de la Q-value (TDerror) contient 20 dans son signe l'information du sens de l'erreur : TDerror est négative lorsque la récompense cumulée future espérée (ou Q-value) est surestimée, et TDerror est positive lorsque la récompense cumulée future espérée (ou Q-value) est sous-estimée. Cette information concernant le sens de l'erreur permet d'introduire 25 une autre fonction de perte « lossa » devant être minimisée par la seconde fonction principale (ou acteur) et définie par l'équation lossa = -log(P(a))TDerror, ou P(a) est la probabilité de l'action a ayant mené à la récompense r(s,a). Si cette action a est meilleure que prévu on augmente sa probabilité, sinon on la diminue. P(a) est donc optimisée en fonction de l'erreur d'estimation associée, 30 et a est la sortie bruitée du réseau. Cette optimisation est l'objectif de l'apprentissage. En effet, si l'on a TDerror > 0, cela signifie que la récompense cumulée future espérée (ou Q-value) est sous-estimée et donc qu'il faut 4 augmenter la probabilité de l'action a menant à cette Q-value, et inversement, si l'on a TDerror E), on minimise la fonction de perte lassa associée pour faire évoluer le Q(s,a) associé vers un Q(s,a) final qui est associé à une erreur d'estimation finale. En revanche, si l'erreur d'estimation TDerror associée à un Q(s,a) est inférieure ou égale au seuil prédéfini E (soit TDerror s), on (le second calculateur C2) minimise dans une sous-étape 40 la fonction de perte lossa associée. Puis, dans une sous-étape 50, on (le premier calculateur C1) fait évoluer le Q(s,a) associé en fonction du résultat de la minimisation, puis on retourne effectuer la sous-étape 15 20. En revanche, si l'erreur d'estimation TDerrar associée à un Q(s,a) est inférieure ou égale au seuil prédéfini s (soit TDeffar s). Dans l'affirmative (TDerror > s), 30 le septième module de traitement M14 extrait la fonction de perte 'osso du cinquième module de traitement M12 afin de la transmettre au huitième module de traitement M15. Dans la négative (TDerror E, soit -Q(s,a) si TDerror s s), puis utilise le résultat de cette minimisation pour modifier le réseau de neurones venant d'être utilisé par le premier module de traitement M8 (de son second calculateur C2). C'est la minimisation de -Q(s,a) qui permet de converger vers la meilleure solution au cours des itérations de l'apprentissage. io On notera que le premier calculateur Cl (de Q(s,a)) n'est utile que pour la phase d'apprentissage. Une fois l'apprentissage terminé, on utilise seulement le second calculateur C2 (acteur) pour obtenir directement l'action à réaliser. On notera également que l'invention propose aussi un produit Zs programme d'ordinateur comprenant un jeu d'instructions qui, lorsqu'il est exécuté par des moyens de traitement de type circuits électroniques (ou hardware), comme par exemple les premier Cl et second C2 calculateurs et le module d'interface MI, est propre à mettre en oeuvre le procédé d'assistance décrit ci-avant pour assister le suivi d'une trajectoire par le véhicule V circulant 20 sur la voie de circulation VC. On notera également que sur la figure 3 le dispositif d'assistance DA est très schématiquement et fonctionnellement illustré par des modules de traitement (ou calcul) M1 à M15 et MI. L'un au moins de ces modules de traitement (ou calcul) peut être réalisé au moyen d'au moins un processeur, 25 par exemple de signal numérique (ou DSP (Digital Signal Processor)), éventuellement associé à une mémoire vive pour stocker des instructions pour la mise en oeuvre par ce processeur d'une partie du procédé d'assistance tel que décrit ci-avant. Par ailleurs, le dispositif d'assistance DA peut, comme évoqué plus haut, comprendre un boitier comportant des circuits intégrés (ou 30 imprimés), reliés par des connections filaires ou non filaires. On entend par circuit imprimé tout type de dispositif apte à effectuer au moins une opération électrique ou électronique. Par ailleurs, ce dispositif d'assistance DA peut comprendre au moins une mémoire de masse notamment pour le stockage 19 des données définissant les résultats de ses traitements (ou calculs) intermédiaires et finaux, une interface d'entrée pour la réception d'au moins les éléments constituants les états s (et qu'il n'a pas déterminés lui-même et qu'éventuellement il met en forme et/ou démodule et/ou amplifie de façon s connue en soi), et une interface de sortie pour la transmission des résultats de ses calculs et traitements (et notamment l'action a (par exemple une modification de l'angle de braquage) devant être réalisée dans le véhicule V du fait qu'elle est associée à la récompense cumulée future espérée Q(s,a) finale la plus grande parmi toutes celles déterminées). 10 Une ou plusieurs sous-étapes de l'étape du procédé d'assistance peuvent être effectuées par des composants différents. Ainsi, le procédé d'assistance peut-être mis en oeuvre par une pluralité de processeurs, mémoire vive, mémoire de masse, interface d'entrée, interface de sortie et/ou processeur de signal numérique. Dans ces situations, le dispositif 15 d'assistance DA peut-être décentralisé, au sein d'un réseau local (plusieurs processeurs reliés entre eux par exemple) ou d'un REVENDICATIONS1. Procédé d'assistance pour assister le suivi d'une trajectoire par un véhicule (V) à conduite automatisée, ayant des états s définis par rapport à s une délimitation d'une voie de circulation (VC) sur laquelle il circule, et sur lequel on réalise des actions a pour le conduire, ledit procédé comprenant une étape (10-80) dans laquelle on détermine des récompenses cumulées futures espérées, notées Q(s,a), pour des états s et des actions a, puis on déduit pour chaque Q(s,a) une fonction de perte fonction d'une erreur d'estimation de ce 10 Q(s,a), représentative de sa surestimation ou sous-estimation, puis on minimise chaque fonction de perte pour faire évoluer chaque Q(s,a) associé vers un Q(s,a) final associé à une erreur d'estimation finale, puis on choisit comme action a à réaliser dans ledit véhicule (V) ayant ledit état s, l'action a associée au Q(s,a) final le plus grand, caractérisé en ce que dans ladite étape 15 (10-80) on compare pour chaque Q(s,a) ladite erreur d'estimation associée à un seuil prédéfini, et lorsque ladite erreur d'estimation associée est supérieure audit seuil prédéfini on poursuit la minimisation de ladite fonction de perte associée, tandis que lorsque ladite erreur d'estimation associée est inférieure ou égale audit seuil prédéfini on minimise -Q(s,a) à la place de ladite fonction 20 de perte. 2. Procédé selon la revendication 1, caractérisé en ce que dans ladite étape (10-80) on utilise des Q(s,a) régis par une équation de Bellman Q(s,a) = r(s,a) + yQ(s',a'), où s' est un état qui suit un état s après qu'une action a = u(s) ait été réalisée dans ledit véhicule, a' = u(s'), r(s,a) est une récompense 25 obtenue en ayant appliqué ladite action a en présence dudit état s du véhicule, et y est un paramètre appartenant à un intervalle [0 ; 1[. 3. Procédé selon la revendication 2, caractérisé en ce que dans ladite étape (10-80) on utilise une erreur d'estimation de Q(s,a) définie par (r + yQ(s',a')) - Q(s,a). 30 4. Procédé selon la revendication 3, caractérisé en ce que dans ladite étape (10-80) on utilise pour chaque Q(s,a) une fonction de perte égale à - log(P(a))((r + yQ(s',a')) - Q(s,a)), où P(a) est une probabilité de l'action a ayant mené à la récompense r(s,a), laquelle est variable en fonction de ladite erreur 21 d'estimation associée. 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que dans ladite étape (10-80) on utilise des états s définis chacun par au moins deux distances séparant de ladite délimitation de la voie de circulation s respectivement deux points déterminés sur une prolongation vers l'avant dudit véhicule (V) d'un axe longitudinal médian de ce dernier, un angle de braquage en cours dudit véhicule et un angle de cap en cours dudit véhicule (V). 6. Procédé selon la revendication 5, caractérisé en ce que dans ladite étape (10-80) on utilise des états s définis chacun par cinq distances, ledit 10 angle de braquage en cours dudit véhicule (V) et ledit angle de cap en cours dudit véhicule (V). 7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce que dans ladite étape (10-80) on utilise un réseau de neurones pour minimiser chaque fonction de perte associée à un Q(s,a), et pour choisir comme action a à réaliser dans ledit véhicule (V) ayant ledit état s, l'action a associée au Q(s,a) final le plus grand. 8. Produit programme d'ordinateur comprenant un jeu d'instructions qui, lorsqu'il est exécuté par des moyens de traitement, est propre à mettre en oeuvre le procédé d'assistance selon l'une des revendications 20 précédentes pour assister le suivi d'une trajectoire par un véhicule (V) à conduite automatisée, ayant des états s définis par rapport à une délimitation d'une voie de circulation (VC) sur laquelle il circule, et sur lequel on réalise des actions a pour le conduire. 9. Dispositif d'assistance (DA) pour assister le suivi d'une trajectoire par 25 un véhicule (V) à conduite automatisée, ayant des états s définis par rapport à une délimitation d'une voie de circulation (VC) sur laquelle il circule, et sur lequel on réalise des actions a pour le conduire, ledit dispositif (DA) comprenant au moins i) un premier calculateur (C1) déterminant des récompenses cumulées futures espérées, notées Q(s,a), pour des états s et 30 des actions a, puis déterminant pour chaque Q(s,a) une erreur d'estimation représentative de sa surestimation ou sous-estimation, et ii) un second calculateur (C2) déduisant pour chaque Q(s,a) une fonction de perte fonction de ladite erreur d'estimation associée, puis minimisant chaque fonction de 22 perte pour que ledit premier calculateur (C1) fasse évoluer chaque Q(s,a) associé vers un Q(s,a) final associé à une erreur d'estimation finale, et choisissant comme action a à réaliser dans ledit véhicule (V) ayant ledit état s, l'action a associée au Q(s,a) final le plus grand, caractérisé en ce que ledit s second calculateur (C2) compare à un seuil prédéfini chaque erreur d'estimation associée à un Q(s,a), et poursuit la minimisation de ladite fonction de perte associée à un Q(s,a) tant que ladite erreur d'estimation associée est supérieure audit seuil prédéfini, et minimise -Q(s,a) à la place de la fonction de perte associée à un Q(s,a) lorsque ladite erreur d'estimation associée est Zo inférieure ou égale audit seuil prédéfini. 10. Véhicule (V) à conduite au moins partiellement automatisée, ayant des états s définis par rapport à une délimitation d'une voie de circulation (VC) sur laquelle il circule, et sur lequel on réalise des actions a pour le conduire, caractérisé en ce qu'il comprend un dispositif d'assistance (DA) selon la is revendication 9.