FR 3082963 A1 20191227 FR 1855567 A 20180622 SYSTÈME ET PROCÉDÉ D'ÉVALUATION ET DE DÉPLOIEMENT DE MODÈLES D'APPRENTISSAGE AUTOMATIQUE NON SUPERVISÉS OU SEMI-SUPERVISÉS. DOMAINE DE L'INVENTION [0001] La présente invention concerne généralement l'évaluation des modèles d'apprentissage automatique, et plus particulièrement les procédés et systèmes d'évaluation, de comparaison et de déploiement de modèles d'apprentissage automatique pour la détection des anomalies. CONTEXTE DE [INVENTION [0002] La détection d'anomalies fait référence à l'identification de modèles nouveaux ou inhabituels - également connus sous le nom de valeurs aberrantes - qui ne se conforment pas au comportement escompté. Dans divers contextes, des noms alternatifs sont utilisés pour la détection des anomalies, y compris la détection des valeurs aberrantes, la détection des changements ou la détection des nouveautés. Les applications des algorithmes de détection d'anomalies comprennent la détection d'intrusion (p. ex. identification d'un trafic réseau inhabituel), la détection de fraude (p. ex. identification de modèles suspects dans les données des cartes de crédit ou d'autres données de transaction) et la détection de pannes dans les systèmes distribués. [0003] Les récents progrès en matière d'algorithmes et de technologies d'apprentissage automatique ont entraîné un déploiement plus large des modèles d'apprentissage automatique pour la détection des anomalies. Il est toutefois important que ces modèles soient adéquatement configurés et évalués de façon critique afin de garantir qu'ils soient suffisamment précis et efficaces pour détecter les comportements anormaux dans les systèmes qu'ils servent à surveiller. Il est donc nécessaire de disposer de systèmes et de procédés en 2 mesure d'évaluer les modèles d'apprentissage automatique utilisés pour la détection des anomalies. [0004] De nombreux systèmes d'apprentissage automatique peuvent être classés comme étant soit « supervisés » soit « non supervisés ». Un système 5 supervisé utilise un ensemble de données étiqueté pour former un modèle d'apprentissage automatique afin de faire une distinction entre les classes de données, p. ex. des échantillons de données « normaux », étiquetés comme « négatifs », ou des échantillons de données inhabituels/anomaux, étiquetés comme « positifs ». Avantageusement, des parties de l'ensemble de données 10 étiqueté peuvent être retenues pour l'optimisation du modèle d'apprentissage automatique (validation croisée) et pour l'évaluation de la performance d'un modèle formé (tests). Un système non supervisé est un système dans lequel un ensemble de données étiqueté approprié n'est pas disponible, et qui doit donc faire la distinction entre les différentes classes d'échantillons de données sans 15 l'appui d'une formation préalable. Entre ces deux catégories principales apparaissent les systèmes « semi-supervisés », dans lesquels des échantillons non étiquetés sont combinés avec une quantité beaucoup plus faible d'échantillons étiquetés dans le dessein de former un modèle d'apprentissage automatique. 20 [0005] La détection des anomalies peut présenter des défis particuliers pour les systèmes d'apprentissage automatique. Par définition, les événements aberrants ne se produisent que rarement. Par ailleurs, dans un environnement de production, il est possible qu'il n'existe aucun moyen d'identifier ou de définir à l'avance une ou plusieurs classes de comportement « normal » par 25 comparaison à « anormal ». Dans ces cas-ci, les grands ensembles de données étiquetés destinés à l'apprentissage supervisé, à l'évaluation des modèles et aux tests ne sont pas disponibles. Un problème se pose donc de savoir comment évaluer et comparer les performances des algorithmes de détection d'anomalies non supervisés ou semi-supervisés, sur la base de données très 3 limitées étiquetées par l'homme et comprenant potentiellement plusieurs types d'anomalies. [0006] Il est donc souhaitable de fournir des procédés et des systèmes nouveaux et améliorés pour l'évaluation, la comparaison et le déploiement de modèles d'apprentissage automatique pour la détection des anomalies. RÉSUMÉ DE L'INVENTION [0007] Dans un aspect, la présente invention fournit un procédé d'évaluation et de déploiement de modèles d'apprentissage automatique pour la détection d'anomalies d'un système surveillé, comprenant : 10 de fournir une pluralité d'algorithmes d'apprentissage automatique candidats configurés pour la détection d'anomalies du système surveillé ; de fournir des données de formation, incluant une réserve d'échantillons négatifs de données représentant l'activité normale du système surveillé et une ou plusieurs réserves plus petites d'échantillons de données 15 positifs, dans lesquelles chaque réserve d'échantillons de données positifs représente un type d'activité anormale du système surveillé ; pour chaque type d'activité anormale, de produire un ensemble de données d'analyse comparative qui comprend un premier nombre d'échantillons prélevés dans la réserve d'échantillons négatifs, et un second nombre 20 d'échantillons prélevés dans la réserve d'échantillons positifs correspondant au type d'activité anormale, dans laquelle le premier nombre d'échantillons est sensiblement plus grand que le second nombre d'échantillons ; pour chaque combinaison d'un algorithme d'apprentissage automatique candidat choisi parmi la pluralité d'algorithmes d'apprentissage 25 automatique candidats avec un type d'activité anormale : d'élaborer une pluralité d'ensembles de formation et de validation croisée à partir de l'ensemble de données d'analyse comparative correspondant au type d'activité anormale, dans lequel chaque ensemble de formation ne comprend que des échantillons négatifs de 4 données, et chaque ensemble de validation croisée comprend un mélange d'échantillons négatifs et positifs de données ; pour chacun de la pluralité des ensembles de formation et de validation croisée, de former un modèle d'apprentissage automatique 5 basé sur l'algorithme candidat en utilisant l'ensemble de formation, et valider le modèle d'apprentissage automatique en utilisant l'ensemble de validation croisée avec une précision moyenne comme mesure de performance ; de calculer une valeur moyenne de précision moyenne pour 10 l'algorithme d'apprentissage automatique candidat à travers les métriques de performance de précision moyenne obtenues en utilisant la pluralité d'ensembles de formation et de validation croisée, pour chaque algorithme d'apprentissage automatique candidat, de calculer une valeur de classement basée sur au moins les valeurs moyennes de 15 précision moyennes calculées pour l'algorithme d'apprentissage automatique candidat pour chaque type d'activité anormale ; de choisir un modèle d'apprentissage automatique à partir des algorithmes d'apprentissage automatique candidats en se basant sur les valeurs de classement calculées ; et 20 de déployer un modèle d'apprentissage automatique basé sur l'algorithme sélectionné en un système de surveillance, dans lequel le système de surveillance exécute le modèle d'apprentissage automatique déployé pour détecter les anomalies du système surveillé. [0008] Avantageusement, les modes de réalisation de l'invention sont 25 capables d'évaluer la performance des algorithmes d'apprentissage automatique pour la détection d'anomalies de types multiples différents. De plus, en utilisant la précision moyenne de moyenne comme mesure de performance et en construisant des ensembles de données d'analyse comparative appropriés pour chaque type d'anomalie, ils sont en mesure de le faire d'une manière qui fournit une évaluation équitable même lorsque le nombre d'échantillons de données par type d'anomalie est faible. De plus, en tirant de chaque ensemble de données d'analyse comparative des ensembles 5 multiples de formation et de validation croisée, et en effectuant des validations multiples afin de calculer la métrique de précision moyenne de moyenne, la variabilité de cette métrique de performance est réduite, ce qui assure la stabilité des résultats entre les évaluations. 5 [0009] Préférablement, pour tous les ensembles de données d'analyse comparative, un ratio du premier nombre d'échantillons au deuxième nombre d'échantillons comprend une seule valeur fixe. Le maintien d'un ratio constant entre les échantillons négatifs et positifs dans les ensembles de données d'analyse comparative permet une comparaison équitable des performances 10 des algorithmes d'apprentissage automatique candidats pour différents types d'anomalies, même lorsque le nombre d'échantillons positifs-disponibles diffère pour chaque type d'anomalie. [0010] Préférablement, les valeurs de classement sont calculées conformément à un algorithme d'agrégation de classement, qui peut employer 15 une mesure de règle de distance de Spearman, et qui peut en outre employer un ensemble de valeurs d'importance sélectionnables représentant l'importance relative de chaque type d'activité anormale. Avantageusement, cette approche permet que les performances des algorithmes d'apprentissage automatique candidats soient comparées et classées uniquement en différents types 20 d'anomalies, de sorte qu'un modèle peut être sélectionné pour un déploiement en ayant les meilleures performances d'ensemble parmi les candidats, en tenant compte du fait que différentes types d'anomalies peuvent afficher différentes fourchettes de précision moyenne (c.-à.-d. que les performances de certains types d'anomalies dépendent plus fortement des modèles que d'autres), et du 25 fait que différents types d'anomalies peuvent revêtir une importance différente. [0011] Dans un autre aspect, l'invention fournit un système de détection d'anomalies configuré pour fonctionner conformément au procédé décrit ci-dessus. 6 [0012] Dans encore un autre aspect, l'invention fournit un système informatique pour évaluer les modèles d'apprentissage automatique pour la détection d'anomalies d'un système surveillé, comprenant : un processeur ; 5 au moins un dispositif de mémoire accessible par le processeur ; et au moins un entrepôt de données accessible par le processeur et contenant une pluralité d'algorithmes d'apprentissage automatique candidats configurés pour la détection d'anomalies du système surveillé et des données de formation comprenant une réserve d'échantillons négatifs de données 10 représentant l'activité normale du système surveillé et une ou plusieurs réserves plus petites d'échantillons de données positifs, dans lequel chaque réserve d'échantillons de-données positifs représente un type d'activité anormale du système surveillé, dans laquelle le dispositif de mémoire contient un corps d'instructions 15 de programme qui, lorsqu'il est exécuté par le processeur, amène le système informatique à mettre en oeuvre un procédé comprenant les étapes : pour chaque type d'activité anormale, de génération d'un ensemble de données d'étalonnage qui comprend un premier nombre d'échantillons prélevés dans la réserve d'échantillons 20 négatifs, et un second nombre d'échantillons prélevés dans la réserve d'échantillons positifs correspondant au type d'activité anormale, dans lequel le premier nombre d'échantillons est sensiblement plus grand que le second nombre d'échantillons ; pour chaque combinaison d'un algorithme d'apprentissage 25 automatique candidat choisi parmi la pluralité d'algorithmes d'apprentissage automatique candidats avec un type d'activité anormale : d'extraire une pluralité d'ensembles de formation et de validation croisée de l'ensemble de données d'étalonnage 30 correspondant au type d' activité anormale, dans lesquelles chaque ensemble de formation comprend uniquement des échantillons négatifs de données, et chaque ensemble de validation croisée comprend un mélange d'échantillons de données positifs et négatifs ; 7 pour chacun de la pluralité des ensembles de formation et de validation croisée, former un modèle d'apprentissage automatique basé sur l'algorithme candidat en utilisant l'ensemble de formation, et de valider le modèle d'apprentissage automatique en utilisant 5 l'ensemble de formation croisée avec une précision moyenne en tant que métrique de performance ; de calculer une valeur moyenne de précision moyenne pour l'algorithme d'apprentissage automatique à travers les métriques de performance de précision moyenne obtenue en utilisant la pluralité 10 des ensembles de formation et de validation croisée, et pour chaque algorithme candidat d'apprentissage automatique, de calculer une valeur de classement basée au moins sur les valeurs moyennes de précision moyenne calculées pour l'algorithme candidat d'apprentissage automatique pour chaque type d'activité anormale. 15 [0013] Dans un aspect encore autre, l'invention fournit un programme d'ordinateur comprenant des instructions de code de programme pour exécuter les étapes du procédé décrit ci-dessus lorsque ledit programme est exécuté sur un ordinateur. Par exemple, le programme informatique peut être un produit-programme informatique comprenant un support tangible lisible par ordinateur 20 ayant des instructions stockées sur celui-ci, qui, lorsqu'elles sont exécutées par un processeur, mettent en oeuvre un procédé comprenant : d'accéder à une pluralité d'algorithmes candidats d'apprentissage automatique configurés pour la détection d'anomalies d'un système surveillé ; d'accéder à des données de formation incluant une réserve 25 d'échantillons négatifs de données représentant l'activité normale du système surveillé et une ou plusieurs réserves plus petites d'échantillons de données positifs, dans lesquels chaque réserve d'échantillons de données positifs représente un type d'activité anormale du système surveillé ; pour chaque type d'activité anormale, de générer un ensemble de 30 données d'étalonnage qui comprend un premier nombre d'échantillons tirés de la réserve d'échantillons négatifs, et un second nombre d'échantillons tirés de la réserve d'échantillons positifs correspondant au type d'activité anormale, dans 8 lequel le premier nombre d'échantillons est sensiblement plus grand que le second nombre d'échantillons ; pour chaque combinaison d'un algorithme candidat d'apprentissage automatique choisi parmi la pluralité d'algorithmes candidats d'apprentissage 5 automatique avec un type d'activité anormale : d'extraire une pluralité d'ensembles de formation et de validation croisée des ensembles de données d'étalonnage avec le type d'activité anormale, dans lesquels chaque ensemble de données comprend uniquement des échantillons négatifs de données, et chaque ensemble de formation 10 comprend un mélange d'échantillons négatifs et positifs de données ; pour chacun de la pluralité des ensembles de formation et de validation croisée, de former un modèle d'apprentissage automatique basé sur l'algorithme candidat utilisant l'ensemble de formation, et valider le modèle d'apprentissage automatique. 15 d'utiliser l'ensemble de validation croisée avec une précision moyenne comme mesure de performance ; de calculer une valeur moyenne de précision moyenne pour l'algorithme candidat d'apprentissage automatique à travers les métriques de performance de précision moyenne obtenues en utilisant la pluralité 20 d'ensembles de formation et de validation croisée, et pour chaque algorithme candidat d'apprentissage automatique, de calculer (608) 'une valeur de classement basée au moins sur les valeurs moyennes de précision moyennes calculées pour l'algorithme candidat d'apprentissage automatique pour chaque type d'activité anormale. 25 [0014] À partir de la description qui suit divers modes de réalisation, d'autres aspects, avantages et caractéristiques des modes de réalisation de l'invention seront apparents aux hommes de métier spécialisés dans les domaines pertinents. Il sera toutefois apprécié que l'invention ne se limite pas aux modes de réalisation décrits. 30 9 BRÈVE DESCRIPTION DES DESSINS [0015] Des modes de réalisation de l'invention seront maintenant décrits par rapport aux dessins accompagnants dans lesquels des numéros référentiels font référence à des caractéristiques similaires et dans lesquels : 5 La Figure 1 est un diagramme schématique illustrant un système exemplaire pour mettre en oeuvre l'invention ; La Figure 2 est un diagramme bloc illustrant les principales composantes de traitement et de données d'un système d'évaluation mettant en oeuvre l'invention ; 10 La Figure 3 est un diagramme bloc illustrant le traitement des données effectué par une unité de traitement de données exemplaire du système d'évaluation ; La Figure 4 est un organigramme illustrant un procédé d'évaluation d'une pluralité d'algorithmes candidats d'apprentissage automatique par rapport 15 à des types d'anomalies distincts multiples, en f(onction des modes de réalisation de l'invention ; La Figure 5A montre un graphique illustrant une comparaison de la moyenne de précision moyenne avec des intervalles de confiance ; La Figure 5B montre un graphique radar illustrant la visualisation 20 simultanée des performances d'algorithmes de détection d'anomalies multiples par rapport à des types d'anomalies distinctes multiples ; La Figure 5C illustre la génération d'un ensemble de scores de classement pour une pluralité d'algorithmes candidats ; La Figure 6 est un organigramme illustrant un procédé exemplaire 25 d'évaluation et de déploiement d'un modèle d'apprentissage automatique pour la détection des anomalies ; et La Figure 7 montre deux graphiques illustrant l'impact significatif du déploiement de modèles à efficacité améliorée, selon une évaluation réalisée en fonction d'un mode de réalisation dela présente invention, dans le cas d'une 30 application de détection de fraude. 10 DESCRIPTION DES MODES DE RÉALISATION PRÉFÉRÉS [0016] La Figure 1 est un diagramme bloc qui illustre un système exemplaire en réseau 100 incluant un système d'évaluation 102 qui est configuré pour implémenter un procédé d'évaluation et de déploiement d'un ou de plusieurs 5 modèles d'apprentissage automatique non supervisés ou semi-supervisés conformément à un mode de réalisation de l'invention. Le système d'évaluation 102 peut comprendre un système informatique ayant une architecture conventionnelle. En particulier, le système d'évaluation 102, tel qu'il est illustré, comprend un processeur 104. Le processeur 104 est associé de façon 10 fonctionnelle avec un dispositif de stockage/mémoire non volatile 106, p. ex. via un ou plusieurs bus de données/adresses 108 tel qu'illustré. Le stockage non volatile 106 peut être un disque dur et/ou peut inclure une mémoire non volatile à état défini, telle qu'une mémoire morte ROM, une mémoire flash, un disque dur électronique (SSD) ou autre stockage similaire. Le processeur 104 sert 15 aussi d'interface avec le stockage volatile 110 tel que la mémoire à accès aléatoire RAM qui contient des instructions de programme et des données temporaires relatives au fonctionnement du système d'évaluation 102. [0017] Dans une configuration conventionnelle, le dispositif de stockage 106 maintient un programme connu et un contenu de données pertinent avec le 20 fonctionnement normal du système d'évaluation 102. Par exemple, le dispositif de stockage 106 peut contenir des programmes de système d'exploitation et des données ainsi que d'autres logiciels d'application exécutables nécessaires pour les fonctions voulues du système d'évaluation 102. Le dispositif de stockage 106 contient aussi des instructions de programme qui, lorsqu'elles 25 sont exécutées par le processeur 104, amènent le système d'évaluation 102 à effectuer des opérations relatives à un mode de réalisation de la présente invention, lesquelles sont décrites de façon plus détaillée ci-dessous en référence aux Figures 2 et 6 en particulier. Dans le fonctionnement, les instructions et les données contenues sur le dispositif de stockage 106 sont 30 transférées à la mémoire volatile 110 pour une exécution à la demande. 11 [0018] Le processeur 104 est aussi associé de façon fonctionnelle à une interface de communications 112 d'une manière conventionnelle. L'interface de communications 112 facilite l'accès à un réseau étendu de communications de données, tel que l'Internet 116. 5 [0019] Dans la pratique, le stockage volatile 110 contient un corps d'instructions de programme correspondant 114 transféré à partir du dispositif de stockage 106 et qui est configuré pour effectuer le traitement et d'autres opérations mettant en oeuvre les caractéristiques de la présente invention. Les instructions du programme 114 comprennent une contribution technique à l'art 10 développé et configuré spécifiquement pour mettre en oeuvre un mode de réalisation de l'invention, en plus d'une activité bien comprise, routinière et conventionnelle dans le domaine des systèmes d'apprentissage automatique, comme décrit plus en détail ci-dessous, en particulier en référence aux Figures 2 à 6. 15 [0020] Concernant l'aperçu précédent du système d'évaluation 102 et d'autres systèmes de traitement et dispositifs décrits dans cette spécification, les termes tels que « processeur », « ordinateur)) et ainsi de suite, sauf si le contexte l'exige autrement, doivent être interprétés comme faisant référence à une gamme d'implémentations possibles des dispositifs, appareils et systèmes 20 comprenant une combinaison de logiciels et de matériel. Cela inclut des dispositifs à processeur unique et à processeurs multiples et un appareil, incluant des dispositifs portables, des ordinateurs de bureau et divers types de systèmes de serveur, incluant du matériel collaboratif et des plateformes logicielles qui peuvent cohabiter ou être distribuées. Les processeurs physiques 25 peuvent inclure des unités centrales de traitement (CPUs), à usage général, des processeurs de signaux numériques, des unités de traitement graphique (GPUs) et/ou d'autres dispositifs matériels appropriés pour une exécution efficace des programmes et des algorithmes nécessaires. Les systèmes informatiques peuvent inclure des architectures conventionnelles d'ordinateur personnel ou 30 d'autres plateformes matérielles à usage général. Les logiciels peuvent inclure 12 des logiciels de sources libres et/ou des logiciels de systèmes d'exploitation vendus sur le marché en combinaison avec diverses applications et programmes de services. Autrement, les plateformes de traitement ou de calcul peuvent comprendre du matériel et/ou des architectures de logiciel adaptés sur 5 mesure. Pour une extensibilité améliorée, les systèmes de traitement et de calcul peuvent comprendre des plateformes d'informatique en nuage (cloud) permettant aux ressources matérielles physiques d'être attribuées de façon dynamique en réponse aux demandes de services. Alors que toutes ces variations sont comprises dans la portée de la présente invention, pour faciliter 10 l'explication et la compréhension, les modes de réalisation exemplaires décrits dans les présentes sont basés sur des plateformes informatiques à usage général et un processeur unique, des plateformes de système d'exploitation couramment disponibles et/ou des produits de consommateurs largement disponibles, tels que des ordinateurs de bureau (PCs), des ordinateurs 15 compacts ou ordinateurs portables (PCs), des smartphones, des tablettes informatiques et ainsi de suite. [0021] En particulier, le terme 'unité de traitement' est utilisé dans cette spécification en référence à toute combinaison appropriée de matériel et de logiciels configurés pour effectuer une tâche particulière définie telle que l'accès 20 et le traitement des données en ligne ou hors connexion, l'exécution des étapes de formation d'un modèle d'apprentissage automatique ou l'exécution des étapes de prédiction d'un modèle d'apprentissage automatique. Une telle unité de traitement peut comprendre un module de code exécutable qui s'exécute à un emplacement unique sur un dispositif de traitement unique ou qui peut 25 comprendre des modules collaboratifs de code exécutable qui s'exécutent à de multiples emplacements et/ou sur de multiples dispositifs de traitement. Par exemple, dans certains modes de réalisation de l'invention, l'évaluation des algorithmes d'apprentissage automatique peut être effectuée entièrement par un code qui s'exécute sur un système d'évaluation unique 102, alors que pour 30 d'autres modes de réalisation le traitement correspondant peut être exécuté en étant distribué sur une pluralité de systèmes d'évaluation. 13 [0022] Les composants logiciels, p. ex. les instructions de programme 114, pour mettre en oeuvre les caractéristiques de l'invention peuvent être développés en utilisant tout langage de programmation approprié, environnement de développement ou combinaisons de langage et 5 d'environnement de développement qui seront familiers aux hommes de métier spécialisés dans l'ingénierie logicielle. Par exemple, des logiciels appropriés peuvent être développés en utilisant le langage de programmation C, le langage de programmation Java, le langage de programmation C++, le langage de programmation Go, le langage de programmation Python, le langage de 10 programmation R et/ou d'autres langages appropriés pour la mise en oeuvre d'algorithmes d'apprentissage automatique. Les services réseau et/ou basés sur le Web peuvent être mis en oeuvre en utilisant une gamme de langages appropriés, y compris ceux déjà mentionnés, et d'autres tels que JavaScript, HTIVIL, PHP, ASP, JSP, Ruby, Perl, et ainsi de suite. Ces exemples ne se 15 veulent pas restrictifs et on notera que des langages ou des systèmes de développement pratiques peuvent être employés selon les exigences des systèmes. Les descriptions, diagrammes bloc, organigrammes et autres qui sont présentés dans cette spécification sont fournis à titre d'exemple pour permettre aux hommes de métier spécialisés dans l'ingénierie logicielle et l'apprentissage 20 automatique de comprendre et d'apprécier les caractéristiques, la nature et la portée de l'invention, et pour mettre un ou plusieurs modes de réalisation de l'invention en pratique par l'implémentation d'un code logiciel adapté utilisant tous les langages, contextes, bibliothèques et systèmes de développement adaptés conformément à cette divulgation sans avoir à y apporter une 25 ingéniosité inventive additionnelle. [0023] Poursuivant la discussion de la Figure 1, le système en réseau 100 comprend également un système surveillé 118. Le système surveillé 118 peut être, par exemple, un système de base de données, un système de traitement des transactions, un système d'information, un système de fournisseur de 30 services Web, un système industriel, un système de sécurité, un système robotique ou tout autre système pour lequel il est souhaitable d'effectuer une surveillance afin de détecter des comportements inhabituels, nouveaux, 14 aberrants ou anormaux. Le système surveillé 118 peut revêtir n'importe laquelle des formes, y compris les architectures centralisées et distribuées. Bien qu'une variété de termes soient utilisés pour désigner le type de surveillance vers lequel les modes de réalisation de la présente invention sont dirigés (p. ex. 5 détection des valeurs aberrantes, détection des changements ou détection des nouveautés), dans la présente spécification, le terme « détection des anomalies » est constamment employé, étant entendu qu'une autre terminologie est communément utilisée dans ce domaine. [0024] Dans ce contexte, la caractéristique pertinente du système surveillé 10 118 est qu'il génère (p. ex. en ligne, en temps réel, ou hors-ligne, pour analyse ultérieure) ou stocke au moins un ensemble de données qui peut être analysé pour identifier les éléments, événements ou observations qui peuvent ne pas être conformes aux modèles ou comportements attendus, ou « normaux », du système 118. Selon la nature du système 118, de tels schémas ou 15 comportements anormaux peuvent représenter, p. ex. : des enregistrements de base de données erronés, incohérents ou corrompus ; des transactions frauduleuses ; des tentatives ou des attaques réelles ou des atteintes à la sécurité ; des erreurs ou une dégradation du rendement du système ; ou des défaillances imminentes ou réelles de l'équipement. 20 [0025] Un système de surveillance 120 est configuré pour recevoir et analyser l'ensemble de données générées ou stockées par le système surveillé 118. Tel qu'illustré, le système de surveillance 120 peut comprendre une architecture conventionnelle similaire à celle du système d'évaluation 102, y compris un processeur 122 associé fonctionnellement via un ou plusieurs bus 25 de données/adresse 124 avec un stockage volatile 126, une mémoire non volatile/périphérique de stockage 128, et une interface de communication 130. [0026] Le dispositif de stockage 128 peut contenir des programmes de système d'exploitation et des données ainsi que d'autres logiciels d'application exécutables nécessaires pour les fonctions voulues du système de surveillance 15 120. Le périphérique de stockage 128 contient également des instructions de programme qui, lorsqu'elles sont exécutées par le processeur 122, amènent le système de surveillance 120 à exécuter un modèle d'apprentissage automatique déployé pour détecter des anomalies dans l'ensemble de données généré ou 5 stocké par le système surveillé 118, tel que décrit ci-dessous en référence à la Figure 6. Le stockage volatile 126 contient des instructions de programme et des données transitoires relatives au fonctionnement du système de surveillance 120. En particulier, une image exécutable 132 du modèle d'apprentissage automatique déployé est chargée dans la mémoire 126 et 10 exécutée pour récupérer les données générées ou stockées par le système surveillé 118 via l'interface de communication 1301 et pour analyser les données récupérées afin de détecter les-anomalies, tel que décrit ci-dessous en référence à la Figure 7. [0027] Conformément au mode de réalisation de la présente invention, le 15 fonctionnement global du système en réseau 100 peut être résumé comme suit. La fonction du système d'évaluation 102 est d'évaluer et de classer un certain nombre d'algorithmes candidats d'apprentissage automatique en générant, pour chaque algorithme, un ou plusieurs modèles d'apprentissage automatique candidats correspondants en utilisant les données de formation et de test 20 correspondant aux comportements normaux et anormaux du système surveillé 118. Sur la base de cette évaluation, un algorithme préféré est sélectionné et déployé dans le système de surveillance 120. Le système de surveillance 120 exécute ensuite l'algorithme déployé, ce qui donne un modèle en ligne configuré pour détecter les anomalies dans le fonctionnement du système surveillé 118. 25 Avantageusement, le déploiement d'un modèle de détection d'anomalies basé sur un algorithme qui a été évalué et sélectionné en fonction du mode de réalisation de l'invention peut aboutir à une détection d'anomalies plus efficace et plus précise que ne le ferait un modèle déployé en utilisant un autre procédé de développement et de-sélection. Cela peut entraîner une réduction des coûts 30 de surveillance et d'exploitation du système surveillé 118, tel qu'abordé plus loin en référence à la Figure 7. 16 [0028] Pour en venir à une description détaillée du fonctionnement du système d'évaluation 102, la figure 2 est un schéma bloc 200 illustrant les principales composantes de traitement et de données du système. Une unité de traitement d'évaluation 202 comprend du matériel et des logiciels configurés 5 pour effectuer l'évaluation et le classement des algorithmes de détection d'anomalies, tel que décrit en référence aux Figures 3 à 5. Les entrées de l'unité de traitement de l'évaluation 202 comprennent un certain nombre d'algorithmes candidats 204 et une ou plusieurs réserves de données de formation 206 qui correspondent aux comportements et aux ensembles de données associés au 10 système surveillé 118. Le produit de l'unité de traitement de l'évaluation est un ensemble 208 de résultats d'évaluation, qui peuvent inclure des scores et/ou des classements d'algorithmes candidats 204, tel-qu'abordé plus loin en référence à la Figure 5 en particulier. Les hommes de métier spécialisés dans les systèmes d'apprentissage automatique, en particulier lorsque ces systèmes 15 sont appliqués à la détection d'anomalies, devraient reconnaître que les opérations et les algorithmes mis en oeuvre dans l'unité de traitement d'évaluation 202 ne sont pas bien compris ou conventionnels, mais représentent une contribution spécifique de la présente invention. La discussion qui suit, en référence en particulier aux Figures 3 et 4, vise à décrire ces opérations et 20 algorithmes avec suffisamment de détails pour permettre à ces hommes de métier de les mettre en pratique en utilisant des plateformes matérielles et logicielles de développement appropriées, comme déjà abordé ci-dessus en référence à la Figure 1. [0029] La Figure 3 est un schéma bloc 300 illustrant le traitement des 25 données effectué par une unité de traitement de données exemplaire 202. Les réserves de données de formation 206 comprennent une « réserve de négatifs » 302, et une ou plusieurs « réserves de positifs » 304. Selon cette terminologie, la réserve de négatifs 302 comprend des échantillons de données correspondant à des éléments « normaux » ou « anormaux »), la précision étant calculée pour chaque échantillon sur la base des résultats du début de la série. La précision moyenne est ensuite déterminée en divisant la 5 somme de toutes les valeurs de précision calculées par le nombre de positifs prédits. La valeur maximale de la AP est donc de 1,0, et tout faux positif (c.-à-d. les échantillons « normaux » identifiés par erreur comme étant « anormaux ») et/ou les faux négatifs (c.-à-d. les échantillons « anormaux » non détectés) donnent lieu à une AP réduite. 10 [0037] Enfin, la MAP est calculée simplement en faisant la moyenne des valeurs AP obtenues sur plusieurs itérations d'évaluation du modèle pour le type d'anomalie donné, où chaque itération utilise différents ensembles de formation et de validation croisée 314, 316, générés par l'unité d'échantillonnage 312 comme décrit ci-dessus. 15 [0038] Cette procédure est généralement répétée pour chaque type d'anomalie et pour chaque algorithme candidat 204, de sorte qu'un résultat d'évaluation MAP distinct est calculé pour chaque combinaison algorithme candidat 204 et du type d'anomalie. [0039] Comme mentionné ci-dessus, la réserve d'échantillonnage 306 peut 20 être utilisée pour former de multiples modèles d'apprentissage automatique candidats de détection d'anomalies pour chacun des algorithmes candidats 204. Les modes de réalisation de la présente invention ne se limitent pas à des modèles ou algorithmes d'apprentissage automatique particuliers et peuvent être utilisés pour évaluer un large éventail d'algorithmes de détection 25 d'anomalies non supervisés et semi-supervisés. Pour faciliter l'évaluation, les modèles basés sur les algorithmes candidats 204 sont de préférence configurés pour présenter une interface commune à l'unité de traitement d'évaluation 202. Par exemple, dans les modes de réalisation préférés, les modèles candidats peuvent être configurés pour accepter une entrée sous la forme d'un ou 22 plusieurs vecteurs de données, dont chacun est construit à partir d'une séquence particulière de valeurs et/ou d'un enregistrement structuré correspondant aux données de surveillance disponibles du système surveillé 118, et pour fournir un résultat comprenant une indication sur le fait qu'un 5 vecteur d'entrée correspond à un élément, à un événement, à une observation ou à un comportement « normal » ou « anormal » du système surveillé 118. [0040] En interne, chaque modèle candidat comprend des structures de données et/ou de code exécutable mettant en oeuvre un algorithme particulier de détection d'anomalies non supervisé ou semi-supervisé des algorithmes 10 candidats 204. Un modèle peut implémenter des modes de formation et d'exploitation distincts et/ou fonctionner en mode d'apprentissage/détection continu. Un mode d'apprentissage peut utiliser un algorithme d'optimisation, tel qu'un algorithme de gradient descendant, pour déterminer les paramètres internes du modèle, qui peuvent être désactivés pour empêcher toute 15 adaptation ultérieure dans un mode opérationnel. Un mode d'apprentissage/détection continu peut mettre à jour les paramètres du modèle interne de façon continue en fonction des données d'entrée du modèle. Pour les modèles ayant un mode d'apprentissage distinct, l'unité de traitement d'évaluation 202 est configurée pour sélectionner le mode d'apprentissage lors 20 de l'apprentissage du modèle en utilisant le kit d'apprentissage 314, et passer au mode opérationnel lors de la validation du modèle en utilisant le kit de validation croisée 316. Pour les modèles n'ayant pas de mode d'apprentissage distinct, il n'est pas nécessaire de sélectionner un mode distinct. Dans les deux cas, les processus de formation et de validation croisée tels qu'implantés par 25 l'unité de traitement de l'évaluation 202 se distinguent par le fait que la génération de modèle n'est requise que pendant le processus de validation croisée au cours duquel elle est utilisée par l'unité de validation 318 pour calculer la métrique de validation AP. [0041] Les algorithmes appropriés pour l'évaluation conformément à 30 l'invention comprennent (sans toutefois s'y limiter) : des algorithmes basés sur la 23 densité (p. ex. facteur aberrant local) ; des machines vectorielles de soutien à classe unique ; des réseaux neuronaux (p. ex. Deep Auto-Encoder) ; des algorithmes basés sur les groupes ; des algorithmes probabilistes (p. ex.(p. ex. modèles de mélange gaussien, détection des anomalies du moindre carré) ; des 5 algorithmes de proximité (p. ex. k-voisins les plus proches, distance Mahalanobis) ; des algorithmes sous-espaces (p. ex. basés sur l'analyse en composantes principales) ; et des procédés d'isolement (p. ex. forêt d'isolement). Comme le reconnaitront les hommes de métier dans le domaine de l'apprentissage automatique, de nombreux modèles et algorithmes sont 10 caractérisés par un ou plusieurs hyperparamètres, de sorte que les modèles candidats basés sur divers algorithmes candidats 204 peuvent inclure des modèles du même type sous-jacent et ayant des valeurs hyperparamétriques différentes, donnant lieu à des performances différentes. [0042] En outre, les performances de certains modèles peuvent dépendre 15 de la sélection de caractéristiques particulières comme entrée (c'est-à-dire ce qu'on appelle « l'ingénierie des caractéristiques »). Les vecteurs de caractéristiques de ces modèles sont généralement dérivés ou calculés à partir des vecteurs de données d'entrée « brutes », c'est-à-dire les entrées qui, dans les modes de réalisation de la présente invention, sont construites à partir de 20 séquences particulières de valeurs et/ou d'enregistrements structurés correspondant aux données de surveillance disponibles dans le système surveillé 118. En conséquence, les modèles basés sur les algorithmes candidats 204 peuvent inclure des modèles de types sous-jacents identiques ou différents, et employer différents procédés internes pour dériver des vecteurs de 25 caractéristiques pour l'entrée dans les algorithmes sous-jacents. [0043] La Figure 4 est un organigramme 400 illustrant un procédé d'évaluation d'une pluralité d'algorithmes d'apprentissage automatique candidats 204 par rapport à de multiples types d'anomalies distincts. L'organigramme 400 incorpore les composantes et éléments de traitement des données abordés ci- 30 dessus en référence aux Figures 2 et 3. Le procédé d'ensemble comprend trois 24 boucles imbriquées : une boucle extérieure 402 sur des algorithmes candidats 204; une boucle 404 sur des ensembles d'échantillons 304 correspondant à différents types d'anomalies ; et une boucle intérieure 406 correspondant à l'itération 320 sur l'échantillonnage et la formation/validation des modèles. 5 [0044] À l'étape 408, un algorithme candidat est sélectionné parmi les algorithmes candidats disponibles 204. À l'étape 410, un type d'anomalie est sélectionné et l'ensemble correspondant d'échantillons positifs 304 est récupéré. À l'étape 412, un ensemble de données d'échantillonnage 306 est construit à partir des échantillons positifs sélectionnés et des échantillons prélevés dans la 10 réserve de négatifs 302. [0045] La boucle la plus interne 406 est ensuite exécutée pour calculer une métrique MAP pour l'algorithme et le type d'anomalie sélectionnés. En particulier, comme cela a été décrit ci-dessus en référence à la Figure 3, les ensembles de formation et de validation croisée 314, 316 sont échantillonnés à 15 partir de l'ensemble d'échantillonnage 306 par l'unité d'échantillonnage 312, à l'étape 414. L'unité de validation 318 calcule ensuite une mesure AP basée sur ces échantillons en exécutant une étape d'apprentissage 416 utilisant l'ensemble d'apprentissage 314, et une étape de validation croisée 418 utilisant l'ensemble de validation croisée 316 pour former et évaluer un modèle basé sur 20 l'algorithme sélectionné. Chaque exécution de ces trois étapes 414, 416, 418 donne lieu à une métrique AP supplémentaire. Un test 420 est ensuite effectué par rapport à une condition de cessation et, si la condition n'est pas satisfaite, le contrôle revient à l'étape 414. Diverses conditions de cessation peuvent être utilisées dans différents modes de réalisation de l'invention. Par exemple, une 25 simple condition de cessation consiste à savoir si le nombre total d'exécutions de la boucle 406 a atteint une valeur prédéterminée. Des conditions de cessation plus sophistiquées peuvent être utilisées, p. ex. sur la base des statistiques des mesures AP produites à chaque itération. Par exemple, la moyenne (c.-à-d. MAP) et la variance des mesures AP peuvent être calculées 30 après chaque itération, et une condition de cessation définie en fonction de la 25 variance ou d'un intervalle de confiance autour de la valeur moyenne, en dessous d'un seuil prédéterminé. [0046] Lorsque la condition de cessation est remplie, le contrôle passe à l'étape 422, dans laquelle les résultats, y compris la MAP globale et toutes les autres valeurs souhaitées (p. ex. les AP individuelles et/ou d'autres statistiques des AP), sont stockées pour une utilisation future. [0047] Un contrôle 424 est ensuite effectué pour déterminer s'il existe d'autres types d'anomalies pour lesquelles l'algorithme candidat sélectionné doit être évalué, et si tel est le cas, le contrôle revient à l'étape 410 conformément à 10 la boucle 404. Autrement, le contrôle passe à un test 426 pour déterminer s'il y a d'autres algorithmes candidats 204 à évaluer, et si c'est le cas, le contrôle retourne à l'étape 408 conformément à la boucle la plus extérieure pour sélectionner et évaluer le candidat suivant. [0048] Il ressort de la discussion qui précède que l'algorithme représenté par 15 l'organigramme 400 et l'architecture système correspondante représentée par les schémas fonctionnels 200, 300 ne sont pas bien compris ou conventionnels dans le domaine de la détection d'anomalies et représentent une contribution spécifique de la présente invention. En outre, alors que certaines étapes individuelles du processus 400 peuvent être conventionnelles en ce sens 20 qu'elles peuvent être facilement implémentées par des hommes de métier sans qu'il soit nécessaire de fournir une description plus détaillée dans la présente spécification, la combinaison et la séquence globale des étapes, ainsi que le contrôle des flux entre les étapes, exigent une programmation spécifique telle que l'algorithme global et son implémentation représentent beaucoup plus que 25 les concepts sous-jacents ou les étapes ou processus individuels. [0049] Après la complétion du processus illustré par l'organigramme 400, le résultat est un ensemble de résultats comprenant la MAP, et éventuellement d'autres données, calculés pour chaque type d'anomalie avec chaque 26 algorithme candidat 204. Dans certains modes de réalisation de l'invention, des données supplémentaires stockées peuvent inclure des informations statistiques, telles que les variances AP et/ou les intervalles de confiance MAP. Un tel ensemble de résultats peut être représenté graphiquement, p. ex. comme 5 l'illustre la Figure 5A qui montre un graphique 500 illustrant une comparaison MAP avec des intervalles de confiance. [0050] En particulier, le graphique 500 est une illustration schématique d'un ensemble de résultats hypothétiques, mais représentatifs, dans lequel l'axe vertical 502 est une mesure de MAP qui se situe entre 0,0 et 1,0. Chaque 10 groupe de colonnes du graphique, p. ex. 504, 506, 508, représente les résultats pour une pluralité de types d'anomalies (A, B, , X) correspondant à chacun des algorithmes candidats N (numérotés 1 ... N). La hauteur de chaque colonne, p. ex. 510, présente la valeur MAP calculée pour le numéro d'algorithme correspondant et le type d'anomalie (par ex. MARIA, MAPie, 15 MAPix, MAPArx). Les barres d'erreur, p. ex. 512, représentent les intervalles de confiance associés. [0051] Il faut comprendre que l'ampleur des intervalles de confiance (ou, de façon équivalente, de la variance associée à chaque valeur de la MAP) peut être continuellement réduite, bien qu'à un coût de calcul croissant, en 20 augmentant le nombre d'itérations 320 de la boucle interne 406. Un avantage particulier par conséquent de la concrétisation de l'invention est que la précision des paramètres d'évaluation (c'est-à-dire les valeurs MAP) peut être contrôlée. Cela garantit que les algorithmes d'évaluation sont stables, c'est-à-dire que les mesures sont reproductibles et ne varient pas beaucoup entre les cycles 25 d'évaluation, malgré le petit nombre d'échantillons positifs disponibles, et les processus aléatoires impliqués dans la sélection et l'échantillonnage pour les ensembles de données de d'échantillonnage, de formation et de validation croisée. Il s'agit d'une amélioration spécifique apportée par l'invention au domaine technique de l'évaluation, de la comparaison et du classement des 27 algorithmes d'apprentissage automatique non supervisés et semi-supervisés pour la détection des anomalies. [0052] Comme l'illustre le graphique 500, où il y a de multiples algorithmes candidats et de multiples types d'anomalies, le rendement de chaque algorithme 5 candidat peut varier selon les différents types d'anomalies. Par conséquent, certains algorithmes peuvent présenter des performances supérieures à d'autres algorithmes par rapport à certains types d'anomalies, mais des performances inférieures par rapport à différents types d'anomalies. Une représentation alternative de la performance comparative des algorithmes 10 candidats est présentée à la Figure 5B, sous la forme d'un « graphique radar> 514, dans lequel les différents types d'anomalies (A, B,... ,X), p. ex. 515, sont représentés par l'emplacement autour de la circonférence du tracé, et la performance de chaque algorithme par des tracés, p. ex. 518a, 518b, joignant les points radiaux correspondant à la mesure de performance de la MAP pour 15 chaque type d'anomalie. Par exemple, dans le graphique radar 514, il est démontré qu'un premier algorithme candidat représenté par le tracé 518a a une performance supérieure à un second algorithme candidat représenté par le tracé 518b par rapport au type d'anomalie B, mais une performance inférieure par rapport aux types d'anomalies A et E. Comme cela peut être constaté dans 20 cet exemple, le graphique radar 514 est particulièrement avantageux pour fournir une visualisation simultanée de la,performanc,e d'algorithmes de détection d'anomalies multiples par rapport à plusieurs types d'anomalies distinctes. Il peut être souhaitable, cependant, de choisir un algorithme candidat unique qui fournit la meilleure performance sur tous les types d'anomalies, selon 25 une mesure appropriée. Les modes de réalisation de la présente invention implémentent donc une telle mesure, sous la forme d'une note de classement. [0053] La génération d'un ensemble de scores de classement 520 pour une pluralité d'algorithmes candidats 204 est illustrée à la Figure 5C. En particulier, les métriques MAP pour chaque algorithme candidat et chaque type d'anomalie 30 sont représentées sous la forme d'une matrice 522 dans laquelle chaque ligne 28 correspond aux métriques d'un algorithme candidat unique pour tous les types d'anomalies. Pour chaque ligne, un score de classement unique, Si ... SN, est calculé, par exemple 524. Il convient de noter que la note de classement pour chaque rangée n'a pas besoin d'être basée uniquement sur les valeurs 5 métriques de la rangée correspondante de la matrice 522, mais peut également prendre en compte les valeurs d'autres rangées, par exemple les amplitudes relatives des valeurs MAP obtenues pour d'autres algorithmes candidats, et/ou les variations des valeurs MAP entre les différents algorithmes candidats. Les scores de classement peuvent être des valeurs numériques arbitraires, où les 10 amplitudes relatives des scores déterminent le classement des algorithmes candidats, ou simplement des valeurs de classement,,p. ex. des nombres entiers représentant un ordre de classement des algorithmes candidats. De préférence, les scores de classement sont calculés selon un algorithme qui peut gérer le fait que différents types d'anomalies peuvent présenter des plages 15 différentes de MAP (c'est-à-dire que la performance sur certains types d'anomalies est plus fortement dépendante du modèle que d'autres), et que différents types d'anomalies peuvent être d'importance différente. [0054] Afin d'atteindre ces objectifs souhaités, les modes de réalisation particuliers de l'invention calculent les notes de classement 520 selon une 20 approche appelée « agrégation pondérée des rangs de Spearman avec une importance relative ». Il s'agit d'un algorithme d'agrégation de rangs dans lequel chaque type d'anomalie se voit attribuer une valeur d'importance relative, et un classement optimal est calculé en tenant compte de ces valeurs d'importance. Les valeurs d'importance peuvent être attribuées par un opérateur humain, p.ex. 25 en fonction de l'importance pratique relative de chaque type d'anomalie. L'algorithme de Spearman utilise également des poids qui sont automatiquement dérivés des valeurs absolues de la MAP sur chaque axe (c.-àd. de type positif), en plus des rangs simples qui sont dérivés de ces valeurs MAP. La règle de Spearman (c'est-à-dire la somme des différences absolues 30 entre les rangs de tous les éléments uniques d'une paire de listes ordonnées combinées) est utilisée comme mesure de base de la « distance » pour le classement des candidats. Les implémentations de cet algorithme d'agrégation 29 de rangs sont disponibles dans un certain nombre de progiciels, par exemple la fonction « BruteAggreg » dans le progiciel « Raneggreg » du langage de programmation R, avec le paramètre « weights » réglé sur une liste des valeurs d'importance désirées, et le paramètre « distance» réglé sur « Spearman ». 5 Alternativement, une implémentation spécifique de l'algorithme d'agrégation de rangs peut être incorporée dans l'unité de traitement de l'évaluation 202. [0055] La figure 6 montre un organigramme 600 illustrant un procédé exemplaire d'évaluation et de déploiement d'un modèle d'apprentissage automatique pour la détection des anomalies. Selon ce procédé, à l'étape 602, 10 l'accès ou la récupération d'un ensemble d'algorithmes candidats 204 se fait p. ex. à partir d'un ou de plusieurs dispositifs de stockage de données. Comme abordé plus haut, les algorithmes candidats comprennent des structures de données et/ou du code exécutable mettant en oeuvre un algorithme particulier de détection d'anomalies non supervisé ou semi-supervisé qui a été développé 15 ou configuré pour être utilisé avec le système d'évaluation 102. À l'étape 604, les banques de données de formation 206 sont consultées et/ou récupérées. À l'étape 606 (correspondant à la procédure décrite ci-dessus en référence à la Figure 4), les algorithmes candidats 204 sont évalués. À l'étape 608 (correspondant à la procédure décrite ci-dessus en référence à la Figure 5B), 20 les algorithmes candidats 204 sont classés. Un algorithme préféré est ainsi identifié et sélectionné pour le déploiement. [0056] À l'étape 612, un modèle incorporant l'algorithme sélectionné est déployé. En particulier, une implémentation de l'algorithme sélectionné peut être déployée dans le système de surveillance 120, où il peut être formé en 25 utilisant des données de production (en temps réel) pour produire des modèles de production déployés configurés pour détecter les comportements anormaux dans le système surveillé 118. Les échantillons de données de formation « négatifs » peuvent être obtenus de la manière similaire à la réserve de négatifs 302 utilisés dans l'analyse comparative, par exemple en 30 « sélectionnant » des échantillons de données réelles à l'aide d'un modèle 30 préexistant avec un seuil conservateur afin d'éviter les faux négatifs. Autrement, p. ex. dans le cas où des données de production récentes passées au crible ont été utilisées pour générer la réserve de négatifs 302 à des fins d'échantillonnage, il peut être possible de déployer une implémentation de 5 modèle qui a été préformé à l'aide de ces données. Le déploiement du code incorporant l'algorithme/modèle sélectionné peut impliquer, par exemple, l'empaquetage du code et des structures de données comprenant l'algorithme/modèle (préformé ou non) dans un composant installable, la transmission du code et des données au système de surveillance 120, et 10 l'exécution d'un outil de déploiement (par exemple le gestionnaire de paquets) pour installer et configurer l'algorithme/le modèle sélectionné avant l'exécution. [0057] Après le déploiement, le modèle sélectionné peut être exécuté pour commencer la surveillance du système surveillé 118. Un paramètre de performance clé du système de surveillance de l'exploitation est son rappel, 15 c'est-à-dire le taux ou la fraction de détection correcte d'éléments, d'événements, d'observations ou de comportements anormaux du système surveillé 118. En termes pratiques ou commerciaux, par exemple dans le cas d'un système de détection de fraude, un indicateur clé de performance (KPI) typique est le nombre ou la proportion d'observations réelles du système 20 surveillé 118 qui doivent être analysées par un opérateur humain afin de capter une proportion donnée de toutes les tentatives de fraude. La Figure 7 montre deux graphiques illustrant l'impact significatif du déploiement de modèles à efficacité améliorée, selon une évaluation réalisée en fonction d'un mode de réalisation de la présente invention, dans le cas d'une application de détection 25 de fraude. [0058] Le graphique 700 montre un cas de référence, dans lequel les observations sont échantillonnées au hasard pour être examinées par un opérateur humain. L'axe horizontal 702 représente la fraction des données échantillonnées, tandis que l'axe vertical 704 représente le rappel effectif 30 correspondant du système d'échantillonnage aléatoire. Comme l'indique la 31 courbe de rappel 705, pour capturer 75 % de toutes les tentatives de fraude, il est nécessaire d'échantillonner et d'examiner 75 % de toutes les observations, c'est-à-dire comme l'indique la chute verticale 708. Pour un système de traitement des transactions imposant, cela peut représenter des centaines de 5 milliers de transactions par jour, nécessitant des milliers de jours-opérateurs pour analyser les échantillons sélectionnés. [0059] Le graphique 710 illustre un cas utilisant un algorithme de détection d'anomalie évalué et sélectionné parmi une pluralité d'algorithmes candidats selon un mode de réalisation de la présente invention. L'axe horizontal 712 10 représente la fraction des observations de données détectées comme anormales-par l'algorithme sélectionné, tandis que l'axe vertical 704 représente le rappel correspondant du modèle. Comme l'indique la courbe de rappel 716, afin de capter 75 % de toutes les tentatives de fraude, il n'est nécessaire dans ce cas d'examiner que 0,6 % de toutes les observations, c'est-à-dire comme 15 l'indique la chute verticale 718. Il s'agit d'une amélioration par rapport à la ligne de base d'échantillonnage aléatoire par un facteur de 125 fois, ce qui réduit le nombre de jours-opérateurs nécessaires pour analyser les échantillons identifiés par un facteur correspondant. [0060] Il est donc évident que l'amélioration de l'efficacité des algorithmes de 20 détection d'anomalies déployés peut avoir des avantages techniques, pratiques et commerciaux très importants. Les modes de réalisation de la présente invention fournissent une approche efficace et systématique pour l'évaluation, la sélection et le déploiement d'algorithmes candidats de détection d'anomalies. Les procédés, systèmes et algorithmes qui incarnent l'invention telle que 25 divulguée ici permettent une évaluation comparative et un classement cohérent, stable et répétable des algorithmes candidats de détection d'anomalies, et fonctionnent de façon fiable dans les cas difficiles, comme lorsqu'il y a plusieurs types d'anomalies distinctes et un très petit nombre d'exemples d'éléments, d'observations, d'événements ou de comportements anormaux d'un système 30 surveillé. L'approche fournie conformément à l'invention est essentiellement 32 agnostique quant à la nature du système surveillé et des types d'anomalies à détecter, à condition que des réserves appropriées d'échantillons négatifs et positifs puissent être obtenues ou construites, et qu'un ensemble minimal de caractéristiques d'interface de données soit satisfait par les algorithmes 5 candidats correspondants. Les modes de réalisation de l'invention sont donc considérés comme apportant une amélioration notable aux approches de la technique dans ce domaine pour l'évaluation des algorithmes et le déploiement de modèles d'apprentissage automatique pour la détection des anomalies. [0061] On notera que bien que des modes de réalisation particuliers et des 10 variations de l'invention ont été décrits dans les présentes, d'autres modifications et alternatives seront apparentes aux hommes de métier spécialisés dans les arts pertinents. En particulier, les exemples sont offerts à titre d'illustration des principes de l'invention et pour apporter un nombre de procédés et d'arrangements spécifiques pour mettre en oeuvre ces principes. En 15 général, la réalisation de l'invention repose sur la fourniture d'arrangements techniques par lesquels l'évaluation et le déploiement automatisés de modèles d'apprentissage automatique pour la détection d'anomalies sont basés sur la formation et la validation croisée d'algorithmes candidats fournis en échantillonnant des ensembles de données de référence construits à partir 20 d'échantillons de données « négatifs » et « positifs » fournis, et en calculant la précision moyenne (AP) comme mesure de la performance de l'algorithme. Les modèles candidats peuvent ainsi être comparés ou classés, et un algorithme préféré choisi pour le déploiement. [0062] Les modes de réalisation décrits doivent être compris comme étant 25 fournis à titre d'exemple dans le but d'enseigner les caractéristiques et les principes généraux de l'invention, mais ne doivent pas être interprété comme limitant la portée de l'invention. REVENDICATIONS: 1. Un système de détection d'anomalie comprenant : un sous-système de surveillance (120) ; un sous-système surveillé (118) ; et un sous-système d'évaluation (102) comprenant une unité de traitement d'évaluation (202) configuré pour accéder à une pluralité d'algorithmes d'apprentissage automatique candidats (204), dans lequel les algorithmes d'apprentissage automatique sont configurés pour présenter une interface commune à l'unité de traitement d'évaluation (202) et pour la détection d'anomalies du système surveillé, et des données d'entraînement (206) comprenant une réserve d'échantillons négatifs de données (302) représentant l'activité normale du système surveillé et une ou plusieurs réserves plus petites d'échantillons de données positifs (304), dans lequel chaque réserve d'échantillons de données positifs représente un type d'activité anormale du système surveillé, dans lequel le sous-système d'évaluation est en outre configuré pour : pour chaque type d'activité anormale, générer (412) un ensemble de données d'étalonnage (306) qui comprend un premier nombre d'échantillons prélevés dans la réserve d'échantillons négatifs, et un deuxième nombre d'échantillons prélevés dans la réserve d'échantillons positifs correspondant au type d'activité anormale, dans lequel le premier nombre d'échantillons est sensiblement plus grand que le deuxième nombre d'échantillons ; pour chaque combinaison d'un algorithme d'apprentissage automatique candidat choisi parmi la pluralité d'algorithmes d'apprentissage automatique candidats avec un type d'activité anormale : d'extraire (414) une pluralité d'ensembles de formation et de validation croisée (314, 316) à partir de l'ensemble de données d'étalonnage correspondant au type d'activité anormale, dans lequel chaque ensemble de formation ne comprend que des échantillons négatifs de données, et chaque ensemble de validation croisée comprend un mélange d'échantillons négatifs et positifs de données; 2 pour chacun des ensembles de formation et de validation croisée, de former (416) un modèle d'apprentissage automatique basé sur l'algorithme candidat en utilisant l'ensemble de formation, et de valider (418) le modèle d'apprentissage automatique en utilisant l'ensemble de 5 validation croisée avec une précision moyenne comme mesure de performance ; de calculer une valeur moyenne de précision moyenne pour l'algorithme d'apprentissage automatique candidat à travers les métriques de performance de précision moyenne de moyenne obtenues en utilisant 10 la pluralité d'ensembles de formation et de validation croisée, pour chaque algorithme d'apprentissage automatique candidat, de calculer (608) une valeur de classement basée sur au moins les valeurs moyennes de précision de moyennes calculées pour l'algorithme d'apprentissage automatique candidat pour chaque type d'activité 15 anormale ; et de sélectionner (610) un algorithme d'apprentissage automatique à partir des algorithmes d'apprentissage automatique candidats sur la base des valeurs de classement calculées, dans lequel un modèle d'apprentissage automatique basé sur l'algorithme 20 sélectionné est déployé (612) au sous-système de surveillance, qui est configure pour exécuter le modèle d'apprentissage automatique déployé afin de détecter des anomalies du sous-système surveillé. 2. Un système de calcul pour évaluer des modèles d'apprentissage automatique pour la détection d'anomalies d'un système surveillé (118), 25 comprenant : un processeur (104) ; au moins un dispositif de mémoire (110) accessible par le processeur et comprenant une unité de traitement d'évaluation (202); et au moins une mémoire de données (106) accessible par le processeur et 30 contenant une pluralité d'algorithmes d'apprentissage automatique candidats (204), dans lequel les algorithmes d'apprentissage automatique sont configurés 3 pour présenter une interface commune à l'unité de traitement d'évaluation (202) et configurés pour la détection d'anomalies du système surveillé, et des données d'apprentissage (206) comprenant une réserve d'échantillons négatifs de données (302) représentant l'activité normale du système surveillé et une ou 5 plusieurs réserves plus petites d'échantillons de données positifs (304), dans lequel chaque réserve d'échantillons de données positifs représente un type d'activité anormale du système surveillé, dans lequel le dispositif de mémoire contient un corps d'instructions de programme (114) qui, lorsqu'il est exécuté par le processeur, amène le système 10 informatique à implémenter un procédé comprenant les étapes suivantes : pour chaque type d'activité anormale, générer (412) un ensemble de données d'étalonnage (306) qui comprend un premier nombre d'échantillons prélevés dans la réserve d'échantillons négatifs, et un second nombre d'échantillons prélevés dans la réserve d'échantillons 15 positifs correspondant au type d'activité anormale, dans lequel le premier nombre d'échantillons est sensiblement plus grand que le second nombre d'échantillons ; pour chaque combinaison d'un algorithme d'apprentissage automatique candidat choisi parmi la pluralité d'algorithmes 20 d'apprentissage automatique candidats avec un type d'activité anormale : d'extraire (414) une pluralité d'ensembles de formation et de validation croisée (314, 316) à partir de l'ensemble de données d'étalonnage correspondant au type d'activité anormale, dans lequel chaque ensemble de formation ne comprend que des échantillons 25 négatifs de données, et chaque ensemble de validation croisée comprend un mélange d'échantillons négatifs et positifs de données; pour chacun de la pluralité d'ensembles de formation et de validation croisée, de former (416) un modèle d'apprentissage de 30 automatique basé sur l'algorithme candidat en utilisant l'ensemble de formation, et de valider (418) le modèle d'apprentissage automatique en utilisant l'ensemble de validation 4 croisée avec une précision moyenne comme mesure de performance ; de calculer une valeur moyenne de précision moyenne pour l'algorithme d'apprentissage automatique candidat à travers les 5 métriques de performance de précision moyenne obtenues en utilisant la pluralité d'ensembles de formation et de validation croisée, et pour chaque algorithme d'apprentissage automatique candidat, de calculer (608) une valeur de classement basée sur au 10 moins les valeurs moyennes de précision moyennes calculées pour l'algorithme d'apprentissage automatique candidat pour chaque type d'activité anormale. 3. Le système selon la revendication 2, dans lequel le corps des instructions de programme, lorsqu'il est exécuté par le processeur, amène le système 15 informatique à implémenter le procédé comprenant une étape supplémentaire consistant à sélectionner (610) un algorithme d'apprentissage automatique à partir des algorithmes d'apprentissage automatique candidats sur la base des valeurs de classement calculées. 4. Le système selon les revendications 2 ou 3, dans lequel le corps des 20 instructions de programme, lorsqu'il est exécuté par le processeur, amène le système informatique à implémenter le procédé selon lequel, pour tous les ensembles de données d'étalonnage, un ratio du premier nombre d'échantillons par rapport au second nombre d'échantillons comprend une seule valeur fixe. 5. Le système selon l'une quelconque des revendications 2 à 4, dans lequel 25 le corps des instructions de programme, lorsqu'il est exécuté par le processeur, amène le système informatique à implémenter le procédé dans lequel les valeurs de classement sont calculées conformément à un algorithme d'agrégation de rangs. 5 6. Le système selon la revendication 5, dans lequel le corps des instructions du programme, lorsqu'il est exécuté par le processeur, amène le système informatique à implémenter le procédé selon lequel l'algorithme d'agrégation de rangs utilise une mesure de distance de la règle de Spearman. 5 7. Le système selon les revendications 5 ou 6, dans lequel le corps des instructions de programme, lorsqu'il est exécuté par le processeur, amène le système informatique à implémenter le procédé dans lequel l'algorithme d'agrégation de rangs est un algorithme d'agrégation de rangs pondéré dans lequel un ensemble de valeurs d'importance sélectionnables représente 10 l'importance relative de chaque type d'activité anormale.