Brevet FR3152069A1 — publié le 20250214

Procédé d’entrainement d’un modèle de classification (201), le procédé comprenant une répétition des premières étapes suivantes : Détermination d’une distribution statistique d’étiquettes (203) de données étiquetées parmi des données d’entrainement (202), Détermination, par le modèle de classification (201), pour chaque donnée des données d’entrainement (202), d’une classe probable de ladite chaque donnée et d’un indicateur d’une incertitude de la classe probable, la classe probable ayant une fréquence et un effectif dans la distribution statistique, Sélection de données à étiqueter parmi les données d’entrainement (202), le procédé étant caractérisé en ce que la sélection des données à étiqueter est mise en œuvre à partir de l’indicateur d’incertitude de chaque donnée des données d’entrainement (202) et de la fréquence ou de l’effectif, dans la distribution statistique, de la classe probable de chaque donnée des données d’entrainement (202). Figure pour l’abrégé : figure 1 Procédé d’entrainement actif d’un modèle de classification, modèle, dispositifs et véhicule associés. L’invention concerne l’intelligence artificielle, et notamment les modèles de classification. On connait les algorithmes d’apprentissage actif, où au lieu que des données étiquettes (autrement dit ; labelisées ou annotées) soient imposées ou directement fournies, c’est l’algorithme d’apprentissage qui demande l’étiquetage des données qui lui semblent les plus pertinentes. Par exemple, les données à étiqueter sont les données qui présentent la plus grande incertitude. Cependant, l’utilisation de l’incertitude comme critère pour choisir des données à étiqueter peut conduire à ce qu’une classe soit sous-représentée dans les données étiquetées et, qu’en conséquence, la qualité des prédictions réalisées par le modèle de classification, pour cette classe, soit médiocre. Pour remédier à cet inconvénient, l’invention concerne un procédé d’entrainement d’un modèle de classification (à apprentissage machine ou à apprentissage automatique), le procédé étant caractérisé en qu’il comprenant une répétition des premières étapes suivantes : Détermination d’une distribution statistique (autrement dit ; d’un tableau d’effectifs et de fréquence) d’étiquettes (autrement dit : annotations ou labels. Les étiquettes sont des classes) de données (préalablement) étiquetées (autrement dit : annotées ou labelisées) parmi des données d’entrainement (la distribution statistique comprenant, pour chaque classe possible (en sortie du modèle de classification), une fréquence et/ou un effectif de ladite chaque classe dans les données étiquetées), et Détermination, par le modèle de classification (lorsqu’il est mis en œuvre ou exécuté), pour chaque donnée (notamment, chaque donnée non étiquetée) des données d’entrainement, d’une classe probable de ladite chaque donnée et d’un indicateur d’une incertitude de la classe probable (, à partir des données d’entrainement), la classe probable ayant une fréquence et un effectif dans la distribution statistique, Puis, sélection de données à étiqueter parmi les données d’entrainement (non étiquetée), à partir de l’indicateur d’incertitude de chaque donnée des données d’entrainement et de la fréquence ou de l’effectif, dans la distribution statistique, de la classe probable de chaque donnée des données d’entrainement. Grâce à la prise en compte, pour la sélection des données à étiqueter, de la fréquence ou de l’effectif, dans la distribution statistique, de la classe probable de chaque donnée des données d’entrainement, l’invention permet d’éviter qu’une classe soit sous représentée dans les étiquettes des données étiquetées, et que les prédictions réalisée par le modèle de classification soient, en conséquence, médiocres pour cette classe. Par exemple, de manière connue dans le domaine de l’apprentissage actif, lors de l’étape de détermination de la classe probable de ladite chaque donnée et d’un indicateur d’une incertitude de la classe probable, une probabilité est associée à chaque classe possible, pour ladite chaque donnée. La classe probable est celle ayant une plus forte probabilité. Par exemple : Les données d’entrainement avec les plus fortes entropies sont considérées comme celles ayant la plus grande incertitude, ou Les données d’entrainement avec les plus faibles différences entre les deux classes de plus grande probabilité sont considérées comme celles ayant la plus grande incertitude, ou Les données d’entrainement avec les plus faibles plus grandes probabilités sont considérées comme celles ayant la plus grande incertitude. Notamment : Si l’indicateur d’incertitude de chaque donnée des données d’entrainement est le même (autrement dit : identique), l’étape de sélection de données à étiqueter sélectionne les données des données d’entrainement ayant une plus faible fréquence ou le plus faible effectif, et/ou Si la fréquence ou l’effectif de chaque donnée des données d’entrainement est le même (autrement dit : identique), l’étape de sélection des données à étiqueter sélectionne les données des données d’entrainement ayant l’indicateur d’incertitude le plus élevé, De manière classique dans le domaine de l’apprentissage actif, le modèle de classification peut être ensuite entrainé à partir des données à étiqueter, une fois étiquetées, et des données étiquetées. Ainsi, (pour chaque répétition des premières étapes) les premières étapes peuvent être suivies des deuxièmes étapes suivantes : Envoie d’une requête d’étiquetage des données à étiqueter, (puis) Réception d’étiquettes en réponse à l’envoi de la requête d’étiquetage (et mise à jour des données d’entrainement étiquetées à partir des étiquettes), par exemple, en provenance d’une interface homme machine (saisies par un opérateur humain qui détermine les étiquettes). (puis) Au moins une étape d’entrainement supervisé (par exemple, plusieurs étapes d’entrainement, car, par exemple, l’entrainement supervisé peut être répété jusqu’à ce que le modèle atteigne un seuil prédéterminé de convergence) du modèle de classification à partir des données d’entrainement étiquetées. L’apprentissage supervisé est bien connu de l’homme de métier. Par exemple, lorsque le modèle de classification est un réseau de neurones artificiel (autrement dit : un réseau de neurones électronique), l’apprentissage supervisé consiste à modifier les poids synaptiques entre les neurones du réseau de neurones artificiel en fonction des données étiquetées en entrée du réseau, par descente de gradient. Également, préalablement à la première mise en œuvre des premières étapes, les données d’entrainement peuvent être reçues, puis les étapes préliminaires suivantes peuvent être mise en œuvre : Détermination, par le modèle de classification, pour chaque donnée des données d’entrainement, d’une classe probable de ladite chaque donnée et d’un indicateur d’une incertitude de la classe probable (, à partir des données d’entrainement), puis Sélection de données à étiqueter parmi les données d’entrainement (non étiquetée), à partir de l’indicateur d’incertitude de chaque donnée des données d’entrainement, Par exemple, le procédé peut comprendre une répétition d’une séquence comprenant les étapes préliminaires, puis les premières étapes, puis les deuxièmes étapes, avec des données d’entrainement différentes à chaque répétition. Le nombre de répétitions peut dépendre du volume de données d’entrainement disponibles. Toutefois, le procédé peut comprendre deux mises en œuvre seulement des premières étapes, par exemple pour entrainer rapidement un modèle de classification à partir d’un exemple pertianant. Selon un mode de réalisation, l’étape de sélection des données à étiqueter est mise en œuvre à partir d’un indicateur de pertinence de (ou pour) chaque donnée des données d’entrainement (non étiquetée), suivant (et le procédé peut comprendre une étape calcul de l’indicateur de pertinence) : Ip = Ii x f(Eff), où lp est ledit indicateur de pertinence de chaque donnée, Ii est l’indicateur d’incertitude de chaque donnée, f est une fonction (non strictement) décroissante, Eff est ledit effectif (de la classe probable de chaque donnée dans la distribution statistique). En variante, on peut mettre en œuvre d’autres manières de sélectionner des données à étiqueter à partir de l’indicateur d’incertitude de chaque donnée des données d’entrainement et de la fréquence ou de l’effectif, dans la distribution statistique, de la classe probable de chaque donnée des données d’entrainement. Par exemple, Ip = Ii + f(Eff) ou Ip = Ii x f(Eff) 2 . On pourrait également choisir d’étiqueter parmi les données d’entrainement dont les classes probables sont les moins fréquentes celles qui ont le niveau d’incertitude le plus élevé. Par exemple, la fonction décroissante f s’écrit : f(Eff) = Max (1 - Eff/Eru, Eps), où Max étant une fonction maximum (produisant le maximum entre ses deux entrées), Eff est un effectif de la classe probable de ladite chaque donnée dans la distribution statistique, Eru est un effectif de la classe probable dans la distribution statistique si la distribution statistique avait été uniforme, Eps, est une constante positive (strictement) inférieure à 0.001, par exemple égale à 10-6. Comme Eff/Eru est un multiple de la fréquence freq ( freq x nbr = (Eff/Eru) ), nbr étant le nombre de classes dans la distribution, Max (1 - Eff/Eru, Eps) est également une fonction de la fréquence freq. Par exemple, l’étape de sélection sélectionne les données des données d’entrainement ayant le plus grand indicateur de pertinence, par exemple, les n données des données d’entrainement ayant le plus grand indicateur de pertinence, n étant un entier strictement positif. L’invention concerne aussi un programme d’ordinateur comprenant des instructions exécutables par un microprocesseur ou un microcontrôleur ou un ordinateur, pour mettre en œuvre les étapes du procédé selon l’invention, lorsqu’il est exécuté par le microprocesseur ou le microcontrôleur ou l’ordinateur. Le procédé selon l’invention peut être mis en œuvre par un dispositif informatique. L’invention concerne donc également un dispositif informatique configuré pour mettre en œuvre les étapes du procédé selon l’invention L’invention concerne aussi un modèle de classification (à apprentissage machine ou à apprentissage automatique) entrainé à partir d’étapes comprenant les étapes du procédé selon l’invention (autrement dit : entrainé par la mise en œuvre du procédé selon l’invention). Par exemple, le modèle de classification peut être un réseau de neurones artificiels (autrement dit : un réseau de neurones électronique). Il peut s’agir d’un réseau de neurones électronique convolutif ou basé sur un transformer pour la vision. En variante, il peut s’agir d’un autre type de modèle de classification. Par exemple, le modèle de classification est une structure de données apte à être en mise en œuvre ou/et mémorisé par un dispositif électronique, par exemple le dispositif électronique comprenant un microprocesseur apte à mettre en œuvre le réseau de neurones artificiels. Une fois entrainé, le modèle de classification peut être installé dans un dispositif électronique pour être mis en œuvre par le dispositif électronique. L’invention concerne donc également un dispositif électronique comprenant le modèle de classification et apte à mettre en œuvre (ou exécuter) le modèle de classification, ainsi qu’un véhicule automobile comprenant le dispositif électronique. Par exemple, le véhicule automobile comprend une caméra, le modèle de classification étant configuré pour classifier chaque pixel d’images reçues de la caméra (en entrée du modèle de classification) lorsqu’il est mis en œuvre par le dispositif électronique. Par exemple, le modèle de classification met en œuvre ainsi une segmentation sémantique des images reçues de la caméra. Les classes peuvent identifier, par exemple : des voitures, des poids lourds, la chaussée, un piéton, un cycliste, de la végétation et/ou des bâtiments. Les caractéristiques et avantages du programme d’ordinateur, du dispositif informatique, du modèle de classification, du dispositif électronique, et du véhicule automobile sont identiques à ceux du procédé selon l’invention (sans qu’il soit nécessaire de les répéter ici). Quand le dispositif informatique, le modèle de classification, le dispositif électronique, ou le véhicule automobile (ou un autre élément) est « configuré pour » (ou « apte à ») réaliser ou mettre en œuvre une étape ou une opération, cela implique, par exemple, que l’élément comporte des moyens pour réaliser l’étape ou l’opération. Les moyens comprennent préférentiellement des moyens électroniques, par exemple un programme d’ordinateur, des données en mémoire, des circuits électroniques spécialisés, des connexions filaires ou sans fil, un microprocesseur et/ou un microcontrôleur. D’autres caractéristiques et avantages de la présente invention apparaitront plus clairement à la lecture de la description détaillée qui suit comprenant des modes de réalisation de l’invention donnés à titre d’exemples nullement limitatifs et illustrés par les dessins annexés, dans lesquels : représente un dispositif informatique, et un modèle de classification, selon un mode de réalisation de l’invention, représente un dispositif électronique, et un véhicule automobile selon un mode de réalisation de l’invention. représente une mise en œuvre du procédé selon l’invention, selon un exemple de réalisation, par le dispositif informatique de la . Sur la , certains éléments sont, bien entendu, vus par transparence. Description détaillée d’un exemple de réalisation de l’invention, en référence aux figures 1 à 3. La représente un dispositif 200. Le dispositif 200 comprend : En mémoire, un réseau de neurones 201 (autrement dit : un réseau de neurones artificiel), Des données d’entrainement 202, Des données étiquetées 203 parmi des données d’entrainement 202. Une interface 204 homme-machine. A l’étape S00, , le dispositif 200 détermine une distribution statistique des étiquettes des données étiquetées 203. Les colonnes « Classe », « Effectif » et « Fréquence » de la table 1 ci-dessous donnent un exemple d’une telle distribution statistique. Classe Effectif Fréquence f(Eff) Classe 1 80 0,4 0,000001 Classe 2 40 0,2 0,000001 Classe 3 35 0,175 0,125000 Classe 4 15 0,075 0,625000 Classe 5 10 0,05 0,750000 Classe 6 7 0,035 0,825000 Classe 7 6 0,03 0,850000 Classe 8 5 0,025 0,875000 Classe 9 2 0,01 0,950000 Classe 10 0 0 1,000000 A l’étape S10, le modèle de classification 201, mis en œuvre par le dispositif 200, détermine, de manière classique dans le domaine des algorithmes d’apprentissage actif, pour chacune des données d’entrainement 202, une classe probable de ladite chacune des données et un indicateur d’une incertitude de la classe probable, la classe probable ayant une fréquence et un effectif dans la distribution statistique représenté table 1, A l’étape S20, le dispositif 200 calcule, pour chacune des données d’entrainement 202, la valeur Ip = Ii x f(Eff), où lp est ledit indicateur de pertinence, Ii est l’indicateur d’incertitude, f est une fonction (non strictement) décroissante, Eff est ledit effectif. La valeur f(Eff) est constante pour chaque classe probable et s’écrit Max (1 - Eff/20, 10 -6 ), où Max est une fonction maximum. La table 1 indique également la valeur de f(Eff) pour chaque classe. A l’étape S30, le dispositif 200 sélectionne alors dans les données d’entrainement 202, comme données à étiqueter, les 10 données ayant la valeur lp maximale. A l’étape S40, le dispositif 200 affiche, par l’intermédiaire de l’interface homme machine 204, une requête d’étiquetage des données à étiqueter et reçoit, en réponse, des étiquettes en provenance de l’interface homme machine 204, saisies par un opérateur humain qui détermine les étiquettes. A l’étape S50, le dispositif 200 met à jour les données étiquetées 203 à partir des étiquettes reçues à l’étape S40. A l’étape S60, le dispositif 200 entraine le réseau de neurones 201, de manière connue en apprentissage actif, de manière supervisée, à partir des données d’entrainement 202, et des données étiquetées 203. L’étape S50 peut être répétée jusqu’à une convergence du réseau de neurones. Les étapes S00 à S60 peuvent également être répétées pour des données d’entrainement 202 différentes. Le dispositif 200 peut-être un dispositif informatique comprenant par exemple un microprocesseur et un programme d’ordinateur pour mettre en œuvre les étapes S10 à S50. Selon un premier exemple, le réseau de neurones 201 est un réseau de neurones artificiel convolutif, par exemple tel que décrit dans l’article ci-dessous : Chen et al., “Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation”, in European Conference on Computer Vision, 2018. Selon un deuxième exemple, il s’agit d’un réseau de neurones basé sur un transformer pour la vision, par exemple tel que décrit dans l’article ci-dessous : Dosovitskiy et al., “An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale”, in International Conference on Learning Representations, 2021. A l’étape S70, le réseau de neurones 201 peut être chargé et mémorisée dans un microprocesseur 110 d’un véhicule automobile 100, tel qu’illustré . Le véhicule automobile 100 comprend par exemple une caméra 120 connecté au microprocesseur 110. Le réseau de neurones 201 peut-être, dans ce cas, apte à classifier chaque pixel des images reçues de la caméra 120, en entrée du réseau de neurones 201, pour indiquer s’il s’agit d’un pixel d’une voiture, d’un poids lourd, de la chaussée, d’un piéton, d’un cycliste, de végétation et/ou d’un bâtiment. Par exemple, le microprocesseur 110 peut commander le véhicule automobile 100 (par exemple, sa vitesse, sa direction, son accélération, un affichage à l’intérieur du véhicule automobile) à partir de la classification produite ainsi par le réseau de neurones 201. A variante, bien entendu, le réseau de neurones peut bien entendu avoir d’autres applications. Véhicule automobile (100) comprenant une caméra, un dispositif électronique comprenant un modèle de classification (201) configuré pour classifier chaque pixel d’images reçues de la caméra, lorsqu’il est mis en œuvre par le dispositif électronique (110), le modèle de classification étant entrainé à partir d’étapes comprenant la répétition des premières étapes suivantes : Détermination d’une distribution statistique (S00) d’étiquettes (203) de données étiquetées parmi des données d’entrainement (202), Détermination (S10), par le modèle de classification (201), pour chaque donnée des données d’entrainement (202), d’une classe probable de ladite chaque donnée et d’un indicateur d’une incertitude de la classe probable, la classe probable ayant une fréquence et un effectif dans la distribution statistique, Sélection de données à étiqueter (S30) parmi les données d’entrainement (202), le procédé étant caractérisé en ce que la sélection des données à étiqueter est mise en œuvre à partir de l’indicateur d’incertitude de chaque donnée des données d’entrainement (202) et de la fréquence ou de l’effectif, dans la distribution statistique, de la classe probable de chaque donnée des données d’entrainement (202). Véhicule automobile (100) selon la revendication précédente dans lequel l’étape de sélection des données à étiqueter (S30) est mise en œuvre à partir d’un indicateur de pertinence suivant, de chaque donnée des données d’entrainement : Ip = Ii x f(Eff), où lp est ledit indicateur de pertinence, Ii est l’indicateur d’incertitude, f est une fonction décroissante, Eff est ledit effectif. Véhicule automobile (100) selon la revendication précédente dans lequel la fonction décroissante s’écrit : f(Eff) = Max (1 - Eff/Eru, Eps), où Max étant une fonction maximum, Eru est un effectif de la classe probable dans la distribution statistique si la distribution statistique avait été uniforme, Eps, est une constante positive (strictement) inférieure à 0.001.