Brevet FR3113272A1 — publié le 20220211

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. 1 Compression par régularisation sélective de réseaux de neurones pour la conduite autonome 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. 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. 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. 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. 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. 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. 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. 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é ». Les documents suivants passent en revu diverses techniques d’élagage : 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 ) ; 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. 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. 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. La présente invention vient améliorer la 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 : 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. 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. Dans un mode de réalisation, la fonction de régularisation est de la forme : avec et : r aideur et pente des hyperparamètres prédéterminés ; largeur correspondant à la valeur prédéterminée ; C une fonction prédéterminée ; a une valeur déterminées à partir de raideur , pente et largeur. 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. Dans un mode de réalisation, la fonction prédéterminée C est de la forme : Dans un autre mode de réalisation, la fonction prédéterminée C est ignorée. Ceci est notamment pertinent quand seule la continuité de la dérivée importe. 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. 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 : 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. Un quatrième aspect de l’invention concerne un véhicule configuré pour comprendre le dispositif selon le troisième aspect de l’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 : est un diagramme illustrant les étapes d’un procédé selon un mode de réalisation de l’invention ; est une courbe illustrant l’allure d’une fonction de régularisation selon un mode de réalisation de l’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 ; est une courbe schéma illustrant les performances d’une fonction de régularisation selon un mode de réalisation de l’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 ; illustre un dispositif selon un mode de réalisation de l’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. La figure 1 illustre un procédé, selon un mode de réalisation de l’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. 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. A une étape 34, un algorithme fondé sur un réseau de neurones N est appliqué à P_Img. Dans un mode de réalisation particulier, N est directement appliqué à Img et conduit à l’obtention d’une donnée 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. 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. 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éseau N sur l’ensemble de données D , en utilisant la fonction de perte L , le problème d’optimisation que représente l’entraînement des paramètres w du réseau consiste en : Dans le détail, la fonction de régularisation est de la forme : avec et : r aideur et pente des hyperparamètres prédéterminés ; largeur correspondant à la valeur prédéterminée ; C une fonction prédéterminée ; a une valeur déterminées à partir de raideur , pente et largeur. En particulier, pour a : Une illustration d’une courbe obtenue à partir d’une telle fonction de régularisation est donnée à la figure 2 . Sur la figure 2, la fonction R 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 fonction R 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). 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. La dérivée de la fonction de régularisation R SWD est représentée à la figure 3 . La courbe 30 représente la dérivée de la fonction de régularisation R SWD . La figure 3 illustre le changement de dégression, avec le point c dont la coordonnée en x est définie par largeur , le point b dont la coordonnée en y est assurée par raideur et la pente de la fonction au-delà de c étant définie par pente . Les hyperparamètres raideur et pente sont 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, raideur et pente peuvent ê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. La valeur prédéterminée largeur est é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. 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. 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.). 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. La figure 4 illustre les performances de la fonction de régularisation. 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. 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égularisation R SWD définie ci-avant en référence à la figure 1. La figure 5 illustre une distribution de poids d’un réseau de neurones selon un mode de réalisation. 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égularisation R 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. La régularisation avec la fonction de régularisation R SWD a donc deux effets : 1) Concentrer plus de poids en 0 (le pic dépasse 10 5 avec 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). 2) Une plus nette séparation des poids autour de 0.5 peut être observée avec la fonction de régularisation R SWD selon l’invention. Ces deux observations expliquent les performances de la fonction de régularisation R SWD selon l’invention sur la Figure 4. La figure 6 repré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. Dans la présente invention, le dispositif D est compris dans le véhicule. 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. 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é. 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. 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é. 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. 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. 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. Procédé selon l’une des revendications précédentes, dans lequel la fonction de régularisation est de la forme : avec et : r aideur et pente des hyperparamètres prédéterminés ; largeur correspondant à la valeur prédéterminée ; C une fonction prédéterminée ; a une valeur déterminées à partir de raideur , pente et largeur. Procédé selon la revendication 2, dans lequel la fonction prédéterminée C est de la forme : Procédé la revendication 2, dans lequel la fonction prédéterminée C est ignorée. 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). 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. Véhicule configuré pour comprendre le dispositif selon la revendication 6.