FR3082963A1 - Systeme et procede d'evaluation et de deploiement de modeles d'apprentissage automatique non supervises ou semi-supervises - Google Patents

Systeme et procede d'evaluation et de deploiement de modeles d'apprentissage automatique non supervises ou semi-supervises Download PDF

Info

Publication number
FR3082963A1
FR3082963A1 FR1855567A FR1855567A FR3082963A1 FR 3082963 A1 FR3082963 A1 FR 3082963A1 FR 1855567 A FR1855567 A FR 1855567A FR 1855567 A FR1855567 A FR 1855567A FR 3082963 A1 FR3082963 A1 FR 3082963A1
Authority
FR
France
Prior art keywords
machine learning
samples
data
candidate
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR1855567A
Other languages
English (en)
Inventor
David Renaudie
Maria Zuluaga
Rodrigo Acuna Agost
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amadeus SAS filed Critical Amadeus SAS
Priority to FR1855567A priority Critical patent/FR3082963A1/fr
Priority to US16/431,228 priority patent/US11367022B2/en
Priority to EP19178728.2A priority patent/EP3588327B1/fr
Priority to ES19178728T priority patent/ES2918208T3/es
Publication of FR3082963A1 publication Critical patent/FR3082963A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

Un système d'évaluation et de déploiement de modèles d'apprentissage automatique pour la détection d'anomalies d'un système surveillé (118) comprend la fourniture d'une pluralité d'algorithmes d'apprentissage automatique candidats (204) configurés pour la détection d'anomalies du système surveillé et la fourniture de données de formation (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) représentant un type d'activité anormale du système surveillé.

Description

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 L’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 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 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 é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 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.
[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 à J'avance une ou plusieurs classes de comportement « normal » par 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 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 :
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 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 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 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 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 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 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 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 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 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 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.
[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 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 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 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 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 cidessus.
[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 ;
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 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 de programme qui, lorsqu'il est exécuté par le processeur, amène le système informatique à mettre en œuvre 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 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 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 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 ;
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 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é 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.
[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 produitprogramme informatique comprenant un support tangible lisible par ordinateur ayant des instructions stockées sur celui-ci, qui, lorsqu’elles sont exécutées par un processeur, mettent en œuvre 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 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 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 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 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 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.
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é 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.
[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.
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 :
La Figure 1 est un diagramme schématique illustrant un système exemplaire pour mettre en œuvre 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 œuvre l'invention ;
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 à des types d'anomalies distincts multiples, en fonction 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 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 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 delà présente invention, dans le cas d'une application de détection de fraude.
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 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 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 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 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 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 transférées à la mémoire volatile 110 pour une exécution à la demande.
[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.
[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 œuvre les caractéristiques de la présente invention. Les instructions du programme 114 comprennent une contribution technique à l’art développé et configuré spécifiquement pour mettre en œuvre 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.
[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 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 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 d’autres plateformes matérielles à usage général. Les logiciels peuvent inclure 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 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 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 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 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 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 d’autres modes de réalisation le traitement correspondant peut être exécuté en étant distribué sur une pluralité de systèmes d’évaluation.
[0022] Les composants logiciels, p. ex. les instructions de programme 114, pour mettre en œuvre 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 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 programmation R et/ou d'autres langages appropriés pour la mise en œuvre d'algorithmes d'apprentissage automatique. Les services réseau et/ou basés sur le Web peuvent être mis en œuvre en utilisant une gamme de langages appropriés, y compris ceux déjà mentionnés, et d'autres tels que JavaScript, HTML, PHP, ASP, JSP, Ruby, Perl, et ainsi de suite. Ces exemples ne se 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 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 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 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, 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. 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é 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 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.
[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 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
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 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 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 130, 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 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 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. 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 de surveillance et d'exploitation du système surveillé 118, tel qu’abordé plus loin en référence à la Figure 7.
[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 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 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 sont appliqués à la détection d'anomalies, devraient reconnaître que les opérations et les algorithmes mis en œuvre 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 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 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 » {c'est-à-dire non anormaux), des événements ou des observations du système surveillé 118. Chaque réserve de positifs 304 comprend des échantillons de données correspondant à un « type » prédéterminé d'anomalie, désigné « type A », « type B », et ainsi de suite, à des fins d'illustration. L'un des avantages particuliers des modes de réalisation de la présente invention est qu'il est possible d'évaluer la performance des modèles candidats basés sur les algorithmes 204 en détectant de multiples types d'anomalies différentes. Par exemple, dans une application de sécurité réseau, un premier type de comportement anormal peut être associé à une attaque par déni de service distribué (DDoS), tandis qu'un deuxième type de comportement anormal peut être associé à une attaque par intrusion. Chaque échantillon de données, négatif ou positif, peut comprendre une séquence particulière de valeurs et/ou un enregistrement structuré correspondant aux données de surveillance disponibles du système surveillé 118 à partir duquel un vecteur d'entrée peut être construit conformément aux exigences des algorithmes candidats 204.
[0030] Les modes de réalisation de l'invention sont particulièrement adaptés à l'évaluation des algorithmes 204 correspondant à des modèles candidats non supervisés ou semi-supervisés, pour lesquels la disponibilité de données de formation étiquetées est très limitée. La réserve de négatifs 302 peut comprendre peu ou pas de données de formation étiquetées et peut être remplie principalement à l'aide d'un grand nombre d'échantillons recueillis à partir de sources comprenant des données réelles provenant d'un système surveillé 118 en fonctionnement normal, et/ou des échantillons supplémentaires générés, synthétisés et/ou randomisés qui ont été normalisés ou sélectionnés pour éviter la présence d'éléments, d'événements ou de comportements anormaux. Par exemple, dans un mode de réalisation pratique de l'invention, plusieurs dizaines de milliers (ou plus) d'échantillons négatifs peuvent être nécessaires, et il peut donc être peu pratique de remplir une réserve de négatifs suffisamment grande avec des échantillons étiquetés manuellement. Selon un procédé d'obtention d'échantillons négatifs, des données non anormales préparées à d'autres fins, par exemple pour tester le fonctionnement normal du système surveillé 118-, peuvent être utilisées. Selon une autre approche, les échantillons prélevés dans le système surveillé 118 peuvent être « triés » à l'aide d'un algorithme de détection d'anomalies préexistant (et potentiellement non optimal) afin d'identifier et d'éliminer les échantillons dépassant un seuil conservateur prédéterminé de probabilité d'être anormaux afin de générer une réserve de négatifs 302. L'utilisation d'un seuil conservateur permet d'éviter substantiellement les faux négatifs (ce qui permettrait les échantillons anormaux dans la réserve de négatifs), au détriment d'un taux élevé de faux positifs, ce qui n'a pas d'impact significatif sur la validité de la réserve de négatifs. Une sélection appropriée du seuil permet donc de rejeter les échantillons anormaux, tout en obtenant des échantillons non anormaux représentatifs de l'utilisation réaliste du système surveillé 118. De plus, cette approche permet d'utiliser des algorithmes de détection d'anomalies relativement simples pour obtenir des échantillons pour la réserve de négatifs 302. Les deux approches décrites cidessus peuvent être combinées entre elles et/ou avec d'autres procédés pour obtenir des échantillons négatifs.
[0031] Chaque réserve de positifs comprend un petit nombre d'échantillons de données réelles étiquetés correspondant à des éléments, événements ou comportements anormaux du système surveillé 118. Les échantillons de la réserve de positifs sont dérivés d'anomalies observées dans le passé par des experts qui ont été rassemblés à partir d’un système de production. Étant donné que l'activité anormale est, par définition, rare, le nombre d'échantillons de chaque type n'est généralement que de l'ordre de quelques-uns à quelques dizaines d'échantillons. Avantageusement, les modes de réalisation de l'invention sont capables de fonctionner efficacement avec des nombres d'échantillons positifs aussi petits.
[0032] Pour chaque type d'anomalie, l'unité de traitement d'évaluation 202 est configurée pour générer un ensemble de données d'étalonnage 306. En particulier, l'unité de traitement de l'évaluation 202 est programmée pour construire un ensemble de données d'étalonnage 306 qui comprend un nombre relativement important d'échantillons négatifs 308 tirés de la réserve de négatifs 302, ainsi que les échantillons positifs 304 disponibles pour le type d'anomalie spécifique. Dans les modes de réalisation préférés, le rapport entre Je nombre d'échantillons négatifs 308 et le nombre d'échantillons positifs 310 est maintenu constant pour tous les types d'anomalies. Par exemple, le rapport entre les échantillons négatifs 308 et les échantillons positifs 310 peut se situer entre 100 et 1000 environ (c'est-à-dire entre 0,1 % et 1,0 % d'échantillons positifs). En particulier, le rapport des échantillons négatifs 308 aux échantillons positifs 310 peut avantageusement se situer entre environ 100 et 500 (c'est-à-dire entre 0,1 % et 0,2 % d'échantillons positifs). Par exemple, lorsqu'un plus petit nombre d'échantillons positifs 310 est disponible par rapport à un type particulier d'anomalie, le nombre d'échantillons négatifs 308 tirés de la réserve de négatifs 302 est donc plus petit afin de maintenir un rapport constant Plus précisément, si un paramètre r représente le rapport requis, et A/pOs,xest le nombre d'échantillons positifs disponibles pour le type d'anomalie X, alors le nombre d'échantillons négatifs Nneg,x tirés de la réserve de négatifs est donné par Nneg.X = rNpos,X[0033] L'unité de traitement de l'évaluation 202 est en outre configurée pour utiliser la réserve d’étalonnage 306 pour former et valider un ou plusieurs modèles d'apprentissage automatique de détection d'anomalies candidates correspondant aux algorithmes candidats 204. Plus précisément, l'unité de traitement de l'évaluation 202 comprend une unité d'échantillonnage 312, qui est un composant logiciel configuré pour échantillonner au hasard l'ensemble de données de référence 306 afin de générer un ensemble de formation 314 et un ensemble de validation croisée 316. L'unité d'échantillonnage 312 est programmée pour générer l'ensemble d'apprentissage 314 de telle sorte qu'il ne comprenne que des échantillons négatifs, et pour générer l'ensemble de validation 316 de telle sorte qu'il comprenne à la fois des échantillons négatifs et positifs.
[0034] L'unité de traitement de l'évaluation 202 comprend également une unité de validation 318, qui est un composant logiciel configuré pour former un modèle candidat incorporant l'un des algorithmes candidats 204 en utilisant l'ensemble de formation 314, et valider le modèle formé en utilisant l'ensemble de validation 318. Comme abordé plus en détail ci-dessous, l'unité de validation
318 est spécifiquement programmée pour calculer une métrique de validation comprenant une valeur de précision moyenne (AP).
[0035] L'unité de traitement d'évaluation 202 est configurée pour itérer 320 entre l'exécution de l'unité d'échantillonnage 312 et l'unité de validation 318. À chaque itération, différents ensembles aléatoires de formation et de validation 314, 316 sont générés par l'unité d'échantillonnage 312, donnant lieu à une valeur AP différente calculée par l'unité de validation 318. Après un certain nombre d'itérations, l'unité de traitement d'évaluation 202 calcule une précision moyenne (MAP) pour l'algorithme candidat 204 en tant que résultat d'évaluation 322. La MAP est une mesure couramment utilisée pour l'évaluation des systèmes d’extraction de l'information (p. ex. les moteurs de recherche) et de recommandation, où elle sert à mesurer l'efficacité du système à sélectionner et à classer les résultats « exacts » en vue de leur présentation à un utilisateur. Conformément aux modes de réalisation de la présente invention, la MAP est utilisée pour mesurer l'efficacité d'un algorithme candidat donné pour identifier les échantillons anormaux (c'est-à-dire les « positifs ») d'un type particulier au sein d'un ensemble de données d’échantillonnage comprenant un plus grand nombre d'échantillons non anormaux (c'est-à-dire les « négatifs »). Comme le reconnaîtront les hommes de métier, les métriques couramment utilisées dans le contexte de la détection d’anomalies comprennent, p. ex., la précision, le rappel, le score F. L'utilisation de la MAP comme mesure dans ce contexte n'est pas conventionnelle et les inventeurs ont constaté des améliorations substantielles dans la performance d'échantillonnage.
[0036] Dans les systèmes d'apprentissage automatique, la « précision » est définie conventionnellement comme la fraction obtenue en divisant le nombre d'événements réels dans une classe donnée (c'est-à-dire les « vrais positifs ») par le nombre d'événements prédits de cette classe, comme prédit par un modèle (c'est-à-dire en incluant à la fois les « vrais positifs » et les « faux positifs »). Ce concept peut être étendu à une série de prédictions (p. ex., des résultats classés dans un système de recherche d'informations ou, dans le cas présent, une série d'éléments, d'événements, d'observations de comportements du système surveillé 118 identifiés comme « 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 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.
[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.
[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 ê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 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 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 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 œuvre un algorithme particulier de détection d'anomalies non supervisé ou semi-supervisé des algorithmes 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 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 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 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 à l'invention comprennent (sans toutefois s'y limiter) : des algorithmes basés sur la 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 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 reconnaîtront les hommes de métier dans le domaine de l’apprentissage automatique, de nombreux modèles et algorithmes sont 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 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 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 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 cidessus en référence aux Figures 2 et 3. Le procédé d’ensemble comprend trois 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.
[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 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 à 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 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 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 après chaque itération, et une condition de cessation définie en fonction de la 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 à 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 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 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 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 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 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 groupe de colonnes du graphique, p. ex. 504, 506, 508, représente les résultats pour une pluralité de types d'anomalîes (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. MAPia, MAPib, ... MAP™., ... MAPnx). 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 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 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 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 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 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. 516, 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 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 cet exemple, le graphique radar 514 est particulièrement avantageux pour fournir une visualisation simultanée de la performance 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 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 sont représentées sous la forme d'une matrice 522 dans laquelle chaque ligne correspond aux métriques d'un algorithme candidat unique pour tous les types d'anomalies. Pour chaque ligne, un score de classement unique, Si ... S/v, 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 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 amplitudes relatives des scores déterminent le classement des algorithmes candidats, ou simplement des valeurs de classementvp. 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 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 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. 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 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 de rangs sont disponibles dans un certain nombre de progiciels, par exemple la fonction « BruteAggreg » dans le progiciel « RankAggreg » 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 ». 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, 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 œuvre un algorithme particulier de détection d'anomalies non supervisé ou semi-supervisé qui a été développé 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), 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 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 « sélectionnant » des échantillons de données réelles à l'aide d'un modèle 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 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 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, 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 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 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 correspondant du système d'échantillonnage aléatoire. Comme l'indique la 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 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 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 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 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ésr systèmes et algorithmes qui incarnent l'invention telle que 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 surveillé. L'approche fournie conformément à l'invention est essentiellement 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 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 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 œuvre ces principes. En 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 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 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.

Claims (7)

  1. 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;
    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 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 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é 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 sélectionné est déployé (612) au sous-système de surveillance, qui est configuré pour exécuter le modèle d'apprentissage automatique déployé afin de détecter des anomalies du sous-système surveillé.
  2. 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), 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 contenant 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 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 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 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 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 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;
    pour chacun de la pluralité d'ensembles de formation et de validation croisée, de former (416) un modèle d'apprentissage de 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 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 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 moins les valeurs moyennes de précision moyennes calculées pour l'algorithme d'apprentissage automatique candidat pour chaque type d'activité anormale.
  3. 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 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. 4. Le système selon les revendications 2 ou 3, 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é 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. 5. Le système selon l'une quelconque des revendications 2 à 4, 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 les valeurs de classement sont calculées conformément à un algorithme d'agrégation de rangs.
  6. 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électionnâmes représente
  7. 10 l'importance relative de chaque type d'activité anormale.
FR1855567A 2018-06-22 2018-06-22 Systeme et procede d'evaluation et de deploiement de modeles d'apprentissage automatique non supervises ou semi-supervises Withdrawn FR3082963A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1855567A FR3082963A1 (fr) 2018-06-22 2018-06-22 Systeme et procede d'evaluation et de deploiement de modeles d'apprentissage automatique non supervises ou semi-supervises
US16/431,228 US11367022B2 (en) 2018-06-22 2019-06-04 System and method for evaluating and deploying unsupervised or semi-supervised machine learning models
EP19178728.2A EP3588327B1 (fr) 2018-06-22 2019-06-06 Système et procédé permettant d'évaluer et de déployer des modèles d'apprentissage machine non supervisés ou semi-supervisés
ES19178728T ES2918208T3 (es) 2018-06-22 2019-06-06 Sistema y método para evaluar e implementar modelos de aprendizaje automático no supervisados o semi-supervisados

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1855567 2018-06-22
FR1855567A FR3082963A1 (fr) 2018-06-22 2018-06-22 Systeme et procede d'evaluation et de deploiement de modeles d'apprentissage automatique non supervises ou semi-supervises

Publications (1)

Publication Number Publication Date
FR3082963A1 true FR3082963A1 (fr) 2019-12-27

Family

ID=65443892

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1855567A Withdrawn FR3082963A1 (fr) 2018-06-22 2018-06-22 Systeme et procede d'evaluation et de deploiement de modeles d'apprentissage automatique non supervises ou semi-supervises

Country Status (4)

Country Link
US (1) US11367022B2 (fr)
EP (1) EP3588327B1 (fr)
ES (1) ES2918208T3 (fr)
FR (1) FR3082963A1 (fr)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020014957A1 (fr) * 2018-07-20 2020-01-23 Huawei Technologies Co., Ltd. Appareil et procédé de détection d'anomalie dans un ensemble de données et produit programme informatique associé
EP3709230A4 (fr) * 2018-07-30 2021-01-20 Rakuten, Inc. Système d'évaluation, procédé d'évaluation, et programme
US10831818B2 (en) * 2018-10-31 2020-11-10 Adobe Inc. Digital image search training using aggregated digital images
US11218879B2 (en) * 2018-12-05 2022-01-04 At&T Intellectual Property I, L.P. Providing security through characterizing internet protocol traffic to detect outliers
US11030086B2 (en) * 2019-02-15 2021-06-08 Tencent America LLC Machine learning model full life cycle management framework
JP7361505B2 (ja) * 2019-06-18 2023-10-16 キヤノンメディカルシステムズ株式会社 医用情報処理装置及び医用情報処理方法
US11568001B2 (en) * 2019-06-22 2023-01-31 Merck Sharp & Dohme Llc Radial map data visualization
DE102019211076A1 (de) * 2019-07-25 2021-01-28 Robert Bosch Gmbh Verfahren und Vorrichtung zum Validieren einer Simulation eines technischen Systems
US11275643B2 (en) * 2019-10-09 2022-03-15 Microsoft Technology Licensing, Llc Dynamic configuration of anomaly detection
CN111242310B (zh) * 2020-01-03 2023-04-18 深圳市雅阅科技有限公司 特征有效性评估方法、装置、电子设备及存储介质
CN113093967A (zh) * 2020-01-08 2021-07-09 富泰华工业(深圳)有限公司 数据生成方法、装置、计算机装置及存储介质
WO2021149225A1 (fr) * 2020-01-23 2021-07-29 三菱電機株式会社 Dispositif, procédé et programme de génération de modèle
US11443209B2 (en) * 2020-04-16 2022-09-13 International Business Machines Corporation Method and system for unlabeled data selection using failed case analysis
CN111695639A (zh) * 2020-06-17 2020-09-22 浙江经贸职业技术学院 一种基于机器学习的电力用户用电异常检测方法
US11816461B2 (en) * 2020-06-30 2023-11-14 Paypal, Inc. Computer model management system
CN112116411A (zh) * 2020-08-10 2020-12-22 第四范式(北京)技术有限公司 一种用于商品推荐的排序模型的训练方法、装置及系统
CN112016932B (zh) * 2020-09-04 2024-05-17 中国银联股份有限公司 测试方法、装置、服务器及介质
US11385631B2 (en) * 2020-11-11 2022-07-12 Honda Research Institute Europe Gmbh Method and system for detecting faults in a charging infrastructure system for electric vehicles
CN112329892A (zh) * 2020-12-03 2021-02-05 中国第一汽车股份有限公司 一种目标检测算法的评估方法、装置、设备及存储介质
CN112562771B (zh) * 2020-12-25 2022-07-26 北京邮电大学 一种基于邻域分区与隔离重构的磁盘异常检测方法
CN113051452B (zh) * 2021-04-12 2022-04-26 清华大学 运维数据特征选择方法和装置
CN113283469A (zh) * 2021-04-14 2021-08-20 中国海洋大学 基于视图的三维模型检索的图嵌入无监督特征学习方法
US11796993B2 (en) 2021-05-12 2023-10-24 Yokogawa Electric Corporation Systems, methods, and devices for equipment monitoring and fault prediction
US20230004856A1 (en) * 2021-06-30 2023-01-05 Armis Security Ltd. Techniques for validating features for machine learning models
US11822420B2 (en) * 2021-10-12 2023-11-21 International Business Machines Corporation Artificial intelligence model monitoring and ranking
WO2023088531A1 (fr) * 2021-11-16 2023-05-25 Huawei Technologies Co., Ltd. Entité de gestion, élément de réseau, système et procédés de prise en charge de détection d'anomalie pour des réseaux de communication
US11961084B1 (en) * 2021-11-22 2024-04-16 Rsa Security Llc Machine learning models for fraud detection
CN114936205A (zh) * 2022-06-02 2022-08-23 江苏品生医疗科技集团有限公司 一种特征筛选方法、装置、存储介质及电子设备
CN117289141A (zh) * 2023-11-22 2023-12-26 深圳市麦迪瑞科技有限公司 基于人工智能的电动自行车充电状态监测方法
CN117336195B (zh) * 2023-12-01 2024-02-06 中国西安卫星测控中心 一种基于雷达图法的入侵检测模型综合性能评估方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424619B1 (en) * 2001-10-11 2008-09-09 The Trustees Of Columbia University In The City Of New York System and methods for anomaly detection and adaptive learning
US9349103B2 (en) * 2012-01-09 2016-05-24 DecisionQ Corporation Application of machine learned Bayesian networks to detection of anomalies in complex systems
US10261851B2 (en) * 2015-01-23 2019-04-16 Lightbend, Inc. Anomaly detection using circumstance-specific detectors
US20160358099A1 (en) * 2015-06-04 2016-12-08 The Boeing Company Advanced analytical infrastructure for machine learning
US10147049B2 (en) * 2015-08-31 2018-12-04 International Business Machines Corporation Automatic generation of training data for anomaly detection using other user's data samples
US11277420B2 (en) * 2017-02-24 2022-03-15 Ciena Corporation Systems and methods to detect abnormal behavior in networks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MARKUS GOLDSTEIN ET AL: "A Comparative Evaluation of Unsupervised Anomaly Detection Algorithms for Multivariate Data", PLOS ONE, vol. 11, no. 4, 19 April 2016 (2016-04-19), pages 1 - 31, XP055587750, DOI: 10.1371/journal.pone.0152173 *
NICOLAS GOIX: "How to Evaluate the Quality of Unsupervised Anomaly Detection Algorithms?", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 5 July 2016 (2016-07-05), XP080712072 *

Also Published As

Publication number Publication date
ES2918208T3 (es) 2022-07-14
EP3588327A1 (fr) 2020-01-01
US11367022B2 (en) 2022-06-21
US20190392351A1 (en) 2019-12-26
EP3588327B1 (fr) 2022-04-20

Similar Documents

Publication Publication Date Title
FR3082963A1 (fr) Systeme et procede d'evaluation et de deploiement de modeles d'apprentissage automatique non supervises ou semi-supervises
CN110245034B (zh) 根据使用数据的结构化日志模式的服务度量分析
FR3098938A1 (fr) Procédé et dispositif de détermination d’une valeur d’indice de performance de prédiction d’anomalies dans une infrastructure informatique à partir de valeurs d’indicateurs de performance
US20230401141A1 (en) Application state prediction using component state
EP3163445B1 (fr) Mécanisme d'analyse de corrélation lors de la dégradation des performances d'une chaîne applicative
CN113010389A (zh) 一种训练方法、故障预测方法、相关装置及设备
FR3098967A1 (fr) Procédé et dispositif de détermination d’une durée estimée avant un incident technique dans une infrastructure informatique à partir de valeurs d’indicateurs de performance
US11640387B2 (en) Anomaly detection data workflow for time series data
Dou et al. Pc 2 a: predicting collective contextual anomalies via lstm with deep generative model
EP3489831A1 (fr) Procédé et dispositif de surveillance d'un processus générateur de données d'une métrique pour la prédiction d'anomalies
EP3846087A1 (fr) Procede et systeme de selection d'un modele d'apprentissage au sein d'une pluralite de modeles d'apprentissage
FR3098940A1 (fr) Procédé et dispositif de détermination d’une valeur de risque d’incident technique dans une infrastructure informatique à partir de valeurs d’indicateurs de performance
EP1792278B1 (fr) Procede de detection et de pistage de cibles ponctuelles, dans un systeme de surveillance optronique
US11789915B2 (en) Automatic model selection for a time series
EP4169223A1 (fr) Procédé et appareil pour détecter un trafic de réseau scripté
CN113282920A (zh) 日志异常检测方法、装置、计算机设备和存储介质
FR3109455A1 (fr) Détermination d’états de santé de systèmes équipés de capteurs
CN113127362A (zh) 对象测试方法、对象测试装置、电子设备及可读存储介质
EP3846047A1 (fr) Procédé et système d'identification de variables pertinentes
WO2021009364A1 (fr) Procédé d'identification de données aberrantes dans d'un jeu de données d'entrée acquises par au moins un capteur
CN111858285A (zh) 视频操作行为的异常识别方法、装置、服务器及存储介质
CN111651753A (zh) 用户行为分析系统及方法
US20240070269A1 (en) Automatic selection of data for target monitoring
EP3754506B1 (fr) Procédé de validation automatique de cots et dispositif pour la mise en oeuvre du procédé
CN109474445B (zh) 一种分布式系统根源故障定位方法及装置

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20191227

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

ST Notification of lapse

Effective date: 20230205