FR3093369A1 - LEARNING OF A NETWORK OF NEURONES BY COMPARISONS OF VALUES PRODUCED BY A DRIVING SIMULATOR OF A VEHICLE OPERATING IN PARALLEL - Google Patents

LEARNING OF A NETWORK OF NEURONES BY COMPARISONS OF VALUES PRODUCED BY A DRIVING SIMULATOR OF A VEHICLE OPERATING IN PARALLEL Download PDF

Info

Publication number
FR3093369A1
FR3093369A1 FR1902086A FR1902086A FR3093369A1 FR 3093369 A1 FR3093369 A1 FR 3093369A1 FR 1902086 A FR1902086 A FR 1902086A FR 1902086 A FR1902086 A FR 1902086A FR 3093369 A1 FR3093369 A1 FR 3093369A1
Authority
FR
France
Prior art keywords
driving
vehicle
neural network
learning
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR1902086A
Other languages
French (fr)
Inventor
Frederic Large
Patrick Boutard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PSA Automobiles SA
Original Assignee
PSA Automobiles SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PSA Automobiles SA filed Critical PSA Automobiles SA
Priority to FR1902086A priority Critical patent/FR3093369A1/en
Publication of FR3093369A1 publication Critical patent/FR3093369A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems

Abstract

Un procédé forme un réseau de neurones déterminant des décisions de conduite pour un véhicule virtuel à conduite autonome. Ce procédé comprend : - une première étape (10-20) où l’on fait fonctionner en parallèle, avec un ensemble de données d’environnement et un trajet ou une manœuvre, un simulateur de conduite pour qu’il détermine des premières décisions de conduite avec un ensemble de règles prédéfinies, et le réseau de neurones pour qu’il détermine des secondes décisions de conduite, - une deuxième étape (30) ou l’on estime des première et seconde valeurs représentatives de performances des premières et secondes décisions de conduite, et - une troisième étape (40-80) où l’on modifie le réseau de neurones par apprentissage de type supervisé ou renforcement selon que la première valeur est supérieure ou inférieure à la seconde valeur, puis on réitère les première (10-20) à troisième (40-80) étapes tant qu’un critère d’arrêt n’est pas satisfait. Figure à publier avec l’abrégé : Fig. 2A method trains a neural network determining driving decisions for a self-driving virtual vehicle. This method comprises: - a first step (10-20) in which a driving simulator is operated in parallel with a set of environmental data and a route or maneuver to determine first decisions of driving with a set of predefined rules, and the neural network so that it determines second driving decisions, - a second step (30) in which first and second values representative of performance of the first and second driving decisions are estimated conduct, and - a third step (40-80) where the neural network is modified by supervised type learning or reinforcement depending on whether the first value is greater than or less than the second value, then the first ones are repeated (10- 20) to third (40-80) steps as long as a stopping criterion is not satisfied. Figure to be published with abstract: Fig. 2

Description

APPRENTISSAGE D’UN RÉSEAU DE NEURONES PAR COMPARAISONS DE VALEURS PRODUITES PAR UN SIMULATEUR DE CONDUITE D’UN VÉHICULE FONCTIONNANT EN PARALÈLLELEARNING A NEURON NETWORK BY COMPARISON OF VALUES PRODUCED BY A DRIVING SIMULATOR OF A VEHICLE OPERATING IN PARALLEL

Domaine technique de l’inventionTechnical field of the invention

L’invention concerne les véhicules terrestres à conduite au moins partiellement automatisé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.The invention relates to land vehicles with at least partially automated (or autonomous) driving and possibly of the automotive type, and more specifically the learning of neural networks which are responsible for determining driving decisions for such vehicles.

Etat de la techniqueState of the art

Dans ce qui suit on considère qu’un véhicule terrestre est à conduite au moins partiellement 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 1 au niveau 5 dans le barème de l’OICA (Organisation International des Constructeurs Automobiles).In what follows, a land vehicle is considered to be driving at least partially automated (or autonomous) when it can be driven on a road in an automated manner (partially or totally (without the intervention of its driver)) during a phase of automated driving, or manually (and therefore with the driver's intervention on the steering wheel and/or the pedals) during a manual driving phase. For example, the automated (or autonomous) driving of a vehicle (with at least partially automated driving) may consist of partially or totally directing this vehicle or providing any type of assistance to a natural person driving this vehicle. This therefore covers any automated (or autonomous) driving, from level 1 to level 5 in the scale of the OICA (International Organization of Automobile Manufacturers).

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.Furthermore, here the term "land vehicle" means any type of vehicle that can circulate on a road, and in particular a motor vehicle, a utility vehicle, a moped, a motorcycle, a minibus, a coach, a storage robot in a warehouse , or a road vehicle.

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 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.Many vehicle driving assistance methods (with at least partially automated driving) aim to adapt the driving of these vehicles according to information determined in their environment from an analysis of data acquired in this last by their sensors. This adaptation is done according to driving decisions which can be determined by a neural network having been previously trained (or trained) for this purpose, and possibly capable of generalization on unlearned cases (even optimization on a given criterion ). For example, when the neural network has been trained (or trained) from trial/error, its learning is said to be “by reinforcement”. Each trial/error is penalized by a bonus/penalty system without the expected solution being explicitly provided to the system (because often not known). Using rules to define the bonus/malus may be an option.

Un inconvénient de ce 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.A disadvantage of this type of neural network lies in the fact that it is trained without knowing its minimum level of performance, and therefore the relevance of the driving decisions it takes can vary very significantly from one environment. (corresponding to a particular situation) to another environment (corresponding to another particular situation), or even sometimes may be irrelevant.

L’invention a donc notamment pour but d’améliorer la situation.The aim of the invention is therefore in particular to improve the situation.

Présentation de l’inventionPresentation of the invention

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.In particular, it proposes for this purpose a learning process intended to train a neural network responsible for determining driving decisions for a virtual vehicle with at least partially autonomous driving.

Ce procédé d’apprentissage se caractérise par le fait qu’il comprend :This learning process is characterized by the fact that it includes:

- 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 manœuvre, 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,- a first step in which a driving simulator is operated in parallel, with the same set of environmental data defining an environment of the vehicle and a definition of a route or a maneuver, on the one hand, so that it determines at least a first driving decision for the vehicle with a set of predefined rules, and, on the other hand, the neural network so that it determines at least a second driving decision for the vehicle,

- 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- a second step in which first and second values representative respectively of performance of the first(s) and second(s) driving decisions are estimated, and

- 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 manœuvre, tant qu’un critère d’arrêt n’est pas satisfait.- a third step in which the neural network is automatically modified either by supervised type learning when the first value is greater than the second value, or by reinforcement type learning when the first value is less than the second value, then the first to third steps are repeated, each time with a new set of environmental data and a new definition of route or maneuver, as long as a stopping criterion is not satisfied.

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.Thus, when the stopping criterion is satisfied (except in the event of a collision) it is considered that the neural network has become sufficiently efficient. When the stopping criterion is a collision and it is satisfied, we do not need to go further in the simulation, because we know that the sequence of commands chosen is not the right one.

Le procédé d’apprentissage selon l’invention peut comporter d’autres caractéristiques qui peuvent être prises séparément ou en combinaison, et notamment :The learning method according to the invention may comprise other characteristics which may be taken separately or in combination, and in particular:

- le critère d’arrêt peut, par exemple, être choisi parmi un niveau de performance 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éfinie 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 ;- the stopping criterion can, for example, be chosen from an overall level of performance, a function of the second values determined successively during the iterations, and exceeding a predefined threshold, an error rate becoming lower than a predefined threshold, an evolution second values, determined successively during the iterations, which tends towards a predefined value and exceeds a predefined threshold, and a number n, of times where the second values determined have been greater than the first corresponding values, which reaches a predefined threshold;

- 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 manœuvre venant d’être effectué(e) ;- in its third step, the modification of the neural network by supervised type learning can consist in providing or indicating to the neural network the set of rules that must be respected to correctly carry out a path or a maneuver that has just been carried out ;

- 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 ;- in its third step, the modification of the neural network by reinforcement type learning can consist in modifying a personal representation via an adaptation of an internal structure;

- 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 ;- in its second step, the first and second values can be estimated according to at least one chosen performance criterion;

+ 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 manœuvre 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.+ each performance criterion can, for example, be chosen from among vehicle passenger comfort, influence on vehicle travel or maneuvering time, risk incurred by the vehicle, decision stability (as for example the fact that one does not oscillate between a decision to change lanes and a decision to stay in the lane), and the use of maximum accelerations.

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 œuvre 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.The invention also proposes a computer program product comprising a set of instructions which, when it is executed by processing means, is capable of implementing a learning method of the type of that presented above for forming a neural network responsible for determining driving decisions for an at least partially autonomous driving virtual vehicle.

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.The invention also proposes a learning device intended to train a neural network responsible for determining driving decisions for a virtual vehicle with at least partially autonomous driving.

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 à :This learning device is characterized in that it comprises at least one processor and at least one memory arranged to perform the operations consisting of:

- 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 manœuvre, 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,- triggering the operation in parallel, with the same set of environment data defining an environment of the vehicle and a definition of a route or a maneuver, on the one hand, of a driving simulator so that it determines at least one first driving decision for the vehicle with a set of predefined rules, and, on the other hand, of the neural network so that it determines at least one second driving decision for the vehicle,

- estimer des première et seconde valeurs représentatives respectivement de performances des première(s) et seconde(s) décisions de conduite,- estimating first and second values representative respectively of performance of the first(s) and second(s) driving decisions,

- 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- modifying the neural network either by supervised type learning when the first value is greater than the second value, or by reinforcement type learning when the first value is less than the second value, then

- réitérer ces déclenchement, estimation et modification, avec à chaque fois un nouvel ensemble de données d’environnement et une nouvelle définition de trajet ou de manœuvre, tant qu’un critère d’arrêt n’est pas satisfait.- repeat these triggering, estimation and modification, each time with a new set of environmental data and a new definition of route or maneuver, as long as a stopping criterion is not satisfied.

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.The invention also proposes a computer comprising, on the one hand, a driving simulator intended to determine, with a set of predefined rules, driving decisions for a virtual vehicle with at least partially autonomous driving, and, on the other hand , a learning device of the type presented above and coupled to a neural network responsible for determining driving decisions for the vehicle.

Brève description des figuresBrief description of figures

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 :Other characteristics and advantages of the invention will appear on examination of the detailed description below, and of the appended drawings, in which:

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 schematically and functionally illustrates an exemplary embodiment of a simulation computer equipped with an exemplary embodiment of a learning device according to the invention and of a neural network to be trained, and

illustre schématiquement un exemple d’algorithme mettant en œuvre un procédé d’apprentissage selon l’invention. schematically illustrates an example of an algorithm implementing a learning method according to the invention.

Description détaillée de l’inventionDetailed description of the invention

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é).The aim of the invention is in particular to propose a learning method, and an associated learning device DA, intended to allow the learning (or the training or even the training) of a neural network RN responsible for determining driving decisions for a virtual vehicle with at least partially autonomous driving. It will be understood that once the neural network RN has been trained (or trained), it is intended to be implanted in an assistance device intended to assist the driving of a real vehicle of the same type as the virtual vehicle with which it was formed (or trained).

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.In what follows, it is considered, by way of non-limiting example, that the automated driving (or autonomous) virtual vehicle is of the automotive type. For example, a car. But the invention is not limited to this type of virtual vehicle. It relates in fact to any type of land vehicle with at least partially automated driving and able to circulate on land traffic lanes. Thus, it could also be a utility vehicle, a moped, a motorcycle, a minibus, a coach, a storage robot in a warehouse, or a roads, for example.

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.It will be noted that the invention is intended to allow the automated driving (at least partially) of vehicles on any portion of road comprising at least one traffic lane delimited by two delimitations.

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.As mentioned above, the invention proposes in particular a learning method intended to allow the learning (or the training or even the training) of a neural network RN responsible for determining driving decisions for a virtual vehicle at at least partially autonomous driving.

Ce procédé d’apprentissage peut être au moins partiellement mis en œuvre 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.This learning process can be at least partially implemented by the learning device DA which comprises for this purpose at least one processor PR, for example of digital signal (or DSP ("Digital Signal Processor")), and a MD memory.

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 œuvre par le processeur PR du procédé d’apprentissage.In the example illustrated without limitation in FIG. 1, the learning device DA is part of a computer OS which also includes a driving simulator SC and the neural network RN to be trained (or trained). But this is not mandatory. Indeed, the learning device DA could comprise its own computer and be coupled to a computer OS comprising a driving simulator SC and the neural network RN to be trained (or trained). Consequently, the learning device DA can be produced in the form of a combination of electrical or electronic circuits or components (or “hardware”) and software modules (or “software”). The memory MD is live in order to store instructions for the implementation by the processor PR of the learning process.

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 »)).Note that the OS computer can be fixed or portable or can be part of a server. It can be physical or virtual (for example distributed in a cloud (or “cloud”)).

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 manœuvre. 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.The driving simulator SC is arranged so as to determine, according to a set of predefined rules, a first driving decision for the virtual vehicle each time it is fed with environment data and a definition of a trip or maneuver. These environmental data are similar to those acquired by the sensor(s) fitted to a real vehicle. They are representative of the environment which is located at least in front of this vehicle and, preferably, on at least part of the two lateral sides of this vehicle, as well as possibly behind this vehicle.

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.Each sensor can comprise at least one camera installed in a front part of the vehicle (for example on the windshield or on the interior mirror) or in a rear part, or at least one ultrasonic sensor or at least one radar or lidar.

Comme illustré sur la figure 2, le procédé d’apprentissage, selon l’invention, comprend trois étapes effectuées en série de façon réitérée.As illustrated in FIG. 2, the learning method, according to the invention, comprises three steps carried out in series in a repeated manner.

Dans une première étape 10-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 manœuvre. 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 manœuvre définie, d’une part, le simulateur de conduite SC pour qu’il détermine au moins une première décision de conduite d1 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.In a first step 10-20 of the learning process, (the processor PR and the memory MD) feed(s) the driving simulator SC and the neural network RN to be trained (or trained) with the same set of data environment defining an environment of the virtual vehicle (at least in front of the latter) and a definition of a route or a maneuver. This power supply is intended to operate in parallel with this set of environmental data on this defined route or this defined maneuver, on the one hand, the driving simulator SC so that it determines at least a first driving decision d1 for the virtual vehicle (with its set of predefined rules), and, on the other hand, the neural network RN so that it determines at least one second driving decision d2 for the virtual vehicle.

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 v1 et seconde v2 valeurs qui sont représentatives respectivement de performances des première(s) d1 et seconde(s) d2 décisions de conduite venant d’être déterminées dans la première étape 10.In a second step 30 of the learning method, one (the processor PR and the memory MD) estimates first v1 and second v2 values which are respectively representative of the performance of the first(s) d1 and second(s) d2 driving decisions just determined in the first step 10.

On notera que les première v1 et seconde v2 valeurs peuvent être numériques ou alphanumériques.It will be noted that the first v1 and second v2 values can be numeric or alphanumeric.

Par exemple, dans cette deuxième étape 30 on (le processeur PR et la mémoire MD) peu(ven)t estimer les première v1 et seconde v2 valeurs en fonction d’au moins un critère de performance choisi.For example, in this second step 30 one (the processor PR and the memory MD) can estimate the first v1 and second v2 values according to at least one chosen performance criterion.

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 manœuvre 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é.By way of example, each performance criterion can be chosen from among the comfort of the passengers of the vehicle, the influence on the travel or maneuvering time of the vehicle, the risk incurred by the vehicle, the stability of the decisions (such as for example the fact that we do not oscillate between a decision to change lanes and a decision to stay in the lane), and the use of maximum accelerations. But any other performance criterion known to those skilled in the art can be used here.

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.The more the comfort of the vehicle passengers is respected, the higher the performance. To do this, you must have good management of acceleration (at least longitudinal and if possible also transverse), braking and the steering angle of the steering wheels of the vehicle. In general, we try to avoid as much as possible longitudinal or lateral oscillations which are sources of discomfort, and excessive accelerations or jolts which are sources of stress or discomfort. For example, it can be checked whether the decided accelerations have remained within a predefined interval of values and/or whether the braking intensities have remained within a predefined interval of values and/or whether the steering angles have remained within a predefined interval of values. .

Plus le temps de trajet ou de manœuvre est court, plus la performance est a priori é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.The shorter the travel or maneuvering time, the higher the performance, provided, of course, that the comfort is not (or only slightly) reduced. To do this, you must have good management of overtaking, speed and acceleration.

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.The lower the risk involved, the higher the performance, provided, of course, that the vehicle is moving. To do this, you must have good management of the avoidance of obstacles present in the environment of the vehicle and the distances between the vehicle and the obstacles which surround it, as well as a good mastery of the rules of conduct and social.

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(nt)) de façon automatisée le réseau de neurones RN soit par apprentissage de type supervisé lorsque la première valeur v1 est supérieure à la seconde valeur v2, soit par apprentissage de type renforcement lorsque la première valeur v1 est inférieure à la seconde valeur v2.In a third step 40-80 of the learning process, one (the processor PR and the memory MD) automatically modifies (or corrects) the neural network RN either by supervised type learning when the first value v1 is greater than second value v2, or by reinforcement type learning when first value v1 is less than second value v2.

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 manœuvre, tant qu’un critère d’arrêt n’est pas satisfait.Then, the first 10-20 to the third 40-80 steps are repeated (the processor PR and the memory MD), each time with a new set of environment data and a new definition of route or maneuver, until a stopping criterion is satisfied.

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.Thanks to the invention, it is now possible to train (or train) a neural network so that it has a minimum level of performance (higher than that of the SC driving simulator). Indeed, when the stopping criterion is satisfied (except in the event of a collision) it is considered that the neural network has become sufficiently efficient. When the stopping criterion is a collision and it is satisfied, we do not need to go further in the simulation, because we know that the sequence of commands chosen is not the right one and therefore that it is not necessary to continue. Thus, the more the decision system will encounter different situations during its operation in parallel with the SC driving simulator, the more it will be able to adapt to new cases.

Par exemple, le critère d’arrêt qui est utilisé dans chaque troisième étape 40-80 peut être choisi parmi :For example, the stopping criterion that is used in each third step 40-80 can be chosen from:

- 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,- an overall performance level, depending on the second values v2 which have been determined successively during the different iterations, and exceeding a predefined threshold,

- un taux d’erreur devenant inférieur à un seuil prédéfini,- an error rate falling below a predefined threshold,

- une évolution des secondes valeurs v2, déterminées successivement lors des différentes itérations, qui tend vers une valeur prédéfinie et dépasse un seuil prédéfini, et- an evolution of the second values v2, determined successively during the various iterations, which tends towards a predefined value and exceeds a predefined threshold, and

- un nombre n, de fois où les secondes valeurs v2 déterminées ont été supérieures aux premières valeurs v1 correspondantes, qui atteint un seuil N prédéfini.- a number n, of times where the second values v2 determined have been greater than the first corresponding values v1, which reaches a predefined threshold N.

Le niveau de performance global peut, par exemple, être égal à la somme ou la 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.The overall performance level can, for example, be equal to the sum or the average of the second values v2 determined successively during the different iterations. The predefined threshold is at least equal to the overall performance level of the driving simulator SC. It will be understood that the higher this threshold, the more difficult it will be to reach it. After each iteration, the overall performance level is updated, and when it becomes greater than the predefined threshold, the iterations are stopped and therefore the learning of the RN neural network is stopped. It will be understood that in this case, a minimum number P of iterations must be performed before deciding to stop the process. In fact, at the start of the method, there could be an overall level of performance above the predefined threshold. For example (and not limitingly), the minimum number P can be between 100 and 200.

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.The error rate can, for example, be equal to the total number of errors divided by the number of iterations. After each iteration, the error rate is updated, and when it becomes lower than the predefined threshold, the iterations are stopped and therefore the learning of the RN neural network is stopped. It will be understood that in this case, a minimum number P of iterations must be performed before deciding to stop the process. Indeed, one could have at the beginning of the process an error rate lower than the predefined threshold. For example (and not limitingly), the minimum number P can be between 100 and 200.

C’est en comparant entre elles les secondes valeurs v2 qui sont déterminées successivement 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.It is by comparing the second values v2 which are successively determined during the different iterations that it is possible to determine whether they gradually (asymptotically) tend towards a predefined value, and it is by comparing each second value v2 with the predefined threshold that it can be determined that during an iteration the second values v2 have exceeded this predefined threshold. The evolution of the second values v2 can be done by calculation, for example by calculating gradients. After each iteration, the evolution is updated and when it tends towards the predefined value and at the same time the last second value v2 becomes greater than the predefined threshold, the iterations are stopped and therefore the learning of the neural network is stopped. RN.

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 v1 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.The number n can be determined during each iteration by incrementing a counter (n) by one unit each time a second determined value v2 is greater than the corresponding first value v1. After each incrementation, the current value of counter n is compared to the predefined threshold N, and when this current value of counter n becomes equal to N, the iterations are stopped and therefore the learning of the neural network RN is stopped. For example (and not limitingly), the number N can be between 100 and 200.

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 exemple en changeant des pondérations entre ses neurones).It will be noted that in the third step 40-80 the modification of the neural network RN by supervised type learning can, for example, be done by modifying its personal representation via an adaptation of its internal structure (for example by changing weightings between its neurons).

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 manœuvre venant d’être effectué(e). Par exemple, on peut indiquer au réseau de neurones RN si le trajet (ou la manœuvre) é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 et 10) représentative de la qualité du trajet ou de la manœuvre 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 v1 correspondante durant un trajet ou une manœuvre.It will also be noted that in the third step 40-80 the modification of the neural network RN by reinforcement-type learning may, for example, consist in providing the latter (RN) with a trend representative of its performance on a route or a maneuver coming from to be performed. For example, the neural network RN can be told whether the route (or maneuver) was good or bad or even average, or the neural network RN can be given a value (for example between 1 and 5 or 1 and 10) representative of the quality of the journey or the maneuver performed, or the neural network RN can be provided with the result of the comparison of each second v2 with the first value v1 corresponding during a trip or manoeuvre.

On va décrire ci-après, en référence à la figure 2, un exemple d’algorithme mettant en œuvre les trois étapes du procédé d’apprentissage décrit ci-avant.There will be described below, with reference to FIG. 2, an example of an algorithm implementing the three stages of the learning method described above.

Dans une première sous-étape 10 de la première étape 10-20, on (le processeur PR et la mémoire MD) alimente(nt) 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 manœuvre (à effectuer), afin de les faire fonctionner en parallèle avec cet ensemble de données d’environnement sur le trajet (ou la manœuvre) défini(e). 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 d1 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.In a first sub-step 10 of the first step 10-20, one (the processor PR and the memory MD) feeds the driving simulator SC and the neural network RN with the same set of environment data defining an environment of the virtual vehicle (at least in front of the latter) and a definition of a route or a maneuver (to be performed), in order to operate them in parallel with this set of environment data on the route (or the manoeuvre) defined. In a second sub-step 20 of the first step 10-20, the driving simulator SC determines at least one first driving decision d1 for the virtual vehicle (with its set of predefined rules), and the neural network RN determines at at least one second driving decision d2 for the virtual vehicle.

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 v1 et seconde v2 valeurs représentatives respectivement des performances des première(s) d1 et seconde(s) d2 décisions de conduite sur le trajet (ou la manœuvre) défini(e).In a third sub-step 30 of the second step 30, (the processor PR and the memory MD) estimate(s) first v1 and second v2 values respectively representative of the performance of the first(s) d1 and second(s) d2 driving decisions on the defined route (or manoeuvre).

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 v1 et seconde v2 valeurs. Si la première valeur v1 est supérieure à la seconde valeur v2 (soit v1 > 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 v1 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.In a fourth sub-step 40 of the third step 40-80, one (the processor PR and the memory MD) performs a test to compare the first v1 and second v2 values with each other. If the first value v1 is greater than the second value v2 (i.e. v1 > v2), one (the processor PR and the memory MD) automatically modifies the neural network RN by supervised type learning in a fifth sub -stage 50 of the third stage 40-80. On the other hand, if the first value v1 is less than the second value v2, one (the processor PR and the memory MD) automatically modifies the neural network RN by reinforcement-type learning in a sixth sub-step 60 of the third stage 40-80.

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 manœuvre), 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) mettent fin à l’apprentissage du réseau de neurones RN dans une huitième sous-étape 80 de la troisième étape 40-80.Then, in a seventh sub-step 70 of the third step 40-80, one (the processor PR and the memory MD) performs a test to determine if the stopping criterion is satisfied. If not ("no"), the first 10-20 to third 40-80 steps are repeated (the processor PR and the memory MD), each time with a new set of environment data and a new journey (or maneuver) definition, as long as the stopping criterion is not satisfied. On the other hand, in the affirmative (“yes”), one (the processor PR and the memory MD) put an end to the training of the neural network RN in an eighth sub-step 80 of the third step 40-80.

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 œuvre 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.It will also be noted that the invention also proposes a computer program product comprising a set of instructions which, when it is executed by processing means of the electronic circuit (or hardware) type, such as for example the processor PR, is capable of implementing the learning method to train a neural network RN responsible for determining driving decisions for a virtual vehicle with at least partially autonomous driving.

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 à former, des définitions de trajets ou de manœuvre, des premières d1 et secondes d2 décisions de conduite des différentes itérations, des premières v1 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 IE pour la réception d’au moins les premières d1 et secondes d2 décisions de conduite, pour les utiliser dans 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 manœuvre, et, d’autre part, au réseau de neurones RN des modifications (ou corrections) d’apprentissage déterminées à chaque itération.It will also be noted that in FIG. 1 the learning device DA is very schematically illustrated with its random access memory MD and its processor PR which may comprise integrated circuits (or printed circuits), or even several integrated circuits (or printed circuits) connected by wired or wireless connections. By integrated (or printed) circuit is meant any type of device capable of performing at least one electrical or electronic operation. But, as illustrated without limitation in FIG. 1, the learning device DA can also comprise a mass memory MM, in particular for storing the environmental data of the sets that it supplies to the neural network RN to be trained, definitions of journeys or maneuvers, first d1 and second d2 driving decisions of the different iterations, first v1 and second v2 values determined in the different iterations, and any intermediate data involved in all its calculations and processing. Furthermore, this learning device DA can also comprise an input interface IE for receiving at least the first d1 and second d2 driving decisions, to use them in calculations or processing, possibly after having implemented them. form and/or demodulated and/or amplified, in a manner known per se, by means of a digital signal processor PR′. In addition, this learning device DA can also comprise an output interface IS, in particular for the transmission, on the one hand, to the driving simulator SC and to the neural network RN of the sets of environment data and the definitions of route or maneuver, and, on the other hand, to the neural network RN of the learning modifications (or corrections) determined at each iteration.

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 œuvre par une pluralité de processeurs de signal numérique, mémoire vive, mémoire de masse, interface d’entrée, interface de sortie.It will also be noted that one or more steps and/or one or more sub-steps of the driving learning process can be performed by different components. Thus, the driving learning process can be implemented by a plurality of digital signal processors, random access memory, mass memory, input interface, output interface.

Claims (9)

Procédé d’apprentissage 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, caractérisé en ce qu’il comprend :
- une première étape (10-20) dans laquelle on fait fonctionner en parallèle, avec un même ensemble de données d’environnement définissant un environnement dudit véhicule et une définition d’un trajet ou d’une manœuvre, i) un simulateur de conduite (SC) pour qu’il détermine au moins une première décision de conduite pour ledit véhicule avec un ensemble de règles prédéfinies, et ii) ledit réseau de neurones (RN) pour qu’il détermine au moins une seconde décision de conduite pour ledit véhicule,
- une deuxième étape (30) dans laquelle on estime des première et seconde valeurs représentatives respectivement de performances desdites première(s) et seconde(s) décisions de conduite, et
- une troisième étape (40-80) dans laquelle on modifie de façon automatisée ledit réseau de neurones (RN) soit par apprentissage de type supervisé lorsque ladite première valeur est supérieure à ladite seconde valeur, soit par apprentissage de type renforcement lorsque ladite première valeur est inférieure à ladite seconde valeur, puis on réitère lesdites 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 manœuvre, tant qu’un critère d’arrêt n’est pas satisfait.
Method for learning a neural network (RN) responsible for determining driving decisions for a virtual vehicle with at least partially autonomous driving, characterized in that it comprises:
- a first step (10-20) in which one operates in parallel, with the same set of environmental data defining an environment of said vehicle and a definition of a route or a maneuver, i) a driving simulator (SC) to determine at least a first driving decision for said vehicle with a set of predefined rules, and ii) said neural network (RN) to determine at least a second driving decision for said vehicle ,
- a second step (30) in which first and second values representative respectively of performance of said first(s) and second(s) driving decisions are estimated, and
- a third step (40-80) in which said neural network (RN) is modified in an automated manner either by supervised type learning when said first value is greater than said second value, or by reinforcement type learning when said first value is less than said second value, then said first (10-20) to third (40-80) steps are repeated, each time with a new set of environmental data and a new definition of route or maneuver, as long as 'a stopping criterion is not satisfied.
Procédé selon la revendication 1, caractérisé en ce que ledit critère d’arrêt est choisi parmi i) un niveau de performance global, fonction desdites secondes valeurs déterminées successivement lors desdites itérations, et dépassant un seuil prédéfini, ii) un taux d’erreur devenant inférieur à un seuil prédéfini, iii) une évolution desdites secondes valeurs, déterminées successivement lors desdites itérations, qui tend vers une valeur prédéfinie et dépasse un seuil prédéfini, et iv) un nombre n, de fois où lesdites secondes valeurs déterminées ont été supérieures aux premières valeurs correspondantes, qui atteint un seuil prédéfini.Method according to Claim 1, characterized in that the said stopping criterion is chosen from among i) an overall level of performance, a function of the said second values determined successively during the said iterations, and exceeding a predefined threshold, ii) an error rate becoming below a predefined threshold, iii) an evolution of said second values, determined successively during said iterations, which tends towards a predefined value and exceeds a predefined threshold, and iv) a number n, of times where said second determined values have been greater than the first corresponding values, which reaches a predefined threshold. Procédé selon la revendication 1 ou 2, caractérisé en ce que dans ladite troisième étape (40-80) ladite modification du réseau de neurones (RN) par apprentissage de type supervisé consiste à modifier une représentation personnelle via une adaptation d’une structure interne.Method according to claim 1 or 2, characterized in that in said third step (40-80) said modification of the neural network (RN) by supervised type learning consists in modifying a personal representation via an adaptation of an internal structure. Procédé selon l’une des revendications 1 à 3, caractérisé en ce que dans ladite troisième étape (40-80) ladite modification du réseau de neurones (RN) par apprentissage de type renforcement consiste à fournir à ce dernier (RN) une tendance représentative de sa performance sur un trajet ou une manœuvre venant d’être effectué(e).Method according to one of Claims 1 to 3, characterized in that in the said third step (40-80) the said modification of the neural network (RN) by reinforcement-type learning consists in providing the latter (RN) with a trend representative its performance on a journey or a maneuver that has just been carried out. Procédé selon l’une des revendications 1 à 4, caractérisé en ce que dans ladite deuxième étape (30) on estime lesdites première et seconde valeurs en fonction d’au moins un critère de performance choisi.Method according to one of claims 1 to 4, characterized in that in said second step (30) said first and second values are estimated as a function of at least one chosen performance criterion. Procédé selon la revendication 5, caractérisé en ce que chaque critère de performance est choisi parmi un confort de passagers dudit véhicule, une influence sur un temps de trajet ou de manœuvre dudit véhicule, un risque encouru par ledit véhicule, une stabilité des décisions et une utilisation d’accélérations maximales.Method according to Claim 5, characterized in that each performance criterion is chosen from among passenger comfort of said vehicle, influence on travel time or maneuvering time of said vehicle, risk incurred by said vehicle, decision stability and use of maximum accelerations. Produit programme d’ordinateur comprenant un jeu d’instructions qui, lorsqu’il est exécuté par des moyens de traitement, est propre à mettre en œuvre le procédé d’apprentissage selon l’une des revendications précédentes 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.Computer program product comprising a set of instructions which, when executed by processing means, is capable of implementing the learning method according to one of the preceding claims for forming a neural network (RN ) responsible for determining driving decisions for an at least partially autonomous driving virtual vehicle. Dispositif d’apprentissage (DA) 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, caractérisé en ce qu’il comprend au moins un processeur (PR) et au moins une mémoire (MD) agencés pour effectuer les opérations consistant à :
- déclencher le fonctionnement en parallèle, avec un même ensemble de données d’environnement définissant un environnement dudit véhicule et une définition d’un trajet ou d’une manœuvre, i) d’un simulateur de conduite (SC) pour qu’il détermine au moins une première décision de conduite pour ledit véhicule avec un ensemble de règles prédéfinies, et ii) dudit réseau de neurones (RN) pour qu’il détermine au moins une seconde décision de conduite pour ledit véhicule,
- estimer des première et seconde valeurs représentatives respectivement de performances desdites première(s) et seconde(s) décisions de conduite,
- modifier ledit réseau de neurones (RN) soit par apprentissage de type supervisé lorsque ladite première valeur est supérieure à ladite seconde valeur, soit par apprentissage de type renforcement lorsque ladite première valeur est inférieure à ladite seconde valeur, puis
- réitérer lesdits déclenchement, estimation et modification, avec à chaque fois un nouvel ensemble de données d’environnement et une nouvelle définition de trajet ou de manœuvre, tant qu’un critère d’arrêt n’est pas satisfait.
Learning device (DA) for training a neural network (RN) responsible for determining driving decisions for a virtual vehicle with at least partially autonomous driving, characterized in that it comprises at least one processor (PR) and at at least one memory (MD) arranged to perform the operations consisting of:
- triggering the operation in parallel, with the same set of environmental data defining an environment of said vehicle and a definition of a route or a maneuver, i) of a driving simulator (SC) so that it determines at least one first driving decision for said vehicle with a set of predefined rules, and ii) said neural network (RN) to determine at least one second driving decision for said vehicle,
- estimating first and second values representative respectively of performance of said first(s) and second(s) driving decisions,
- modifying said neural network (RN) either by supervised type learning when said first value is greater than said second value, or by reinforcement type learning when said first value is less than said second value, then
- repeating said triggering, estimation and modification, each time with a new set of environmental data and a new path or maneuver definition, as long as a stopping criterion is not satisfied.
Ordinateur (OS) comprenant un simulateur de conduite (SC) 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, caractérisé en ce qu’il comprend en outre un dispositif d’apprentissage (DA) selon la revendication 8, couplé à un réseau de neurones (RN) chargé de déterminer des décisions de conduite pour ledit véhicule.Computer (OS) comprising a driving simulator (SC) intended to determine, with a set of predefined rules, driving decisions for a virtual vehicle with at least partially autonomous driving, characterized in that it further comprises a device for learning device (DA) according to claim 8, coupled to a neural network (RN) responsible for determining driving decisions for said vehicle.
FR1902086A 2019-02-28 2019-02-28 LEARNING OF A NETWORK OF NEURONES BY COMPARISONS OF VALUES PRODUCED BY A DRIVING SIMULATOR OF A VEHICLE OPERATING IN PARALLEL Withdrawn FR3093369A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1902086A FR3093369A1 (en) 2019-02-28 2019-02-28 LEARNING OF A NETWORK OF NEURONES BY COMPARISONS OF VALUES PRODUCED BY A DRIVING SIMULATOR OF A VEHICLE OPERATING IN PARALLEL

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1902086A FR3093369A1 (en) 2019-02-28 2019-02-28 LEARNING OF A NETWORK OF NEURONES BY COMPARISONS OF VALUES PRODUCED BY A DRIVING SIMULATOR OF A VEHICLE OPERATING IN PARALLEL
FR1902086 2019-02-28

Publications (1)

Publication Number Publication Date
FR3093369A1 true FR3093369A1 (en) 2020-09-04

Family

ID=67441303

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1902086A Withdrawn FR3093369A1 (en) 2019-02-28 2019-02-28 LEARNING OF A NETWORK OF NEURONES BY COMPARISONS OF VALUES PRODUCED BY A DRIVING SIMULATOR OF A VEHICLE OPERATING IN PARALLEL

Country Status (1)

Country Link
FR (1) FR3093369A1 (en)

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DONGBIN ZHAO ET AL: "A supervised Actor-Critic approach for adaptive cruise control", SOFT COMPUTING, vol. 17, no. 11, 22 August 2013 (2013-08-22), DE, pages 2089 - 2099, XP055651888, ISSN: 1432-7643, DOI: 10.1007/s00500-013-1110-y *
JEFFREY A. CLOUSE ET AL: "A teaching method for reinforcement learning", 22 January 1992 (1992-01-22), XP055651799, Retrieved from the Internet <URL:https://web.cs.umass.edu/publication/docs/1992/UM-CS-1992-007.pdf> [retrieved on 20191211] *
WANG BIN ET AL: "Design and implementation of an adaptive cruise control system based on supervised actor-critic learning", 2015 5TH INTERNATIONAL CONFERENCE ON INFORMATION SCIENCE AND TECHNOLOGY (ICIST), IEEE, 24 April 2015 (2015-04-24), pages 243 - 248, XP033225634, DOI: 10.1109/ICIST.2015.7288976 *

Similar Documents

Publication Publication Date Title
FR3086073A1 (en) ELECTRONIC DEVICE FOR DETERMINING AN EMERGENCY STOP PATH OF AN AUTONOMOUS VEHICLE, VEHICLE AND ASSOCIATED METHOD
WO2020157407A1 (en) Management via an equivalent speed of autonomous driving with at least two target objects
CN112389451A (en) Method, device, medium, and vehicle for providing a personalized driving experience
WO2022175034A1 (en) Method for activating an obstacle avoidance system for a motor vehicle
EP3931056B1 (en) Regulation of the speed of a vehicle when overtaking on a bend
FR3086622A1 (en) DEVICE FOR PLANNING A PATH AND / OR A PATH OF A MOTOR VEHICLE
FR3093369A1 (en) LEARNING OF A NETWORK OF NEURONES BY COMPARISONS OF VALUES PRODUCED BY A DRIVING SIMULATOR OF A VEHICLE OPERATING IN PARALLEL
FR3084867A1 (en) ASSISTANCE METHOD FOR A VEHICLE WITH AUTOMATED DRIVING FOLLOWING A TRAJECTORY, BY REINFORCEMENT LEARNING OF THE CRITICAL ACTOR TYPE THRESHOLD
FR3092545A1 (en) ASSISTANCE IN DRIVING A VEHICLE, BY DETERMINING THE TRAFFIC LANE IN WHICH AN OBJECT IS LOCATED
WO2020165516A1 (en) Autonomous driving based on distance and speed of distinct target objects
FR3092305A1 (en) Managing a lane change of a vehicle used as a target for adaptive cruise control
FR3082044A1 (en) METHOD AND DEVICE FOR DETECTING THE TRACK ON WHICH A VEHICLE IS MOVING, ACCORDING TO THE DETERMINED DETERMINATIONS
FR3080345A1 (en) IMPROVING DETECTION BY MONITORING A LIGHTING VEHICLE
FR3102128A1 (en) Management by an autonomous vehicle of pressure applied by a following vehicle when changing lanes
WO2023161571A1 (en) Method and device for controlling the selection of a target vehicle for an adaptive cruise control system of a vehicle
WO2024094942A1 (en) Method and device for controlling an adaptive cruise control system of a vehicle that is changing traffic lane
EP3931741A1 (en) Vehicle driving assistance by reliable determination of objects in deformed images
FR3093052A1 (en) ASSISTANCE IN DRIVING A VEHICLE, BY MAKING A DECISION ON THE BASIS OF GENERALIZABLE ENVIRONMENTAL INFORMATION
FR3131724A1 (en) Method and device for controlling a semi-automatic vehicle lane change system
EP4281347A1 (en) Method and device for controlling a first vehicle following a second vehicle over a portion of road comprising a turn
WO2024018130A1 (en) Method and device for controlling a salc system of a vehicle according to the quality of road marking lines
WO2023233088A1 (en) Method and device for controlling a driver assist system assisting with driving a vehicle on the basis of a speed limit
FR3109126A1 (en) Method and device for automatically determining the trajectory of an autonomous vehicle
WO2021170917A1 (en) Optimisation of the negotiation of a signalling system by an ego vehicle
FR3086491A1 (en) ASSISTANCE IN DRIVING A VEHICLE BY DETERMINING THE TURNING ANGLE BY MEANS OF A NEURONAL NETWORK WITHOUT CALCULATION

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20200904

ST Notification of lapse

Effective date: 20211005