EP4172815A1 - Procede d'apprentissage pour la detection d'anomalies a partir de jeux de donnees multivariables et procede de detection d'anomalies associe - Google Patents

Procede d'apprentissage pour la detection d'anomalies a partir de jeux de donnees multivariables et procede de detection d'anomalies associe

Info

Publication number
EP4172815A1
EP4172815A1 EP21733998.5A EP21733998A EP4172815A1 EP 4172815 A1 EP4172815 A1 EP 4172815A1 EP 21733998 A EP21733998 A EP 21733998A EP 4172815 A1 EP4172815 A1 EP 4172815A1
Authority
EP
European Patent Office
Prior art keywords
category
memory
covariance matrix
categories
data sets
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.)
Pending
Application number
EP21733998.5A
Other languages
German (de)
English (en)
Inventor
François DE ROCHEBOUET
Mohamed-Ali MOUSSA
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.)
STMicroelectronics International NV Switzerland
STMicroelectronics International NV
Original Assignee
STMicroelectronics International NV Switzerland
STMicroelectronics International NV
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 STMicroelectronics International NV Switzerland, STMicroelectronics International NV filed Critical STMicroelectronics International NV Switzerland
Publication of EP4172815A1 publication Critical patent/EP4172815A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/15Correlation function computation including computation of convolution operations
    • G06F17/153Multidimensional correlation or convolution
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Definitions

  • the technical field of the invention is that of anomaly detection methods and more particularly that of anomaly detection methods from multivariate data sets, implemented on a microcontroller.
  • the present invention relates to a learning method for the detection of anomalies and in particular to an incremental learning method for the detection of anomalies from multivariate data sets, implemented on a microcontroller.
  • the present invention also relates to a method for detecting anomalies, a microcontroller implementing the learning method and / or the detection method, a device embedding the microcontroller and a computer program product.
  • the invention offers a solution to the problems mentioned above, by making it possible to detect anomalies from multivariate data using an algorithm implemented on a microcontroller having a high integration capacity.
  • a first aspect of the invention relates to an incremental learning method for the detection of anomalies implemented on a microcontroller comprising at least one memory, the microcontroller being configured to receive multivariate data sets originating from at least a sensor, the memory being configured to store a predefined number of categories, a category being associated with an average and with a covariance matrix, the method comprising the following steps:
  • Initialization comprising at least one sub-step of creating a category and storing the category in the memory, so that the number of categories created is strictly less than the predefined number of categories;
  • a category is created for a set of training data sets so as to avoid the creation of categories that do not provide new information with respect to existing categories.
  • the test of obtaining a well-conditioned covariance matrix is carried out without calculating the decomposition into singular values, a method conventionally used to test the good conditioning of a matrix, because this would require a large quantity of calculations incompatible with the capacities of reduced computations of a microcontroller.
  • the test of the good conditioning of the covariance matrix is carried out by using an adaptation of the LU factorization of this matrix which requires much less computation.
  • each category is compared to the other categories using a distance measure.
  • the two closest categories that is to say having the smallest distance measurement, are then merged into a single category to free up space in the memory and to be able to create new categories more representative of the other games of data.
  • the method according to the first aspect of the invention may have one or more additional characteristics among the following, considered individually or in any technically possible combination.
  • the initialization step comprises the following sub-steps:
  • categories are created until the predefined number of categories minus one is reached, which makes it possible to compare a new category created during training with as many other categories as possible.
  • the first distance measurement is the Bhattacharyya distance.
  • a second aspect of the invention relates to an anomaly detection method implemented on a microcontroller comprising at least one memory, the microcontroller being configured to receive multivariate data sets originating from at least one sensor, the memory being configured to store a predefined number of categories, a category being associated with an average and with a covariance matrix, the method comprising the steps of the learning method according to the first aspect of the invention followed by the following steps:
  • the method of detecting anomalies according to the second aspect of the invention uses the categories created during the learning method according to the first aspect of the invention to effectively detect the anomalies by measuring the distance between the game data and each category stored in memory.
  • the dataset is considered abnormal if it is too far from the categories stored in memory.
  • the second distance measurement is the Mahalanobis distance.
  • the distance threshold is obtained from the distribution of c 2 ("square chi").
  • the distance threshold is weighted by a sensitivity factor.
  • a third aspect of the invention relates to a computer configured to implement the steps of the learning method according to the first aspect of the invention and / or the steps of the anomaly detection method according to the second aspect of the invention, comprising a processor and a memory and receiving multivariate data sets originating from at least one sensor.
  • the computer according to the invention is a microcontroller.
  • a fourth aspect of the invention relates to a device embedding a microcontroller according to a third aspect of the invention.
  • a fifth aspect of the invention relates to a computer program product comprising instructions which, when the program is executed by a computer, lead the latter to implement the steps of the method. training according to the first aspect of the invention and / or the steps of the method for detecting anomalies according to the second aspect of the invention.
  • Figure 1 is a block diagram illustrating the sequence of steps in a learning process according to the invention.
  • FIG. 2 is a block diagram illustrating a first embodiment of a step for initializing the learning method according to the invention.
  • FIG. 3 is a block diagram illustrating the sequence of steps in a method for detecting anomalies according to the invention.
  • Figure 4 is a schematic representation of a device embedding a microcontroller according to the invention.
  • a first aspect of the invention relates to an incremental learning method for the detection of anomalies.
  • a second aspect of the invention relates to a method for detecting anomalies, comprising the learning method according to the first aspect of the invention.
  • the learning method according to the first aspect of the invention and the method for detecting anomalies according to the second aspect of the invention are each carried out from multivariate data sets.
  • a multivariable data set is a data set comprising several variables, that is to say several types of data or a single type of data having a multiple dimension.
  • a variable is, for example, a pressure measurement, a temperature measurement, a vibration measurement or even a humidity measurement.
  • a multivariable data set can then include, for example, a pressure measurement, a temperature measurement, and a humidity measurement.
  • the multivariable data set then has three variables.
  • anomaly detection means the identification of particular data sets which differ significantly from the data sets processed during the learning phase.
  • the detection of anomalies is for example used for the supervision of industrial machines in the context of predictive maintenance, for the detection of overconsumption of energy in a home or to detect an intruder in a room.
  • the learning method according to the first aspect of the invention and the method for detecting anomalies according to the second aspect of the invention are each implemented on a microcontroller receiving the multivariate data sets from at least one sensor .
  • a third aspect of the invention relates to a microcontroller configured to implement the learning method according to the first aspect of the invention and / or the detection method according to the second aspect of the invention.
  • FIG. 4 shows a schematic representation of a microcontroller 200 according to the third aspect of the invention.
  • the microcontroller 200 is an integrated circuit comprising at least one microprocessor 202 and at least one memory 201.
  • the microcontroller 200 comprises a single memory 201 and a single microprocessor 202.
  • the microprocessor 202 for example has a frequency greater than 2 MHz.
  • the microprocessor 202 is for example a 50 MHz microprocessor.
  • the memory 201 has for example a RAM of at least 2 kilobytes.
  • the memory 201 has for example a RAM of 4 kilobytes.
  • the microcontroller 200 receives the multivariate data sets allowing the implementation of the learning method according to the first aspect of the invention and / or of the detection method according to the second aspect of the invention, at least a sensor 203.
  • the microcontroller 200 receives the multivariate data sets from a single sensor 203, the sensor 203 is then capable of acquiring data of different types. [0047] Continuing with the previous example of the multivariable data set comprising three variables, the single sensor 203 is then capable of making pressure measurements, temperature measurements, and humidity measurements.
  • the microcontroller can also receive multivariate data sets from a plurality of sensors 203.
  • Each sensor 203 may be capable of acquiring data of a single type or of different types.
  • the microcontroller receives the multivariate data sets from three sensors 203.
  • a first sensor 203 is for example capable of carrying out pressure measurements, a second sensor 203 temperature measurements, and a third sensor 203 humidity measurements.
  • a sensor 203 is for example an accelerometer having a given sampling frequency and a number of axes which is for example equal to 3.
  • a measurement then comprises 3 values, each corresponding to an axis.
  • a sensor 203 is for example a thermometer delivering temperature measurements.
  • a sensor 203 is for example a barometer delivering pressure measurements.
  • a sensor 203 is for example a thermal camera.
  • a measurement is for example an 8x8 matrix of pixels.
  • each sensor 203 is connected to the microcontroller 200 via a serial data bus, for example an I2C, SPI, CAN or UART serial data bus.
  • a serial data bus for example an I2C, SPI, CAN or UART serial data bus.
  • the microcontroller 200 receives for example the multivariate data sets from each sensor 203 via a wired connection, for example an Ethernet link, or a wireless connection, for example a Bluetooth or Wifi connection.
  • a wired connection for example an Ethernet link
  • a wireless connection for example a Bluetooth or Wifi connection.
  • the microcontroller 200 is on board a device 300.
  • the sensors 203 are also on board the device
  • the device 300 can be the device for which it is desired to carry out the detection of anomalies.
  • Figure 1 is a block diagram illustrating the sequence of steps of the learning method 11 according to the first aspect of the invention.
  • the learning method 11 is an unsupervised incremental learning method carried out on the multivariate data sets supplied by the sensor (s) 203.
  • the term “unsupervised learning” is understood to mean automatic learning carried out with unlabeled data, that is to say raw data such as supplied by the sensor (s) 203.
  • the learning method 11 comprises a first initialization step 111 during which at least one category is created and then stored in the memory 201 of the microcontroller.
  • the number of categories created is strictly less than a predefined number of categories, that is to say less than or equal to the predefined number of categories minus one.
  • the predefined number of categories is chosen so that the storage capacities of the memory 201 allow it to store at least a number of categories equal to the predefined number of categories.
  • the predefined number of categories is less than or equal to 10.
  • Figure 2 is a block diagram illustrating a first embodiment of the first step 111 of initialization of the method 11 of learning.
  • the first step 111 illustrated in Figure 2 is performed as long as a CN condition is verified.
  • the CN condition is verified if the number of categories stored in the memory 201 of the microcontroller 200 is strictly less than the predefined number of categories.
  • the first step 111 is performed as long as 21 categories are not stored in the memory 201.
  • the first step 111 is completed and we go to a second step 112 of the learning method 11.
  • the sub-steps of the first step 111 are carried out for at least one set of multivariate data sets called hereinafter set of initialization data sets.
  • a first sub-step 1111 of the first step 111 consists in calculating an average and a covariance matrix for the set of initialization data sets.
  • Such a data set i can be modeled by a vector such as:
  • a set of data sets includes n data sets and therefore nxp variables.
  • the set of data sets can then be modeled by a vector ⁇ such that:
  • the average m of the set of initialization data sets is then calculated as: In order not to need to store all the data sets, the average can be calculated incrementally, that is to say:
  • the covariance matrix Cov of the set of initialization data sets is then calculated as:
  • the covariance matrix can be calculated incrementally:
  • the covariance matrix Cov as defined is a square matrix.
  • a second sub-step 1112 of the first step 111 is performed if a condition CS is satisfied for the covariance matrix of the set of initialization data sets.
  • the CS condition for a given set is true if the covariance matrix of the given set is poorly conditioned.
  • condition CS is not verified if the factorization LU of the covariance matrix satisfies certain conditions on the diagonal elements, for example if the ratio between the minimum diagonal element and the maximum diagonal element is greater than a threshold.
  • the threshold is for example between 0.0001 and 0.1.
  • a square matrix is poorly conditioned if its inverse matrix is sensitive to slight modifications of its elements.
  • the second sub-step 1112 is not carried out and we go to a third sub-step 1113 of the first step 111.
  • the second sub-step 1112 consists in adding a data set in the set of initialization data sets then in updating the average and the covariance matrix of the initialization dataset, i.e. to recalculate the mean and covariance matrix for the initialization dataset to which the dataset has been added .
  • the second sub-step 1112 is carried out again and so on until the condition CS is no longer verified.
  • the third sub-step 1113 consists in creating a category associated with the mean and with the covariance matrix of the set of initialization data sets and then in storing the category created in the memory 201 of the microcontroller 200.
  • the covariance matrix associated with the category is the covariance matrix for which the condition CS has not been verified, that is to say a well-conditioned covariance matrix.
  • the covariance matrix associated with the category can be the computed covariance matrix for the initial initialization dataset or for the initial initialization dataset to which one or more sets (x ) of data during the second sub-step 1112.
  • the sub-steps of the first step 111 are carried out as long as the CN condition is verified, that is to say as long as there is a number of categories stored in the memory 201 strictly less than the predefined number of categories.
  • the first initialization step 111 may consist in creating a number of categories strictly less than the predefined number of categories, by associating a mean and a random or predetermined covariance matrix with each category.
  • a second step 112 of the training method 11 consists in calculating an average and a covariance matrix for the set of training data sets.
  • a third step 113 of the learning method 11 is carried out if the condition CS is verified for the set of training data sets, that is to say if the covariance matrix associated with the set of training datasets is poorly conditioned.
  • the third step 113 is not carried out and one passes to a fourth step 114 of the learning method 11.
  • the third step 113 consists of adding a data set to the set of training data sets and then updating the mean and the covariance matrix of the set of training data sets, c that is, recalculating the mean and covariance matrix for the training dataset to which the dataset has been added.
  • the third step 113 is carried out again and so on until the condition CS is no longer verified.
  • the fourth step 114 consists in creating a category associated with the mean and with the covariance matrix of the set of training data sets and then in storing the category created in the memory 201.
  • the covariance matrix associated with the category is the covariance matrix for which the condition CS has not been verified, that is to say a well-conditioned covariance matrix.
  • the covariance matrix associated with the category can be the computed covariance matrix for the set of datasets training or for the set of initial training data sets to which one or more data sets have been added during the third step 113.
  • a fifth step 115 then consists in calculating, for each category stored in the memory 201, a first distance measurement between the category and each other category stored in the memory 201.
  • the fifth step 115 consists in calculating a first measurement of distance between the first category and the second category, a first measurement of distance between the first category and the third category and a first measure of distance between the second category and the third category.
  • the first distance measurement between a first category associated with an average rm and with a covariance matrix M1 and a second category associated with an average rri2 and with a covariance matrix M2 is for example the distance of Bhattacharyya DB being defined like :
  • a sixth step 116 then consists in selecting the two categories for which the first minimum distance measurement has been calculated in the fifth step 115, that is to say the first distance measurement having the lowest value among the set of first distance measurements calculated in the fifth step 115, then in merging the two categories selected to create a single category.
  • the two categories merged in the sixth step 116 can be the category created in the fourth step 114 and another category stored in the memory 201 or two categories stored in the memory 201 different from the category created in the fourth step 114.
  • Figure 3 is a block diagram illustrating the sequence of steps of the method 10 for detecting anomalies according to the second aspect of the invention.
  • the steps of the anomaly detection method 10 according to the second aspect of the invention are performed for each data set received by the sensor (s) 203.
  • the learning method 11 is considered as a first step 11 of the anomaly detection method 10.
  • a second step 12 of the anomaly detection method 10 consists in storing the data set received in the memory 201 of the microcontroller 200.
  • a third step 13 of the anomaly detection method 10 consists in calculating, for each category stored in the memory 201, a second distance measurement between the data set and the category.
  • the third step 13 consists in calculating a second distance measurement between the data set and the first category, a second measurement distance between the dataset and the second category and a second measure of distance between the dataset and the third category.
  • the second distance measurement between a data set modeled by a vector X and a category associated with an average m and with a covariance matrix M is for example the Mahalanobis DM distance being defined as:
  • the third step 13 then consists in selecting the second minimum distance measurement, that is to say the second distance measurement having the lowest value among the set of second distance measurements calculated in the third step 13.
  • a fourth step 14 of the method 10 for detecting anomalies is carried out if a CP condition is verified.
  • the CP condition is verified if the second minimum distance measurement is greater than a distance threshold.
  • the fourth step 14 is not carried out and we go directly to a fifth step 15.
  • the distance threshold is for example obtained from the distribution of c 2 ("square chi") by choosing as the degree of freedom the number of variables in the data set.
  • the distance threshold is for example weighted by a sensitivity factor.
  • the sensitivity factor is for example between 0.5 and 1 .5. By default, the sensitivity factor is set to 1.
  • the fourth step 14 consists in detecting an anomaly.
  • the fourth step 14 can for example consist in triggering an alarm or in sending an alert message to a given item of equipment.
  • the fifth step 15 of the anomaly detection method 10 consists in deleting the data set received from the memory 201 of the microcontroller 200.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Software Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Operations Research (AREA)
  • Medical Informatics (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • Image Analysis (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Manipulator (AREA)

Abstract

Un aspect de l'invention concerne un procédé d'apprentissage pour la détection d'anomalies sur microcontrôleur comportant une mémoire stockant un nombre prédéfini de catégories et recevant des jeux de données multivariables d'un capteur, comportant les étapes suivantes : Calcul d'une moyenne et d'une matrice de covariance pour un ensemble de jeux de données; Tant que la matrice de covariance est mal conditionnée : Ajout d'un jeu de données dans l'ensemble et mise à jour de la moyenne et de la matrice de covariance; Création d'une catégorie associée à la moyenne et à la matrice de covariance dans la mémoire; Pour chaque catégorie, calcul d'une mesure de distance entre la catégorie et chaque autre catégorie; Sélection des catégories correspondant à la première mesure de distance minimale et fusion des deux catégories sélectionnées.

Description

DESCRIPTION
TITRE : PROCEDE D’APPRENTISSAGE POUR LA DETECTION D’ANOMALIES A PARTIR DE JEUX DE DONNEES MULTIVARIABLES ET PROCEDE DE DETECTION D’ANOMALIES
ASSOCIE
DOMAINE TECHNIQUE DE L’INVENTION
[0001] Le domaine technique de l’invention est celui des procédés de détection d’anomalies et plus particulièrement celui des procédés de détection d’anomalies à partir de jeux de données multivariables, implémentés sur un microcontrôleur.
[0002] La présente invention concerne un procédé d’apprentissage pour la détection d’anomalies et en particulier un procédé d’apprentissage incrémental pour la détection d’anomalies à partir de jeux de données multivariables, implémenté sur un microcontrôleur. La présente invention concerne également un procédé de détection d’anomalies, un microcontrôleur implémentant le procédé d’apprentissage et/ou le procédé de détection, un dispositif embarquant le microcontrôleur et un produit-programme d’ordinateur.
ARRIERE-PLAN TECHNOLOGIQUE DE L’INVENTION
[0003] Pour détecter des anomalies dans un système monitoré à partir de plusieurs variables via au moins un capteur, par exemple par la température, la pression et l’humidité, il est connu d’utiliser des techniques, par exemple basées sur des réseaux de neurones, permettant d’obtenir des taux de détection élevés. De telles techniques nécessitent souvent l’utilisation de processeurs puissants et d’une quantité importante de ressources mémoire pour être fonctionnelles.
[0004] Ainsi, ces techniques sont incompatibles avec une implémentation sur microcontrôleur contraint en termes de ressources mémoire mais ayant un haut degré d’intégration grâce à ses dimensions réduites.
[0005] Il existe donc un besoin de concevoir un algorithme de détection d’anomalies à partir de données multivariables, permettant d’obtenir des performances comparables à celles obtenues avec les autres techniques connues de détection d’anomalies, implémenté sur un microcontrôleur pouvant être embarqué sur n’importe quel dispositif quel que soit son environnement. RESUME DE L’INVENTION
[0006] L’invention offre une solution aux problèmes évoqués précédemment, en permettant de détecter des anomalies à partir de données multivariables grâce à un algorithme implémenté sur un microcontrôleur ayant une haute capacité d’intégration.
[0007] Un premier aspect de l’invention concerne un procédé d’apprentissage incrémental pour la détection d’anomalies implémenté sur un microcontrôleur comportant au moins une mémoire, le microcontrôleur étant configuré pour recevoir des jeux de données multivariables en provenance d’au moins un capteur, la mémoire étant configurée pour stocker un nombre prédéfini de catégories, une catégorie étant associée à une moyenne et à une matrice de covariance, le procédé comportant les étapes suivantes :
Initialisation comportant au moins une sous-étape de création d’une catégorie et de stockage de la catégorie dans la mémoire, de manière que le nombre de catégories créées soit strictement inférieur au nombre prédéfini de catégories ;
Pour au moins un ensemble de jeux de données d’apprentissage :
Calcul d’une moyenne et d’une matrice de covariance pour l’ensemble de jeux de données d’apprentissage ;
Tant qu’une condition selon laquelle la matrice de covariance de l’ensemble de jeux de données d’apprentissage est mal conditionnée est vérifiée, la condition dépendant d’une factorisation LU de la matrice de covariance :
- Ajout d’un jeu de données dans l’ensemble de jeux de données d’apprentissage et mise à jour de la moyenne et de la matrice de covariance de l’ensemble de jeux de données d’apprentissage ; Création d’une catégorie associée à la moyenne et à la matrice de covariance de l’ensemble de jeux de données d’apprentissage et stockage de la catégorie dans la mémoire ;
Pour chaque catégorie stockée dans la mémoire, calcul d’une première mesure de distance entre la catégorie et chaque autre catégorie stockée dans la mémoire à partir des moyennes et matrices de covariance associées ; Sélection des deux catégories correspondant à la première mesure de distance minimale et création d’une unique catégorie par fusion des deux catégories sélectionnées.
[0008] Grâce à l’invention, une catégorie est créée pour un ensemble de jeux de données d’apprentissage de manière à éviter la création de catégories n’apportant pas de nouvelles informations par rapport aux catégories existantes. Le test de l’obtention d’une matrice de covariance bien conditionnée est réalisé sans calculer la décomposition en valeurs singulières, méthode classiquement utilisée pour tester le bon conditionnement d’une matrice, car cela nécessiterait une quantité importante de calculs incompatible avec les capacités de calcul réduites d’un microcontrôleur. Le test du bon conditionnement de la matrice de covariance est réalisé en utilisant une adaptation de la factorisation LU de cette matrice qui nécessite beaucoup moins de calcul.
[0009] Pour ne pas dépasser le nombre prédéfini de catégories allouées dans la mémoire du microcontrôleur, dès qu’une nouvelle catégorie est créée dans la mémoire, chaque catégorie est comparée aux autres catégories à l’aide d’une mesure de distance. Les deux catégories les plus proches, c’est-à-dire ayant la mesure de distance la plus faible, sont ensuite fusionnées en une unique catégorie pour libérer de la place dans la mémoire et pouvoir créer de nouvelles catégories plus représentatives des autres jeux de données.
[0010] Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le procédé selon le premier aspect de l’invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles.
[0011] Selon une variante de réalisation, l’étape d’initialisation comporte les sous- étapes suivantes :
T ant qu’une condition selon laquelle le nombre de catégories stockées dans la mémoire est strictement inférieur au nombre prédéfini de catégories est vérifiée :
Pour un ensemble de jeux de données d’initialisation :
- Calcul d’une moyenne et d’une matrice de covariance pour l’ensemble de jeux de données d’initialisation ; - Tant que la condition selon laquelle la matrice de covariance de l’ensemble de jeux de données d’initialisation est mal conditionnée est vérifiée :
- Ajout d’un jeu de données dans l’ensemble de jeux de données d’initialisation et mise à jour de la moyenne et de la matrice de covariance de l’ensemble de jeux de données d’initialisation ;
- Création d’une catégorie associée à la moyenne et à la matrice de covariance de l’ensemble de jeux de données d’initialisation et stockage de la catégorie dans la mémoire.
[0012] Ainsi, des catégories sont créées tant que le nombre prédéfini de catégories moins un n’est pas atteint, ce qui permet de comparer une nouvelle catégorie créée pendant l’apprentissage avec un maximum d’autres catégories.
[0013] Selon une variante de réalisation compatible avec les variantes de réalisation précédentes, la première mesure de distance est la distance de Bhattacharyya.
[0014] Un deuxième aspect de l’invention concerne un procédé de détection d’anomalies implémenté sur un microcontrôleur comportant au moins une mémoire, le microcontrôleur étant configuré pour recevoir des jeux de données multivariables en provenance d’au moins un capteur, la mémoire étant configurée pour stocker un nombre prédéfini de catégories, une catégorie étant associée à une moyenne et à une matrice de covariance, le procédé comportant les étapes du procédé d’apprentissage selon le premier aspect de l’invention suivies des étapes suivantes :
Pour chaque jeu de données reçu :
Stockage du jeu de données dans la mémoire ;
Pour chaque catégorie stockée dans la mémoire, calcul d’une deuxième mesure de distance entre le jeu de données et la catégorie, et sélection de la deuxième mesure de distance minimale ; Si une condition selon laquelle la deuxième mesure de distance minimale est supérieure à un seuil de distance est vérifiée, détection d’une anomalie ;
Suppression du jeu de données de la mémoire. [0015] Ainsi, le procédé de détection d’anomalies selon le deuxième aspect de l’invention utilise les catégories créées lors du procédé d’apprentissage selon le premier aspect de l’invention pour détecter efficacement les anomalies en mesurant la distance entre le jeu de données et chaque catégorie stockée dans la mémoire. Le jeu de données est considéré comme anormal s’il est trop éloigné des catégories stockées dans la mémoire.
[0016] Selon une variante de réalisation, la deuxième mesure de distance est la distance de Mahalanobis.
[0017] Selon une variante de réalisation compatible avec la variante de réalisation précédente, le seuil de distance est obtenu à partir de la distribution du c2 (« khi carrée »).
[0018] Selon une variante de réalisation compatible avec les variantes de réalisation précédentes, le seuil de distance est pondéré par un facteur de sensibilité. [0019] Ainsi, il est possible de régler la sensibilité du procédé aux jeux de données anormaux.
[0020] Un troisième aspect de l’invention concerne un calculateur configuré pour mettre en oeuvre les étapes du procédé d’apprentissage selon le premier aspect de l’invention et/ou les étapes du procédé de détection d’anomalies selon le deuxième aspect de l’invention, comportant un processeur et une mémoire et recevant des jeux de données multivariables en provenance d’au moins un capteur.
[0021] Selon une variante de réalisation, le calculateur selon l’invention est un microcontrôleur.
[0022] Un quatrième aspect de l’invention concerne un dispositif embarquant un microcontrôleur selon un troisième aspect de l’invention.
[0023] Un cinquième aspect de l’invention concerne un produit-programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en oeuvre les étapes du procédé d’apprentissage selon le premier aspect de l’invention et/ou les étapes du procédé de détection d’anomalies selon le deuxième aspect de l’invention.
[0024] L’invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l’examen des figures qui l’accompagnent.
BREVE DESCRIPTION DES FIGURES
[0025] Les figures sont présentées à titre indicatif et nullement limitatif de l’invention.
La figure 1 est un schéma synoptique illustrant l’enchaînement des étapes d’un procédé d’apprentissage selon l’invention.
La figure 2 est un schéma synoptique illustrant un premier exemple de réalisation d’une étape d’initialisation du procédé d’apprentissage selon l’invention.
La figure 3 est un schéma synoptique illustrant l’enchaînement des étapes d’un procédé de détection d’anomalies selon l’invention.
La figure 4 est une représentation schématique d’un dispositif embarquant un microcontrôleur selon l’invention.
DESCRIPTION DETAILLEE
[0026] Sauf précision contraire, un même élément apparaissant sur des figures différentes présente une référence unique.
[0027] Un premier aspect de l’invention concerne un procédé d’apprentissage incrémental pour la détection d’anomalies.
[0028] On entend par « apprentissage incrémental », un apprentissage réalisé à partir de données reçues au fur et à mesure du temps.
[0029] Un deuxième aspect de l’invention concerne un procédé de détection d’anomalies, comportant le procédé d’apprentissage selon le premier aspect de l’invention. [0030] Le procédé d’apprentissage selon le premier aspect de l’invention et le procédé de détection d'anomalies selon le deuxième aspect de l’invention sont chacun réalisés à partir de jeux de données multivariables.
[0031] Un jeu de données multivariable est un jeu de données comportant plusieurs variables, c’est-à-dire plusieurs types de données ou un seul type de données ayant une dimension multiple.
[0032] Une variable est par exemple une mesure de pression, une mesure de température, une mesure de vibration ou encore une mesure d’humidité.
[0033] Un jeu de données multivariable peut alors comporter par exemple une mesure de pression, une mesure de température, et une mesure d’humidité. Le jeu de données multivariable comporte alors trois variables.
[0034] On entend par « détection d’anomalies », l’identification de jeux de données particuliers qui diffèrent de manière significative des jeux de données traités en phase d’apprentissage.
[0035] La détection d’anomalies est par exemple utilisée pour la supervision de machines industrielles dans le cadre de la maintenance prédictive, pour la détection de surconsommations énergétiques dans un foyer ou encore pour détecter un intrus dans une pièce.
[0036] Le procédé d’apprentissage selon le premier aspect de l’invention et le procédé de détection d'anomalies selon le deuxième aspect de l’invention sont chacun implémentés sur un microcontrôleur recevant les jeux de données multivariables d’au moins un capteur.
[0037] Un troisième aspect de l’invention concerne un microcontrôleur configuré pour implémenter le procédé d’apprentissage selon le premier aspect de l’invention et/ou le procédé de détection selon le deuxième aspect de l’invention.
[0038] Ainsi, un même microcontrôleur peut être utilisé pour implémenter le procédé d’apprentissage selon le premier aspect de l’invention et le procédé de détection selon le deuxième aspect de l’invention. [0039] [Fig 4] La figure 4 montre une représentation schématique d’un microcontrôleur 200 selon le troisième aspect de l’invention.
[0040] Le microcontrôleur 200 est un circuit intégré comportant au moins un microprocesseur 202 et au moins une mémoire 201.
[0041] Sur la figure 4, le microcontrôleur 200 comporte une unique mémoire 201 et un unique microprocesseur 202.
[0042] Le microprocesseur 202 a par exemple une fréquence supérieure à 2 MHz. Le microprocesseur 202 est par exemple un microprocesseur de 50 MHz.
[0043] La mémoire 201 a par exemple une mémoire vive d’au moins 2 kilooctets. La mémoire 201 a par exemple une mémoire vive de 4 kilooctets. [0044] On fait l’hypothèse qu’une catégorie suit une distribution gaussienne que l’on peut associer à une moyenne et une matrice de covariance.
[0045] Le microcontrôleur 200 reçoit les jeux de données multivariables permettant la mise en oeuvre du procédé d’apprentissage selon le premier aspect de l’invention et/ou du procédé de détection selon le deuxième aspect de l’invention, d’au moins un capteur 203.
[0046] Comme les jeux de données sont multivariables, si le microcontrôleur 200 reçoit les jeux de données multivariables d’un unique capteur 203, le capteur 203 est alors capable d'acquérir des données de différents types. [0047] En reprenant l’exemple précédent du jeu de données multivariable comportant trois variables, l’unique capteur 203 est alors capable de réaliser des mesures de pression, des mesures de température, et des mesures d’humidité.
[0048] Le microcontrôleur peut également recevoir les jeux de données multivariables d’une pluralité de capteurs 203. Chaque capteur 203 peut être capable d’acquérir des données d’un unique type ou de différents types.
[0049] Sur la figure 4, le microcontrôleur reçoit les jeux de données multivariables de trois capteurs 203.
[0050] En reprenant l’exemple précédent du jeu de données multivariable comportant trois variables, un premier capteur 203 est par exemple capable de réaliser des mesures de pression, un deuxième capteur 203 des mesures de température, et un troisième capteur 203 des mesures d’humidité.
[0051] Un capteur 203 est par exemple un accéléromètre ayant une fréquence d’échantillonnage donnée et un nombre d’axes qui est par exemple égal à 3. Une mesure comporte alors 3 valeurs, chacune correspond à un axe.
[0052] Un capteur 203 est par exemple un thermomètre délivrant des mesures de température.
[0053] Un capteur 203 est par exemple un baromètre délivrant des mesures de pression.
[0054] Un capteur 203 est par exemple une caméra thermique. Une mesure est par exemple une matrice 8x8 de pixels.
[0055] Selon un premier mode de réalisation, chaque capteur 203 est connecté au microcontrôleur 200 via un bus de données série, par exemple un bus de données série I2C, SPI, CAN ou UART.
[0056] Selon un deuxième mode de réalisation, le microcontrôleur 200 reçoit par exemple les jeux de données multivariables de chaque capteur 203 via une connexion filaire, par exemple une liaison Ethernet, ou une connexion sans fil, par exemple une connexion Bluetooth ou Wifi.
[0057] Sur la figure 4, le microcontrôleur 200 est embarqué sur un dispositif 300.
[0058] Sur la figure 4, les capteurs 203 sont également embarqués sur le dispositif
300. Dans ce cas, le dispositif 300 peut être le dispositif pour lequel on veut réaliser la détection d’anomalies.
[0059] [Fig 1] La figure 1 est un schéma synoptique illustrant l’enchaînement des étapes du procédé 11 d’apprentissage selon le premier aspect de l’invention.
[0060] Le procédé 11 d’apprentissage est un procédé d’apprentissage incrémental non supervisé réalisé sur les jeux de données multivariables fournis par le ou les capteur(s) 203. [0061] On entend par « apprentissage non supervisé », un apprentissage automatique réalisé avec des données non étiquetées, c’est-à-dire des données brutes telles que fournies par le ou les capteur(s) 203.
[0062] Le procédé 11 d’apprentissage comporte une première étape 111 d’initialisation pendant laquelle au moins une catégorie est créée puis stockée dans la mémoire 201 du microcontrôleur.
[0063] Lors de la première étape 111 , le nombre de catégories créées est strictement inférieur à un nombre prédéfini de catégories, c’est-à-dire inférieur ou égal au nombre prédéfini de catégories moins un.
[0064] Le nombre prédéfini de catégories est choisie de manière que les capacités de stockage de la mémoire 201 lui permettent de stocker au moins un nombre de catégories égal au nombre prédéfini de catégories.
[0065] Par exemple, si la mémoire 201 a une mémoire vive de 4 kilooctets lui permettant par exemple de stocker 10 catégories au maximum, le nombre prédéfini de catégories est inférieur ou égal à 10.
[0066] [Fig 2] La figure 2 est un schéma synoptique illustrant un premier exemple de réalisation de la première étape 111 d’initialisation du procédé 11 d’apprentissage.
[0067] La première étape 111 illustrée sur la figure 2 est réalisée tant qu’une condition CN est vérifiée. La condition CN est vérifiée si le nombre de catégories stockées dans la mémoire 201 du microcontrôleur 200 est strictement inférieur au nombre prédéfini de catégories.
[0068] Par exemple, si le nombre prédéfini de catégories vaut 22, la première étape 111 est réalisée tant que 21 catégories ne sont pas stockées dans la mémoire 201.
[0069] Si la condition CN n’est pas ou plus vérifiée, la première étape 111 est terminée et l’on passe à une deuxième étape 112 du procédé 11 d’apprentissage.
[0070] Les sous-étapes de la première étape 111 sont réalisées pour au moins un ensemble de jeux de données multivariables appelé par la suite ensemble de jeux de données d’initialisation. [0071] Une première sous-étape 1111 de la première étape 111 consiste à calculer une moyenne et une matrice de covariance pour l’ensemble de jeux de données d’initialisation.
[0072] Considérons un jeu de données i comportant p variables. Un tel jeu de données i peut être modélisé par un vecteur tel que :
[0073] Considérons qu’un ensemble de jeux de données comporte n jeux de données et donc n x p variables. L’ensemble de jeux de données peut alors être modélisé par un vecteur È tel que :
[0074] La moyenne m de l’ensemble de jeux de données d’initialisation se calcule alors comme : [0075] Pour ne pas avoir besoin de mémoriser tous les jeux de données, la moyenne peut être calculée de manière incrémentale, c’est-à-dire :
[0076] La matrice de covariance Cov de l’ensemble de jeux de données d’initialisation se calcule alors comme :
[0077] Avec Cov(Y, Z), la covariance entre une variable Y et une variable Z s’exprimant comme :
[0078] Pour ne pas avoir besoin de mémoriser tous les jeux de données, la matrice de covariance peut être calculée de manière incrémentale :
[0079] La matrice de covariance Cov telle que définie est une matrice carrée.
[0080] Si l’on considère un exemple simple dans lequel chaque jeu de données comporte deux variables et que l’ensemble de jeux de données comporte trois jeux de données, on obtient :
/ CovfXX) Cov(X ) Cov(X ) \
Covn(E) = CovXX) CovX X )CovX )
\covXX) CovX X ) CovX X ) J
[0081] Une deuxième sous-étape 1112 de la première étape 111 est réalisée si une condition CS est vérifiée pour la matrice de covariance de l’ensemble de jeux de données d’initialisation. La condition CS pour un ensemble donné est vérifiée si la matrice de covariance de l’ensemble donné est mal conditionnée.
[0082] On considère par exemple que la condition CS n’est pas vérifiée si la factorisation LU de la matrice de covariance satisfait certaines conditions sur les éléments diagonaux, par exemple si le rapport entre l’élément diagonal minimal et l’élément diagonal maximal est supérieur à un seuil.
[0083] La décomposition LU de la matrice de covariance Cov peut s’écrire :
Cov = LU
[0084] Avec L une matrice triangulaire inférieure et U une matrice triangulaire supérieure.
[0085] Le seuil est par exemple compris entre 0.0001 et 0.1 .
[0086] Une matrice carrée est mal conditionnée si sa matrice inverse est sensible aux légères modifications de ses éléments.
[0087] Ainsi, si la condition CS n’est pas vérifiée pour l’ensemble de jeux de données d’initialisation initial, c’est-à-dire si la matrice de covariance calculée pour l’ensemble de jeux de données d’initialisation initial est bien conditionnée, la deuxième sous-étape 1112 n’est pas réalisée et l’on passe à une troisième sous-étape 1113 de la première étape 111.
[0088] La deuxième sous-étape 1112 consiste à ajouter un jeu de données dans l’ensemble de jeux de données d’initialisation puis à mettre à jour la moyenne et la matrice de covariance de l’ensemble de jeux de données d’initialisation, c’est-à-dire à recalculer la moyenne et la matrice de covariance pour l’ensemble de jeux de données d’initialisation auquel a été ajouté le jeu de données.
[0089] Si à la suite de la deuxième sous-étape 1112, la condition CS est toujours vérifiée, on réalise à nouveau la deuxième sous-étape 1112 et ainsi de suite jusqu’à ce que la condition CS ne soit plus vérifiée.
[0090] Dès que la condition CS n’est plus vérifiée pour l’ensemble de jeux de données d’initialisation auquel a été ajouté au moins un nouveau jeu de données, on passe à la troisième sous-étape 1113.
[0091] La troisième sous-étape 1113 consiste à créer une catégorie associée à la moyenne et à la matrice de covariance de l’ensemble de jeux de données d’initialisation puis à stocker la catégorie créée dans la mémoire 201 du microcontrôleur 200.
[0092] La matrice de covariance associée à la catégorie est la matrice de covariance pour laquelle la condition CS n’a pas été vérifiée, c’est-à-dire une matrice de covariance bien conditionnée. La matrice de covariance associée à la catégorie peut être la matrice de covariance calculée pour l’ensemble de jeux de données d’initialisation initial ou pour l’ensemble de jeux de données d’initialisation initial auquel a été ajouté un ou plusieurs jeu(x) de données lors de la deuxième sous-étape 1112.
[0093] Les sous-étapes de la première étape 111 sont réalisées tant que la condition CN est vérifiée, c’est-à-dire tant qu’il y a un nombre de catégories stockées dans la mémoire 201 strictement inférieur au nombre prédéfini de catégories.
[0094] Selon un deuxième exemple de réalisation, la première étape 111 d’initialisation peut consister à créer un nombre de catégories strictement inférieur au nombre prédéfini de catégories, en associant une moyenne et une matrice de covariance aléatoires ou prédéterminées à chaque catégorie.
[0095] Les étapes suivantes du procédé 11 d’apprentissage sont réalisées pour au moins un ensemble de jeux de données multivariables appelé par la suite ensemble de jeux de données d’apprentissage. [0096] Une deuxième étape 112 du procédé 11 d’apprentissage consiste à calculer une moyenne et une matrice de covariance pour l’ensemble de jeux de données d’apprentissage.
[0097] Une troisième étape 113 du procédé 11 d’apprentissage est réalisée si la condition CS est vérifiée pour l’ensemble de jeux de données d’apprentissage, c’est- à-dire si la matrice de covariance associée à l’ensemble de jeux de données d’apprentissage est mal conditionnée.
[0098] Si la condition CS n’est pas vérifiée pour l’ensemble de jeux de données d’apprentissage initial, c’est-à-dire si la matrice de covariance associée à l’ensemble de jeux de données d’apprentissage est bien conditionnée, la troisième étape 113 n’est pas réalisée et l’on passe à une quatrième étape 114 du procédé 11 d’apprentissage.
[0099] La troisième étape 113 consiste à ajouter un jeu de données dans l’ensemble de jeux de données d’apprentissage puis à mettre à jour la moyenne et la matrice de covariance de l’ensemble de jeux de données d’apprentissage, c’est-à-dire à recalculer la moyenne et la matrice de covariance pour l’ensemble de jeux de données d’apprentissage auquel a été ajouté le jeu de données.
[00100] Si à la suite de la troisième étape 113, la condition CS est toujours vérifiée, on réalise à nouveau la troisième étape 113 et ainsi de suite jusqu’à ce que la condition CS ne soit plus vérifiée.
[00101] Dès que la condition CS n’est plus vérifiée pour l’ensemble de jeux de données d’apprentissage auquel a été ajouté au moins un nouveau jeu de données, on passe à la quatrième étape 114.
[00102] La quatrième étape 114 consiste à créer une catégorie associée à la moyenne et à la matrice de covariance de l’ensemble de jeux de données d’apprentissage puis à stocker la catégorie créée dans la mémoire 201 .
[00103] La matrice de covariance associée à la catégorie est la matrice de covariance pour laquelle la condition CS n’a pas été vérifiée, c’est-à-dire une matrice de covariance bien conditionnée. La matrice de covariance associée à la catégorie peut être la matrice de covariance calculée pour l’ensemble de jeux de données d’apprentissage initial ou pour l’ensemble de jeux de données d’apprentissage initial auquel a été ajouté un ou plusieurs jeu(x) de données lors de la troisième étape 113.
[00104] Une cinquième étape 115 consiste ensuite à calculer, pour chaque catégorie stockée dans la mémoire 201 , une première mesure de distance entre la catégorie et chaque autre catégorie stockée dans la mémoire 201 .
[00105] Par exemple, si une première catégorie, une deuxième catégorie et une troisième catégorie sont stockées dans la mémoire 201 , la cinquième étape 115 consiste à calculer une première mesure de distance entre la première catégorie et la deuxième catégorie, une première mesure de distance entre la première catégorie et la troisième catégorie et une première mesure de distance entre la deuxième catégorie et la troisième catégorie.
[00106] La première mesure de distance entre une première catégorie associée à une moyenne rm et à une matrice de covariance M1 et une deuxième catégorie associée à une moyenne rri2 et à une matrice de covariance M2 est par exemple la distance de Bhattacharyya DB se définissant comme :
1 _ 1 det M
Dp, = — (m ‘ l
[00107] Avec : AT la transposée de la matrice A, A 1 l’inverse de la matrice A, det A le déterminant de la matrice A, In l’opérateur logarithme népérien et M la matrice se définissant comme :
[00108] Une sixième étape 116 consiste ensuite à sélectionner les deux catégories pour lesquelles la première mesure de distance minimale a été calculée à la cinquième étape 115, c’est-à-dire la première mesure de distance ayant la valeur la plus faible parmi l’ensemble des premières mesures de distance calculées à la cinquième étape 115, puis à fusionner les deux catégories sélectionnées pour créer une unique catégorie.
[00109] Pour fusionner une première catégorie associée à ni jeux de données, une moyenne mi et à une matrice de covariance Mi et une deuxième catégorie associée à n2jeux de données, une moyenne rri2et à une matrice de covariance M2, on crée par exemple une catégorie associée à n jeux de données, une moyenne m et une matrice de covariance M telles que : n = n1 + n2
[00110] Les deux catégories fusionnées à la sixième étape 116 peuvent être la catégorie créée à la quatrième étape 114 et une autre catégorie stockée dans la mémoire 201 ou deux catégories stockées dans la mémoire 201 différente de la catégorie créée à la quatrième étape 114.
[00111] [Fig 3] La figure 3 est un schéma synoptique illustrant l’enchaînement des étapes du procédé 10 de détection d’anomalies selon le deuxième aspect de l’invention.
[00112] Une fois le procédé 11 d’apprentissage réalisé, les étapes du procédé 10 de détection d’anomalies selon le deuxième aspect de l’invention sont réalisées pour chaque jeu de données reçu par le ou les capteur(s) 203.
[00113] Sur la figure 3, le procédé 11 d’apprentissage est considéré comme une première étape 11 du procédé 10 de détection d'anomalies.
[00114] Une deuxième étape 12 du procédé 10 de détection d’anomalies consiste à stocker le jeu de données reçu dans la mémoire 201 du microcontrôleur 200.
[00115] Une troisième étape 13 du procédé 10 de détection d’anomalies consiste à calculer, pour chaque catégorie stockée dans la mémoire 201 , une deuxième mesure de distance entre le jeu de données et la catégorie.
[00116] Par exemple, si une première catégorie, une deuxième catégorie et une troisième catégorie sont stockées dans la mémoire 201 , la troisième étape 13 consiste à calculer une deuxième mesure de distance entre le jeu de données et la première catégorie, une deuxième mesure de distance entre le jeu de données et la deuxième catégorie et une deuxième mesure de distance entre le jeu de données et la troisième catégorie.
[00117] La deuxième mesure de distance entre un jeu de données modélisé par un vecteur X et une catégorie associée à une moyenne m et à une matrice de covariance M est par exemple la distance de Mahalanobis DM se définissant comme :
[00118] La troisième étape 13 consiste ensuite à sélectionner la deuxième mesure de distance minimale, c’est-à-dire la deuxième mesure de distance ayant la valeur la plus faible parmi l’ensemble des deuxièmes mesures de distance calculées à la troisième étape 13.
[00119] Une quatrième étape 14 du procédé 10 de détection d’anomalies est réalisée si une condition CP est vérifiée. La condition CP est vérifiée si la deuxième mesure de distance minimale est supérieure à un seuil de distance.
[00120] Si la condition CP n’est pas vérifiée, c’est-à-dire si la deuxième mesure de distance minimale est inférieure au seuil de distance, la quatrième étape 14 n’est pas réalisée et l’on passe directement à une cinquième étape 15.
[00121] Le seuil de distance est par exemple obtenu à partir de la distribution du c2 (« khi carrée ») en choisissant comme degré de liberté le nombre de variables dans le jeu de données.
[00122] Le seuil de distance est par exemple pondéré par un facteur de sensibilité. Le facteur de sensibilité est par exemple compris entre 0.5 et 1 .5. Par défaut, le facteur de sensibilité est fixé à 1 .
[00123] La quatrième étape 14 consiste à détecter une anomalie.
[00124] La quatrième étape 14 peut par exemple consister dans le déclenchement d’une alarme ou dans l’envoi d’un message d’alerte à un équipement donné.
[00125] La cinquième étape 15 du procédé 10 de détection d’anomalies consiste à supprimer le jeu de données reçu de la mémoire 201 du microcontrôleur 200.

Claims

REVENDICATIONS
[Revendication 1] Procédé (11 ) d’apprentissage incrémental pour la détection d’anomalies implémenté sur un microcontrôleur (200) comportant au moins une mémoire (201 ), le microcontrôleur (200) étant configuré pour recevoir des jeux de données multivariables en provenance d’au moins un capteur (203), la mémoire (201 ) étant configurée pour stocker un nombre prédéfini de catégories, une catégorie étant associée à une moyenne et à une matrice de covariance, le procédé (11 ) étant caractérisé en ce qu’il comporte les étapes suivantes :
- Initialisation comportant au moins une sous-étape de création d’une catégorie et de stockage de la catégorie dans la mémoire (201 ), de manière que le nombre de catégories créées soit strictement inférieur au nombre prédéfini de catégories (111 ) ;
- Pour au moins un ensemble de jeux de données d’apprentissage : o Calcul d’une moyenne et d’une matrice de covariance pour l’ensemble de jeux de données d’apprentissage (112) ; o Tant qu’une condition (CS) selon laquelle la matrice de covariance de l’ensemble de jeux de données d’apprentissage est mal conditionnée est vérifiée, la condition (CS) dépendant d’une factorisation LU de la matrice de covariance :
• Ajout d’un jeu de données dans l’ensemble de jeux de données d’apprentissage et mise à jour de la moyenne et de la matrice de covariance de l’ensemble de jeux de données d’apprentissage (113) ; o Création d’une catégorie associée à la moyenne et à la matrice de covariance de l’ensemble de jeux de données d’apprentissage et stockage de la catégorie dans la mémoire (201 , 1 14) ; o Pour chaque catégorie stockée dans la mémoire (201 ), calcul d’une première mesure de distance entre la catégorie et chaque autre catégorie stockée dans la mémoire (201 ) à partir des moyennes et matrices de covariance associées (115) ; o Sélection des deux catégories correspondant à la première mesure de distance minimale et création d’une unique catégorie par fusion des deux catégories sélectionnées (116).
[Revendication 2] Procédé (11 ) d’apprentissage selon la revendication 1 , caractérisé en ce que l’étape (111 ) d’initialisation comporte les sous-étapes suivantes :
- Tant qu’une condition (CN) selon laquelle le nombre de catégories stockées dans la mémoire est strictement inférieur au nombre prédéfini de catégories est vérifiée : o Pour un ensemble de jeux de données d’initialisation :
• Calcul d’une moyenne et d’une matrice de covariance pour l’ensemble de jeux de données d’initialisation (1111 ) ;
• Tant que la condition (CS) selon laquelle la matrice de covariance de l’ensemble de jeux de données d’initialisation est mal conditionnée est vérifiée :
Ajout d’un jeu de données dans l’ensemble de jeux de données d’initialisation et mise à jour de la moyenne et de la matrice de covariance de l’ensemble de jeux de données d’initialisation (1112) ;
• Création d’une catégorie associée à la moyenne et à la matrice de covariance de l’ensemble de jeux de données d’initialisation et stockage de la catégorie dans la mémoire (201 , 1113).
[Revendication s] Procédé (11 ) d’apprentissage selon l’une quelconque des revendications précédentes, caractérisé en en ce que la première mesure de distance est la distance de Bhattacharyya.
[Revendication 4] Procédé (10) de détection d’anomalies implémenté sur un microcontrôleur (200) comportant au moins une mémoire (201 ), le microcontrôleur (200) étant configuré pour recevoir des jeux de données multivariables en provenance d’au moins un capteur (203), la mémoire (201 ) étant configurée pour stocker un nombre prédéfini de catégories, une catégorie étant associée à une moyenne et à une matrice de covariance, le procédé (10) étant caractérisé en ce qu’il comporte les étapes du procédé (11 ) d’apprentissage selon l’une quelconque des revendications précédentes suivies des étapes suivantes :
- Pour chaque jeu de données reçu : o Stockage du jeu de données dans la mémoire (201 , 12) ; o Pour chaque catégorie stockée dans la mémoire (201 ), calcul d’une deuxième mesure de distance entre le jeu de données et la catégorie, et sélection de la deuxième mesure de distance minimale (13) ; o Si une condition (CP) selon laquelle la deuxième mesure de distance minimale est supérieure à un seuil de distance est vérifiée, détection d’une anomalie (14) ; o Suppression du jeu de données de la mémoire (201 , 15).
[Revendication 5] Procédé (10) de détection d’anomalies selon la revendication 4, caractérisé en ce que la deuxième mesure de distance est la distance de Mahalanobis.
[Revendication 6] Procédé (10) de détection d’anomalies l’une quelconque des revendications 4 ou 5, caractérisé en ce que le seuil de distance est obtenu à partir de la distribution du c2 (« khi carrée »).
[Revendication 7] Procédé (10) de détection d’anomalies l’une quelconque des revendications 4 à 6, caractérisé en ce que le seuil de distance est pondéré par un facteur de sensibilité.
[Revendication 8] Calculateur configuré pour mettre en oeuvre les étapes du procédé (11 ) d’apprentissage selon l’une quelconque des revendications 1 à 3 et/ou les étapes du procédé (10) de détection d’anomalies selon l’une quelconque des revendications 4 à 7, caractérisé en ce qu’il comporte un processeur (202) et une mémoire (201 ) et qu’il reçoit des jeux de données multivariables en provenance d’au moins un capteur (203).
[Revendication 9] Microcontrôleur (200) selon la revendication 8. [Revendication 10] Dispositif (300) embarquant un calculateur selon la revendication 8 ou 9.
[Revendication 11] Produit-programme d’ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en oeuvre les étapes du procédé (11) d’apprentissage selon l’une quelconque des revendications 1 à 3 et/ou les étapes du procédé (10) de détection d’anomalies selon l’une quelconque des revendications 4 à 7.
EP21733998.5A 2020-06-25 2021-06-21 Procede d'apprentissage pour la detection d'anomalies a partir de jeux de donnees multivariables et procede de detection d'anomalies associe Pending EP4172815A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2006674A FR3112000B1 (fr) 2020-06-25 2020-06-25 Procede d’apprentissage pour la detection d’anomalies a partir de jeux de donnees multivariables et procede de detection d’anomalies associe
PCT/EP2021/066867 WO2021259870A1 (fr) 2020-06-25 2021-06-21 Procede d'apprentissage pour la detection d'anomalies a partir de jeux de donnees multivariables et procede de detection d'anomalies associe

Publications (1)

Publication Number Publication Date
EP4172815A1 true EP4172815A1 (fr) 2023-05-03

Family

ID=72885682

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21733998.5A Pending EP4172815A1 (fr) 2020-06-25 2021-06-21 Procede d'apprentissage pour la detection d'anomalies a partir de jeux de donnees multivariables et procede de detection d'anomalies associe

Country Status (5)

Country Link
US (1) US20230126849A1 (fr)
EP (1) EP4172815A1 (fr)
CN (1) CN115917534A (fr)
FR (1) FR3112000B1 (fr)
WO (1) WO2021259870A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12314352B2 (en) 2023-06-22 2025-05-27 Bank Of America Corporation Using machine learning for collision detection to prevent unauthorized access

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751354B2 (en) * 1999-03-11 2004-06-15 Fuji Xerox Co., Ltd Methods and apparatuses for video segmentation, classification, and retrieval using image class statistical models
DE102017220954A1 (de) * 2017-11-23 2019-05-23 Robert Bosch Gmbh Verfahren, Vorrichtung und Computerprogramm zur Ermittlung einer Anomalie

Also Published As

Publication number Publication date
US20230126849A1 (en) 2023-04-27
FR3112000A1 (fr) 2021-12-31
FR3112000B1 (fr) 2024-03-01
WO2021259870A1 (fr) 2021-12-30
CN115917534A (zh) 2023-04-04

Similar Documents

Publication Publication Date Title
US11716338B2 (en) System and method for determining a file-access pattern and detecting ransomware attacks in at least one computer network
US20220053010A1 (en) System and method for determining a communication anomaly in at least one network
JP6871877B2 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
CN109947079A (zh) 基于边缘计算的区域异常检测方法和边缘计算设备
CN112131075B (zh) 一种用于存储监控数据异常检测的方法及设备
CN114861172B (zh) 一种基于政务服务系统的数据处理方法及系统
EP3234802A1 (fr) Procédé de transmission de données issues d'un capteur
CN113535454A (zh) 一种日志数据异常检测的方法及设备
EP3785158A1 (fr) Systeme de securisation de procede cyber-physique
EP4172815A1 (fr) Procede d'apprentissage pour la detection d'anomalies a partir de jeux de donnees multivariables et procede de detection d'anomalies associe
CN118504751A (zh) 一种松散回潮工序中烟片出口含水率的预测方法、系统、介质和设备
EP3385899A1 (fr) Procédé de détection en temps réel d'une scène par un appareil et appareil correspondant
EP3742296B1 (fr) Procede d'apprentissage pour la detection d'anomalies implemente sur un microcontroleur et procede de detection d'anomalies associe
FR3089648A1 (fr) Procede de detection non supervise d’attaques internes et systeme associe
EP4142262A1 (fr) Procédé de transmission de données métrologiques et dispositif mettant en oeuvre le procédé
CN115098287A (zh) 传感数据的异常检测方法、装置、电子设备及存储介质
FR2875626A1 (fr) Procede de detection et de pistage de cibles ponctuelles, dans un systeme de surveillance optronique
CN113312750A (zh) 一种金属材料环境敏感度的获取方法及装置
CN116028337B (zh) 基于应用程序的数据处理方法、装置、计算机设备和存储介质
CN116232668B (zh) 一种dns隧道攻击的检测方法、系统及装置
CN120336768B (zh) 基于联邦知识图谱的海洋生物多样性大数据协同分析方法
CN119135452B (zh) 一种攻击检测方法、装置、电子设备和存储介质
CN118378036B (zh) 故障检测方法、装置、计算机设备以及存储介质
CN116206372B (zh) 活体检测方法、系统、计算机设备和存储介质
CN116860492A (zh) 接口异常检测方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20230116

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)