FR3113272A1 - Compression by selective regularization of neural networks for autonomous driving - Google Patents

Compression by selective regularization of neural networks for autonomous driving Download PDF

Info

Publication number
FR3113272A1
FR3113272A1 FR2008284A FR2008284A FR3113272A1 FR 3113272 A1 FR3113272 A1 FR 3113272A1 FR 2008284 A FR2008284 A FR 2008284A FR 2008284 A FR2008284 A FR 2008284A FR 3113272 A1 FR3113272 A1 FR 3113272A1
Authority
FR
France
Prior art keywords
vehicle
neural network
pruning
regularization
function
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
FR2008284A
Other languages
French (fr)
Inventor
Hugo Tessier
Thomas Hannagan
Vincent Gripon
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 FR2008284A priority Critical patent/FR3113272A1/en
Publication of FR3113272A1 publication Critical patent/FR3113272A1/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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

L’invention concerne la conduite autonome d’un véhicule, et en particulier la génération d’une instruction de conduite à partir d’une donnée obtenue à partir d’au moins un capteur du véhicule, par exécution (34) sur un dispositif compris dans le véhicule d’un algorithme fondé sur un réseau de neurones FIG. 1The invention relates to the autonomous driving of a vehicle, and in particular the generation of a driving instruction from data obtained from at least one sensor of the vehicle, by execution (34) on a device comprising in the vehicle of an algorithm based on a neural network FIG. 1

Description

Compression par régularisation sélective de réseaux de neurones pour la conduite autonomeCompression by selective regularization of neural networks for autonomous driving

La présente invention appartient au domaine de la conduite autonome, et en particulier aux réseaux de neurones utilisés dans ce domaine. Dans le détail, il concerne des réseaux neurones optimisés en taille et complexité par un compression automatisée obtenue lors de l’entrainement.The present invention belongs to the field of autonomous driving, and in particular to the neural networks used in this field. In detail, it concerns neural networks optimized in size and complexity by an automated compression obtained during training.

On entend par « véhicule terrestre à moteur » tout type de véhicule tel qu’un véhicule automobile, un cyclomoteur, une motocyclette, un robot de stockage dans un entrepôt, etc.“Motor land vehicle” means any type of vehicle such as a motor vehicle, a moped, a motorcycle, a storage robot in a warehouse, etc.

On entend par « réseau de neurones » tout type de réseau de neurones artificiels de la famille des méthodes de l’intelligence artificielle par apprentissage. Un réseau de neurones à convolution (CNN, convolutional neural networks), un réseau récursif à cascade de corrélation ou encore à rétropropagation sont des exemples de réseaux de neurones. Un réseau de neurones est aussi appelé réseau neuronal. Dans la présente invention, on utilise préférentiellement un réseau de neurones profonds, c’est-à-dire comportant au moins cinq couches.The term "neural network" means any type of artificial neural network from the family of methods of artificial intelligence by learning. A convolutional neural network (CNN), a recursive correlation cascade network or a backpropagation network are examples of neural networks. A neural network is also called a neural network. In the present invention, a deep neural network is preferably used, that is to say comprising at least five layers.

Les véhicules autonomes utilisent des réseaux de neurones pour assurer les fonctions de conduite autonome. Ces réseaux nécessitent de nombreux paramètres se présentant sous forme de poids des connexions du réseau, et pour les réseaux à convolutions décrits ci-après, sous forme de noyaux de convolutions, qui ont un coût en terme de mémoire embarquée.Autonomous vehicles use neural networks to provide autonomous driving functions. These networks require numerous parameters in the form of network connection weights, and for the convolution networks described below, in the form of convolution kernels, which have a cost in terms of on-board memory.

En particulier, ces réseaux neuronaux nécessitent d’importantes ressources en calculs puisque riches en multiplications et additions tensorielles en virgule flottante : le réseau ResNet50, par exemple, peut requérir 3.8 milliards de FLOPS. De plus, ces réseaux peuvent requérir une mémoire importante : si le ResNet50 comporte environ 600 000 paramètres, les records en terme d’espace occupé peuvent atteindre la centaine de milliards de paramètres (la bibliothèque DeepSpeed de Microsoft, MARQUE DEPOSEE, vise à pouvoir entraîner de tels réseaux). De telles spécifications entraînent un besoin énergétique fort : les solutions connues peuvent consommer jusqu’à 30 Watts, ce qui peut nuire à l’autonomie du véhicule.In particular, these neural networks require significant computational resources since they are rich in floating point tensorial multiplications and additions: the ResNet50 network, for example, can require 3.8 billion FLOPS. In addition, these networks can require a lot of memory: if the ResNet50 has about 600,000 parameters, the records in terms of space occupied can reach hundreds of billions of parameters (Microsoft's DeepSpeed library, REGISTERED TRADEMARK, aims to be able to train such networks). Such specifications lead to a high energy requirement: known solutions can consume up to 30 Watts, which can affect the vehicle's range.

La raison de telles demandes en ressources provient du fait que les performances des réseaux neuronaux bénéficient grandement d’un accroissement de leur nombre de paramètres pour leur entraînement, ce qui explique l’explosion de la taille des réseaux durant la dernière décennie. Toutefois, cela ne veut pas dire que, une fois entraînés, tous ces paramètres soient utiles, d’où l’apparition des techniques d’élagage : elles permettent de bénéficier de la capacité des grands réseaux à trouver des solutions optimales tout en limitant l’impact de cette taille sur le besoin en ressources par l’élimination des paramètres inutiles après l’entraînement des réseaux.The reason for such resource demands comes from the fact that the performance of neural networks greatly benefits from an increase in their number of parameters for their training, which explains the explosion in the size of the networks during the last decade. However, this does not mean that, once trained, all these parameters are useful, hence the appearance of pruning techniques: they make it possible to benefit from the capacity of large networks to find optimal solutions while limiting the impact of this size on the resource requirement by eliminating unnecessary parameters after training the networks.

Afin d’alléger un réseau neuronal, de sorte à réduire les ressources en calcul et en mémoire qu’il requiert, il est possible de supprimer, ou « élaguer », des connexions, parmi celles que l’on aura jugé les moins nécessaires d’après un critère qui peut varier en fonction des techniques.In order to lighten a neural network, so as to reduce the computational and memory resources it requires, it is possible to delete, or "prune", connections, among those which have been deemed the least necessary. 'after a criterion which may vary depending on the techniques.

L’un des critères les plus répandu se fonde sur la valeur de ces paramètres, c’est-à-dire leur « magnitude » : les paramètres de moindre magnitude sont jugés moins importants et sont donc ceux qui sont éliminés en priorité. Toutefois, afin que l’élagage de paramètres puisse engendrer une accélération matérielle, il faut pour ça élaguer des neurones entiers, ce qui est appelé « élagage structuré ».One of the most widespread criteria is based on the value of these parameters, i.e. their “magnitude”: the parameters of lesser magnitude are considered less important and are therefore those which are eliminated in priority. However, in order for parameter pruning to cause hardware speedup, it requires pruning entire neurons, which is called “structured pruning”.

Les documents suivants passent en revu diverses techniques d’élagage :The following documents review various pruning techniques:

  • The State of Sparsity in Deep Neural Networks (https://arxiv.org/pdf/1902.09574), Rethinking the Value of Network Pruning (https://arxiv.org/pdf/1810.05270) et What is the state of neural network pruning ? (https://arxiv.org/pdf/2003.03033.pdf ) ;The State of Sparsity in Deep Neural Networks (https://arxiv.org/pdf/1902.09574), Rethinking the Value of Network Pruning (https://arxiv.org/pdf/1810.05270) and What is the state of neural network pruning ? (https://arxiv.org/pdf/2003.03033.pdf);
  • Method and system for vision-centric deep-learning-based road situation analysis - US9760806B1 ;Method and system for vision-centric deep-learning-based road situation analysis - US9760806B1;
  • Systems and methods involving features of adaptive and/or autonomous traffic control - US20150134232A1.Systems and methods involving features of adaptive and/or autonomous traffic control - US20150134232A1.

Ces techniques ne sont toutefois pas efficaces pour distinguer paramètres utiles et paramètres contingents, ce qui complique le choix des connections à élaguer et donc limite la capacité de compression des réseaux élagués.However, these techniques are not effective in distinguishing useful parameters from contingent parameters, which complicates the choice of connections to be pruned and therefore limits the compression capacity of the pruned networks.

Il existe donc un besoin d’économie de la mémoire et des ressources en calcul pour les réseaux de neurones embarqués sur véhicules autonomes. En outre, les coûts de calcul nécessaires pour l’entraînement du réseau par les techniques d’élagage de l’état de l’art sont trop importants.There is therefore a need to save memory and computing resources for neural networks embedded in autonomous vehicles. Moreover, the computational costs required for training the network by the state-of-the-art pruning techniques are too large.

La présente invention vient améliorer la situation.The present invention improves the situation.

A cet effet un premier aspect de l’invention concerne un procédé de conduite autonome d’un véhicule, pour la génération d’une instruction de conduite à partir d’une donnée obtenue à partir d’au moins un capteur du véhicule, par exécution sur un dispositif compris dans le véhicule d’un algorithme fondé sur un réseau de neurones, le procédé comportant les étapes de :To this end, a first aspect of the invention relates to a method for autonomous driving of a vehicle, for the generation of a driving instruction from data obtained from at least one sensor of the vehicle, by execution on a device included in the vehicle of an algorithm based on a neural network, the method comprising the steps of:

  • réception de la donnée obtenue à partir du capteur ;receiving the data obtained from the sensor;
  • génération de l’instruction de conduite à partir de la donnée obtenue par application de l’algorithme ;generation of the driving instruction from the data obtained by application of the algorithm;

caractérisé en ce que le réseau de neurones est simplifié lors de son entraînement par un élagage, l’élagage consistant à entrainer le réseau de neurones en lui appliquant une fonction de régularisation dans laquelle la dégression des poids des connexions du réseau est plus importante pour les poids dont la magnitude est inférieure à une valeur prédéterminée.characterized in that the neural network is simplified during its training by pruning, the pruning consisting in training the neural network by applying to it a regularization function in which the decrease in the weights of the connections of the network is greater for the weight whose magnitude is less than a predetermined value.

L’introduction de la fonction de régularisation durant l’apprentissage du réseau de neurones a pour effet de faire converger les poids des connexions les moins importantes vers 0, de sorte à pouvoir mieux les différencier des connexions les plus importantes. La fonction de régularisation produit lors de l’apprentissage un piège pour les poids les moins importants qui ont plus de mal à s’extirper que les poids les plus importants.The introduction of the regularization function during the training of the neural network has the effect of making the weights of the least important connections converge towards 0, so as to be able to better differentiate them from the most important connections. The regularization function produces during learning a trap for the less important weights which have more difficulty in extricating themselves than the most important weights.

Dans un mode de réalisation, la fonction de régularisation est de la forme :In one embodiment, the regularization function is of the form:

avecwith

et :And :

  • r aideuretpentedes hyperparamètres prédéterminés ; r help and slope of the predetermined hyperparameters;
  • largeurcorrespondant à la valeur prédéterminée ; width corresponding to the predetermined value;
  • Cune fonction prédéterminée ; C a predetermined function;
  • aune valeur déterminées à partir deraideur,penteetlargeur. has a value determined from steepness , slope and width.

La fonction de régularisation ainsi obtenue présente les meilleures performances, notamment quant à son rapport taux d’erreur sur taux d’élagage, comme cela sera détaillé ci-après en référence à la figure 4.The regularization function thus obtained has the best performance, in particular with regard to its error rate to pruning rate ratio, as will be detailed below with reference to Figure 4.

Dans un mode de réalisation, la fonction prédéterminéeCest de la forme :In one embodiment, the predetermined function C is of the form:

Dans un autre mode de réalisation, la fonction prédéterminéeCest ignorée. Ceci est notamment pertinent quand seule la continuité de la dérivée importe.In another embodiment, the predetermined function C is ignored. This is particularly relevant when only the continuity of the derivative matters.

Un deuxième aspect de l’invention concerne un programme informatique comportant des instructions pour la mise en œuvre du procédé selon le premier ou le deuxième aspect de l’invention, lorsque ces instructions sont exécutées par un processeur.A second aspect of the invention relates to a computer program comprising instructions for implementing the method according to the first or the second aspect of the invention, when these instructions are executed by a processor.

Un troisième aspect de l’invention concerne un dispositif de conduite autonome d’un véhicule, pour la génération d’une instruction de conduite à partir d’une donnée obtenue à partir d’au moins un capteur du véhicule, par exécution sur un dispositif compris dans le véhicule d’un algorithme fondé sur un réseau de neurones, le dispositif comportant au moins un mémoire et au moins un processeur agencés pour effectuer les opérations de :A third aspect of the invention relates to a device for autonomous driving of a vehicle, for the generation of a driving instruction from data obtained from at least one sensor of the vehicle, by execution on a device included in the vehicle of an algorithm based on a neural network, the device comprising at least one memory and at least one processor arranged to perform the operations of:

  • réception de la donnée obtenue à partir du capteur ;receiving the data obtained from the sensor;
  • génération de l’instruction de conduite à partir de la donnée obtenue par application de l’algorithme ;generation of the driving instruction from the data obtained by application of the algorithm;

caractérisé en ce que le réseau de neurones est simplifié lors de son entraînement par un élagage, l’élagage consistant à entrainer le réseau de neurones en lui appliquant une fonction de régularisation dans laquelle la dégression des poids des connexions du réseau est plus importante pour les poids dont la magnitude est inférieure à une valeur prédéterminée.characterized in that the neural network is simplified during its training by pruning, the pruning consisting in training the neural network by applying to it a regularization function in which the decrease in the weights of the connections of the network is greater for the weight whose magnitude is less than a predetermined value.

Un quatrième aspect de l’invention concerne un véhicule configuré pour comprendre le dispositif selon le troisième aspect de l’invention.A fourth aspect of the invention relates to a vehicle configured to include the device according to the third aspect of the invention.

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:

est un diagramme illustrant les étapes d’un procédé selon un mode de réalisation de l’invention ; is a diagram illustrating the steps of a method according to one embodiment of the invention;

est une courbe illustrant l’allure d’une fonction de régularisation selon un mode de réalisation de l’invention ; is a curve illustrating the shape of a regularization function according to one embodiment of the invention;

est une courbe schéma illustrant la dérivée d’une fonction de régularisation selon un mode de réalisation de l’invention ; is a schematic curve illustrating the derivative of a regularization function according to one embodiment of the invention;

est une courbe schéma illustrant les performances d’une fonction de régularisation selon un mode de réalisation de l’invention ; is a schematic curve illustrating the performance of a regularization function according to one embodiment of the invention;

représente des résultats de distribution de poids d’un réseau de neurones selon un mode de réalisation de l’invention ; represents weight distribution results of a neural network according to an embodiment of the invention;

illustre un dispositif selon un mode de réalisation de l’invention. illustrates a device according to one embodiment of the invention.

L’invention est décrite ci-après dans son application, non limitative, au cas d’un réseau de neurones de type réseau neuronal convolutif, CNN ou encore ConvNet, utilisé pour analyse une image acquise par une caméra d’un véhicule autonome. D’autres applications sont naturellement envisageables pour la présente invention. Par exemple, le procédé selon l’invention peut être mis en œuvre par le véhicule autonome pour des étapes de fusion de données de capteurs (agrégation des images acquises par les caméras, des données des radars, lidars, ultrasons ou encore laser) ou encore pour des étapes de décisions de conduite.The invention is described below in its non-limiting application to the case of a neural network of the convolutional neural network, CNN or even ConvNet type, used to analyze an image acquired by a camera of an autonomous vehicle. Other applications are naturally possible for the present invention. For example, the method according to the invention can be implemented by the autonomous vehicle for steps of merging sensor data (aggregation of images acquired by the cameras, data from radars, lidars, ultrasounds or even lasers) or even for driving decision steps.

Lafigure 1illustre un procédé, selon un mode de réalisation de l’invention. Figure 1 illustrates a method, according to one embodiment of the invention.

A une étape 30, une donnée Img est obtenue à partir d’au moins un capteur d’un véhicule autonome. Dans le présent mode de réalisation, Img correspond à une pluralité d’images acquises par une caméra, telle qu’une caméra multifonction située en haut au centre du pare-brise du véhicule.At a step 30, a datum Img is obtained from at least one sensor of an autonomous vehicle. In the present embodiment, Img corresponds to a plurality of images acquired by a camera, such as a multifunction camera located at the top center of the windshield of the vehicle.

A une étape 32, un traitement d’Img est effectué pour extraire des données P_Img exploitables par un réseau de neurones. Un tel traitement consiste par exemple à effectuer un premier filtrage des images pour accentuer des contrastes ou enlever des perturbations visuelles, par exemple introduites par des saletés sur la caméra. Un autre traitement consiste à une fusion avec des données d’autres capteurs, tels qu’un radar ou un laser, pour enrichir les images d’informations complémentaires ou d’informations de fiabilité relatives aux images.At a step 32, an Img processing is performed to extract data P_Img usable by a neural network. Such processing consists for example of carrying out a first filtering of the images to accentuate contrasts or remove visual disturbances, for example introduced by dirt on the camera. Another processing consists of a fusion with data from other sensors, such as a radar or a laser, to enrich the images with additional information or reliability information relating to the images.

A une étape 34, un algorithme fondé sur un réseau de neuronesNest appliqué à P_Img. Dans un mode de réalisation particulier,Nest directement appliqué à Img et conduit à l’obtention d’une donnée S.At a step 34, an algorithm based on a neural network N is applied to P_Img. In a particular embodiment, N is directly applied to Img and results in obtaining a datum S.

Dans le cas d’une reconnaissance d’image, S comprend des données relatives à l’environnement du véhicule et typiquement d’identification d’objets pertinents pour la conduite autonome. Par exemple, S comprend l’information selon laquelle deux camions sont présents dans telle zone de l’image, un piéton proche d’un passage clouté, etc.In the case of image recognition, S includes data relating to the environment of the vehicle and typically identifying objects relevant to autonomous driving. For example, S includes the information that two trucks are present in such area of the image, a pedestrian near a zebra crossing, etc.

Le réseau de neurones est simplifié lors de son entraînement par un élagage. En particulier, l’élagage consiste à entrainer le réseau de neurones en lui appliquant une fonction de régularisation dans laquelle la dégression des poids des connexions du réseau est plus importante pour les poids dont la magnitude est inférieure à une valeur prédéterminée.The neural network is simplified when trained by pruning. In particular, pruning consists in training the neural network by applying a regularization function to it in which the degression of the weights of the connections of the network is greater for the weights whose magnitude is less than a predetermined value.

La fonction de régularisation s’ajoute à la fonction de perte lors de l’entraînement du réseau, de sorte que lors de l’entraînement d’un réseauNsur l’ensemble de donnéesD, en utilisant la fonction de perteL, le problème d’optimisation que représente l’entraînement des paramètreswdu réseau consiste en :The regularization function adds to the loss function when training the network, so that when training a network N on the data set D , using the loss function L , the optimization problem represented by the training of the parameters w of the network consists of:

Dans le détail, la fonction de régularisation est de la forme :In detail, the regularization function is of the form:

avecwith

et :And :

  • r aideuretpentedes hyperparamètres prédéterminés ; r help and slope of the predetermined hyperparameters;
  • largeurcorrespondant à la valeur prédéterminée ; width corresponding to the predetermined value;
  • Cune fonction prédéterminée ; C a predetermined function;
  • aune valeur déterminées à partir deraideur,penteetlargeur. has a value determined from steepness , slope and width.

En particulier, pour a :In particular, for a:

Une illustration d’une courbe obtenue à partir d’une telle fonction de régularisation est donnée à lafigure 2. Sur la figure 2, la fonctionR SWD est représentée sur un repère comportant un axe 24 des abscisses et un axe 26 des ordonnées. La courbe de la fonctionR SWD comporte une partie 20 où la dégression est moins importante que dans une partie 22 (les deux parties 20 et 22 se retrouvent symétriquement à droite de l’axe des ordonnées).An illustration of a curve obtained from such a regularization function is given in Fig.picture 2. In figure 2, the functionR SWD is represented on a marker comprising an abscissa axis 24 and an ordinate axis 26. The curve of the functionR SWD has a part 20 where the degression is less important than in a part 22 (the two parts 20 and 22 are found symmetrically to the right of the y-axis).

On entend donc par « dégression » la capacité à décroitre de manière plus ou moins importante. Typiquement, une dégression importante est caractérisée par une dérivée dont la valeur absolue est importante.“Degression” therefore means the ability to decrease more or less significantly. Typically, a large degression is characterized by a derivative whose absolute value is large.

La dérivée de la fonction de régularisationR SWD est représentée à lafigure 3. La courbe 30 représente la dérivée de la fonction de régularisationR SWD . La figure 3 illustre le changement de dégression, avec le point c dont la coordonnée en x est définie parlargeur, le point b dont la coordonnée en y est assurée parraideuret la pente de la fonction au-delà de c étant définie parpente.The derivative of the regularization function R SWD is shown in Figure 3 . Curve 30 represents the derivative of the regularization function R SWD . Figure 3 illustrates the change in degression, with point c whose x-coordinate is defined by width , point b whose y-coordinate is provided by stiffness , and the slope of the function beyond c being defined by slope .

Les hyperparamètresraideuretpentesont choisis en fonction de l’application souhaité pour le réseau de neurones. Par exemple, pour un véhicule d’entrée de gamme ne disposant que de ressources limitées de calcul,raideuretpentepeuvent être choisis pour discriminer fortement les neurones présentant des poids de magnitude importante. Au contraire, ces valeurs peuvent être moins discriminantes (courbes plus évasées, voir ci-après figure 2) si les ressources de calcul sont importantes.The stiffness and slope hyperparameters are chosen according to the desired application for the neural network. For example, for an entry-level vehicle having only limited computing resources, stiffness and slope can be chosen to strongly discriminate between neurons presenting weights of significant magnitude. On the contrary, these values can be less discriminating (more flared curves, see below in figure 2) if the calculation resources are significant.

La valeur prédéterminéelargeurest également choisie en fonction de l’application souhaitée. Plus la valeur est importante, plus la largeur de la zone où la dégression est forte est importante. Ainsi, cette valeur est corrélée à la magnitude minimum à partir de laquelle on souhaite filtrer les poids des neurones.The predetermined width value is also chosen according to the desired application. The larger the value, the larger the width of the area where the degression is strong. Thus, this value is correlated with the minimum magnitude from which one wishes to filter the weights of the neurons.

Dans la présente description, on entend par « paramètre » un paramètre appris. En effet, on distingue entre paramètres appris et paramètres non-appris. Il est courant, comme dans la présente description, de nommer les paramètres appris comme « paramètres » et les paramètres non-appris comme « meta-paramètres ». Les paramètres de profondeur, pas et de marge ne sont pas appris, ce sont des méta-paramètres. Par contre, les poids des connexions ainsi que les éléments des noyaux de convolution sont des paramètres appris, que la présente invention se propose de compresser.In the present description, “parameter” means a learned parameter. Indeed, we distinguish between learned parameters and non-learned parameters. It is common, as in the present description, to name learned parameters as "parameters" and unlearned parameters as "meta-parameters". The depth, step and margin parameters are not learned, they are meta parameters. On the other hand, the weights of the connections as well as the elements of the convolution kernels are learned parameters, which the present invention proposes to compress.

A une étape 36, un post-traitement est appliqué à S et conduit à l’obtention de P_S. Par exemple, le post-traitement comporte l’application d’un bloc de décision, qui peut également être fondé sur l’application d’un réseau de neurones, traduisant les informations environnementales en instructions de conduite (angle volant, accélération, clignotants, etc.).At a step 36, a post-processing is applied to S and results in obtaining P_S. For example, post-processing includes the application of a decision block, which can also be based on the application of a neural network, translating environmental information into driving instructions (steering angle, acceleration, turn signals, etc.).

A une étape 38, l’instruction de conduite est appliquée aux composants en charge de la conduite autonome. Par exemple, l’angle volant est transmis au calculateur ESP, Electronic Stability Program, pour correcteur électronique de trajectoire, pour application de l’angle volant.At a step 38, the driving instruction is applied to the components in charge of autonomous driving. For example, the steering wheel angle is transmitted to the ESP (Electronic Stability Program) computer, for electronic trajectory corrector, for application of the steering wheel angle.

Lafigure 4illustre les performances de la fonction de régularisation. Figure 4 illustrates the performance of the regularization function.

Sur la figure 4, l’axe 40 des ordonnées correspond à un taux d’erreur dans la reconnaissance d’image en pourcentage et l’axe 42 des abscisses à un taux d’élagage en pourcentage.In Figure 4, the ordinate axis 40 corresponds to an error rate in image recognition in percentage and the abscissa axis 42 to a pruning rate in percentage.

La courbe 46 l’évolution du taux d’erreur en fonction du taux d’élagage pour un élagage de l’état de l’art (régularisation par weight-decay) et la courbe 44 représente l’évolution du taux d’erreur en fonction du taux d’élagage pour un élagage avec la fonction de régularisationR SWD définie ci-avant en référence à la figure 1.Curve 46 shows the evolution of the error rate as a function of the pruning rate for state-of-the-art pruning (regularization by weight-decay) and curve 44 represents the evolution of the error rate in function of the pruning rate for pruning with the regularization function R SWD defined above with reference to Figure 1.

Lafigure 5illustre une distribution de poids d’un réseau de neurones selon un mode de réalisation. Figure 5 illustrates a weight distribution of a neural network according to one embodiment.

Les quatre figures à gauche, identifiables par la référence 50, correspondent à une distribution des poids avec un élagage de l’état de l’art (régularisation par weight-decay) et les quatre figures à droite, identifiables par la référence 52, correspondent à une distribution des poids avec un élagage avec la fonction de régularisationR SWD définie ci-avant en référence à la figure 1. En particulier, les figures en bas à droite des blocs 50 et 52 (Epoch 200) correspondent à la distribution obtenue en fin d’entrainement.The four figures on the left, identified by the reference 50, correspond to a weight distribution with state-of-the-art pruning (regularization by weight-decay) and the four figures on the right, identified by the reference 52, correspond to a weight distribution with pruning with the regularization function R SWD defined above with reference to FIG. 1. In particular, the figures at the bottom right of blocks 50 and 52 (Epoch 200) correspond to the distribution obtained in end of training.

La régularisation avec la fonction de régularisationR SWD a donc deux effets :Regularization with the regularization function R SWD therefore has two effects:

1) Concentrer plus de poids en 0 (le pic dépasse 105avec notre fonction alors qu’il s’arrête juste en dessous de ce seuil avec une régularisation selon un weight-decay de l’état de l’art).1) Concentrate more weight in 0 (the peak exceeds 10 5 with our function whereas it stops just below this threshold with a regularization according to a weight-decay of the state of the art).

2) Une plus nette séparation des poids autour de 0.5 peut être observée avec la fonction de régularisationR SWD selon l’invention.2) A clearer separation of the weights around 0.5 can be observed with the regularization function R SWD according to the invention.

Ces deux observations expliquent les performances de la fonction de régularisationR SWD selon l’invention sur la Figure 4.These two observations explain the performance of the regularization function R SWD according to the invention in Figure 4.

Lafigure 6représente un exemple de dispositif D compris dans le véhicule VEH, dans le réseau CLD ou dans le serveur SRVR. Ce dispositif D peut être utilisé en tant que dispositif centralisé en charge d’au moins certaines étapes du procédé décrit ci-avant en référence à la figure 1. Dans un mode de réalisation, il correspond à un calculateur de conduite autonome. FIG. 6 represents an example of device D included in the vehicle VEH, in the network CLD or in the server SRVR. This device D can be used as a centralized device in charge of at least certain steps of the method described above with reference to FIG. 1. In one embodiment, it corresponds to an autonomous driving computer.

Dans la présente invention, le dispositif D est compris dans le véhicule.In the present invention, the device D is included in the vehicle.

Ce dispositif D peut prendre la forme d’un boitier comprenant des circuits imprimés, de tout type d’ordinateur ou encore d’un smartphone.This device D can take the form of a box comprising printed circuits, of any type of computer or even of a smartphone.

Le dispositif D comprend une mémoire vive 1 pour stocker des instructions pour la mise en œuvre par un processeur 2 d’au moins une étape des procédés tels que décrits ci-avant. Le dispositif comporte aussi une mémoire de masse 3 pour le stockage de données destinées à être conservées après la mise en œuvre du procédé.The device D comprises a random access memory 1 for storing instructions for the implementation by a processor 2 of at least one step of the methods as described above. The device also comprises a mass memory 3 for storing data intended to be kept after the implementation of the method.

Le dispositif D peut en outre comporter un processeur de signal numérique (DSP) 4. Ce DSP 4 reçoit des données pour mettre en forme, démoduler et amplifier, de façon connue en soi ces données.The device D may further comprise a digital signal processor (DSP) 4. This DSP 4 receives data to shape, demodulate and amplify, in a manner known per se, this data.

Le dispositif comporte également une interface d’entrée 5 pour la réception des données mises en œuvre par des procédés selon l’invention et une interface de sortie 6 pour la transmission des données mises en œuvre par le procédé.The device also comprises an input interface 5 for receiving data implemented by methods according to the invention and an output interface 6 for transmitting data implemented by the method.

La présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d’exemples ; elle s’étend à d’autres variantes.The present invention is not limited to the embodiments described above by way of examples; it extends to other variants.

Ainsi, il a été décrit un mode de réalisation correspondant à l’application d’un réseau de neurones de type CNN pour une analyse d’image. D’autres applications sont envisageables et par exemple l’application d’un réseau de neurones récurrents, RNN pour Recurrent Neural Network, pour la prise de décision d’instructions de conduite autonome à partir d’informations environnementales.
Thus, an embodiment corresponding to the application of a CNN-type neural network for image analysis has been described. Other applications are possible and for example the application of a recurrent neural network, RNN for Recurrent Neural Network, for the decision-making of autonomous driving instructions from environmental information.

Claims (7)

Procédé de conduite autonome d’un véhicule, pour la génération d’une instruction de conduite à partir d’une donnée obtenue à partir d’au moins un capteur du véhicule, par exécution sur un dispositif compris dans le véhicule d’un algorithme fondé sur un réseau de neurones, le procédé comportant les étapes de :
  • réception de la donnée obtenue à partir du capteur ;
  • génération de l’instruction de conduite à partir de la donnée obtenue par application de l’algorithme ;
caractérisé en ce que le réseau de neurones est simplifié lors de son entraînement par un élagage, l’élagage consistant à entrainer le réseau de neurones en lui appliquant une fonction de régularisation dans laquelle la dégression des poids des connexions du réseau est plus importante pour les poids dont la magnitude est inférieure à une valeur prédéterminée.
Method for autonomous driving of a vehicle, for the generation of a driving instruction from data obtained from at least one sensor of the vehicle, by execution on a device included in the vehicle of an algorithm based on a neural network, the method comprising the steps of:
  • receiving the data obtained from the sensor;
  • generation of the driving instruction from the data obtained by application of the algorithm;
characterized in that the neural network is simplified during its training by pruning, the pruning consisting in training the neural network by applying to it a regularization function in which the decrease in the weights of the connections of the network is greater for the weight whose magnitude is less than a predetermined value.
Procédé selon l’une des revendications précédentes, dans lequel la fonction de régularisation est de la forme :

avec

et :
  • r aideuretpentedes hyperparamètres prédéterminés ;
  • largeurcorrespondant à la valeur prédéterminée ;
  • Cune fonction prédéterminée ;
  • aune valeur déterminées à partir deraideur,penteetlargeur.
Method according to one of the preceding claims, in which the regularization function is of the form:

with

And :
  • r help and slope of the predetermined hyperparameters;
  • width corresponding to the predetermined value;
  • C a predetermined function;
  • has a value determined from steepness , slope and width.
Procédé selon la revendication 2, dans lequel la fonction prédéterminéeCest de la forme :
Method according to claim 2, in which the predetermined function C is of the form:
Procédé la revendication 2, dans lequel la fonction prédéterminéeCest ignorée.The method of claim 2, wherein the predetermined function C is ignored. Programme informatique comportant des instructions pour la mise en œuvre du procédé selon l’une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par un processeur (2).Computer program comprising instructions for implementing the method according to any one of the preceding claims, when these instructions are executed by a processor (2). Dispositif (D) de conduite autonome d’un véhicule, pour la génération d’une instruction de conduite à partir d’une donnée obtenue à partir d’au moins un capteur du véhicule, par exécution sur un dispositif compris dans le véhicule d’un algorithme fondé sur un réseau de neurones, le dispositif comportant au moins un mémoire et au moins un processeur agencés pour effectuer les opérations de :
  • réception de la donnée obtenue à partir du capteur ;
  • génération de l’instruction de conduite à partir de la donnée obtenue par application de l’algorithme ;
caractérisé en ce que le réseau de neurones est simplifié lors de son entraînement par un élagage, l’élagage consistant à entrainer le réseau de neurones en lui appliquant une fonction de régularisation dans laquelle la dégression des poids des connexions du réseau est plus importante pour les poids dont la magnitude est inférieure à une valeur prédéterminée.
Device (D) for autonomous driving of a vehicle, for generating a driving instruction from data obtained from at least one sensor of the vehicle, by execution on a device included in the vehicle of an algorithm based on a neural network, the device comprising at least one memory and at least one processor arranged to perform the operations of:
  • receiving the data obtained from the sensor;
  • generation of the driving instruction from the data obtained by application of the algorithm;
characterized in that the neural network is simplified during its training by pruning, the pruning consisting in training the neural network by applying to it a regularization function in which the decrease in the weights of the connections of the network is greater for the weight whose magnitude is less than a predetermined value.
Véhicule configuré pour comprendre le dispositif selon la revendication 6.
A vehicle configured to include the device according to claim 6.
FR2008284A 2020-08-05 2020-08-05 Compression by selective regularization of neural networks for autonomous driving Withdrawn FR3113272A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2008284A FR3113272A1 (en) 2020-08-05 2020-08-05 Compression by selective regularization of neural networks for autonomous driving

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2008284A FR3113272A1 (en) 2020-08-05 2020-08-05 Compression by selective regularization of neural networks for autonomous driving
FR2008284 2020-08-05

Publications (1)

Publication Number Publication Date
FR3113272A1 true FR3113272A1 (en) 2022-02-11

Family

ID=74125289

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2008284A Withdrawn FR3113272A1 (en) 2020-08-05 2020-08-05 Compression by selective regularization of neural networks for autonomous driving

Country Status (1)

Country Link
FR (1) FR3113272A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150134232A1 (en) 2011-11-22 2015-05-14 Kurt B. Robinson Systems and methods involving features of adaptive and/or autonomous traffic control
US9760806B1 (en) 2016-05-11 2017-09-12 TCL Research America Inc. Method and system for vision-centric deep-learning-based road situation analysis

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150134232A1 (en) 2011-11-22 2015-05-14 Kurt B. Robinson Systems and methods involving features of adaptive and/or autonomous traffic control
US9760806B1 (en) 2016-05-11 2017-09-12 TCL Research America Inc. Method and system for vision-centric deep-learning-based road situation analysis

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CHANG JING ET AL: "Prune Deep Neural Networks With the Modified $L_{1/2}$ Penalty", IEEE ACCESS, vol. 7, 17 December 2018 (2018-12-17), pages 2273 - 2280, XP011704477, DOI: 10.1109/ACCESS.2018.2886876 *
DENG BY LEI ET AL: "Model Compression and Hardware Acceleration for Neural Networks: A Comprehensive Survey", PROCEEDINGS OF THE IEEE, IEEE. NEW YORK, US, vol. 108, no. 4, 20 March 2020 (2020-03-20), pages 485 - 532, XP011782925, ISSN: 0018-9219, [retrieved on 20200410], DOI: 10.1109/JPROC.2020.2976475 *
FRICKENSTEIN ALEXANDER ET AL: "Resource-Aware Optimization of DNNs for Embedded Applications", 2019 16TH CONFERENCE ON COMPUTER AND ROBOT VISION (CRV), IEEE, 29 May 2019 (2019-05-29), pages 17 - 24, XP033588042, DOI: 10.1109/CRV.2019.00011 *
MUMMADI CHAITHANYA KUMAR ET AL: "Group Pruning Using a Bounded-Norm for Group Gating and Regularization", 25 October 2019, FOUNDATIONS OF AUGMENTED COGNITION : 7TH INTERNATIONAL CONFERENCE, AC 2013, HELD AS PART OF HCI INTERNATIONAL 2013, LAS VEGAS, NV, USA, JULY 21-26, 2013 ; PROCEEDINGS; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER, CHAM, PAGE(S), ISBN: 978-3-030-71592-2, XP047525087 *

Similar Documents

Publication Publication Date Title
EP3152675B1 (en) Dynamic scene analysis method, and associated analysis module and computer programme
CN111127329A (en) Method and system for reconstructing a vehicle scene at a cloud layer
FR3113272A1 (en) Compression by selective regularization of neural networks for autonomous driving
CN111444814B (en) Target detection method, target detection device, electronic equipment and readable storage medium
FR3114420A1 (en) Compression by selective regularization of neural networks for autonomous driving
FR3113273A1 (en) Automated Neural Network Compression for Autonomous Driving
FR3133098A1 (en) Method for analyzing images in a motor vehicle, associated device and vehicle
FR3092547A1 (en) Autonomous driving based on distance and speed of separate target objects
FR3087732A1 (en) METHOD AND DEVICE FOR DETERMINING A CHANGE OF TRACK OF A VEHICLE
EP3155446B1 (en) Method and system for estimating a parameter in a motor vehicle, and motor vehicle provided with such a system
FR3114896A1 (en) Noise injection in reinforcement learning for autonomous driving
FR3133475A1 (en) Method for analyzing images in a motor vehicle by generating text, associated device and vehicle
FR3134215A1 (en) Method and device for determining a type of ground marking line for a vehicle
FR3128015A1 (en) Vehicle navigation aid system.
WO2024018130A1 (en) Method and device for controlling a salc system of a vehicle according to the quality of road marking lines
FR3131885A1 (en) Method and device for controlling a semi-automatic vehicle lane change system
FR3117977A1 (en) Method and device for adaptive speed regulation of an autonomous vehicle
FR3093369A1 (en) LEARNING OF A NETWORK OF NEURONES BY COMPARISONS OF VALUES PRODUCED BY A DRIVING SIMULATOR OF A VEHICLE OPERATING IN PARALLEL
FR3131884A1 (en) Method and device for controlling a semi-automatic vehicle lane change system
FR3133043A1 (en) Method and device for controlling selection of a target vehicle of an adaptive vehicle speed control system
EP4187445A1 (en) Method for learning synaptic weight values of a neural network, data processing method, associated computer program, calculator and processing system
FR3117078A1 (en) Method and device for changing the longitudinal acceleration setpoint of an autonomous lane changing device of an autonomous vehicle.
EP4351944A1 (en) Method and device for controlling the speed of a vehicle based on a target vehicle
WO2023089258A1 (en) Method for controlling the speed of a vehicle based on a target object
FR3127593A1 (en) Classification of driving data for storage in a database

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220211

PLFP Fee payment

Year of fee payment: 3

ST Notification of lapse

Effective date: 20240405