Brevet FR3147408A1 — publié le 20241004

Selon un aspect, il est proposé un procédé mis en œuvre par ordinateur de recherche d’une combinaison optimale d’hyperparamètres permettant de définir un modèle d’apprentissage automatique, le procédé comprend plusieurs tests de combinaison d’hyperparamètres, chaque test de combinaison d’hyperparamètres comportant une validation croisée (24, 25, 26, 27, 28) à partir d’un ensemble de données de validation, la validation croisée définissant plusieurs tests de performance, chaque test de combinaison d’hyperparamètres étant arrêté si un score d’un test de performance est inférieur à un meilleur score, la validation croisée comprenant également une mise à jour (30) du meilleur score lorsque l’ensemble des scores de performance calculés pour cette validation croisée sont supérieurs au meilleur score, le meilleur score mis à jour correspondant alors au moins bon score de performance parmi ledit ensemble de scores de performance calculés pour cette validation croisée. Figure pour l’abrégé : Figure 2 PROCÉDÉ DE RECHERCHE D’UNE COMBINAISON OPTIMALE D’HYPERPARAMÈTRES POUR UN MODÈLE D’APPRENTISSAGE AUTOMATIQUE Des modes de mise en œuvre et de réalisation concernent l’apprentissage automatique, notamment l’optimisation d’hyperparamètres d’un modèle d’apprentissage automatique. L'apprentissage automatique (en anglais « machine learning ») est une branche de l'intelligence artificielle qui permet à un système informatique d'apprendre à partir de données, sans avoir été explicitement programmé pour effectuer une tâche donnée. L'apprentissage automatique permet à une machine d'acquérir des connaissances et des compétences à partir d'un ensemble de données, afin de réaliser des prédictions, des classifications ou d'autres types de traitements sur de nouvelles données. Un modèle d'apprentissage automatique est une représentation mathématique d'un système ou d'un processus qui permet à une machine d'apprendre à partir des données. Le modèle est créé en utilisant un algorithme d'apprentissage automatique qui apprend à partir d'un ensemble de données d'entraînement pour produire une sortie prédite pour une entrée donnée. Le choix du modèle dépend du type de problème à résoudre et des caractéristiques des données disponibles. Il existe différents types de modèle d'apprentissage automatique. On connaît par exemple les modèles linéaires, les arbres de décision, les réseaux de neurones artificiels. L’apprentissage automatique utilise des hyperparamètres définis pour l’entraînement d’un modèle. Les hyperparamètres sont des paramètres définis avant le début de l'entraînement du modèle. Les hyperparamètres peuvent par exemple comprendre un taux d’apprentissage (facteur déterminant la taille des pas de mise à jour des poids du modèle pendant l'entraînement), un nombre d’itérations (nombre de fois que le modèle parcourt l'ensemble des données pendant l'entraînement), une structure du modèle (nombre de couches pour un réseau de neurones artificiels et le nombre de neurones par couche par exemple). Les hyperparamètres peuvent avoir un impact significatif sur la performance du modèle. Il convient donc de rechercher, c’est-à-dire optimiser, des hyperparamètres permettant d’améliorer voire d’optimiser les résultats du modèle. L'optimisation des hyperparamètres est une méthode dans laquelle plusieurs combinaisons d'hyperparamètres sont évaluées sur un ensemble de données de validation. Différentes méthodes de recherches d’hyperparamètres existent. Ces méthodes incluent la recherche en grille, la recherche aléatoire et la recherche bayésienne par exemple. Les hyperparamètres peuvent être testés en réalisant une validation croisée. La validation croisée est une technique utilisée pour évaluer les performances des hyperparamètres associés à un modèle d'apprentissage automatique. La validation croisée comprend plusieurs tests pour une même combinaison d’hyperparamètres d’un modèle à partir d’un même ensemble de données de validation. En particulier, l'ensemble de données est divisé en plusieurs sous-ensembles de données. Pour chaque test, au moins un sous-ensemble de données est utilisé pour entraîner le modèle et au moins un autre sous ensemble est utilisé pour évaluer le modèle. Pour chaque test, les performances du modèle sont évaluées et une mesure de performance est calculée (par exemple, l'exactitude ou l'erreur quadratique moyenne). Les mesures de performance obtenues pour chaque test réalisé pour une même combinaison d’hyperparamètres sont ensuite moyennées pour obtenir une mesure de performance globale du modèle. La combinaison d’hyperparamètres présentant la meilleure performance globale est ensuite sélectionnée comme étant la combinaison d’hyperparamètres optimale. La validation croisée permet d'éviter les biais liés à l'utilisation d'un seul ensemble de données pour l'entraînement et l'évaluation du modèle. La validation croisée permet également de fournir une estimation plus précise des performances du modèle sur des données inconnues. Néanmoins, la validation croisée peut prendre beaucoup de temps de calcul, surtout si le nombre de sous-ensembles de données de validation est élevé ou si l’ensemble des données de validation est volumineux. De ce fait, l’optimisation des hyperparamètres peut être relativement lente et coûteuse en temps de calcul. Il existe donc un besoin de proposer une solution permettant de trouver plus rapidement une combinaison optimale d’hyperparamètres pour un modèle d’apprentissage automatique. Selon un aspect, il est proposé un procédé mis en œuvre par ordinateur de recherche d’une combinaison optimale d’hyperparamètres permettant de définir un modèle d’apprentissage automatique, le procédé comprenant plusieurs tests de combinaison d’hyperparamètres, chaque test de combinaison d’hyperparamètres comportant une validation croisée à partir d’un ensemble de données de validation, la validation croisée définissant plusieurs tests de performance sur au moins un sous ensemble de données de validation, chaque test de performance comportant : - un calcul d’un score de performance, - une comparaison du score de performance calculé à un meilleur score, le test de la combinaison d’hyperparamètres étant arrêté si le score de performance calculé est inférieur au meilleur score, la validation croisée comprenant également une mise à jour du meilleur score lorsque l’ensemble des scores de performance calculés pour cette validation croisée sont supérieurs au meilleur score, le meilleur score mis à jour correspondant alors au moins bon score de performance parmi ledit ensemble de scores de performance calculés pour cette validation croisée, le procédé comprenant en outre une définition d’une combinaison optimale d’hyperparamètres pour ledit modèle d’apprentissage, cette combinaison optimale d’hyperparamètres correspondant à la combinaison optimale d’hyperparamètres ayant permis de définir le dernier meilleur score une fois l’ensemble des tests de combinaison d’hyperparamètres effectués. Un tel procédé de recherche permet de stopper le test d’une combinaison d’hyperparamètres dès qu’un test de validation croisée obtient un score inférieur au meilleur score défini. Cela permet d’éviter d’effectuer d’autres tests de validation croisées pour une combinaison d’hyperparamètres qui ne sera pas retenue. Un tel procédé permet donc de rechercher plus rapidement une combinaison optimale d’hyperparamètres. Un tel procédé permet donc de réduire la durée ainsi que la consommation d’énergie d’une recherche d’une combinaison optimale d’hyperparamètres tout en préservant une qualité du modèle défini. De préférence, le modèle d’apprentissage est choisi parmi un modèle linéaire, un arbre de décision ou un réseau de neurones artificiels. Il est important de noter que ces modèles ne sont pas exhaustifs et qu'il existe de nombreux autres modèles d'apprentissage automatique utilisés pour résoudre différents types de problèmes à résoudre relatifs à l’application définie par l’utilisateur. Avantageusement, chaque combinaison d’hyperparamètres est recherchée en effectuant une recherche en grille, une recherche aléatoire ou encore une recherche bayésienne. Dans un mode de réalisation avantageux, les tests de performance définis par la validation croisée sont effectués selon un ordre donné. Le procédé comprend en outre une définition d’un ordre des tests de performance à chaque mise à jour du meilleur score, l’ordre défini correspondant alors à l’ordre croissant des scores des tests de performance de la validation croisée ayant permis de mettre à jour le meilleur score. Une telle définition de l’ordre des tests de performance permet d’accélérer la recherche de la combinaison optimale d’hyperparamètres. En effet, généralement, les tests de performance obtenant les moins bons scores de performance sont généralement les mêmes entre les différents tests de combinaison d’hyperparamètres. Ainsi, en commençant une validation croisée par les tests de performance ayant les moins bons scores de performances, il est possible d’arrêter plus rapidement un test de combinaison d’hyperparamètres lorsque le score de performance associé à un test de performance est inférieur au meilleur score. Selon un autre aspect, il est proposé un programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre un procédé tel que décrit précédemment. Selon un autre aspect, il est proposé un système informatique comprenant : - une mémoire dans laquelle est stocké un programme d’ordinateur tel que décrit précédemment, et - une unité de traitement configurée pour mettre en œuvre le programme d’ordinateur. D’autres avantages et caractéristiques de l’invention apparaîtront à l’examen de la description détaillée de modes de réalisation, nullement limitatifs, et des dessins annexés sur lesquels : illustrent des modes de réalisation et de mise en œuvre de l’invention. La illustre un système informatique SYS configuré pour mettre en œuvre un procédé de recherche d’une combinaison optimale d’hyperparamètres tel que décrit dans la suite en relation avec la . Le système informatique SYS comprend une unité de traitement UT et une mémoire MEM. La mémoire MEM est configurée pour stocker un programme d’ordinateur PRG. Ce programme d’ordinateur PRG comprend des instructions qui lorsqu’elles sont exécutées par l’unité de traitement UT, conduisent celle-ci à mettre en œuvre le procédé tel que décrit dans la suite. La illustre un procédé de recherche d’une combinaison optimale d’hyperparamètres pour un modèle d’apprentissage automatique. Un tel procédé peut être mis en œuvre par un système informatique SYS tel que décrit précédemment. Le modèle d’apprentissage automatique est choisi selon une application définie par un utilisateur. Le modèle peut être un modèle linéaire, un arbre de décision ou un réseau de neurones artificiels par exemple. Il est important de noter que ces modèles ne sont pas exhaustifs et qu'il existe de nombreux autres modèles d'apprentissage automatique utilisés pour résoudre différents types de problèmes à résoudre relatifs à l’application définie par l’utilisateur. Le modèle d’apprentissage automatique est associé à une combinaison d’hyperparamètres. Afin d’obtenir un modèle d’apprentissage automatique ayant de bonnes performances, il convient de rechercher une combinaison optimale d’hyperparamètres pour ce modèle d’apprentissage automatique. En particulier, les combinaisons d’hyperparamètres recherchées sont testées en réalisant des validations croisées. La validation croisée réalisée pour un test d’une combinaison d’hyperparamètres permet de mesurer une performance de cette combinaison d’hyperparamètres. La combinaison optimale d’hyperparamètres correspond à la combinaison d’hyperparamètres obtenant un meilleur score de performances parmi un ensemble de combinaison d’hyperparamètres recherchés. Un score de performance est un score calculé à partir de tests de validation croisée réalisés lors d’un test d’une même combinaison d’hyperparamètres. Le meilleur score de performances correspond au moins bon score obtenu pour un test de validation croisée associé à la combinaison optimale d’hyperparamètres. Les validations croisées peuvent par exemple être choisies parmi les validations de type « Leave p out cross-validation », « Leave one out cross-validation », « Holdout cross-validation », « Repeated random subsampling validation », « k-fold cross-validation », « Stratified k-fold cross-validation », « Time Series cross-validation », « Nested cross-validation ». Il est important de noter que ces exemples de validations croisées ne sont pas exhaustifs et que toute autre type de validation croisée peut être mis en œuvre dans le cadre de ce procédé. Plus particulièrement, le procédé comprend une étape 20 d’obtention d’un ensemble de données de validation. Dans cette étape 20 d’obtention, un ensemble de données de validation est fourni au système informatique. Ces données de validation permettent de tester les performances de différentes combinaisons d’hyperparamètres d’un modèle d’apprentissage automatique. Ces données de validation sont fournies par l’utilisateur. Le procédé comprend également une étape 21 de préparation d’une recherche d’une combinaison optimale d’hyperparamètres. Dans cette étape 21 de préparation, l'ensemble de données de validation est divisé en plusieurs sous-ensembles de données. Le nombre de tests de validation croisée à effectuer pour un test d’une combinaison d’hyperparamètres est également défini lors de cette étape 21 de préparation. En particulier, le nombre de tests de validation croisée est généralement égal au nombre de sous-ensembles définis. Le procédé comprend ensuite une étape 22 d’initialisation. Dans cette étape 22 d’initialisation, le meilleur score est initialisé à une valeur prédéfinie, par exemple 0. Comme cela est décrit dans la suite, le meilleur score est ensuite mis à jour dès que les scores obtenus pour l’ensemble des tests de validation croisée d’un test d’une combinaison d’hyperparamètres sont supérieurs à l’ancien meilleur score défini. Le meilleur score sera alors mis à jour par le moins bon score parmi ces différents scores supérieurs à l’ancien meilleur score. Le procédé comprend également ensuite une étape 23 de recherche d’une combinaison d’hyperparamètres. La combinaison d’hyperparamètres peut être recherchée en utilisant des méthodes bien connues de l’homme du métier. Par exemple, il est possible de rechercher une combinaison d’hyperparamètres en effectuant une recherche en grille, une recherche aléatoire ou encore une recherche bayésienne. Le procédé comprend ensuite une validation croisée pour tester la combinaison d’hyperparamètre obtenue à l’étape 23. La validation croisée définit plusieurs tests de validation croisée, correspondant à des tests de performance. Chaque test de performance permet de réaliser un entraînement du modèle à partir d’au moins un sous-ensemble de données de validation et d’évaluer le modèle à partir d’au moins un autre sous-ensemble de validation. Les sous-ensembles utilisés pour entraîner et pour évaluer le modèle sont différents entre chaque test de performance. En particulier, le procédé comprend un premier test 24 de validation croisée. Dans ce premier test de validation croisée, au moins un sous-ensemble de données de validation est utilisé pour entraîner le modèle et au moins un autre sous ensemble de validation est utilisé pour évaluer le modèle. Ce premier test de validation croisée permet de calculer un score de performance associé à ce test de validation croisée. Le procédé comprend ensuite une première étape 25 d’évaluation du score obtenu pour ce premier test 24 de validation croisée effectuée. Dans cette première étape 25 d’évaluation, le score de la validation croisée calculé lors du premier test 24 est comparé au meilleur score. Si à la première étape 25 d’évaluation le score de la validation croisée est inférieur au meilleur score, alors le test de la combinaison d’hyperparamètres est abandonné. La première étape 25 d’évaluation permet d’effectuer seulement le premier test de validation croisée associée à une combinaison d’hyperparamètres lorsque le score de cette validation croisée est inférieur au meilleur score défini. Ainsi, cette première étape 25 d’évaluation permet de stopper le test d’une combinaison d’hyperparamètres dès le premier test 24 de validation croisée si le score de cette validation croisée est inférieur au meilleur score défini. Cela permet d’éviter d’effectuer d’autres tests de validation croisée pour une combinaison d’hyperparamètres qui ne sera pas retenue. Dans ce cas, le procédé comprend ensuite une étape 29 de vérification. Dans cette étape 29 de vérification, le nombre de tests de combinaison d’hyperparamètres effectué est comparé à un nombre maximal de tests de combinaison d’hyperparamètres défini par l’utilisateur. Si à l’étape 29, le nombre de tests de combinaison d’hyperparamètres déjà effectué est inférieur au nombre maximal de tests de combinaison d’hyperparamètres, alors le procédé est réitéré à partir de l’étape 23 pour tester une nouvelle combinaison d’hyperparamètres. Si à la première étape 25 le score de performance du premier test 24 est supérieur au meilleur score, alors le procédé comprend une étape 26 qui permet de déterminer si le test de validation croisée réalisé est le dernier défini pour la validation croisée. Si le test de validation croisée réalisé n’est pas le dernier pour cette validation croisée, le procédé comprend un autre test 27 de validation croisée. Ce test 27 permet de calculer un nouveau score de performance. Ensuite, le procédé comprend une étape 28 d’évaluation du score de performance calculé pour le test 27 de validation croisée. Si le score de performance du test de validation croisée est inférieur au meilleur score, alors le procédé est réitéré à partir de l’étape 23 pour tester une nouvelle combinaison d’hyperparamètres, si le nombre de tests combinaison d’hyperparamètres déjà effectué est inférieur au nombre maximal de tests de combinaison d’hyperparamètres (étape 29). Ainsi, cette deuxième étape 28 permet de stopper le test d’une combinaison d’hyperparamètres dès qu’un test de validation croisée obtient un score de performance inférieur au meilleur score défini. Cela permet d’éviter d’effectuer d’autres tests de validation croisée pour une combinaison d’hyperparamètres qui ne sera pas retenue. Si le score de performance du test de validation croisée est supérieur au meilleur score, alors le procédé est réitéré à partir de l’étape 26 pour réaliser un nouveau test de validation croisée si le test de validation croisée effectué n’est pas le dernier défini pour cette validation croisée. Si à l’étape 26, le test de validation croisée effectué est le dernier défini pour cette validation croisée, alors le procédé comprend une étape 30 de mise à jour. Dans cette étape 30, le meilleur score est mis à jour avec la valeur du pire score de performance des tests de cette validation croisée. Ensuite, le procédé comprend une étape 31 de mise à jour de l’ordre des tests de validation croisée. Dans cette étape 31, l’ordre des tests de validation croisée est défini pour les prochains tests d’hyperparamètres. En particulier, l’ordre des tests de validation croisées est défini en fonction du score de chaque validation croisée lors du précédent test d’hyperparamètres. L’ordre des tests de validation croisées correspond à l’ordre croissant de ces scores. Une telle définition de l’ordre des tests de validation croisée permet d’accélérer la recherche de la combinaison optimale d’hyperparamètres. En effet, généralement, les tests de validation croisée obtenant les moins bons scores de performance sont généralement les mêmes entre les différents tests de combinaison d’hyperparamètres. Ainsi, en commençant une validation croisée par les tests ayant les moins bons scores de performances, il est possible d’arrêter plus rapidement un test de combinaison d’hyperparamètres lorsque le score de performance associé à un test de validation croisée est inférieur au meilleur score. Ensuite, le procédé comprend également ladite étape 29 de vérification. Comme indiqué précédemment, dans cette étape 29 de vérification, le nombre de tests de combinaison d’hyperparamètres effectué est comparé au nombre maximal de tests de combinaison d’hyperparamètres défini par l’utilisateur. Si à l’étape 29, le nombre de tests de combinaison d’hyperparamètres déjà effectué est inférieur au nombre maximal de tests de combinaison d’hyperparamètres, alors le procédé est ensuite réitéré à partir de l’étape 23 de manière à tester une nouvelle combinaison d’hyperparamètres. Si à l’étape 29, le nombre de tests de combinaison d’hyperparamètres déjà effectué correspond au nombre maximal de tests de combinaison d’hyperparamètres alors le procédé comprend une étape 32 de définition d’une combinaison optimale d’hyperparamètres. En particulier, la combinaison optimale d’hyperparamètres correspond à la combinaison d’hyperparamètres pour laquelle la validation croisée a permis de définir le dernier meilleur score. Un tel procédé de recherche permet de stopper le test d’une combinaison d’hyperparamètres dès qu’un test de validation croisée obtient un score inférieur au meilleur score défini. Cela permet d’éviter d’effectuer d’autres tests de validation croisée pour une combinaison d’hyperparamètres qui ne sera pas retenue. Un tel procédé permet donc de rechercher plus rapidement une combinaison optimale d’hyperparamètres. Un tel procédé permet donc de réduire la durée ainsi que la consommation d’énergie d’une recherche d’une combinaison optimale d’hyperparamètres tout en préservant une qualité du modèle défini. Procédé mis en œuvre par ordinateur de recherche d’une combinaison optimale d’hyperparamètres permettant de définir un modèle d’apprentissage automatique, le procédé comprenant plusieurs tests de combinaison d’hyperparamètres, chaque test de combinaison d’hyperparamètres comportant une validation croisée à partir d’un ensemble de données de validation, la validation croisée définissant plusieurs tests de performance sur au moins un sous ensemble de données de validation, chaque test de performance comportant : - un calcul (24, 27) d’un score de performance, - une comparaison (25, 28) du score de performance calculé à un meilleur score, le test de la combinaison d’hyperparamètres étant arrêté si le score de performance calculé est inférieur au meilleur score, la validation croisée comprenant également une mise à jour (30) du meilleur score lorsque l’ensemble des scores de performance calculés pour cette validation croisée sont supérieurs au meilleur score, le meilleur score mis à jour correspondant alors au moins bon score de performance parmi ledit ensemble de scores de performance calculés pour cette validation croisée, le procédé comprenant en outre une définition (32) d’une combinaison optimale d’hyperparamètres pour ledit modèle d’apprentissage, cette combinaison optimale d’hyperparamètres correspondant à la combinaison optimale d’hyperparamètres ayant permis de définir le dernier meilleur score une fois l’ensemble des tests de combinaison d’hyperparamètres effectués. Procédé selon la revendication 1, dans lequel le modèle d’apprentissage est choisi parmi un modèle linéaire, un arbre de décision ou un réseau de neurones artificiels. Procédé selon l’une quelconque des revendications 1 ou 2, dans lequel chaque combinaison d’hyperparamètres est recherchée en effectuant une recherche en grille, une recherche aléatoire ou encore une recherche bayésienne. Procédé selon l’une des revendications 1 à 3, dans lequel les tests de performance définis par la validation croisée sont effectués selon un ordre donné, le procédé comprenant en outre une définition d’un ordre des tests de performance (31) à chaque mise à jour du meilleur score, l’ordre défini correspondant alors à l’ordre croissant des scores des tests de performance de la validation croisée ayant permis de mettre à jour le meilleur score. Programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre un procédé selon l’une des revendications 1 à 4. Système informatique comprenant : - une mémoire (MEM) dans laquelle est stocké un programme d’ordinateur (PRG) selon la revendication 5, et - une unité de traitement (UT) configurée pour mettre en œuvre le programme d’ordinateur (PRG).