Brevet FR3128045A1 — publié le 20230414

Procédé de gestion d'une première structure multitâche d'un ensemble de réseaux neuronaux convolutifs afin de générer une seconde structure multitâche, dans lequel ledit ensemble comprend au moins un premier et un second réseau neuronal entraîné (4, 5) de même structure et appropriés pour réaliser une tâche distincte, le procédé comprenant : - une étape de comparaison (S1) par régression linéaire entre une première carte d'activation et une seconde carte d'activation, les première et seconde couches de convolution ayant la même profondeur ; - une étape de sélection (S3) d'une couche de convolution du premier réseau neuronal (4) selon la valeur d'un paramètre ; - une étape de fusion (S4) de ladite couche sélectionnée avec la couche de convolution de même profondeur du second réseau neuronal (5) et, - une étape de suppression (S5) de l'ensemble de couches de convolution du premier réseau neuronal (4) qui précède ladite couche sélectionnée. Figure pour l’abrégé : Figure 2 Procédé de gestion d'une structure multitâche d'un ensemble de réseaux neuronaux convolutifs La présente invention concerne des réseaux neuronaux, et plus particulièrement les structures multitâches de ces réseaux neuronaux. Art antérieur Les réseaux neuronaux convolutifs profonds (DCNN) sont largement utilisés dans la reconnaissance d'images et de vidéos, les systèmes de recommandation et le traitement du langage naturel. Chaque réseau neuronal convolutif peut réaliser une tâche spécifique telle que la détection ou la segmentation sémantique. Cependant, de nombreuses applications, comme la conduite autonome, nécessitent désormais une résolution simultanée de ces tâches. Il est donc proposé d'utiliser des ensembles de réseaux neuronaux dits multitâches, qui sont capables de réaliser simultanément plusieurs tâches distinctes mais corrélées et de partager des ressources entre elles. Chaque tâche peut alors bénéficier de particularités qui n'auraient pas été apprises avec son gradient par elle-même. Pour cela, il existe deux catégories de structures de réseaux neuronaux multitâches, la première permettant un « partage strict des poids », c'est-à-dire l'utilisation d'un ensemble commun de calculs. Quant à la seconde catégorie de structures, elle conduit à un « partage souple des poids », qui permet à chaque tâche de disposer de ses propres poids entraînables avec des contraintes entre les tâches. Cependant, ces structures sont difficiles à intégrer dans un circuit embarqué en raison de leur taille, du temps de calcul nécessaire pour exécuter les tâches et de la mémoire mobilisée à cet effet. Il est alors proposé de fusionner au moins une paire de réseaux neuronaux dudit ensemble au niveau de couches de même profondeur ayant des caractéristiques redondantes. Il n'est donc plus nécessaire de calculer les couches antérieures à celle sélectionnée parmi les deux réseaux neuronaux puisque l'accumulation des calculs produit la même carte de particularités. Mais cette fusion conduit à réentraîner les deux réseaux neuronaux, ce qui nécessite du temps de calcul, de la mémoire et aussi la disponibilité de données annotées. Ainsi, le but de la présente invention est de réduire le temps de calcul et la mémoire induits par l'utilisation de plusieurs réseaux neuronaux embarqués sans avoir à les réentraîner. Divulgation de l’invention À cet effet, il est prévu, selon un premier aspect, un procédé de gestion d'une première structure multitâche d'un ensemble de réseaux neuronaux convolutifs afin de générer une seconde structure multitâche, ledit ensemble comprenant au moins un premier et un second réseau neuronal entraîné de même structure et appropriés pour réaliser une tâche distincte. Le procédé comprend : - une étape de comparaison par régression linéaire entre une première carte d'activation, générée par chaque première couche de convolution du premier réseau neuronal, et une seconde carte d'activation, générée par chaque seconde couche de convolution du second réseau neuronal, les première et seconde couches de convolution ayant la même profondeur ; - une étape de sélection d'au moins une des couches de convolution du premier réseau neuronal selon la valeur d'au moins un paramètre ; - une étape de fusion de ladite couche sélectionnée avec la couche de convolution de même profondeur du second réseau neuronal et, - une étape de suppression de l'ensemble de couches de convolution du premier réseau neuronal qui précède ladite couche sélectionnée. En d'autres termes, l'ensemble des couches de convolution des premier et second réseaux neuronaux est parcouru pour identifier les similarités entre les cartes d'activation (« cartes de particularités ») générées par des couches de même profondeur, indiquant un point de fusion potentiel. Les cartes d'activation sont définies comme les résultats issus d'une couche de convolution. La taille globale de la seconde structure multitâche résultante est donc plus petite et permet un gain de temps de calcul et de mémoire, ce qui est d'un grand intérêt lors de l'intégration de ladite seconde structure dans des applications embarquées. Dans un mode de réalisation, l'étape de fusion entre le premier et le second réseau neuronal convolutif est réalisée de manière non supervisée. Dans un mode de réalisation, l'étape de fusion entre les premier et second réseaux neuronaux convolutifs est réalisée par projection linéaire. À cette fin, l'algorithme non supervisé permet de réaliser des projections linéaires. Dans un mode de réalisation, la valeur dudit paramètre est déterminée selon les résultats de toutes les comparaisons réalisées. Lorsque les données sont normalisées, le résidu entre la prédiction linéaire et l'ensemble des valeurs cibles fournit un moyen de prédire si deux particularités sont corrélées. La comparaison qui donne le plus petit résidu fournit un moyen approprié pour sélectionner ladite carte de particularités. Dans un mode de réalisation, la valeur dudit paramètre est déterminée en fonction du temps de calcul à allouer à la seconde structure multitâche et/ou en fonction de la précision de calcul des cartes d'activation générées par la seconde structure. Plus précisément, comme la corrélation entre les cartes de particularités des couches de convolution diminue lorsque la profondeur augmente, il est avantageux de sélectionner le point de fusion selon lesdits paramètres à partir d'une profondeur prédéterminée. L'invention concerne également un programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent l'ordinateur à réaliser les étapes du procédé de gestion tel que défini ci-dessus. Selon un autre aspect, l'invention concerne également un dispositif de gestion d'une première structure multitâche d'un ensemble de réseaux neuronaux convolutifs afin de générer une seconde structure multitâche, ledit ensemble comprenant au moins un premier et un second réseau neuronal entraîné, de même structure, et dans lequel chacun est capable d'exécuter une tâche distincte. Le dispositif comprend : - des moyens de comparaison capables de réaliser une comparaison par régression linéaire entre une première carte d'activation, générée par chaque première couche de convolution du premier réseau neuronal, et une seconde carte d'activation, générée par chaque seconde couche de convolution du second réseau neuronal, les première et seconde couches de convolution ayant la même profondeur ; - des moyens de sélection capables de sélectionner au moins une des couches de convolution du premier réseau neuronal selon la valeur d'au moins un paramètre et, - des moyens de calcul capables de fusionner ladite couche sélectionnée avec la couche de convolution de même profondeur du second réseau neuronal et de supprimer l'ensemble des couches de convolution du premier réseau neuronal qui précède ladite couche sélectionnée. Dans un mode de réalisation, les moyens de calcul sont capables de réaliser la fusion entre le premier et le second réseau neuronal convolutif d'une manière non supervisée. Dans un mode de réalisation, les moyens de calcul sont capables de réaliser la fusion entre les premier et second réseaux neuronaux convolutifs par projection linéaire. Dans un mode de réalisation, la valeur dudit paramètre est déterminée en fonction des résultats de toutes les comparaisons réalisées et/ou en fonction du temps de calcul à allouer à la seconde structure multitâche et/ou en fonction de la précision de calcul des cartes d'activation générées par la seconde structure. La présente invention et ses avantages seront mieux compris en étudiant la description détaillée d'un mode de réalisation spécifique donné à titre d'exemple non limitatif et illustré par les dessins annexés sur lesquels : illustre les modules d'un dispositif de gestion d'une première structure multitâche d'un ensemble de réseaux neuronaux convolutifs selon un mode de réalisation de l'invention et, montre un organigramme d'un procédé de gestion de la première structure multitâche, réalisé par ledit dispositif, selon un mode de réalisation de l'invention. Description détaillée d'au moins un mode de réalisation de l'invention La montre un circuit intégré 1 qui comprend un dispositif 2 de gestion d'une première structure multitâche d'un ensemble de réseaux neuronaux convolutifs. Un tel dispositif 2 est configuré pour générer une seconde structure multitâche à partir de ladite première structure en appliquant des modifications à une couche desdits réseaux neuronaux. À cet effet, le dispositif 2 comprend une mémoire 3 dans laquelle sont stockées les données constituant l'ensemble de réseaux neuronaux convolutifs. Plus précisément, la mémoire 3 comprend les données relatives à un premier réseau neuronal 4 et à un second réseau neuronal 5, tous deux préalablement entraînés et de même structure. Chaque réseau est ici destiné à réaliser une tâche distincte corrélée à l'autre tâche. Par exemple, le premier réseau neuronal 4 est capable de réaliser une segmentation sémantique qui associe une classe sémantique à chaque pixel d'une image d'entrée. Quant au second réseau neuronal 5, il est capable d'estimer une carte de profondeur dense à partir d'une image monoculaire. Le dispositif 2 comporte également des moyens de comparaison 6 appropriés pour réaliser une comparaison par régression linéaire entre une première carte d'activation, générée par chaque première couche de convolution du premier réseau neuronal 4, et une seconde carte d'activation, générée par chaque seconde couche de convolution du second réseau neuronal 5. Il convient de noter que les première et seconde couches de convolution ont la même profondeur. En d'autres termes, les moyens de comparaison 6 sont capables de parcourir toutes les couches du premier réseau neuronal 4 et du second réseau neuronal 5 et de comparer les couches de même profondeur. Plus particulièrement, les moyens de comparaison 6 sont capables d'identifier des similarités entre les cartes d'activation générées par les couches de même profondeur, indiquant un point de fusion potentiel entre le premier réseau neuronal 4 et le second réseau neuronal 5. Ces moyens de comparaison 6 sont couplés à des moyens de sélection 7 qui sont capables de choisir une des couches de convolution du premier réseau neuronal 4 en fonction de la valeur d'au moins un paramètre. En d'autres termes, les moyens de sélection 7 récupèrent les résultats desdites comparaisons et déterminent à quelle profondeur la fusion entre le premier réseau neuronal 4 et le second réseau neuronal 5 aura lieu. Pour cela, la valeur dudit paramètre est déterminée selon les résultats de toutes les comparaisons réalisées. Ainsi, lorsque les données sont normalisées, le résidu entre la prédiction linéaire et l'ensemble des valeurs cibles permet alors de prédire si deux particularités sont corrélées. La comparaison donnant le plus petit résidu permet ainsi aux moyens de sélection 7 de sélectionner ladite couche. Cependant, comme la corrélation entre les cartes de particularités des couches de convolution diminue lorsque la profondeur augmente, les moyens de sélection 7 sont capables de choisir le point de fusion selon le temps de calcul à allouer à la seconde structure multitâche et/ou selon la précision de calcul des cartes d'activation générées par la seconde structure. Pour réaliser ladite fusion entre les deux réseaux, le dispositif 2 comprend des moyens de calcul 8 capables de fusionner par projection linéaire et de manière non supervisée la couche sélectionnée avec la couche de convolution de même profondeur du second réseau neuronal 5. Toutefois, le premier réseau neuronal 4 et le second réseau neuronal 5 étant entraînés, il n'est pas nécessaire de calculer les couches précédentes du premier réseau convolutif 4 après leur fusion. Les moyens de calcul 8 sont alors capables de supprimer l'ensemble des couches de convolution du premier réseau neuronal 4 qui précèdent la couche sélectionnée. Ainsi, la taille globale de la seconde structure multitâche résultante est plus petite et permet un gain de temps de calcul et de mémoire. On se réfère à la qui illustre le processus de gestion de la première structure multitâche de l'ensemble comprenant le premier réseau neuronal 4 et le second réseau neuronal 5 préalablement entraînés et ayant la même dimension spatiale. Dans cet exemple, le processus est réalisé par le dispositif 2, mais il peut également être réalisé par un programme d'ordinateur. Le processus débute alors par une étape S1, au cours de laquelle les moyens de comparaison 6 réalisent une comparaison par régression linéaire entre les couches de convolution de même profondeur des deux réseaux neuronaux. Le processus passe ensuite en revue toutes les couches de convolution du premier réseau neuronal 4 et du second réseau neuronal 5 pour identifier des similarités entre les cartes d'activation générées par les couches de convolution de même profondeur, indiquant un point de fusion potentiel. Cette étape est ainsi répétée jusqu'à épuisement des couches de convolution du premier réseau neuronal 4 et du second réseau neuronal 5. À cet effet, les moyens de comparaison 6 vérifient à l'étape S2, après chaque comparaison, si toutes les couches de convolution ont été parcourues. Si ce n'est pas le cas, l'étape S1 est répétée. Si c’est le cas, le procédé passe à l'étape S3 dans laquelle les moyens de sélection 7 choisissent une des couches de convolution du premier réseau neuronal 4 selon la valeur d'au moins un desdits paramètres. Il convient de noter que la valeur du paramètre peut être déterminée selon les résultats de toutes les comparaisons réalisées. Une matrice de résidus peut alors être établie entre chaque couche de même profondeur entre le premier réseau neuronal 4 et le second réseau neuronal 5. Les moyens de sélection 7 peuvent alors déterminer si deux particularités sont corrélées et donc susceptibles de constituer un point de fusion potentiel. Toutefois, comme la corrélation entre les couches de convolution diminue lorsque la profondeur augmente, les moyens de sélection 7 sont capables de choisir le point de fusion selon le temps de calcul à allouer à la seconde structure multitâche et/ou selon la précision de calcul des cartes d'activation générées par la seconde structure. À l'étape S4, les moyens de calcul 8 réalisent la fusion de manière non supervisée de ladite couche sélectionnée avec la couche de convolution de même profondeur du second réseau neuronal 5. Il convient de noter que ladite fusion entre le premier réseau neuronal 4 et le second réseau neuronal convolutif 5 est réalisée par projection linéaire. Enfin, à l'étape S5, les moyens de calcul 8 suppriment toutes les couches de convolution du premier réseau neuronal qui précèdent ladite couche sélectionnée. L'invention n'est pas limitée à ces modes de réalisation mais comprend toutes les variantes. Par exemple, la première structure multitâche comprend un ensemble de réseaux neuronaux entièrement connectés. Procédé de gestion d'une première structure multitâche d'un ensemble de réseaux neuronaux convolutifs afin de générer une seconde structure multitâche, ledit ensemble comprenant au moins un premier et un second réseau neuronal entraîné (4, 5), de même structure, et appropriés pour réaliser une tâche distincte, le procédé comprenant : - une étape de comparaison (S1) par régression linéaire entre une première carte d'activation, générée par chaque première couche de convolution du premier réseau neuronal (4), et une seconde carte d'activation, générée par chaque seconde couche de convolution du second réseau neuronal (5), les première et seconde couches de convolution ayant la même profondeur ; - une étape de sélection (S3) d'au moins une des couches de convolution du premier réseau neuronal (4) selon la valeur d'au moins un paramètre ; - une étape de fusion (S4) de ladite couche sélectionnée avec la couche de convolution de même profondeur du second réseau neuronal (5) et, - une étape de suppression (S5) de l'ensemble de couches de convolution du premier réseau neuronal (4) qui précède ladite couche sélectionnée. Procédé selon la revendication 1, dans lequel l'étape de fusion (S4) entre les premier et second réseaux neuronaux convolutifs (4, 5) est réalisée de manière non supervisée. Procédé selon la revendication 1 ou 2, dans lequel l'étape de fusion (S4) entre les premier et second réseaux neuronaux convolutifs (4, 5) est réalisée par projection linéaire. Procédé selon l'une quelconque des revendications 1 à 3 précédentes, dans lequel la valeur dudit paramètre est déterminée selon les résultats de toutes les comparaisons réalisées. Procédé selon l'une quelconque des revendications 1 à 4 précédentes, dans lequel la valeur dudit paramètre est déterminée en fonction du temps de calcul à allouer à la seconde structure multitâche et/ou en fonction de la précision de calcul des cartes d'activation générées par la seconde structure. Programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent l'ordinateur à réaliser les étapes de la gestion selon l'une des revendications 1 à 5 précédentes. Dispositif de gestion d'une première structure multitâche (2) d'un ensemble de réseaux neuronaux convolutifs afin de générer une seconde structure multitâche, ledit ensemble comprenant au moins un premier et un second réseau neuronal entraîné (4, 5), de même structure, et dans lequel chacun est capable d’exécuter une tâche distincte, le dispositif comprenant : - des moyens de comparaison (6) capables de réaliser une comparaison par régression linéaire entre une première carte d'activation, générée par chaque première couche de convolution du premier réseau neuronal (4), et une seconde carte d'activation, générée par chaque seconde couche de convolution du second réseau neuronal (5), les première et seconde couches de convolution ayant la même profondeur ; - des moyens de sélection (7) capables de sélectionner au moins une des couches de convolution du premier réseau neuronal (4) selon la valeur d'au moins un paramètre et, - des moyens de calcul (8) capables de fusionner ladite couche sélectionnée avec la couche de convolution de même profondeur du second réseau neuronal (5) et de supprimer l'ensemble des couches de convolution du premier réseau neuronal (4) qui précède ladite couche sélectionnée. Dispositif selon la revendication 7, dans lequel les moyens de calcul (8) sont capables de réaliser la fusion entre le premier et le second réseau neuronal convolutif (4, 5) de manière non supervisée. Dispositif selon la revendication 7 ou 8, dans lequel les moyens de calcul (8) sont capables de réaliser la fusion entre le premier et le second réseau neuronal convolutif (4, 5) par projection linéaire. Dispositif selon l'une quelconque des revendications 7 à 9 précédentes, dans lequel la valeur dudit paramètre est déterminée en fonction des résultats de toutes les comparaisons réalisées et/ou en fonction du temps de calcul à allouer à la seconde structure multitâche et/ou en fonction de la précision de calcul des cartes d'activation générées par la seconde structure.