Brevet FR3093369A1 — publié le 20200904

Description Titre de l'invention : APPRENTISSAGE D'UN RÉSEAU DE NEURONES PAR COMPARAISONS DE VALEURS PRODUITES PAR UN SIMULATEUR DE CONDUITE D'UN VÉHICULE FONCTIONNANT EN PARALÈLLE Domaine technique de l'invention [0001] L'invention concerne les véhicules terrestres à conduite au moins partiellement au- tomatisée (ou autonome) et éventuellement de type automobile, et plus précisément l'apprentissage des réseaux de neurones qui sont chargés de déterminer des décisions de conduite pour de tels véhicules. Etat de la technique [0002] Dans ce qui suit on considère qu'un véhicule terrestre est à conduite au moins par- tiellement automatisée (ou autonome) lorsqu'il peut être conduit sur une route de façon automatisée (partielle ou totale (sans intervention de son conducteur)) pendant une phase de conduite automatisée, ou de façon manuelle (et donc avec intervention de son conducteur sur le volant et/ou les pédales) pendant une phase de conduite manuelle. Par exemple, la conduite automatisée (ou autonome) d'un véhicule (à conduite au moins partiellement automatisée) peut consister à diriger partiellement ou totalement ce véhicule ou à apporter tout type d'aide à une personne physique conduisant ce véhicule. Cela couvre donc toute conduite automatisée (ou autonome), du niveau I au niveau 5 dans le barème de l'OICA (Organisation International des Constructeurs Automobiles). [0003] Par ailleurs, on entend ici par « véhicule terrestre » tout type de véhicule pouvant circuler sur une route, et notamment un véhicule automobile, un véhicule utilitaire, un cyclomoteur, une motocyclette, un minibus, un car, un robot de stockage dans un entrepôt, ou un engin de voirie. [0004] De nombreux procédés d'assistance à la conduite de véhicules (à conduite au moins partiellement automatisée) ont pour but d'adapter la conduite de ces véhicules en fonction d'informations déterminées dans leur environnement à partir d'une analyse de données acquises dans ce dernier par leurs capteurs. Cette adaptation se fait en fonction de décisions de conduite qui peuvent être déterminées par un réseau de neurones ayant été préalablement formé (ou entraîné) à cet effet, et éventuellement capable de généralisation sur des cas non appris (voire d'optimisation sur un critère donné). Par exemple, lorsque le réseau de neurones a été formé (ou entraîné) à partir d'essais/erreurs, son apprentissage est dit « par renforcement ». Chaque essai/erreur est sanctionné par un 2 système de bonus/malus sans que la solution attendue ne soit explicitement fournie au système (car souvent non connue). L'exploitation de règles pour définir le bonus/malus peut être une option. [0005] Un inconvénient de cc type de réseau de neurones réside dans le fait qu'il est formé sans que l'on connaisse son niveau minimum de performance, et donc la pertinence des décisions de conduite qu'il prend peut varier très notablement d'un environnement (correspondant à une situation particulière) à un autre environnement (correspondant à une autre situation particulière), voire parfois peut être non pertinente. [0006] L'invention a donc notamment pour but d'améliorer la situation. Présentation de l'invention [0007[ Elle propose notamment à cet effet un procédé d'apprentissage destiné à former un réseau de neurones chargé de déterminer des décisions de conduite pour un véhicule virtuel à conduite au moins partiellement autonome. [0008[ Ce procédé d'apprentissage se caractérise par le fait qu'il comprend : [0009[ - une première étape dans laquelle on fait fonctionner en parallèle, avec un même ensemble de données d'environnement définissant un environnement du véhicule et une définition d'un trajet ou d'une manoeuvre, d'une part, un simulateur de conduite pour qu'il détermine au moins une première décision de conduite pour le véhicule avec un ensemble de règles prédéfinies, et, d'autre part, le réseau de neurones pour qu'il détermine au moins une seconde décision de conduite pour le véhicule, [0010[ - une deuxième étape dans laquelle on estime des première et seconde valeurs repré- sentatives respectivement de performances des première(s) et seconde(s) décisions de conduite, et [0011] - une troisième étape dans laquelle on modifie de façon automatisée le réseau de neurones soit par apprentissage de type supervisé lorsque la première valeur est supérieure à la seconde valeur, soit par apprentissage de type renforcement lorsque la première valeur est inférieure à la seconde valeur, puis on réitère les première à troisième étapes, avec à chaque fois un nouvel ensemble de données d'environnement et une nouvelle définition de trajet ou de manoeuvre, tant qu'un critère d'arrêt n'est pas satisfait. [0012] Ainsi, lorsque le critère d'arrêt est satisfait (hormis en cas de collision) on considère que le réseau de neurones est devenu suffisamment performant. Lorsque le critère d'arrêt est une collision et qu'il est satisfait, on n'a pas besoin d'aller plus loin dans la simulation, car on sait que la suite de commandes choisie n'est pas la bonne. [0013] Le procédé d'apprentissage selon l'invention peut comporter d'autres caractéristiques qui peuvent être piises séparément ou en combinaison, et notamment : [0014] - le critère d'arrêt peut, par exemple, être choisi parmi un niveau de performance 3 global, fonction des secondes valeurs déterminées successivement lors des itérations, et dépassant un seuil prédéfini, un taux d'erreur devenant inférieur à un seuil prédéfini, une évolution des secondes valeurs, déterminées successivement lors des itérations, qui tend vers une valeur prédéfinic et dépasse un seuil prédéfini, et un nombre n, de fois où les secondes valeurs déterminées ont été supérieures aux premières valeurs correspondantes, qui atteint un seuil prédéfini ; [0015] - dans sa troisième étape la modification du réseau de neurones par apprentissage de type supervisé peut consister à fournir ou indiquer au réseau de neurones l'ensemble de règles devant être respectées pour réaliser correctement un trajet ou une manoeuvre venant d'être effectué(e) ; [0016] - dans sa troisième étape la modification du réseau de neurones par apprentissage de type renforcement peut consister à modifier une représentation personnelle via une adaptation d'une structure interne ; [0017] - dans sa deuxième étape on peut estimer les première et seconde valeurs en fonction d'au moins un critère de performance choisi ; [0018] + chaque critère de performance peut, par exemple, être choisi parmi un confort de passagers du véhicule, une influence sur un temps de trajet ou de manoeuvre du véhicule, un risque encouru par le véhicule, une stabilité des décisions (comme par exemple le fait que l'on n'oscille pas entre une décision de changer de voie et une décision de rester dans la voie), et une utilisation d'accélérations maximales. [0019] L'invention propose également un 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 un procédé d'apprentissage du type de celui présenté ci-avant pour former un réseau de neurones chargé de déterminer des décisions de conduite pour un véhicule virtuel à conduite au moins partiellement autonome. [0020] L'invention propose également un dispositif d'apprentissage destiné à former un réseau de neurones chargé de déterminer des décisions de conduite pour un véhicule virtuel à conduite au moins partiellement autonome. [0021] Ce dispositif d'apprentissage se caractérise par le fait qu'il comprend au moins un processeur et au moins une mémoire agencés pour effectuer les opérations consistant a: [0022] - déclencher le fonctionnement en parallèle, avec un même ensemble de données d'environnement définissant un environnement du véhicule et une définition d'un trajet ou d'une manoeuvre, d'une part, d'un simulateur de conduite pour qu'il détermine au moins une première décision de conduite pour le véhicule avec un ensemble de règles prédéfinies, et, d'autre part, du réseau de neurones pour qu'il détermine au moins une seconde décision de conduite pour le véhicule, [0023] - estimer des première et seconde valeurs représentatives respectivement de per- formances des première(s) et seconde(s) décisions de conduite, [0024] - modifier le réseau de neurones soit par apprentissage de type supervisé lorsque la première valeur est supérieure à la seconde valeur, soit par apprentissage de type renforcement lorsque la première valeur est inférieure à la seconde valeur, puis [0025] - réitérer ces déclenchement, estimation et modification, avec à chaque fois un nouvel ensemble dc données d'environnement et une nouvelle définition de trajet ou de manoeuvre, tant qu'un critère d'arrêt n'est pas satisfait. [0026] L'invention propose également un ordinateur comprenant, d'une part, un simulateur de conduite destiné à déterminer, avec un ensemble de règles prédéfinies, des décisions de conduite pour un véhicule virtuel à conduite au moins partiellement autonome, et, d'autre part, un dispositif d'apprentissage du type de celui présenté ci-avant et couplé à un réseau de neurones chargé de déterminer des décisions de conduite pour le véhicule. Brève description des figures [0027] D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels : [0028] [fig.1] illustre schématiquement et fonctionnellement un exemple de réalisation d'un ordinateur de simulation équipé d'un exemple de réalisation d'un dispositif d'apprentissage selon l'invention et d'un réseau de neurones à former, et [0029] [fig.2j illustre schématiquement un exemple d'algorithme mettant en oeuvre un procédé d'apprentissage selon l'invention. Description détaillée de l'invention 100301 L'invention a notamment pour but de proposer un procédé d'apprentissage, et un dispositif d'apprentissage DA associé, destinés à permettre l'apprentissage (ou la formation ou encore l'entraînement) d'un réseau de neurones RN chargé de déterminer des décisions de conduite pour un véhicule virtuel à conduite au moins partiellement autonome. On comprendra qu'une fois le réseau de neurones RN formé (ou entraîné) il est destiné à être implanté dans un dispositif d'assistance destiné à assister la conduite d'un véhicule réel du même type que le véhicule virtuel avec lequel il a été formé (ou entraîné). 100311 Dans ce qui suit, on considère, à titre d'exemple non limitatif, que le véhicule virtuel à conduite automatisée (ou autonome) est de type automobile. Il s'agit par exemple d'une voiture. Mais l'invention n'est pas limitée à ce type de véhicule virtuel. Elle concerne en effet tout type de véhicule terrestre à conduite au moins partiellement automatisée et pouvant circuler sur des voies de circulation terrestres. Ainsi, il pourra aussi s'agir d'un véhicule utilitaire, d'un cyclomoteur, d'une motocyclette, d'un minibus, d'un car, d'un robot de stockage dans un entrepôt, ou d'un engin de voirie, par exemple. [0032] On notera que l'invention est destinée à permettre la conduite automatisée (au moins partiellement) de véhicules sur toute portion de route comprenant au moins une voie de circulation délimitée par deux délimitations. [0033] Comme évoqué plus haut, l'invention propose notamment un procédé d'apprentissage destiné à permettre l'apprentissage (ou la formation ou encore l'entraînement) d'un réseau de neurones RN chargé de déterminer des décisions de conduite pour un véhicule virtuel à conduite au moins partiellement autonome. [0034] Ce procédé d'apprentissage peut être au moins partiellement mis en oeuvre par le dispositif d'apprentissage DA qui comprend à cet effet au moins un processeur PR, par exemple de signal numérique (ou DSP (« Digital Signal Processor »)), et une mémoire MD. [0035] Dans l'exemple illustré non limitativement sur la figure 1, le dispositif d'apprentissage DA fait partie d'un ordinateur OS qui comprend également un simulateur de conduite SC et le réseau de neurones RN devant être formé (ou entraîné). Mais cela n'est pas obligatoire. En effet, le dispositif d'apprentissage DA pourrait comprendre son propre calculateur et être couplé à un ordinateur OS comprenant un simulateur de conduite SC et le réseau de neurones RN devant être formé (ou entraîné). Par conséquent, le dispositif d'apprentissage DA peut être réalisé sous la forme d'une combinaison de circuits ou composants électriques ou électroniques (ou « hardware ») et de modules logiciels (ou « software »). La mémoire MD est vive afin de stocker des instructions pour la mise en oeuvre par le processeur PR du procédé d'apprentissage. [0036] On notera que l'ordinateur OS peut être fixe ou portable ou bien peut faire partie d'un serveur. Il peut être matériel ou virtuel (par exemple réparti dans un nuage (ou « cloud »)). [0037] Le simulateur de conduite SC est agencé de manière à déterminer, en fonction d'un ensemble de règles prédéfinies, une première décision de conduite pour le véhicule virtuel chaque fois qu'il est alimenté avec des données d'environnement et une définition d'un trajet ou d'une manoeuvre. Ces données d'environnement sont similaires à celles qui sont acquises par le(s) capteur(s) équipant un véhicule réel. Elles sont représentatives de l'environnement qui est situé au moins devant ce véhicule et, de préférence, sur une partie au moins des deux côtés latéraux de ce véhicule, ainsi qu'éventuellement derrière ce véhicule. [0038] Chaque capteur peut comprendre au moins une caméra installée dans une partie avant du véhicule (par exemple sur le pare-brise ou sur le rétroviseur intérieur) ou dans une partie arrière, ou au moins un capteur à ultrasons ou au moins un radar ou lidar. [0039] Comme illustré sur la figure 2, le procédé d'apprentissage, selon l'invention, 6 comprend trois étapes effectuées en série de façon réitérée. [0040] Dans une première étape 1 0-20 du procédé d'apprentissage, on (le processeur PR et la mémoire MD) alimente(nt) le simulateur de conduite SC et le réseau de neurones RN à former (ou entraîner) avec un même ensemble de données d'environnement définissant un environnement du véhicule virtuel (au moins devant ce dernier) et une définition d'un trajet ou d'une manoeuvre. Cette alimentation est destinée à faire fonctionner en parallèle avec cet ensemble de données d'environnement sur ce trajet défini ou cette manoeuvre définie, d'une part, le simulateur de conduite SC pour qu'il détermine au moins une première décision de conduite dl pour le véhicule virtuel (avec son ensemble de règles prédéfinies), et, d'autre part, le réseau de neurones RN pour qu'il détermine au moins une seconde décision de conduite d2 pour le véhicule virtuel. [0041] Dans une deuxième étape 30 du procédé d'apprentissage, on (le processeur PR et la mémoire MD) estime(nt) des première vl et seconde v2 valeurs qui sont représentatives respectivement de performances des première(s) dl et seconde(s) d2 décisions de conduite venant d'être déterminées dans la première étape 10. [0042] On notera que les première vl et seconde v2 valeurs peuvent être numériques ou al- phanumériques. [0043] Par exemple, dans cette deuxième étape 30 on (le processeur PR et la mémoire MD) peu(ven)t estimer les première vl et seconde v2 valeurs en fonction d'au moins un critère de performance choisi. [0044] A titre d'exemple, chaque critère de performance peut être choisi parmi le confort des passagers du véhicule, l'influence sur le temps de trajet ou de manoeuvre du véhicule, le risque encouru par le véhicule, la stabilité des décisions (comme par exemple le fait que l'on n'oscille pas entre une décision de changer de voie et une décision de rester dans la voie), et l'utilisation d'accélérations maximales. Mais tout autre critère de performance connu de l'homme de l'art peut être ici utilisé. [0045] Plus le confort des passagers du véhicule est respecté, plus la performance est élevée. Pour ce faire, on doit avoir une bonne gestion des accélérations (au moins longitudinales et si possible aussi transversales), des freinages et de l'angle de braquage des roues directrices du véhicule. D'une manière générale, on cherche à éviter autant que possible les oscillations longitudinales ou latérales qui sont sources de malaise, et les accélérations ou secousses trop importantes qui sont sources de stress ou d'inconfort. Par exemple, on peut vérifier si les accélérations décidées sont restées dans un intervalle de valeurs prédéfini et/ou si les intensités des freinages sont restées dans un intervalle de valeurs prédéfini et/ou si les angles de braquage sont restés dans un intervalle de valeurs prédéfini. [0046] Plus le temps de trajet ou de manoeuvre est court, plus la performance est a priori 7 élevée sous réserve, bien entendu, que le confort ne soit pas (ou peu) diminué. Pour ce faire, on doit avoir une bonne gestion des dépassements, de la vitesse et de l'accélération. [0047] Plus le risque encouru est faible, plus la performance est élevée, sous réserve, bien entendu, que le véhicule bouge. Pour ce faire, on doit avoir une bonne gestion des évitements des obstacles présents dans l'environnement du véhicule et des distances entre le véhicule et les obstacles qui l'environnent, ainsi qu'une bonne maîtrise des règles de conduite et sociales. [0048] Dans une troisième étape 40-80 du procédé d'apprentissage, on (le processeur PR et la mémoire MD) modifie(nt) (ou corrige(ne) de façon automatisée le réseau de neurones RN soit par apprentissage de type supervisé lorsque la première valeur vl est supérieure à la seconde valeur v2, soit par apprentissage de type renforcement lorsque la première valeur vl est inférieure à la seconde valeur v2. [0049] Puis, on (le processeur PR et la mémoire MD) réitère(nt) les première 10-20 à troisième 40-80 étapes, avec à chaque fois un nouvel ensemble de données d'environnement et une nouvelle définition de trajet ou de manoeuvre, tant qu'un critère d'arrêt n'est pas satisfait. [0050] Grâce à l'invention, il est désormais possible de former (ou entraîner) un réseau de neurones de sorte qu'il présente un niveau minimum de performance (supérieur à celui du simulateur de conduite SC). En effet, lorsque le critère d'arrêt est satisfait (hormis en cas de collision) on considère que le réseau de neurones est devenu suffisamment performant. Lorsque le critère d'arrêt est une collision et qu'il est satisfait, on n'a pas besoin d'aller plus loin dans la simulation, car on sait que la suite de commandes choisie n'est pas la bonne et donc qu'il n'est pas nécessaire de poursuivre Ainsi, plus le système de décision rencontrera de situations différentes lors de son fonctionnement en parallèle avec le simulateur de conduite SC, plus il saura s'adapter à de nouveaux cas. [0051] Par exemple, le critère d'arrêt qui est utilisé dans chaque troisième étape 40-80 peut être choisi parmi : [0052] - un niveau de performance global, fonction des secondes valeurs v2 qui ont été dé- terminées successivement lors des différentes itérations, et dépassant un seuil prédéfini, [0053] - un taux d'erreur devenant inférieur à un seuil prédéfini, [0054] - une évolution des secondes valeurs v2, déterminées successivement lors des dif- férentes itérations, qui tend vers une valeur prédéfinie et dépasse un seuil prédéfini, et [0055] - un nombre n, de fois où les secondes valeurs v2 déterminées ont été supérieures aux premières valeurs vl correspondantes, qui atteint un seuil N prédéfini. [0056] Le niveau de performance global peut, par exemple, être égal à la somme ou la 8 moyenne des secondes valeurs v2 déterminées successivement lors des différentes itérations. Le seuil prédéfini est au moins égal au niveau de performance global du simulateur de conduite SC. On comprendra que plus ce seuil sera élevé, plus il sera difficile de l'atteindre. Après chaque itération on met à jour le niveau de performance global, et lorsqu'il devient supérieur au seuil prédéfini on arrête les itérations et donc on cesse l'apprentissage du réseau de neurones RN. On comprendra que dans ce cas, on doit effectuer un nombre minimal P d'itérations avant de décider d'arrêter le procédé. En effet, on pourrait avoir au début du procédé un niveau de performance global supérieur au seuil prédéfini. Par exemple (et non limitativement), le nombre minimal P peut être compris entre 100 et 200. [0057] Le taux d'erreur peut, par exemple, être égal au nombre total d'erreurs divisé par le nombre d'itérations. Après chaque itération on met à jour le taux d'erreur, et lorsqu'il devient inférieur au seuil prédéfini on arrête les itérations et donc on cesse l'apprentissage du réseau de neurones RN. On comprendra que dans ce cas, on doit effectuer un nombre minimal P d'itérations avant de décider d'arrêter le procédé. En effet, on pourrait avoir au début du procédé un taux d'erreur inférieur au seuil prédéfini. Par exemple (et non limitativement), le nombre minimal P peut être compris entre 100 et 200. [0058] C'est en comparant entre elles les secondes valeurs v2 qui sont déterminées succes- sivement lors des différentes itérations que l'on peut déterminer si elles tendent progressivement (asymptotiquement) vers une valeur prédéfinie, et c'est en comparant chaque seconde valeur v2 au seuil prédéfini que l'on peut déterminer que lors d'une itération les secondes valeurs v2 ont dépassé ce seuil prédéfini. L'évolution des secondes valeurs v2 peut se faire par le calcul, par exemple en calculant des gradients. Après chaque itération on met à jour l'évolution et lorsqu'elle tend vers la valeur prédéfinie et que dans le même temps la dernière seconde valeur v2 devient supérieure au seuil prédéfini on arrête les itérations et donc on cesse l'apprentissage du réseau de neurones RN. [0059] Le nombre n peut être déterminé lors de chaque itération en incrémentant d'une unité un compteur (n) chaque fois qu'une seconde valeur v2 déterminée est supérieure à la première valeur vl correspondante. Après chaque incrémentation on compare la valeur en cours du compteur n au seuil N prédéfini, et lorsque cette valeur en cours du compteur n devient égale à N on arrête les itérations et donc on cesse l'apprentissage du réseau de neurones RN. Par exemple (et non limitativement), le nombre N peut être compris entre 100 et 200. [0060] On notera que dans la troisième étape 40-80 la modification du réseau de neurones RN par apprentissage de type supervisé peut, par exemple, se faire par une modification de sa représentation personnelle via une adaptation de sa structure interne (par 9 exemple en changeant des pondérations entre ses neurones). [0061] On notera également que dans la troisième étape 40-80 la modification du réseau de neurones RN par apprentissage de type renforcement peut, par exemple, consister à fournir à ce dernier (RN) une tendance représentative de sa performance sur un trajet ou une manoeuvre venant d'être effectue(c). Par exemple, on peut indiquer au réseau de neurones RN si le trajet (ou la manoeuvre) était bon(ne) ou mauvais( e) ou encore moyen(ne), ou bien on peut fournir au réseau de neurones RN une valeur (par exemple comprise entre 1 et 5 ou 1 ct 10) représentative de la qualité du trajet ou de la manoeuvre effectué(e), ou encore on peut fournir au réseau de neurones RN le résultat de la comparaison de chaque seconde v2 à la première valeur vl correspondante durant un trajet ou une manoeuvre. [0062] On va décrire ci-après, en référence à la figure 2, un exemple d'algorithme mettant en oeuvre les trois étapes du procédé d'apprentissage décrit ci-avant. [0063] Dans une première sous-étape 10 dc la première étape 10-20, on (le processeur PR et la mémoire MD) alimente( t) le simulateur de conduite SC et le réseau de neurones RN avec un même ensemble de données d'environnement définissant un environnement du véhicule virtuel (au moins devant ce dernier) et une définition d'un trajet ou d'une manoeuvre (à effectuer), afin de les faire fonctionner en parallèle avec cet ensemble de données d'environnement sur le trajet (ou la manoeuvre) défini( c). Dans une deuxième sous-étape 20 de la première étape 10-20, le simulateur de conduite SC détermine au moins une première décision de conduite dl pour le véhicule virtuel (avec son ensemble de règles prédéfinies), et le réseau de neurones RN détermine au moins une seconde décision de conduite d2 pour le véhicule virtuel. [0064] Dans une troisième sous-étape 30 de la deuxième étape 30, on (le processeur PR et la mémoire MD) estime(nt) des première vl et seconde v2 valeurs représentatives respectivement des performances des première(s) dl et seconde(s) d2 décisions de conduite sur le trajet (ou la manoeuvre) défini(e). [0065] Dans une quatrième sous-étape 40 de la troisième étape 40-80, on (le processeur PR et la mémoire MD) effectue(nt) un test pour comparer entre elles les première vl et seconde v2 valeurs. Si la première valeur vl est supérieure à la seconde valeur v2 (soit vl > v2), on (le processeur PR et la mémoire MD) modifie(nt) de façon automatisée le réseau de neurones RN par apprentissage de type supervisé dans une cinquième sous-étape 50 de la troisième étape 40-80. En revanche, si la première valeur vl est inférieure à la seconde valeur v2, on (le processeur PR et la mémoire MD) modifie(nt) de façon automatisée le réseau de neurones RN par apprentissage de type renforcement dans une sixième sous-étape 60 de la troisième étape 40-80. [0066] Puis, dans une septième sous-étape 70 de la troisième étape 40-80, on (le processeur PR et la mémoire MD) effectue(nt) un test pour déterminer si le critère d'arrêt est satisfait. Dans la négative (« non »), on (le processeur PR et la mémoire MD) réitère(nt) les première 10-20 à troisième 40-80 étapes, avec à chaque fois un nouvel ensemble de données d'environnement et une nouvelle définition de trajet (ou de manoeuvre), tant que le critère d'arrêt n'est pas satisfait. En revanche, dans l'affirmative (« oui »), on (le processeur PR et la mémoire MD) niellent fin à l'apprentissage du réseau de neurones RN dans une huitième sous-étape 80 de la troisième étape 40-80. [0067] On notera également que l'invention propose aussi un produit 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 le processeur PR, est propre à mettre en oeuvre le procédé d'apprentissage pour former un réseau de neurones RN chargé de déterminer des décisions de conduite pour un véhicule virtuel à conduite au moins partiellement autonome. [0068] On notera également que sur la figure 1 le dispositif d'apprentissage DA est très schématiquement illustré avec sa mémoire vive MD et son processeur PR qui peut comprendre des circuits intégrés (ou imprimés), ou bien plusieurs circuits intégrés (ou imprimés) reliés par des connections filaires ou non filaires. On entend par circuit intégré (ou imprimé) tout type de dispositif apte à effectuer au moins une opération électrique ou électronique. Mais, comme illustré non limitativement sur la figure 1, le dispositif d'apprentissage DA peut aussi comprendre une mémoire de masse MM, notamment pour le stockage des données d'environnement des ensembles qu'il fournit au réseau de neurones RN à fornier, des définitions de trajets ou de manoeuvre, des premières dl et secondes d2 décisions de conduite des différentes itérations, des premières vi et secondes v2 valeurs déterminées dans les différentes itérations, et d'éventuelles données intermédiaires intervenant dans tous ses calculs et traitements. Par ailleurs, ce dispositif d'apprentissage DA peut aussi comprendre une interface d'entrée JE pour la réception d'au moins les premières dl et secondes d2 décisions de conduite, pour les utiliser clans des calculs ou traitements, éventuellement après les avoir mises en forme et/ou démodulées et/ou amplifiées, de façon connue en soi, au moyen d'un processeur de signal numérique PR'. De plus, ce dispositif d'apprentissage DA peut aussi comprendre une interface de sortie IS, notamment pour la transmission, d'une part, au simulateur de conduite SC et au réseau de neurones RN des ensembles de données d'environnement et des définitions de trajet ou de manoeuvre, et, cl' autre part, au réseau de neurones RN des modifications (ou corrections) d'apprentissage déterminées à chaque itération. [0069] On notera également qu'une ou plusieurs étapes et/ou une ou plusieurs sous-étapes du procédé d'apprentissage à la conduite peuvent être effectuées par des composants différents. Ainsi, le procédé d'apprentissage à la conduite peut-être mis en oeuvre par 11 une pluralité de processeurs de signal numérique, mémoire vive, mémoire de masse, interface d'entrée, interface de sortie. 12 [Revendication I] [Revendication 2] [Revendication 3]