Brevet FR3114420A1 — publié le 20220325

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 demande de brevet FR2008284 divulgue un élagage d’un réseau neurone adressant ces problèmes. Toutefois, la fonction de régulation utilisée n’est pas optimale car le nombre important d’hyperparamètres complexifie l’élagage et augmente donc les ressources de calcul nécessaires pour cet élagage. De plus, si les résultats de l’élagage du FR2008284 sont bons en l’absence d’un réentrainement faisant suite à l’élagage, ils ne sont plus satisfaisants si ce réentrainement a lieu. En pratique, un tel réentrainement est très fréquemment appliqué aux réseaux après élagage. 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 comportant l’application une fonction de régularisation de la forme : avec a et b des hyperparamètres prédéterminés ; k une valeur représentative déterminée à partir d’un taux d’élagage ; n une valeur relative au nombre de noyaux de convolution du réseau de neurones. Une telle fonction de régularisation présente un nombre limité, deux avec a et b , d’hyperparamètres. Ceci simplifie l’élagage et les ressources de calcul nécessaires pour le mettre en œuvre. En outre, une telle fonction de régularisation est adaptée à un réentrainement, comme cela sera détaillé ci-après en référence à la figure 3. L’exécution d’un tel réseau sur un véhicule autonome est particulièrement pertinente au vu des restrictions importantes en termes de ressources de calcul embarquées disponibles. Dans un mode de réalisation, la valeur représentative k est de la forme : 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 comportant l’application d’une fonction de régularisation de la forme : avec a et b des hyperparamètres prédéterminés ; k une valeur représentative déterminée à partir d’un taux d’élagage ; n une valeur relative au nombre de noyaux de convolution du réseau de neurones. 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 les performances d’une fonction de régularisation 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, l’élagage comportant l’application d’une fonction de régularisation. En particulier, l’élagage consiste à retirer, après entraînement, des connexions du réseau, le réseau étant ici préparé à l’élagage par la fonction de régularisation. 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 a et b des hyperparamètres prédéterminés ; k une valeur représentative déterminée à partir d’un taux d’élagage ; n une valeur relative à un nombre de noyaux de convolution du réseau de neurones (typiquement le nombre de paramètres du réseau). Dans cette équation [Math 5], x correspond en entrée de la fonction à la magnitude d’un poids d’une connexion du réseau. En sortie, R(x) correspond à la pénalisation dudit poids. Chacun des termes (affectés par a ou par b) correspond à une fonction dite weight-decay en anglais, méthode de dégradation des pondérations en français. La résultante correspond donc à une fonction de weight-decay sélective. En effet, un weight decay de coefficient a est appliqué aux paramètres les plus petits et b aux plus grands, de sorte à ce que la proportion des paramètres les plus petits affectés par a coïncide avec la proportion de paramètres à élaguer. Cela peut équivaloir à séparer la distribution des paramètres de part et d’autre d’un seuil qui équivaut à la valeur du k -ème paramètre le plus petit. En particulier, la valeur représentative k est de la forme : Le taux d’élagage traduit l’importance de la simplification souhaitée pour le réseau de neurone. Plus un réseau aura été fortement élagué, plus il sera simple et moins son exécution requerra de ressources de calcul. 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 est représentée sur un repère comportant un axe des abscisses et un axe des ordonnées. La courbe de la fonction R comporte une partie 20 où la dégression est moins importante que dans une partie 22. Pour obtenir la courbe de la figure 2, les hyperparamètres choisis sont a = 5 et b = 1 et k = 1 (seuil arbitrairement choisi pour l’illustration). La fonction de régularisation est ainsi configurée pour que la dégression des poids des connexions du réseau soit plus importante pour les poids dont la magnitude est inférieure à une valeur prédéterminée. 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. 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 » ou « hyperparamè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 3 illustre les performances de la fonction de régularisation. Sur la figure 3, l’axe des ordonnées correspond à un taux de précision dans la reconnaissance d’image et l’axe des abscisses à un nombre de poids conservés (non élagués). Ainsi, un déplacement vers la gauche sur l’axe des abscisses signifie que l’on se déplace vers un élagage plus important. La courbe 26 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 24 représente l’évolution du taux d’erreur en fonction du taux d’élagage pour un élagage avec la fonction de régularisation R définie ci-avant en référence à la figure 1. Ces résultats ont été obtenus sur le dataset CIFAR-10, avec le réseau ResNet-20, un weight-decay de 5 e -4 et un hyperparamètre « a », de la régularisation, valant 5 fois le weight-decay. Les résultats illustrés correspondent à des résultats obtenus après réapprentissage du réseau de neurones. La figure 4 représente un exemple de dispositif D compris dans le véhicule autonome. 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 (34) 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 comportant l’application d’une fonction de régularisation de la forme : avec a et b des hyperparamètres prédéterminés ; k une valeur représentative déterminée à partir d’un taux d’élagage ; n une valeur relative au nombre de noyaux de convolution du réseau de neurones. Procédé selon la revendication 2, dans lequel la valeur représentative k est de la forme : 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 comportant l’application d’une fonction de régularisation de la forme : avec a et b des hyperparamètres prédéterminés ; k une valeur représentative déterminée à partir d’un taux d’élagage ; n une valeur relative au nombre de noyaux de convolution du réseau de neurones. Véhicule configuré pour comprendre le dispositif selon la revendication 4.