EP4182859A1 - Generating noisy copies of training data in a method for detecting anomalies - Google Patents

Generating noisy copies of training data in a method for detecting anomalies

Info

Publication number
EP4182859A1
EP4182859A1 EP21755801.4A EP21755801A EP4182859A1 EP 4182859 A1 EP4182859 A1 EP 4182859A1 EP 21755801 A EP21755801 A EP 21755801A EP 4182859 A1 EP4182859 A1 EP 4182859A1
Authority
EP
European Patent Office
Prior art keywords
noisy
data
training data
learning module
training
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
EP21755801.4A
Other languages
German (de)
French (fr)
Inventor
Roman MOSCOVIZ
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.)
Suez International SAS
Original Assignee
Suez International 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 Suez International SAS filed Critical Suez International SAS
Publication of EP4182859A1 publication Critical patent/EP4182859A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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

Definitions

  • the invention relates to a method for detecting anomalies.
  • the invention relates to an automatic learning method for the detection of abnormal data in a data set.
  • Anomaly detection is a well-known subject especially in the field of data mining, in English Data Mining, with many industrial applications such as sorting objects on a recycling chain, monitoring measurement sensors or any other plant supervision application.
  • the training data is generally composed of a large majority of "normal” data, while the anomaly data is generally weakly represented. This then raises a relatively important concern about the robustness of the training of the machine learning modules, in particular when they are supervised.
  • the SMOTE method tends to densify sparsely represented data areas so as to reduce the imbalance of the data set.
  • the training datasets include few or no examples of anomalous data, and there is a strong constraint on the accuracy of the detections obtained.
  • a method for detecting anomalies implemented by computer in a data set comprising the provision of a data set of labeled training comprising at least one training datum representative of a normal state of the analyzed data of the analyzed data.
  • the process includes:
  • a step of forming a set of noisy training data comprising said set of training data and said at least one associated noisy copy
  • the at least one noise generation parameter which includes a maximum noise amplitude to be added to all or part of the data of the training data set constitutes a simple and particularly robust parameter for obtaining distinct noisy copies of controlled manner.
  • the step of generating a noisy copy may in particular comprise the generation of noisy copies comprising the noise of only one part of the training data set, for example by random selection of the data to be noisy, so as to ensure a completely random distribution of the noisy data.
  • the noise parameter can have a different value but can also take identical values for all or part of the noisy copies. Indeed, the noise being added randomly, the same noise parameter will generate different noisy copies so that their performance may vary.
  • the method implements in parallel the steps of generating a plurality of noisy copies, and for each noisy copy generated, the method implements in parallel, the steps of constitution, training, and calculation, the determining step determining the set of noisy training data having a maximum detection performance among the performances calculated by the parallel calculation steps.
  • said generation, constitution, training and calculation steps are implemented iteratively, for example incrementally or dichotomously, so that at each iteration the detection performance of said automatic learning module calculated is compared with the detection performance of said automatic learning module calculated at the previous iteration.
  • an iterative implementation allows a relatively lightweight approach, especially in terms of memory footprint, to determine the optimal noise parameter value.
  • said generation, constitution, training and calculation steps are implemented incrementally, so that at each iteration the noise generation parameter value is incremented by a predetermined step, and if the performance calculated at the previous iteration is lower than that calculated at the current iteration, a new iteration of the generation, constitution, training and calculation steps is carried out.
  • the set of labeled training data also includes at least one example of anomalous data.
  • the machine learning module even more robust, with even better control over false positives, without diminishing the anomaly detection performance.
  • the step of calculating the performance of detection of said automatic learning module is also a function of the rate of false negatives obtained by the implementation of the automatic learning module on at least one example of abnormal data.
  • the step of calculating the performance of detection of said automatic learning module is also a function of the rate of false negatives obtained by the implementation of the automatic learning module on at least one example of abnormal data.
  • said step of calculating the detection performance comprises calculating an average between the rate of false positives and the rate of false negatives. This is a simple and relatively reliable method for calculating overall performance.
  • said average is weighted according to a predetermined coefficient.
  • the weighting makes it possible to give more weight either to the false-positives or to the false-negatives in the overall calculation of the performance, in order to take into account the most important criterion of the two, in particular with regard to the technical field for which the process is implemented.
  • the determination step further comprises a comparison of the maximum detection performance determined with a target performance value, so that if the maximum detection performance is lower than the performance value target, a new implementation of the method is carried out with new values of noise generation parameters.
  • the method according to the invention can be relaunched with new sold-out copies, for example by changing the sold-out parameters, so as to continue the search for a set of sold-out data. showing satisfactory performance.
  • said at least one brait generation parameter comprises a statistical brait distribution, such as a Gaussian white additive brait or a colored brait.
  • a statistical brait distribution such as a Gaussian white additive brait or a colored brait.
  • the machine learning module comprises one module among: a one-class support vector machine, a decision tree, a forest of decision trees, a method of the k nearest neighbors or an auto-encoder.
  • a one-class support vector machine a decision tree
  • a forest of decision trees a method of the k nearest neighbors or an auto-encoder.
  • the invention also relates to a method for classifying a material, to be classified in a list of predetermined materials, such as a list of plastic resins, each material being associated with at least one measurement parameter, such as an absorption spectrum; the classification method comprising, for each material of the predetermined list of materials, the implementation of the anomaly detection method as described previously.
  • the invention also relates to a computer program comprising program code instructions for the execution of the steps of the anomaly detection method as described previously and/or for the execution of the preceding classification method, when said program is run on a computer.
  • FIG. 1 is a flowchart of a first embodiment of the method according to the invention.
  • FIG. 2 is a flowchart of a second embodiment of the method according to the invention.
  • FIG. 3 is a schematic representation of the noisy and non-noisy training datasets implemented by the invention.
  • method 1 is implemented to detect non-recyclable plastic resins in a polyethylene recycling chain.
  • the invention can be implemented in any technical field, whether in the field of biology, for example to carry out the detection of bacteria, in astrophysics or in any other technical field where the detection fault should be performed.
  • Anomaly detection method 1 implements an unsupervised machine learning module.
  • Any type of unsupervised machine learning module can be implemented. Indeed, as will emerge from the description, the invention is based in particular on the automatic optimization of the training data. The method makes it possible in this respect to optimize the implementation of any type of automatic learning module.
  • one-class support vector machines called one-class SVM
  • trees of decision tree known as Decision Tree
  • decision tree forests in particular Isolation Forests, auto-encoders, or even the K-Nearest Neighbors method. All these methods are well known to those skilled in the art, and their particular implementation is not discussed here.
  • the objective is not to classify the data among a set of classes, as is known to do in a classification process, but to determine whether each datum of entry belongs to the unique class sought or not, in other words if it is an anomaly with respect to the other data.
  • the one-class SVM is particularly useful for detecting observations or measurements whose characteristics differ significantly from the expected data. This data is commonly referred to in the technical field as outliers, or outliers.
  • the module looks for a hyperplane, like the classic SVM, with the difference that this hyperplane aims to separate all the data from the origin in the space in which the data is projected, while maximizing the distance from the hyperplane to the data, so as to reduce the margin between the data and the hyperplane.
  • the method separates the space by a hypersphere which aims to encompass all the training data and to find the smallest hypersphere allowing to encompass all this data.
  • the machine learning module detects data as "abnormal” in an erroneous way, and the risk of false negatives, in other words the module detects that the data is "normal” when it is actually data "abnormal”.
  • over-sorting steps can eliminate non-recyclable materials; which will lead to an increase in waste treatment costs, ranging, for example, from €80 to €150 per ton.
  • the impact relates to the quality of the recycled material produced if an incompatible material is mixed with a modification of the expected properties; this has the consequence of not being able to market the recycled materials on the expected markets and of sending them to markets with lower added value, with a loss of between €100 and €300 per tonne, for example.
  • the invention aims to reduce the risk of all false detections in the case of the implementation of unsupervised machine learning modules.
  • Method 1 uses multiple datasets.
  • Figure 3 is a schematic representation of a training data set 20.
  • Each data in Figure 3 is a point of the plane; in other words, data made of a two-dimensional vector, so that the training data set 20 can be represented in a plane.
  • the reference 21 represents the noisy copy 21 of the training data. But the training data 20 being superimposed on the noisy data 21, all the data of the noisy copy 21 cannot be seen in FIG. dimensions greater than 2 or 3.
  • the training data set 20 may also include examples of anomalies. This is particularly advantageous because these examples of anomalies make it possible to obtain a module more robust machine learning by further improving control over false positive detection.
  • a set of labeled test data representative of the normal state of the analyzed data is also provided.
  • This set of test data which is a classic element of machine learning methods, makes it possible to calculate the performance of a trained machine learning module, by identifying the rate of correct detections made on a set of data whose component data we already know.
  • Method 1 trains the unsupervised automatic learning module, also from a set of noisy training data.
  • the objective is to optimally calibrate the added noise to improve the robustness of the learning module.
  • the noise added to the training data 20 is determined according to at least one noise parameter, in particular according to a random value limited in amplitude.
  • an input data of a machine learning module whether training, test or data to be analyzed, comprises a plurality of numerical values, usually organized as a vector or matrix.
  • a labeled datum associates an absorption spectrum with a material, here polyethylene.
  • the absorption spectrum is then an N-dimensional vector of absorbance values. N being the number of sample values in the spectrum.
  • the analysis spectrum being obtained by a so-called near infrared method
  • the spectrum is for example obtained between 780nm and 2500nm.
  • a number N of sampling points of the spectrum obtained during the analysis of the object is then defined, forming input data associated with the object.
  • noise threshold is understood to mean the maximum value in amplitude of the generated noise.
  • the noise generation method for the different data can be a method of generating an additive white Gaussian noise or a colored noise, in other words a noise whose power spectral density is not constant over the spectrum. This choice can be made by a person skilled in the art.
  • the generation step 10 of a noisy copy 21 does not necessarily include the noise of all the data of the training data set, but may include the noise of only part of this set , for example by random selection of the data to be noisy, so as to ensure a completely random distribution of the noisy data.
  • the amount of noisy input data may also be increased a posteriori if the detection performance as calculated 13 later in the description is not sufficient.
  • the search for the optimal noise value is carried out by a search grid method in which a plurality of noise parameters are used in parallel.
  • the number of noisy data 21 calculated is determined by the person skilled in the art according to the available calculation time, the desired search granularity and the desired training speed.
  • Each generation step 10-10 being independent, and each noisy copy 21 obtained being produced according to a noise threshold value different from the other noisy copies, or according to a different noise mode (white noise, colored noise).
  • noisy copies 21 are obtained in parallel.
  • step 11-11 of constitution of a noisy training data set 22, comprising the training data set 20 and its noisy copy 21. Also , one obtains as many noisy training data sets 22 as there are distinct noisy copies 21 .
  • training data is divided into two samples, a first training sub-sample comprising 80% of the training data set and a second test sub-sample made of the remaining 20%, not not be confused with the test data set of computation step 13.
  • training sub-steps based on the training sub-sample are repeated several times and the hyper- parameters of the machine learning module depending on the error obtained at each repetition of the training sub-steps, the calculated error can be a performance score of the model on the test sample, such as the squared error medium.
  • training sub-steps are therefore repeated a plurality of times, for example between 20 and 50 times, in particular 30 times, so as to cause the hyper-parameters of the model to converge to an optimal value as a function of the set of noisy training data 21.
  • this order of magnitude is given solely by way of example and depends in particular on the calculation time available for the training.
  • the performance of the machine learning module is calculated by implementing the trained module with the labeled test data set.
  • This calculation step 13 can be refined, according to an alternative implementation, also taking into account the number of false negatives, otherwise depending on the number of abnormal data wrongly considered as normal. This is possible only when the test dataset also includes abnormal data. Also it is advantageous to have a set of test data also including examples of anomalous data.
  • the performance can then be estimated as an average of the false-negative and false-positive rates, possibly weighted according to the importance given respectively to the type of false.
  • method 1 can be restarted at steps 10-10” by creating new datasets that have been reduced, for example by creating datasets that have been reduced from values of thresholds of noise presenting a refined granularity around the brait threshold having made it possible to obtain the maximum performance during the determination step, in order to seek an even better maximum value.
  • method 1' differs from the previous method 1 in that it is implemented incrementally, and not according to the grid mode. of research put in work previously.
  • the incremental method described below is an example of iterative implementation of the invention.
  • the invention is not limited to this single incremental method and can be adapted to other methods, such as a dichotomous approach or a heuristic method to perform an iterative search for optimum.
  • the method 1′ first proceeds to a generation step 10 of a first noisy copy 21, from a first noise threshold value.
  • the noise threshold value is, during the initialization of the process 1′, initialized to a minimum value, which corresponds to the smallest added noise. At each iteration of method 1′, the noise threshold is incremented by one step, determined according to the desired granularity.
  • the noise threshold values in other words the noise amplitude, can be freely adapted by those skilled in the art.
  • brait threshold value of the previous iteration was optimal and one can then proceed to the implementation step 15 of the machine learning module trained from the braited copy obtained for the brait threshold value of the previous iteration.
  • a performance maximum when it is determined during the determination step 14' that a performance maximum has been found, it may be a local maximum and not the optimal performance maximum. Also, according to a particular implementation of this second embodiment, it is possible to carry out a plurality of new iterations, for example for a predetermined number of iterations, in order to check whether a new improvement in performance can be obtained for the subsequent iterations. This prevents the process from stopping at a local maximum.
  • the invention described here makes it possible to obtain an anomaly detection method implementing unsupervised automatic learning modules having an operation optimized by the addition of controlled noise in the training data.
  • the invention can also be used for classification purposes.
  • the invention may relate to a classification method, for example material classification, to be classified in a predetermined list of materials, such as a list of plastic resins.
  • each material is associated with at least one measurement parameter, such as an absorption spectrum, as explained above.
  • the classification process then implements, for each material from the predetermined list of materials, a process 1, 1' for detecting anomalies as described above. This allows, through the implementation of several anomaly detection processes, to perform a relatively efficient and robust classification.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
  • Image Analysis (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

Computer-implemented method (1) for detecting anomalies in a dataset, implementing an unsupervised machine learning module, comprising a step of generating (10-10'') a plurality of noisy copies of all or some of the data of the training dataset, each noisy copy being obtained based on at least one noise generation parameter, for each noisy copy, a step of training (12-12'') said machine learning module based on said associated noisy training dataset, and a step of determining (14, 14') the noisy training dataset exhibiting a maximum detection performance.

Description

Description Description
Titre de l’invention : Title of the invention:
GENERATION DE COPIES DE DONNEES D'ENTRAINEMENT BRUITEES DANS UN PROCÉDÉ DE DÉTECTION D'ANOMALIES GENERATION OF COPIES OF NOISED TRAINING DATA IN AN ANOMALY DETECTION PROCESS
[1] L’invention concerne un procédé de détection d’anomalies. [1] The invention relates to a method for detecting anomalies.
[2] Plus particulièrement l’invention concerne un procédé d’apprentissage automatique pour la détection de données anormales dans un ensemble de données. [2] More particularly, the invention relates to an automatic learning method for the detection of abnormal data in a data set.
[3] La détection d’anomalies est un sujet bien connu notamment dans le domaine de l’exploration de données, en anglais Data Mining, avec de nombreuses applications industrielles telles que le tri d’objets sur une chaîne de recyclage, le suivi de capteurs de mesures ou toute autre application de supervision d’usine. [3] Anomaly detection is a well-known subject especially in the field of data mining, in English Data Mining, with many industrial applications such as sorting objects on a recycling chain, monitoring measurement sensors or any other plant supervision application.
[4] Il est connu de mettre en œuvre des méthodes d’apprentissage automatique pour détecter des données dites anormales dans un ensemble de données. Toutefois, un problème connu dans la détection d’anomalie est que les données généralement disponibles sont fortement déséquilibrées. [4] It is known to implement machine learning methods to detect so-called anomalous data in a data set. However, a known problem in anomaly detection is that the data generally available is highly unbalanced.
[5] Autrement dit, les données d’entraînement sont généralement composées d’une grande majorité de données « normales », tandis que les données d’anomalies sont généralement faiblement représentées. Ceci pose alors un souci relativement important sur la robustesse de l’entraînement des modules d’apprentissage automatiques, en particulier lorsqu’ils sont supervisés. [5] In other words, the training data is generally composed of a large majority of "normal" data, while the anomaly data is generally weakly represented. This then raises a relatively important concern about the robustness of the training of the machine learning modules, in particular when they are supervised.
[6] Afin de réduire l’effet de déséquilibre des données, on connaît des méthodes telles que la méthode SMOTE décrite dans la publication scientifique SMOTE: Synthetic Minority Over-sampling Technique, Nitesh V. Chawla et al., in Journal ofArtificial Intelligence Research 16 (2002) 321-357. [6] In order to reduce the effect of data imbalance, methods are known such as the SMOTE method described in the scientific publication SMOTE: Synthetic Minority Over-sampling Technique, Nitesh V. Chawla et al., in Journal ofArtificial Intelligence Research 16 (2002) 321-357.
[7] La méthode SMOTE tend à densifier les zones de données peu représentées de sorte à réduire le déséquilibre de l’ensemble de données. [7] The SMOTE method tends to densify sparsely represented data areas so as to reduce the imbalance of the data set.
[8] Toutefois les techniques connues de l’art antérieur, ne sont généralement pas satisfaisantes. Les méthodes d’apprentissage supervisé sont en effet sensibles à l’équilibrage des données, et le déséquilibre de jeu de données d’entraînement entre données normales et données anormales les rend peu adaptées à cet usage. [8] However, the techniques known from the prior art are generally not satisfactory. Supervised learning methods are indeed sensitive to data balancing, and the training dataset imbalance between normal and abnormal data makes them unsuitable for this purpose.
[9] Les méthodes d’apprentissage non-supervisé connues tendent quant à elle à être relativement conservatrices. Autrement dit, ces méthodes sont développées en présumant que des données anormales sont présentes dans les jeux de données d’entraînement, ceci les rendant relativement peu flexibles dans un contexte où il n’existe que peu ou pas d’exemples de données anormales. Ceci ne permet alors pas d’obtenir un contrôle satisfaisant sur les taux de faux-positifs. [9] Known unsupervised learning methods tend to be relatively conservative. In other words, these methods are developed assuming that anomalous data is present in the training datasets, which makes them relatively inflexible in a context where there are few or no examples of anomalous data. This does not allow to obtain a satisfactory control on the rate of false positives.
[10] Or, dans le contexte de l’invention, les jeux de données d’entraînement comprennent peu ou pas d’exemples de données anormales, et il existe une forte contrainte sur l’exactitude des détections obtenues. [10] However, in the context of the invention, the training datasets include few or no examples of anomalous data, and there is a strong constraint on the accuracy of the detections obtained.
[11] Aussi, il existe le besoin d’un procédé d’apprentissage automatique pour la détection d’anomalies résolvant les problèmes précédents. [11] Also, there is the need for a machine learning process for the anomaly detection resolving previous problems.
[12] À cet effet on propose un procédé de détection d’anomalies mis en œuvre par ordinateur dans un ensemble de données mettant en œuvre un module d’apprentissage automatique non- supervisé, et comprenant la fourniture d’un ensemble de données d’entraînement étiquetées comprenant au moins une donnée d’entraînement représentative d’un état normal des données analysées des données analysées. [12] To this end, a method for detecting anomalies implemented by computer in a data set is proposed, implementing an unsupervised machine learning module, and comprising the provision of a data set of labeled training comprising at least one training datum representative of a normal state of the analyzed data of the analyzed data.
[13] Le procédé comprend : [13] The process includes:
[14] Une étape de génération d’une pluralité de copies bruitées de tout ou partie des données de l’ensemble de données d’entraînement, chaque copie bruitée étant obtenue à partir d’au moins un paramètre de génération de bruit, ledit paramètre de génération de bruit comprenant une amplitude de bruit maximale à ajouter à tout ou partie des données de l’ensemble de données d’entraînement ; [14] A step of generating a plurality of noisy copies of all or part of the data of the training data set, each noisy copy being obtained from at least one noise generation parameter, said parameter noise generation comprising a maximum noise amplitude to be added to all or part of the data of the training data set;
[15] Pour chaque copie bruitée, une étape de constitution d’un ensemble de données d’entraînement bruitées, comprenant ledit ensemble de donnée d’entraînement et de ladite au moins une copie bruitée associée, [15] For each noisy copy, a step of forming a set of noisy training data, comprising said set of training data and said at least one associated noisy copy,
[16] Pour chaque copie bruitée, une étape d’entraînement dudit module d’apprentissage automatique en fonction dudit ensemble de données d’entraînement bruitées associée, par exemple par une méthode de validation croisée, [16] For each noisy copy, a step of training said automatic learning module according to said set of associated noisy training data, for example by a cross-validation method,
[17] Pour chaque copie bruitée, une étape de calcul de la performance de détection dudit module d’apprentissage automatique en fonction du taux de faux positifs obtenu par la mise en œuvre du module d’apprentissage automatique sur un ensemble de données de test étiquetées, comprenant au moins une donnée d’entraînement représentative d’un état normal des données analysées ; [17] For each noisy copy, a step of calculating the detection performance of said machine learning module as a function of the false positive rate obtained by implementing the machine learning module on a set of labeled test data , comprising at least one training datum representative of a normal state of the analyzed data;
[18] Une étape de détermination de l’ensemble de données d’entraînement bruitées présentant une performance de détection maximale ; et [18] A step of determining the noisy training data set with maximum detection performance; and
[19] La mise en œuvre du module d’apprentissage automatique entraîné à partir dudit ensemble de données d’entraînement bruitées déterminé. [19] The implementation of the machine learning module trained from said determined noisy training data set.
[20] Ainsi, on obtient un procédé permettant d’améliorer un module d’apprentissage automatique non supervisé pour détecter des anomalies en ajoutant du bruit aux données d’entraînement de manière contrôlée. Ainsi, l’invention permet d’éviter la détection erronée de faux -positifs bien qu’il n’existe pas nécessairement d’exemples de données anormales dans les données d’entraînement. [20] Thus, a method is obtained for improving an unsupervised machine learning module to detect anomalies by adding noise to the training data in a controlled manner. Thus, the invention makes it possible to avoid the erroneous detection of false positives although there are not necessarily examples of abnormal data in the training data.
[21] Le au moins un paramètre de génération de bruit qui comprend une amplitude de bruit maximale à ajouter à tout ou partie des données de l’ensemble de données d’entraînement constitue un paramètre simple et particulièrement robuste pour obtenir des copies bruitées distinctes de manière contrôlé. [21] The at least one noise generation parameter which includes a maximum noise amplitude to be added to all or part of the data of the training data set constitutes a simple and particularly robust parameter for obtaining distinct noisy copies of controlled manner.
[22] En particulier, l’étape de génération de copie bruitée peut notamment comprendre la génération de copies bruitées comprenant le bruitage d’une partie seulement de l’ensemble de données d’entraînement, par exemple par sélection aléatoire des données à bruiter, de sorte à assurer une distribution totalement aléatoire des données bruitées. [22] In particular, the step of generating a noisy copy may in particular comprise the generation of noisy copies comprising the noise of only one part of the training data set, for example by random selection of the data to be noisy, so as to ensure a completely random distribution of the noisy data.
[23] En particulier, pour chaque copie bruitée le paramètre de bruit peut présenter une valeur différente mais peut aussi prendre des valeurs identiques pour tout ou partie des copies bruitées. En effet, le bruitage étant ajouté aléatoirement, un même paramètre de bruit générera des copies bruitées différentes de sorte que leurs performances pourront varier. [23] In particular, for each noisy copy the noise parameter can have a different value but can also take identical values for all or part of the noisy copies. Indeed, the noise being added randomly, the same noise parameter will generate different noisy copies so that their performance may vary.
[24] Avantageusement et de manière non limitative, le procédé met en œuvre en parallèle les étapes de génération d’une pluralité de copies bruitées, et pour chaque copie bruitée générée, le procédé met en œuvre en parallèle, les étapes de constitution, d’entraînement, et de calcul, l’étape de détermination déterminant l’ensemble de données d’entraînement bruitées présentant une performance de détection maximale parmi les performance calculées par les étapes de calcul parallèles. [24] Advantageously and in a non-limiting way, the method implements in parallel the steps of generating a plurality of noisy copies, and for each noisy copy generated, the method implements in parallel, the steps of constitution, training, and calculation, the determining step determining the set of noisy training data having a maximum detection performance among the performances calculated by the parallel calculation steps.
[25] Ainsi, en implémentant le procédé selon une méthode de grille de recherche, on peut déterminer de manière relativement rapide le paramètre optimal de bruit pour bruiter les données d’entraînement. [25] Thus, by implementing the method according to a search grid method, one can relatively quickly determine the optimal noise parameter to noisy the training data.
[26] Selon une alternative avantageuse de mise en œuvre du procédé, lesdites étapes de génération, de constitution, d’entraînement et de calcul sont mises en œuvre de manière itérative, par exemple de manière incrémentale ou dichotomique, de sorte qu’à chaque itération on compare la performance de détection dudit module d’apprentissage automatique calculée avec la performance de détection dudit module d’apprentissage automatique calculée à l’itération précédente. [26] According to an advantageous alternative for implementing the method, said generation, constitution, training and calculation steps are implemented iteratively, for example incrementally or dichotomously, so that at each iteration the detection performance of said automatic learning module calculated is compared with the detection performance of said automatic learning module calculated at the previous iteration.
[27] Ainsi, une implémentation itérative permet une approche relativement légère, en particulier en termes d’encombrement mémoire, pour déterminer la valeur optimale de paramètre de bruit. [27] Thus, an iterative implementation allows a relatively lightweight approach, especially in terms of memory footprint, to determine the optimal noise parameter value.
[28] Selon une mise en œuvre particulière, on met en œuvre lesdites étapes de génération, de constitution, d’entraînement et de calcul de manière incrémentale, de sorte qu’à chaque itération la valeur de paramètre de génération de bruit est incrémentée d’un pas prédéterminé, et si la performance calculée à l’itération précédente est inférieure à celle calculé à l’itération courante, on procède à une nouvelle itération des étapes de génération, de constitution, d’entraînement et de calcul. [28] According to a particular implementation, said generation, constitution, training and calculation steps are implemented incrementally, so that at each iteration the noise generation parameter value is incremented by a predetermined step, and if the performance calculated at the previous iteration is lower than that calculated at the current iteration, a new iteration of the generation, constitution, training and calculation steps is carried out.
[29] Avantageusement et de manière non limitative, l’ensemble de données d’entraînement étiquetées comprend aussi au moins un exemple de donnée anormale. Ainsi, on peut obtenir des données d’entraînement rendant le module d’apprentissage automatique encore plus robuste, avec un contrôle encore amélioré sur les faux-positifs, sans diminuer les performances de détection d’anomalies. [29] Advantageously and in a non-limiting manner, the set of labeled training data also includes at least one example of anomalous data. Thus, one can obtain training data making the machine learning module even more robust, with even better control over false positives, without diminishing the anomaly detection performance.
[30] Avantageusement et de manière non limitative, l’étape de calcul de la performance de détection dudit module d’apprentissage automatique est aussi fonction du taux de faux négatifs obtenu par la mise en œuvre du module d’apprentissage automatique sur au moins un exemple de donnée anormale. Ainsi, on peut améliorer le calcul de la performance de l’entraînement du module d’apprentissage automatique à partir du jeu de données bradées, en tenant compte non seulement des faux positifs, autrement dit des détections erronées d’anomalies, mais aussi des faux négatifs, autrement dit du taux d’anomalies non détectées. [30] Advantageously and in a non-limiting way, the step of calculating the performance of detection of said automatic learning module is also a function of the rate of false negatives obtained by the implementation of the automatic learning module on at least one example of abnormal data. Thus, it is possible to improve the calculation of the performance of the training of the machine learning module from the sold-out data set, taking into account not only the false positives, in other words the erroneous detections of anomalies, but also the false negative, in other words the rate of undetected anomalies.
[31] Avantageusement et de manière non limitative, ladite étape de calcul de la performance de détection comprend le calcul d’une moyenne entre le taux de faux positifs et le taux de faux négatifs. Ceci constitue une méthode simple et relativement fiable pour calculer une performance globale. [31] Advantageously and in a non-limiting manner, said step of calculating the detection performance comprises calculating an average between the rate of false positives and the rate of false negatives. This is a simple and relatively reliable method for calculating overall performance.
[32] Avantageusement et de manière non limitative, ladite moyenne est pondérée en fonction d’un coefficient prédéterminé. Ici la pondération permet de donner plus de poids soit aux faux-positifs soit aux faux-négatifs dans le calcul global de la performance, afin de tenir compte du critère le plus important des deux, en particulier eu égard au domaine technique pour lequel le procédé est mis en œuvre. [32] Advantageously and in a non-limiting way, said average is weighted according to a predetermined coefficient. Here the weighting makes it possible to give more weight either to the false-positives or to the false-negatives in the overall calculation of the performance, in order to take into account the most important criterion of the two, in particular with regard to the technical field for which the process is implemented.
[33] Avantageusement et de manière non limitative, l’étape de détermination comprend en outre une comparaison de la performance de détection maximale déterminée avec une valeur de performance cible, de sorte que si la performance de détection maximale est inférieure à la valeur de performance cible, on procède à une nouvelle mise en œuvre du procédé avec de nouvelles valeurs de paramètres de génération de brait. Ainsi, si la performance maximale détectée n’est pas satisfaisante, on peut relancer le procédé selon l’invention avec de nouvelles copies bradées, par exemple en changeant les paramètres de brait, de sorte à poursuivre la recherche d’un ensemble de données bradées présentant une performance satisfaisante. [33] Advantageously and in a non-limiting way, the determination step further comprises a comparison of the maximum detection performance determined with a target performance value, so that if the maximum detection performance is lower than the performance value target, a new implementation of the method is carried out with new values of noise generation parameters. Thus, if the maximum performance detected is not satisfactory, the method according to the invention can be relaunched with new sold-out copies, for example by changing the sold-out parameters, so as to continue the search for a set of sold-out data. showing satisfactory performance.
[34] [34]
[35] Avantageusement et de manière non limitative, ledit au moins un paramètre de génération de brait comprend une distribution statistique du brait, tel qu’un brait additif blanc gaussien ou un brait coloré. Ainsi, on peut faire varier le brait non seulement quant à son amplitude mais aussi quant à son type de génération. Ceci participe à la détection d’un paramétrage optimal de brait. [35] Advantageously and in a non-limiting way, said at least one brait generation parameter comprises a statistical brait distribution, such as a Gaussian white additive brait or a colored brait. Thus, the noise can be varied not only in terms of its amplitude but also in terms of its type of generation. This contributes to the detection of an optimal brait parameterization.
[36] Avantageusement et de manière non limitative, le module d’apprentissage automatique comprend un module parmi : une machine à vecteur de support à une classe, un arbre décisionnel, une forêt d’arbres décisionnels, une méthode des k plus proches voisins ou un auto-encodeur. Ces modules sont bien connus de l’homme du métier et particulièrement performants. En outre le procédé présente des résultats performants pour tous ces modules. [36] Advantageously and in a non-limiting manner, the machine learning module comprises one module among: a one-class support vector machine, a decision tree, a forest of decision trees, a method of the k nearest neighbors or an auto-encoder. These modules are well known to those skilled in the art and are particularly efficient. In addition, the method presents effective results for all these modules.
[37] L’invention concerne aussi un procédé de classification d’un matériau, à classifier dans une liste de matériaux prédéterminée, telle qu’une liste de résines plastiques, chaque matériau étant associé à au moins un paramètre de mesure, tel qu’un spectre d’absorption ; le procédé de classification comprenant, pour chaque matériau de la liste de matériaux prédéterminée, la mise en œuvre du procédé de détection d’anomalies tel que décrit précédemment. [37] The invention also relates to a method for classifying a material, to be classified in a list of predetermined materials, such as a list of plastic resins, each material being associated with at least one measurement parameter, such as an absorption spectrum; the classification method comprising, for each material of the predetermined list of materials, the implementation of the anomaly detection method as described previously.
[38] L’invention concerne aussi un programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes du procédé de détection d’anomalie tel que décrit précédemment et/ou pour l’exécution du procédé de classification précédent, lorsque ledit programme est exécuté sur un ordinateur. [38] The invention also relates to a computer program comprising program code instructions for the execution of the steps of the anomaly detection method as described previously and/or for the execution of the preceding classification method, when said program is run on a computer.
[39] D’autres particularités et avantages de l’invention ressortiront à la lecture de la description faite ci-après de deux modes de réalisation particuliers de l’invention, donnés à titre indicatif mais non limitatif, en référence aux dessins annexés sur lesquels : [39] Other features and advantages of the invention will become apparent on reading the description given below of two particular embodiments of the invention, given by way of indication but not limitation, with reference to the appended drawings in which :
[40] [Fig. 1] est un organigramme d’un premier mode de réalisation du procédé selon l’invention ; [40] [Fig. 1] is a flowchart of a first embodiment of the method according to the invention;
[41] [Fig. 2] est un organigramme d’un deuxième mode de réalisation du procédé selon l’invention ; et [41] [Fig. 2] is a flowchart of a second embodiment of the method according to the invention; and
[42] [Fig. 3] est une représentation schématique des ensembles de données d’entraînement bruités et non bruités mis en œuvre par l’invention. [42] [Fig. 3] is a schematic representation of the noisy and non-noisy training datasets implemented by the invention.
[43] Selon un premier mode de réalisation de l’invention du procédé 1 selon l’invention en référence à la figure 1, le procédé 1 est mis en œuvre pour détecter des résines plastiques non-recyclables dans une chaîne de recyclage de polyéthylène. [43] According to a first embodiment of the invention of method 1 according to the invention with reference to Figure 1, method 1 is implemented to detect non-recyclable plastic resins in a polyethylene recycling chain.
[44] Bien que la description dans ces deux modes de réalisations 1, 1’ décrits soit basée sur cet exemple particulier d’utilisation du procédé 1, l’invention n’est pas limitée à ce seul domaine technique, mais est adaptable à tout ensemble de données dans lequel des éléments indésirables doivent être identifiés, pour toute application de Data Mining, ou de traitement de données. [44] Although the description in these two embodiments 1, 1' described is based on this particular example of use of the method 1, the invention is not limited to this single technical field, but is adaptable to any set of data in which undesirable elements must be identified, for any application of data mining, or data processing.
[45] L’invention pouvant être mise en œuvre dans n’importe quel domaine technique, que ce soit dans le domaine de la biologie, par exemple pour effectuer de la détection de bactéries, en astrophysique ou dans tout autre domaine technique où la détection d’anomalie doit être effectuée. [45] The invention can be implemented in any technical field, whether in the field of biology, for example to carry out the detection of bacteria, in astrophysics or in any other technical field where the detection fault should be performed.
[46] Le procédé 1 de détection d’anomalies, met en œuvre un module d’apprentissage automatique non- supervisé. [46] Anomaly detection method 1 implements an unsupervised machine learning module.
[47] Tout type de module d’apprentissage automatique non-supervisé peut-être mis en œuvre. En effet, comme il ressortira de la description, l’invention repose en particulier sur l’optimisation automatique des données d’entraînement. Le procédé permet à cet égard d’optimiser la mise en œuvre de tout type de module d’apprentissage automatique. [47] Any type of unsupervised machine learning module can be implemented. Indeed, as will emerge from the description, the invention is based in particular on the automatic optimization of the training data. The method makes it possible in this respect to optimize the implementation of any type of automatic learning module.
[48] Parmi les modules d’apprentissage automatique, on connaît notamment les machines à vecteurs de support à une classe, dit one-class SVM, des arbres de décision, dit Decision Tree , des forêts d’arbres de décision, notamment des Isolation Forest, des auto-encodeurs, ou encore la méthode des K plus proches voisins, K-Nearest Neighbors. Toutes ces méthodes sont bien connues de l’homme du métier, et leur implémentation particulière n’est pas ici discutée. [48] Among the automatic learning modules, we know in particular one-class support vector machines, called one-class SVM, trees of decision tree, known as Decision Tree , decision tree forests, in particular Isolation Forests, auto-encoders, or even the K-Nearest Neighbors method. All these methods are well known to those skilled in the art, and their particular implementation is not discussed here.
[49] Il ressort clairement que pour l’homme du métier, toutes ces méthodes sont connues pour être entraînées sur la base de données d’entraînements, de sorte à pouvoir ensuite, dans une phase d’exploitation, fournir, en fonction d’une donnée d’entrée, une caractérisation de la donnée. [49] It is clear that for those skilled in the art, all these methods are known to be trained on the basis of training data, so as to then be able, in an exploitation phase, to provide, depending on an input data, a characterization of the data.
[50] Dans le contexte de l’invention, l’objectif n’est pas de classifier les données parmi un ensemble de classes, comme il est connu de le faire dans un procédé de classification, mais bien de déterminer si chaque donnée d’entrée appartient à la classe unique recherchée ou non, autrement dit s’il s’agit d’une anomalie par rapport aux autres données. [50] In the context of the invention, the objective is not to classify the data among a set of classes, as is known to do in a classification process, but to determine whether each datum of entry belongs to the unique class sought or not, in other words if it is an anomaly with respect to the other data.
[51] Dans cet exemple de mise en œuvre de l’invention, nous mettons en œuvre un module one-class SVM. [51] In this example implementation of the invention, we implement a one-class SVM module.
[52] Le one-class SVM est en particulier utile pour détecter des observations ou des mesures dont les caractéristiques différent significativement des données attendues. Ces données sont couramment appelées des outliers dans le domaine technique, ou des données aberrantes. [52] The one-class SVM is particularly useful for detecting observations or measurements whose characteristics differ significantly from the expected data. This data is commonly referred to in the technical field as outliers, or outliers.
[53] Le one-class SVM et décrit dans une première mise en œuvre dans la publication[53] The one-class SVM and described in a first implementation in the publication
Support Vector Method for Novelty Détection, Bernhard Scholkopf et al., NIPS'99: Proceedings ofthe 12th International Conférence on Neural Information Processing Systems, November 1999, Pages 582-588, qui est ici incorporé par référence. Support Vector Method for Novelty Detection, Bernhard Scholkopf et al., NIPS'99: Proceedings of the 12th International Conference on Neural Information Processing Systems, November 1999, Pages 582-588, which is incorporated herein by reference.
[54] Dans cette implémentation, le module recherche un hyperplan, comme le SVM classique, à la différence que cet hyperplan vise à séparer toutes les données de l’origine dans l’espace dans lequel sont projetées les données, tout en maximisant la distance de l’hyperplan aux données, de sorte à réduire la marge entre les données et l’hyperplan. [54] In this implementation, the module looks for a hyperplane, like the classic SVM, with the difference that this hyperplane aims to separate all the data from the origin in the space in which the data is projected, while maximizing the distance from the hyperplane to the data, so as to reduce the margin between the data and the hyperplane.
[55] Une autre implémentation connue du one-class SVM est celle décrite dans Support vector data description, Tax, D. and Duin, R., 2004, in Machine learning,[55] Another known implementation of the one-class SVM is that described in Support vector data description, Tax, D. and Duin, R., 2004, in Machine learning,
54(1) .-pages 45-66, lui-aussi incorporé par référence. 54(1) .-pages 45-66, also incorporated by reference.
[56] Dans cette implémentation particulière du one-class SVM, la méthode sépare l’espace par une hypersphère qui vise en englober toutes les données d’entraînement et à trouver la plus petite hypersphère permettant d’englober toutes ces données. [56] In this particular implementation of the one-class SVM, the method separates the space by a hypersphere which aims to encompass all the training data and to find the smallest hypersphere allowing to encompass all this data.
[57] Il est bien connu que les méthodes non- supervisées réalisent, d’une manière générale, des subdivisions ou séparations de l’espace en fonction de la densité des données d’entraînement, ce qui permet de faire ressortir les outliers de manière automatique. [57] It is well known that unsupervised methods perform, in general, subdivisions or separations of space depending on the density of the training data, which makes it possible to highlight the outliers in a Automatique.
[58] Toutefois, une limite bien connue de ces algorithmes est le risque d’obtenir des faux-positifs. Autrement dit que le module d’apprentissage automatique détecte une donnée comme « anormale » de manière erronée, et le risque de faux- négatifs, autrement dit que le module détecte que la donnée est « normale » alors qu’elle est en réalité une donnée « anormale ». [58] However, a well-known limitation of these algorithms is the risk of obtaining false positives. In other words, the machine learning module detects data as "abnormal" in an erroneous way, and the risk of false negatives, in other words the module detects that the data is "normal" when it is actually data "abnormal".
[59] Dans le contexte de l’exemple décrit, ces deux cas sont problématiques : [59] In the context of the example described, these two cases are problematic:
[60] - Lors d’un faux positif, un matériau recyclable est retiré car considéré comme non- recyclable ; l’impact négatif est double à la fois dû à une perte de matières recyclées et à l’augmentation du coût opérationnel de traitement du flux non valorisable. Si par exemple, l’erreur de détection est de l’ordre de 5 à 10%, cela se répercute sur les tonnages triés à l’année. [60] - In the event of a false positive, a recyclable material is removed because it is considered non-recyclable; the negative impact is twofold, due both to a loss of recycled materials and to the increase in the operational cost of processing the non-recoverable flow. If, for example, the detection error is around 5 to 10%, this affects the tonnages sorted per year.
[61] - Lors d’un faux négatif, un matériau non-recyclable est considéré comme recyclable et vient alors polluer l’ensemble des matériaux triés. Dans ce cas, l’impact se situe lors des étapes de sur- tri en amont des lignes de production de matières recyclées ou sur la production proprement dite. [61] - In the event of a false negative, a non-recyclable material is considered recyclable and then pollutes all the sorted materials. In this case, the impact occurs during the over-sorting steps upstream of the production lines for recycled materials or on the actual production.
[62] Dans le premier cas, les étapes de sur-tri peuvent éliminer les matériaux non- recyclables ; ce qui va engendrer une augmentation des coûts de traitement des résidus, allant à titre d’exemple de 80€ à 150€ par tonne. [62] In the first case, over-sorting steps can eliminate non-recyclable materials; which will lead to an increase in waste treatment costs, ranging, for example, from €80 to €150 per ton.
[63] Dans le deuxième cas, l’impact porte sur la qualité de la matière recyclée produite si une matière non-compatible se retrouve en mélange avec une modification des propriétés attendues ; cela a pour conséquence de ne pas pouvoir commercialiser les matières recyclées sur les marchés attendus et de les adresser sur des marchés à moindre valeur ajoutée, avec une perte comprise à titre d’exemple entre 100 à 300€ par tonne. [63] In the second case, the impact relates to the quality of the recycled material produced if an incompatible material is mixed with a modification of the expected properties; this has the consequence of not being able to market the recycled materials on the expected markets and of sending them to markets with lower added value, with a loss of between €100 and €300 per tonne, for example.
[64] A cet égard l’invention vise à réduire le risque de toutes les fausses détections dans le cas de la mise en œuvre de modules d’apprentissage automatique non supervisés. [64] In this regard, the invention aims to reduce the risk of all false detections in the case of the implementation of unsupervised machine learning modules.
[65] Le procédé 1 emploie plusieurs jeux de données. [65] Method 1 uses multiple datasets.
[66] Tout d’abord on fournit 9 un ensemble de données d’entraînement 20 étiquetées représentatif de l'état normal des données analysées. [66] First, we provide 9 a labeled training data set 20 representative of the normal state of the analyzed data.
[67] La figure 3 est une représentation schématique d’un ensemble de données d’entraînement 20. Chaque donnée de la figure 3 est un point du plan ; autrement dit une donnée faite d’un vecteur bidimensionnel, de sorte qu’on peut représenter l’ensemble de données d’entraînement 20 dans un plan. La référence 21 représente la copie bruitée 21 des données d’entraînement. Mais les données d’entraînement 20 étant superposées sur les données bruitées 21, toutes les données de la copie bruitée 21 ne se voient pas sur la figure 3. Il est bien entendu que cette figure est uniquement illustrative, les données étant fréquemment des vecteurs de dimensions supérieures à 2 ou 3. [67] Figure 3 is a schematic representation of a training data set 20. Each data in Figure 3 is a point of the plane; in other words, data made of a two-dimensional vector, so that the training data set 20 can be represented in a plane. The reference 21 represents the noisy copy 21 of the training data. But the training data 20 being superimposed on the noisy data 21, all the data of the noisy copy 21 cannot be seen in FIG. dimensions greater than 2 or 3.
[68] Bien que ce ne soit pas obligatoire, l’ensemble de données d’entraînement 20 peut aussi comprendre des exemples d’anomalies. Ceci est particulièrement avantageux car ces exemples d’anomalies permettent d’obtenir un module d’apprentissage automatique plus robuste en améliorant encore le contrôle sur la détection des faux -positifs. [68] Although not required, the training data set 20 may also include examples of anomalies. This is particularly advantageous because these examples of anomalies make it possible to obtain a module more robust machine learning by further improving control over false positive detection.
[69] Dans notre exemple de réalisation, des objets à recycler en polyéthylène ont été soumis à une caractérisation proche infra-rouge, connue sous le nom de caractérisation NIR, pour Near Infra-Red, de sorte que chaque objet est associé à un spectre d’absorption permettant de le caractériser. [69] In our example of realization, objects to be recycled in polyethylene were subjected to a near infrared characterization, known under the name of NIR characterization, for Near Infra-Red, so that each object is associated with a spectrum absorption to characterize it.
[70] Ceci est encore une fois uniquement donné dans le cadre de l’exemple de mise en œuvre du procédé, mais les données étiquetées peuvent comprendre n’importe quelle caractéristique voulue par l’homme du métier, et ne se limite pas à un spectre ou des valeurs d’absorbance. [70] This is again only given within the framework of the example implementation of the method, but the labeled data can include any characteristic desired by the person skilled in the art, and is not limited to a spectra or absorbance values.
[71] On fournit aussi un ensemble de données de test étiquetées représentatif de l'état normal des données analysées. [71] A set of labeled test data representative of the normal state of the analyzed data is also provided.
[72] Cet ensemble de données de test, qui est un élément classique des méthodes d’apprentissage automatique, permet de calculer la performance d’un module d’apprentissage automatique entraîné, en identifiant le taux de détections correctes réalisées sur un ensemble de données dont on connaît déjà les données le composant. [72] This set of test data, which is a classic element of machine learning methods, makes it possible to calculate the performance of a trained machine learning module, by identifying the rate of correct detections made on a set of data whose component data we already know.
[73] Le procédé 1 selon l’invention procède alors à l’entraînement du module d’apprentissage automatique non supervisé, à partir aussi d’un ensemble de données d’entraînement bruité. L’objectif étant de calibrer de manière optimale le bruit ajouté pour améliorer la robustesse du module d’apprentissage. [73] Method 1 according to the invention then trains the unsupervised automatic learning module, also from a set of noisy training data. The objective is to optimally calibrate the added noise to improve the robustness of the learning module.
[74] Le bruit ajouté aux données d’entraînement 20 est déterminé en fonction d’au moins un paramètre de bruit, notamment en fonction d’une valeur aléatoire limitée en amplitude. [74] The noise added to the training data 20 is determined according to at least one noise parameter, in particular according to a random value limited in amplitude.
[75] En effet, il est bien connu qu’une donnée d’entrée d’un module d’apprentissage automatique, que ce soit une donnée d’entraînement, de test ou une donnée à analyser, comprend une pluralité de valeurs numériques, généralement organisées sous forme de vecteur ou de matrice. [75] Indeed, it is well known that an input data of a machine learning module, whether training, test or data to be analyzed, comprises a plurality of numerical values, usually organized as a vector or matrix.
[76] Dans notre exemple, tel qu’on l’a exposé précédemment, une donnée étiquetée associe un spectre d’absorption à un matériau, ici du polyéthylène. [76] In our example, as explained above, a labeled datum associates an absorption spectrum with a material, here polyethylene.
[77] Le spectre d’absorption est alors un vecteur de dimension N de valeurs d’absorbance. N étant le nombre d’échantillons de valeurs dans le spectre. [77] The absorption spectrum is then an N-dimensional vector of absorbance values. N being the number of sample values in the spectrum.
[78] Dans notre exemple le spectre d’analyse étant obtenu par une méthode dite proche infra-rouge, le spectre est par exemple obtenu entre 780nm et 2500nm. On définit alors un nombre N de points d’échantillonnage du spectre obtenu lors de l’analyse de l’objet, formant donnée d’entrée associé à l’objet. [78] In our example, the analysis spectrum being obtained by a so-called near infrared method, the spectrum is for example obtained between 780nm and 2500nm. A number N of sampling points of the spectrum obtained during the analysis of the object is then defined, forming input data associated with the object.
[79] En général, on procède alors à une normalisation du vecteur de données de sorte à simplifier le traitement de données, bien que cette étape ne soit pas obligatoire. [79] In general, one then proceeds to a normalization of the data vector so as to simplify the data processing, although this step is not obligatory.
[80] Pour bruiter un tel vecteur, à titre d’exemple, on somme alors à ce vecteur de donnée un vecteur de bruit, dont la norme est inférieure ou égale à une valeur de seuil de bruit. Ainsi, on entend par seuil de bruit, la valeur maximale en amplitude du bruit généré. [80] To add noise to such a vector, by way of example, a noise vector is then added to this data vector, the norm of which is less than or equal to a noise threshold value. Thus, noise threshold is understood to mean the maximum value in amplitude of the generated noise.
[81] Le procédé de génération du bruit pour les différentes données peut être une méthode de génération d’un bruit additif blanc gaussien ou d’un bruit coloré, autrement dit un bruit dont la densité spectrale de puissance n’est pas constante sur le spectre. Ce choix pouvant être réalisé par l’homme du métier. [81] The noise generation method for the different data can be a method of generating an additive white Gaussian noise or a colored noise, in other words a noise whose power spectral density is not constant over the spectrum. This choice can be made by a person skilled in the art.
[82] On peut aussi prévoir différentes copies bruitées avec différents types de bruits, ce qui permet aussi d’augmenter la probabilité d’obtenir un maximum de performance, ceci nécessitant toutefois plus de temps de calcul et d’encombrement mémoire. [82] We can also provide different noisy copies with different types of noise, which also increases the probability of obtaining maximum performance, this however requiring more computation time and memory footprint.
[83] Ainsi à partir d’une donnée d’entrée, on peut obtenir une deuxième donnée d’entrée bruitée, dont le bruit est contrôlé en amplitude dans l’espace à N dimension de la donnée. [83] Thus from an input datum, one can obtain a second noisy input datum, the noise of which is controlled in amplitude in the N-dimensional space of the datum.
[84] L’étape de génération 10 d’une copie bruitée 21 ne comprend pas nécessairement le bruitage de l’ensemble des données de l’ensemble de données d’entraînement, mais peut comprendre le bruitage d’une partie seulement de cet ensemble, par exemple par sélection aléatoire des données à bruiter, de sorte à assurer une distribution totalement aléatoire des données bruitée. [84] The generation step 10 of a noisy copy 21 does not necessarily include the noise of all the data of the training data set, but may include the noise of only part of this set , for example by random selection of the data to be noisy, so as to ensure a completely random distribution of the noisy data.
[85] Le bruitage d’une partie seulement des données de l’ensemble de données d’entraînement 20 est notamment pertinent lorsque cet ensemble de données d’entraînement 20 comprend un très grand nombre de données, ce qui imposerait des temps d’entraînement particulièrement long. Aussi, ce choix doit être opéré par l’homme du métier comme un rapport à trouver entre le temps de calcul nécessaire, en fonction des performances de calcul disponibles, et le besoin de maximiser la quantité de données d’entrée. [85] The sound effects of only part of the data of the training data set 20 is particularly relevant when this training data set 20 includes a very large number of data, which would impose training times particularly long. Also, this choice must be made by those skilled in the art as a ratio to be found between the necessary calculation time, depending on the available calculation performance, and the need to maximize the amount of input data.
[86] La quantité de données d’entrées bruitée pourra en outre être augmentée a posteriori si la performance de détection telle que calculée 13 plus loin dans la description n’est pas suffisante. [86] The amount of noisy input data may also be increased a posteriori if the detection performance as calculated 13 later in the description is not sufficient.
[87] Dans ce premier mode de réalisation, la recherche de la valeur de bruit optimale est réalisée par une méthode de grille de recherche dans laquelle une pluralité de paramètres de bruits sont employés en parallèle. [87] In this first embodiment, the search for the optimal noise value is carried out by a search grid method in which a plurality of noise parameters are used in parallel.
[88] Autrement dit, plusieurs copies bruitées 21 de l’ensemble de données d’entraînement 20 sont générées au cours de plusieurs étape de génération 10- 10” parallèle. [88] In other words, several noisy copies 21 of the training data set 20 are generated during several parallel 10-10” generation steps.
[89] Le nombre de données bruitées 21 calculées est déterminé par l’homme du métier en fonction du temps de calcul disponible, de la granularité de recherche souhaitée et de la rapidité souhaitée de l’entraînement. [89] The number of noisy data 21 calculated is determined by the person skilled in the art according to the available calculation time, the desired search granularity and the desired training speed.
[90] Chaque étape de génération 10-10” étant indépendante, et chaque copie bruitée 21 obtenue étant réalisée selon une valeur de seuil de bruit différente des autres copies bruitée, ou selon un mode de bruitage différent (bruit blanc, bruit coloré). [90] Each generation step 10-10” being independent, and each noisy copy 21 obtained being produced according to a noise threshold value different from the other noisy copies, or according to a different noise mode (white noise, colored noise).
[91] Ainsi, on obtient en parallèle une pluralité de copies bruitées 21. [92] Pour chaque copie bruitée 21, on procède alors à une étape de constitution 11-11” d’un ensemble de données d’entraînement bruité 22, comprenant l’ensemble de données d’entraînement 20 et sa copie bruitée 21. Aussi, on obtient autant d’ensemble de données d’entraînement bruité 22 que de copies bruitées 21 distinctes. [91] Thus, a plurality of noisy copies 21 are obtained in parallel. [92] For each noisy copy 21, one then proceeds to a step 11-11” of constitution of a noisy training data set 22, comprising the training data set 20 and its noisy copy 21. Also , one obtains as many noisy training data sets 22 as there are distinct noisy copies 21 .
[93] On procède ensuite, pour chaque ensemble de données d’entraînement bruitées 22 à une étape d’entraînement 12-12” d’un module d’apprentissage automatique. Cette étape est bien connue de l’homme du métier qui met en œuvre un module d’apprentissage automatique. [93] We then proceed, for each set of noisy training data 22, to a training step 12-12” of a machine learning module. This step is well known to those skilled in the art who implement an automatic learning module.
[94] On peut notamment prévoir d’entraîner le module d’apprentissage automatiques par des méthodes de validation croisées connues du domaine technique. [94] In particular, it is possible to train the automatic learning module using cross-validation methods known to the technical field.
[95] En particulier on peut procéder à un entraînement par validation croisée dite Hold-[95] In particular, training can be carried out by cross-validation called Hold-
Out dans laquelle on divise les données d’entraînement en deux échantillons, un premier sous-échantillon d’apprentissage comprenant 80 % de l’ensemble de données d’entraînement et un second sous-échantillon de test fait des 20% restants, à ne pas confondre avec l’ensemble de données de test de l’étape de calcul 13. Par les méthodes de validation croisée on répète plusieurs fois des sous-étapes d’entraînement basé sur le sous-échantillon d’apprentissage et on affine les hyper-paramètres du module d’apprentissage automatique en fonction de l’erreur obtenue à chaque répétition des sous-étapes d’entraînement, l’erreur calculée pouvant être un score de performance du modèle sur l'échantillon de test, tel que l'erreur quadratique moyenne. Pour un entraînement, des sous-étapes d’entraînements sont donc répétés une pluralité de fois, par exemple entre 20 et 50 fois, notamment 30 fois, de sorte à faire converger les hyper-paramètres du modèle à une valeur optimale en fonction de l’ensemble de données d’entraînement bruitées 21. Toutefois cet ordre de grandeur est donné uniquement à titre d’exemple et dépend notamment du temps de calcul disponible pour l’entraînement. Out in which the training data is divided into two samples, a first training sub-sample comprising 80% of the training data set and a second test sub-sample made of the remaining 20%, not not be confused with the test data set of computation step 13. By cross-validation methods, training sub-steps based on the training sub-sample are repeated several times and the hyper- parameters of the machine learning module depending on the error obtained at each repetition of the training sub-steps, the calculated error can be a performance score of the model on the test sample, such as the squared error medium. For training, training sub-steps are therefore repeated a plurality of times, for example between 20 and 50 times, in particular 30 times, so as to cause the hyper-parameters of the model to converge to an optimal value as a function of the set of noisy training data 21. However, this order of magnitude is given solely by way of example and depends in particular on the calculation time available for the training.
[96] Ainsi, on obtient autant de module d’apprentissage automatique entraînés que d’ensemble de données d’entraînement bruitées 22. [96] Thus, we obtain as many trained machine learning modules as there are noisy training data sets 22.
[97] Ensuite, un fois les étapes d’entraînement 12-12” terminées, on procède, pour chaque module d’apprentissage automatique entraîné à une étape de calcul IS IS” de la performance du module d’apprentissage automatique correspondant. [97] Then, once the 12-12” training steps are completed, we proceed, for each machine learning module trained, to an IS IS” calculation step of the performance of the corresponding machine learning module.
[98] On calcule la performance du module d’apprentissage automatique en mettant en œuvre le module entraîné avec l’ensemble de données de test étiquetées. [98] The performance of the machine learning module is calculated by implementing the trained module with the labeled test data set.
[99] On détermine alors le taux de données considérées à tort comme anormales, autrement dit le taux de faux-positifs. [99] We then determine the rate of data wrongly considered to be abnormal, in other words the rate of false positives.
[100] On peut affiner cette étape de calcul 13, selon un mise en œuvre alternative, en tenant compte aussi du nombre de faux-négatif, autrement en fonction du nombre de données anormales considérées à tort comme normales. Ceci est possible uniquement lorsque l’ensemble de données de test comprend aussi des données anormales. Aussi il est avantageux d’avoir un ensemble de données de test comprenant aussi des exemples de données anormales. [100] This calculation step 13 can be refined, according to an alternative implementation, also taking into account the number of false negatives, otherwise depending on the number of abnormal data wrongly considered as normal. This is possible only when the test dataset also includes abnormal data. Also it is advantageous to have a set of test data also including examples of anomalous data.
[101] Dans ce cas alternatif, la performance peut alors être estimée comme étant une moyenne des taux de faux-négatif et de faux-positif, éventuellement pondérée en fonction de l’importance apportée respectivement au type de faux. [101] In this alternative case, the performance can then be estimated as an average of the false-negative and false-positive rates, possibly weighted according to the importance given respectively to the type of false.
[102] Aussi, une telle pondération doit être effectuée en lien direct avec le domaine technique pour lequel le procédé est mis en œuvre. [102] Also, such a weighting must be carried out in direct connection with the technical field for which the process is implemented.
[103] Dans notre exemple du tri d’objet, un faux-négatif est particulièrement problématique en ce qu’il autorise le passage d’un matériau non-désiré dans la chaîne de recyclage. Aussi, dans cette alternative de mise en œuvre, et compte tenu du domaine technique, une pondération majorant l’importance de la détection des faux-négatif est alors préférée. [103] In our example of object sorting, a false negative is particularly problematic in that it allows unwanted material to pass through the recycling chain. Also, in this implementation alternative, and taking into account the technical field, a weighting increasing the importance of the detection of false negatives is then preferred.
[104] Une fois la performance calculée pour chaque ensemble de données d’entraînement bruité 22, on procède à une étape de détermination 14 de l’ensemble de données. Ici on détermine quel chaque ensemble de données d’entraînement bruité 22 maximise le critère de performance. [104] Once the performance has been calculated for each set of noisy training data 22, we proceed to a step of determining 14 the set of data. Here it is determined which each noisy training data set 22 maximizes the performance criterion.
[105] A ce stade du procédé 1 selon un mise en œuvre particulière du premier mode de réalisation, il est possible de continuer la recherche d’une meilleur critère de performance si, par exemple le critère de performance maximal obtenu au cours de l’étape de détermination 14 est inférieur à une valeur minimale de critère de performance souhaitée, ou si on soupçonne par exemple avoir obtenu un maximum local qui ne correspond pas au maximum pouvant réellement être obtenu. [105] At this stage of method 1 according to a particular implementation of the first embodiment, it is possible to continue the search for a better performance criterion if, for example, the maximum performance criterion obtained during the determination step 14 is less than a desired minimum performance criterion value, or if it is suspected, for example, of having obtained a local maximum which does not correspond to the maximum that can actually be obtained.
[106] Dans ce cas le procédé 1 peut être recommencé aux étapes 10-10” en créant de nouveaux jeux de données bradées, par exemple en créant des jeux de données bradées à partir de valeurs de seuils de brait présentant une granularité affinée autour du seuil de brait ayant permis d’obtenir le maximum de performance lors de l’étape de détermination, afin de rechercher une valeur de maximum encore meilleure. [106] In this case, method 1 can be restarted at steps 10-10” by creating new datasets that have been reduced, for example by creating datasets that have been reduced from values of thresholds of noise presenting a refined granularity around the brait threshold having made it possible to obtain the maximum performance during the determination step, in order to seek an even better maximum value.
[107] De retour à la mise en œuvre première du premier mode de réalisation, une fois l’ensemble de données d’entraînement bradées 22 présentant la performance de détection maximale déterminée, aussi appelé ensemble de données d’entraînement bradées 22 déterminé, on met en œuvre 15 le module d’apprentissage automatique entraîné à partir de cet ensemble de données d’entraînement bradées 22 pour détecter les anomalies. Autrement dit, dans notre mode de réalisation, on peut mettre en œuvre ce module d’apprentissage automatique pour détecter les résines plastiques non-recyclables dans une chaîne de recyclage de polyéthylène. [107] Returning to the first implementation of the first embodiment, once the set of discounted training data 22 having the determined maximum detection performance, also called set of discounted training data 22 determined, we implements the machine learning module trained from this brazed training data set 22 to detect anomalies. In other words, in our embodiment, we can implement this machine learning module to detect non-recyclable plastic resins in a polyethylene recycling chain.
[108] Selon un autre mode de réalisation de l’invention, en référence à la figure 2, le procédé 1’ diffère du procédé 1 précédent en ce qu’il est mis en œuvre de manière incrémentale, et non selon le mode en grille de recherche mis en œuvre précédemment. [108] According to another embodiment of the invention, with reference to FIG. 2, method 1' differs from the previous method 1 in that it is implemented incrementally, and not according to the grid mode. of research put in work previously.
[109] La méthode incrémentale ci-après décrite est un exemple de mise en œuvre itérative de l’invention. Cependant l’invention ne se limite pas à ce seul procédé incrémental et peut être adaptée à d’autres méthodes, telles qu’une approche dichotomique ou une méthode heuristique pour effectuer une recherche d’optimum itérative. [109] The incremental method described below is an example of iterative implementation of the invention. However, the invention is not limited to this single incremental method and can be adapted to other methods, such as a dichotomous approach or a heuristic method to perform an iterative search for optimum.
[110] Aussi, de manière détaillée, le procédé 1’ procède dans un premier temps à une étape de génération 10 d’une première copie bruitée 21, à partir d’une première valeur de seuil de bruit. [110] Also, in detail, the method 1′ first proceeds to a generation step 10 of a first noisy copy 21, from a first noise threshold value.
[111] On procède avec cette copie bruitée 21 à l’étape de constitution 11 d’un ensemble de données d’entraînement bruitées 22 qui est la combinaison de la copie bruitée 21 et de l’ensemble de données d’entraînement 20. [111] We proceed with this noisy copy 21 to the step of constitution 11 of a noisy training data set 22 which is the combination of the noisy copy 21 and the training data set 20.
[112] Un fois cet ensemble de données d’entraînement bruitées 22 constitué, on entraîne alors le module d’apprentissage automatique à partir de cet ensemble de données d’entraînement bruitées 22, et on met en œuvre une étape de calcul 13 de la performance du dudit module d’apprentissage automatique entraîné. [112] Once this set of noisy training data 22 has been constituted, the automatic learning module is then trained from this set of noisy training data 22, and a calculation step 13 of the performance of said trained machine learning module.
[113] Ces étapes de constitution 11, d’entraînement 12 et de calcul 13 de la performance sont réalisées de la même manière que pour le premier mode de réalisation de l’invention. [113] These steps of constitution 11, training 12 and calculation 13 of the performance are carried out in the same way as for the first embodiment of the invention.
[114] Lors de la première itération, on procède nécessairement à un retour à l’étape 10 de génération d’une nouvelle copie bruitée. Cette nouvelle copie bruitée est générée à partir d’une nouvelle valeur de seuil de bruit. [114] During the first iteration, we necessarily proceed to a return to step 10 of generation of a new noisy copy. This new noisy copy is generated from a new noise threshold value.
[115] Aussi, selon cet exemple de mise en œuvre, la valeur de seuil de bruit est, lors de l’initialisation du procédé 1’, initialisée à une valeur minimale, qui correspond au plus petit bruit ajouté. A chaque itération du procédé 1’, le seuil de bruit est incrémenté d’un pas, déterminé en fonction de la granularité souhaitée. [115] Also, according to this example of implementation, the noise threshold value is, during the initialization of the process 1′, initialized to a minimum value, which corresponds to the smallest added noise. At each iteration of method 1′, the noise threshold is incremented by one step, determined according to the desired granularity.
[116] En effet, plus le pas d’incrément du seuil de bruit est faible, plus la recherche du maximum de performance sera précise, mais plus le nombre d’itération sera important. A contrario, un pas d’incrément important permettra d’obtenir un maximum relativement rapidement, mais risque de ne pas permettre de trouver le maximum de performance optimal. [116] Indeed, the lower the noise threshold increment step, the more precise the search for maximum performance will be, but the greater the number of iterations. On the other hand, a large increment step will make it possible to obtain a maximum relatively quickly, but risks not making it possible to find the optimal maximum performance.
[117] Aussi, à titre d’exemple pour un vecteur de bruit de norme comprise dans la plage de valeurs ]0,1], on peut définir un incrément de 1/1000. Avec pour première valeur de seuil de bruit une norme de 0.001 et à chaque itération une augmentation du seuil de bruit, de sorte qu’on génère à chaque itération un bruit présentant une amplitude de plus en plus grande. [117] Also, as an example for a noise vector with a norm included in the range of values ]0,1], we can define an increment of 1/1000. With a norm of 0.001 as the first noise threshold value and at each iteration an increase in the noise threshold, so that at each iteration a noise with an increasingly large amplitude is generated.
[118] Toutefois ceci est donné à titre d’exemple et le pas d’itération du bruit, les valeurs de seuil de bruit, autrement dit l’amplitude du bruit, peuvent être librement adaptés par l’homme du métier. [118] However, this is given by way of example and the noise iteration step, the noise threshold values, in other words the noise amplitude, can be freely adapted by those skilled in the art.
[119] A partir de la deuxième itération, lorsque la performance du module d’apprentissage automatique est calculée au cours de l’étape de calcul 13 de performance, on procède à une étape de détermination 14’ de l’ensemble de données d’entraînement bradées présentant une performance de détection maximale. Cette étape de détermination 14’ est ici mise en œuvre à chaque itération. [119] From the second iteration, when the performance of the module automatic learning is calculated during the step 13 of calculating performance, a step 14′ of determining the set of training data sold off presenting a maximum detection performance is carried out. This determination step 14' is here implemented at each iteration.
[120] Au cours de cette étape de détermination 14’, on compare la performance du module d’apprentissage automatique obtenue à cette itération par rapport à la performance du module d’apprentissage automatique de l’itération précédente. [120] During this determination step 14′, the performance of the machine learning module obtained at this iteration is compared to the performance of the machine learning module of the previous iteration.
[121] A ce stade, si l’itération précédente présentait une meilleure performance, on peut considérer qu’un maximum de performance a été atteint. [121] At this stage, if the previous iteration presented a better performance, we can consider that a maximum performance has been reached.
[122] Aussi dans ce cas, on détermine 14’ que la valeur de seuil de brait de l’itération précédente était optimale et on peut alors procéder à l’étape de mise en œuvre 15 du module d’apprentissage automatique entraîné à partir de la copie braitée obtenue pour la valeur de seuil de brait de l’itération précédente. [122] Also in this case, it is determined 14' that the brait threshold value of the previous iteration was optimal and one can then proceed to the implementation step 15 of the machine learning module trained from the braited copy obtained for the brait threshold value of the previous iteration.
[123] A contrario, si on constate, au cours de l’étape de détermination, que la performance de l’itération actuelle est supérieure à la performance de l’itération précédente, on constate une progression des performances, et on procède alors à une nouvelle itération du procédé, en retour à l’étape de génération 10 d’une copie braitée. [123] On the other hand, if it is observed, during the determination step, that the performance of the current iteration is superior to the performance of the previous iteration, there is an increase in performance, and one then proceeds to a new iteration of the method, returning to step 10 of generation of a braited copy.
[124] Toutefois, lorsqu’on détermine lors de l’étape de détermination 14’ qu’un maximum de performance a été trouvé, il se peut qu’il s’agisse d’un maximum local et non du maximum optimal de performance. Aussi, on peut selon une mise en œuvre particulière de ce deuxième mode de réalisation, procéder à une pluralité de nouvelles itérations, par exemple pour un nombre d’itération prédéterminé, afin de vérifier si une nouvelle progression de la performance peut être obtenue pour les itérations suivantes. Ceci permet d’éviter l’arrêt du procédé sur un maximum local. [124] However, when it is determined during the determination step 14' that a performance maximum has been found, it may be a local maximum and not the optimal performance maximum. Also, according to a particular implementation of this second embodiment, it is possible to carry out a plurality of new iterations, for example for a predetermined number of iterations, in order to check whether a new improvement in performance can be obtained for the subsequent iterations. This prevents the process from stopping at a local maximum.
[125] Ces deux modes de réalisations sont données à titre d’exemple de l’invention, et l’invention ne se limite toutefois pas uniquement à cette implémentation. En particulier tout type de module d’apprentissage non-supervisé peut être mis en œuvre par le procédé, les différentes approches algorithmiques décrites peuvent aussi être librement adaptée par l’homme du métier, dans la mesure où une recherche d’un maximum de performance du module d’apprentissage automatique par génération de différentes copies braitée est mise en œuvre. [125] These two embodiments are given by way of example of the invention, and the invention is not however limited solely to this implementation. In particular, any type of unsupervised learning module can be implemented by the method, the different algorithmic approaches described can also be freely adapted by those skilled in the art, insofar as a search for maximum performance of the machine learning module by generating different braited copies is implemented.
[126] L’invention ici décrite permet d’obtenir un procédé de détection d’anomalie mettant en œuvre des modules d’apprentissage automatique non supervisés présentant un fonctionnement optimisé par l’ajout de brait contrôlé dans les données d’entraînement. [126] The invention described here makes it possible to obtain an anomaly detection method implementing unsupervised automatic learning modules having an operation optimized by the addition of controlled noise in the training data.
[127] L’invention peut aussi être employée à des fins de classification. En particulier, en référence à l’exemple de domaine technique exposé dans la présente description, mais de manière non limitative, l’invention peut concerner un procédé de classification, par exemple de classification de matériau, à classifier dans une liste de matériaux prédéterminée, telle qu’une liste de résines plastiques. [127] The invention can also be used for classification purposes. In particular, with reference to the example of the technical field set out in the present description, but in a non-limiting manner, the invention may relate to a classification method, for example material classification, to be classified in a predetermined list of materials, such as a list of plastic resins.
[128] A cet égard chaque matériau est associé à au moins un paramètre de mesure, tel qu’un spectre d’absorption, tel qu’exposé précédemment. [128] In this regard, each material is associated with at least one measurement parameter, such as an absorption spectrum, as explained above.
[129] Le procédé de classification met alors en œuvre, pour chaque matériau de la liste de matériaux prédéterminée, un procédé 1, 1’ de détection d’anomalies tel que décrit précédemment. Ceci permet, par la mise en œuvre de plusieurs procédés de détection d’anomalies d’effectuer une classification relativement efficace et robuste. [129] The classification process then implements, for each material from the predetermined list of materials, a process 1, 1' for detecting anomalies as described above. This allows, through the implementation of several anomaly detection processes, to perform a relatively efficient and robust classification.

Claims

Revendications Claims
[Revendication 1] Procédé (1, G) de détection d’anomalies mis en œuvre par ordinateur dans un ensemble de données mettant en œuvre un module d’apprentissage automatique non- supervisé, et comprenant la fourniture (9) d’un ensemble de données d’entraînement (20) étiquetées comprenant au moins une donnée d’entraînement représentative d’un état normal des données analysées, caractérisé en ce que le procédé comprend : une étape de génération (10-10”) d’une pluralité de copies bruitées (21) de tout ou partie des données de l’ensemble de données d’entraînement (20), chaque copie bruitée (21) étant obtenue à partir d’au moins un paramètre de génération de bruit ; ledit paramètre de génération de bruit comprenant une amplitude de bruit maximale à ajouter à tout ou partie des données de l’ensemble de données d’entraînement ; pour chaque copie bruitée (21), une étape de constitution (11-11”) d’un ensemble de données d’entraînement bruitées (22), comprenant ledit ensemble de donnée d’entraînement (20) et ladite au moins une copie bruitée (21) associée, pour chaque copie bruitée, une étape d’entraînement (12-12”) dudit module d’apprentissage automatique en fonction dudit ensemble de données d’entraînement bruitées (22) associé, pour chaque copie bruitée, une étape de calcul (13-13”) de la performance de détection dudit module d’apprentissage automatique en fonction du taux de faux positifs obtenu par la mise en œuvre du module d’apprentissage automatique sur un ensemble de données de test étiquetées, comprenant au moins une donnée d’entraînement représentative d’un état normal des données analysées ; une étape de détermination (14, 14’) de l’ensemble de données d’entraînement bruitées présentant une performance de détection maximale ; et la mise en œuvre (15) du module d’apprentissage automatique entraîné à partir dudit ensemble de données d’entraînement bruitées déterminé. [Claim 1] A computer-implemented method (1, G) of detecting anomalies in a data set implementing an unsupervised machine learning module, and comprising providing (9) a set of training data (20) labeled comprising at least one training data representative of a normal state of the analyzed data, characterized in that the method comprises: a step of generating (10-10”) a plurality of copies noisy (21) of all or part of the data of the training data set (20), each noisy copy (21) being obtained from at least one noise generation parameter; said noise generation parameter comprising a maximum noise amplitude to be added to all or part of the data of the training data set; for each noisy copy (21), a step of constituting (11-11”) a set of noisy training data (22), comprising said set of training data (20) and said at least one noisy copy (21) associated, for each noisy copy, with a step of training (12-12”) of said automatic learning module as a function of said set of noisy training data (22) associated, for each noisy copy, with a step of calculation (13-13”) of the detection performance of said machine learning module as a function of the false positive rate obtained by the implementation of the machine learning module on a set of labeled test data, comprising at least one training data representative of a normal state of the analyzed data; a step of determining (14, 14') the set of noisy training data exhibiting maximum detection performance; and implementing (15) the machine learning module trained from said determined noisy training data set.
[Revendication 2] Procédé (1) selon la revendication 1, caractérisé en ce qu’il met en œuvre en parallèle les étapes de génération (10-10”) d’une pluralité de copies bruitées (21), et pour chaque copie bruitée générée, le procédé (1) met en œuvre en parallèle, les étapes de constitution (11- 11”), d’entraînement (12-12”), et de calcul (13-13”), l’étape de détermination (14) déterminant l’ensemble de données d’entraînement bruitées présentant une performance de détection maximale parmi les performance calculées par les étapes de calcul (13-13”) parallèles. [Claim 2] Method (1) according to claim 1, characterized in that it implements in parallel the steps of generating (10-10”) a plurality of noisy copies (21), and for each noisy copy generated, the method (1) implements in parallel, the steps of constitution (11-11”), training (12-12”), and calculation (13-13”), the step of determination (14) determining the set of noisy training data having a maximum detection performance among the performances calculated by the parallel calculation steps (13-13”).
[Revendication 3] Procédé (G) selon la revendication 1, caractérisé en ce que lesdites étapes de génération (10), de constitution (11), d’entraînement (12) et de calcul (13) sont mises en œuvre de manière itérative, par exemple de manière incrémentale ou dichotomique ; de sorte qu’à chaque itération on compare au cours de l’étape de détermination (14’) la performance de détection dudit module d’apprentissage automatique calculée avec la performance de détection dudit module d’apprentissage automatique calculée à l’itération précédente. [Claim 3] Method (G) according to claim 1, characterized in that said generation (10), constitution (11), training (12) and calculation (13) steps are implemented iteratively , for example incrementally or dichotomously; so that at each iteration, during the determination step (14′), the detection performance of said automatic learning module calculated is compared with the detection performance of said automatic learning module calculated at the previous iteration.
[Revendication 4] Procédé (1, G) selon l’une quelconque des revendications 1 à 3, caractérisé en ce que l’ensemble de données d’entraînement étiquetées (20) comprend aussi au moins un exemple de donnée anormale. [Claim 4] Method (1, G) according to any one of Claims 1 to 3, characterized in that the set of labeled training data (20) also comprises at least one example of anomalous data.
[Revendication 5] Procédé (1, G) selon la revendication 4 caractérisé en ce que l’étape de calcul (13-13”) de la performance de détection dudit module d’apprentissage automatique est aussi fonction du taux de faux négatifs obtenu par la mise en œuvre du module d’apprentissage automatique sur au moins un exemple de donnée anormale. [Claim 5] Method (1, G) according to claim 4 characterized in that the step of calculating (13-13”) the detection performance of said automatic learning module is also a function of the rate of false negatives obtained by implementing the automatic learning module on at least one example of anomalous data.
[Revendication 6] Procédé (1, G) selon la revendication 5, caractérisé en ce que ladite étape de calcul (13-13”) de la performance de détection comprend le calcul d’une moyenne entre le taux de faux positifs et le taux de faux négatifs. [Claim 6] Method (1, G) according to claim 5, characterized in that said step of calculating (13-13”) the detection performance comprises calculating an average between the rate of false positives and the rate false negatives.
[Revendication 7] Procédé (1, G) selon la revendication 6, caractérisé en ce que ladite moyenne est pondérée en fonction d’un coefficient prédéterminé.[Claim 7] Method (1, G) according to claim 6, characterized in that said average is weighted according to a predetermined coefficient.
[Revendication 8] Procédé (1, G) selon l’une quelconque des revendications 1 à 7, caractérisé en ce que l’étape de détermination (14) comprend en outre une comparaison de la performance de détection maximale déterminée avec une valeur de performance cible, de sorte que si la performance de détection maximale est inférieure à la valeur de performance cible, on procède à une nouvelle mise en œuvre du procédé (I,G) avec de nouvelles valeurs de paramètres de génération de bruit. [Claim 8] A method (1, G) according to any one of claims 1 to 7, characterized in that the determining step (14) further comprises comparing the determined maximum detection performance with a performance value target, so that if the maximum detection performance is lower than the target performance value, a new implementation of the method (I,G) is carried out with new noise generation parameter values.
[Revendication 9] Procédé (1, G) selon l’une quelconque des revendications 1 à 8, caractérisé en ce que ledit au moins un paramètre de génération de bruit comprend une distribution statistique du bruit, tel qu’un bruit additif blanc gaussien ou un bruit coloré. [Claim 9] A method (1, G) according to any one of claims 1 to 8, characterized in that said at least one noise generating parameter comprises a statistical distribution of noise, such as additive white Gaussian noise or colored noise.
[Revendication 10] Procédé (1, G) selon l’une quelconque des revendications 1 à 9, caractérisé en ce que le module d’apprentissage automatique comprend un module parmi : une machine à vecteur de support à une classe, un arbre décisionnel, une forêt d’arbres décisionnels, une méthode des k plus proches voisins ou un auto-encodeur. [Claim 10] A method (1, G) according to any one of claims 1 to 9, characterized in that the machine learning module comprises one of: a one-class support vector machine, a decision tree, a forest of decision trees, a k-nearest neighbor method or an auto-encoder.
[Revendication 11] Procédé de classification d’un matériau, à classifier dans une liste de matériaux prédéterminée, telle qu’une liste de résines plastiques, chaque matériau étant associé à au moins un paramètre de mesure, tel qu’un spectre d’absorption ; le procédé de classification comprenant, pour chaque matériau de la liste de matériaux prédéterminée, la mise en œuvre du procédé (1, G) de détection d’anomalies selon l’une quelconque des revendications 1 à 10. [Claim 11] Method for classifying a material, to be classified in a list of predetermined materials, such as a list of plastic resins, each material being associated with at least one measurement parameter, such as an absorption spectrum ; the classification method comprising, for each material of the predetermined list of materials, the implementation of the method (1, G) for detecting anomalies according to any one of claims 1 to 10.
[Revendication 12] Programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes du procédé (1, G) selon l’une quelconque des revendications 1 à 10 et/ou pour l’exécution du procédé selon la revendication 11, lorsque ledit programme est exécuté sur un ordinateur. [Claim 12] Computer program comprising program code instructions for carrying out the steps of the method (1, G) according to any one of claims 1 to 10 and/or for carrying out the method according to claim 11, when said program is executed on a computer.
EP21755801.4A 2020-07-16 2021-07-15 Generating noisy copies of training data in a method for detecting anomalies Pending EP4182859A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2007444A FR3112634B1 (en) 2020-07-16 2020-07-16 Anomaly detection process
PCT/FR2021/051321 WO2022013503A1 (en) 2020-07-16 2021-07-15 Generating noisy copies of training data in a method for detecting anomalies

Publications (1)

Publication Number Publication Date
EP4182859A1 true EP4182859A1 (en) 2023-05-24

Family

ID=72885727

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21755801.4A Pending EP4182859A1 (en) 2020-07-16 2021-07-15 Generating noisy copies of training data in a method for detecting anomalies

Country Status (4)

Country Link
EP (1) EP4182859A1 (en)
FR (1) FR3112634B1 (en)
WO (1) WO2022013503A1 (en)
ZA (1) ZA202301444B (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6782679B2 (en) * 2016-12-06 2020-11-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Information processing equipment, information processing methods and programs

Also Published As

Publication number Publication date
FR3112634B1 (en) 2023-04-28
WO2022013503A1 (en) 2022-01-20
ZA202301444B (en) 2023-10-25
FR3112634A1 (en) 2022-01-21

Similar Documents

Publication Publication Date Title
Shen et al. A physics-informed deep learning approach for bearing fault detection
Tao et al. Self-adaptive cost weights-based support vector machine cost-sensitive ensemble for imbalanced data classification
González et al. Validation methods for plankton image classification systems
EP2696344A1 (en) Method and system for detecting acoustic events in a given environment
EP3238137B1 (en) Semantic representation of the content of an image
FR2746530A1 (en) METHOD AND SYSTEM FOR SELECTING ADAPTATION VECTORS FOR SHAPE RECOGNITION
CN111914090A (en) Method and device for enterprise industry classification identification and characteristic pollutant identification
You et al. A Fault Diagnosis Model for Rotating Machinery Using VWC and MSFLA‐SVM Based on Vibration Signal Analysis
CN113609569B (en) Distinguishing type generalized zero sample learning fault diagnosis method
Sikder et al. Outlier detection using AI: a survey
Farzi et al. Estimation of organic facies using ensemble methods in comparison with conventional intelligent approaches: A case study of the South Pars Gas Field, Persian Gulf, Iran
EP3846087A1 (en) Method and system for selecting a learning model within a plurality of learning models
Wei et al. Minority-prediction-probability-based oversampling technique for imbalanced learning
WO2022013503A1 (en) Generating noisy copies of training data in a method for detecting anomalies
Kang et al. Product failure detection for production lines using a data-driven model
Lancho et al. Hostility measure for multi-level study of data complexity
Almeida et al. An integrated approach based on the correction of imbalanced small datasets and the application of machine learning algorithms to predict total phosphorus concentration in rivers
Fedorchuk et al. Binary classifier evaluation without ground truth
US20220398494A1 (en) Machine Learning Systems and Methods For Dual Network Multi-Class Classification
FR2899359A1 (en) METHOD USING MULTI-RESOLUTION OF IMAGES FOR OPTICAL RECOGNITION OF POSTAL SHIPMENTS
Dongre et al. Stream data classification and adapting to gradual concept drift
Kennedy et al. Synthesizing class labels for highly imbalanced credit card fraud detection data
Fop et al. Unobserved classes and extra variables in high-dimensional discriminant analysis
Nikovski et al. Regularized covariance matrix estimation with high dimensional data for supervised anomaly detection problems
WO2019211367A1 (en) Method for automatically generating artificial neural networks and method for assessing an associated risk

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: 20230209

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

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230705

DAX Request for extension of the european patent (deleted)
RAV Requested validation state of the european patent: fee paid

Extension state: MA

Effective date: 20230209