FR3118244A1 - Method and device for diagnosing anomalies - Google Patents
Method and device for diagnosing anomalies Download PDFInfo
- Publication number
- FR3118244A1 FR3118244A1 FR2013938A FR2013938A FR3118244A1 FR 3118244 A1 FR3118244 A1 FR 3118244A1 FR 2013938 A FR2013938 A FR 2013938A FR 2013938 A FR2013938 A FR 2013938A FR 3118244 A1 FR3118244 A1 FR 3118244A1
- Authority
- FR
- France
- Prior art keywords
- model
- boxes
- input
- pure
- point
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 85
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 121
- 238000003066 decision tree Methods 0.000 claims abstract description 69
- 238000013145 classification model Methods 0.000 claims abstract description 46
- 238000003745 diagnosis Methods 0.000 claims abstract description 45
- 230000008859 change Effects 0.000 claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 230000002776 aggregation Effects 0.000 claims description 18
- 238000004220 aggregation Methods 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 9
- 230000006698 induction Effects 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 description 30
- 238000004519 manufacturing process Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000012360 testing method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012512 characterization method Methods 0.000 description 7
- 239000010750 BS 2869 Class C2 Substances 0.000 description 6
- 230000007547 defect Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 235000021183 entrée Nutrition 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 239000010749 BS 2869 Class C1 Substances 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000010206 sensitivity analysis Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 241000115929 Anabolia appendix Species 0.000 description 1
- 206010028980 Neoplasm Diseases 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000010863 targeted diagnosis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/045—Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
L’invention propose un dispositif de diagnostic d’anomalie (100) comprenant : - une détermination de la classe à laquelle appartient une donnée d’entrée correspondant à un point requête, en appliquant un modèle (10) utilisant des arbres de décision, - une décomposition (14) des feuilles des arbres de décision en boites pures, correspondant chacune à une région de l’espace des caractéristiques d’entrée de la donnée d’entrée; - un calcul d’un point contrefactuel (17) représentant le point virtuel le plus proche du point requête appartenant à une classe cible, à partir de la décomposition; - un calcul de vecteur de changement (18) représentant les changements à appliquer au minimum à la donnée d'entrée pour que la donnée d’entrée soit classée dans la classe cible par le modèle de classification, à partir de la différence entre le point contrefactuel Y et la requête d’entrée X, le vecteur de changement dX. Figure pour l’abrégé : Fig.1 The invention proposes an anomaly diagnosis device (100) comprising: - a determination of the class to which an input data corresponding to a query point belongs, by applying a model (10) using decision trees, - a decomposition (14) of the leaves of the decision trees into pure boxes, each corresponding to a region of the space of input characteristics of the input data; - a calculation of a counterfactual point (17) representing the virtual point closest to the query point belonging to a target class, from the decomposition; - a calculation of a change vector (18) representing the minimum changes to be applied to the input data so that the input data is classified in the target class by the classification model, from the difference between the point counterfactual Y and the input query X, the change vector dX. Figure for the abstract: Fig.1
Description
L’invention concerne de manière générale le domaine de la classification et en particulier un dispositif et un procédé de diagnostic d’anomalies utilisant un ou plusieurs arbres de décision.The invention generally relates to the field of classification and in particular to a device and a method for diagnosing anomalies using one or more decision trees.
Il est courant dans les dispositifs de détection d'anomalies existants d'utiliser un apprentissage automatique basé sur l’utilisation de modèles d’apprentissage de type «ensemble d’arbres de décision ».It is common in existing anomaly detection devices to use machine learning based on the use of “set of decision tree” type learning models.
De tels dispositifs sont classiquement utilisés dans des systèmes industriels, tels que les systèmes de test et de diagnostic d’objets ou équipements défectueux sur des chaînes de production, les systèmes de diagnostic de fraudes dans le domaine bancaire ou fiscal, ou les systèmes de diagnostic médical ou d'aide au diagnostic médical. Dans un exemple d’application, des dispositifs de diagnostic d’anomalies aux systèmes industriels, les processus de fabrication sont complexes et comportent de nombreuses étapes de sorte qu’il existe un risque fort qu’une anomalie (défaut) soit introduite avant la fin du processus de fabrication.Such devices are conventionally used in industrial systems, such as systems for testing and diagnosing defective objects or equipment on production lines, systems for diagnosing fraud in the banking or tax field, or diagnostic systems medical or aid to medical diagnosis. In an example application, from fault diagnostic devices to industrial systems, the manufacturing processes are complex and involve many steps such that there is a high risk that a fault (defect) will be introduced before completion. of the manufacturing process.
Dans de telles applications, le dispositif de diagnostic d’anomalies basé sur des modèles d’apprentissage automatiques de type ensemble d’arbres doit être capable d'expliquer de façon intelligible la prise de décision du système de détection d'anomalies. Par exemple, dans des dispositifs de diagnostic médical, les modèles d’apprentissage de type ”boîte noire” ne sont pas homologables à l’intérieur de dispositifs médicaux car il n'est pas possible de relier la prise de décision aux paramètres du modèle.In such applications, the anomaly diagnosis device based on set-tree type machine learning models must be able to intelligibly explain the decision-making of the anomaly detection system. For example, in medical diagnostic devices, “black box” type learning models are not homologable inside medical devices because it is not possible to link the decision making to the parameters of the model.
Ainsi, la capacité d'expliquer la prise de décision du modèle repose sur l’interprétabilité des sorties (décisions) délivrés par les modèles de type « ensemble d’arbres de décisions ».Thus, the ability to explain the model's decision-making relies on the interpretability of the outputs (decisions) delivered by the "set of decision tree" type models.
Une définition de l'interprétabilité basée sur la notion d’explications contrefactuelles a été proposée par exemple dans C.Molnar, « Interpretable, Machine Learning, 2019, A Guide for Making Black Box Models Explainable». Cette définition repose sur la notion d’explications contrefactuelles (“counterfactual explanations”), une ‘explication contrefactuelle’ d’une prédiction délivrée par un modèle d’apprentissage décrivant le plus petit changement des valeurs de caractéristiques d’entrée du modèle qui modifie la prédiction du modèle à une valeur de sortie prédéfinie. A definition of interpretability based on the notion of counterfactual explanations has been proposed for example in C. Molnar, “Interpretable, Machine Learning, 2019, A Guide for Making Black Box Models Explainable”. This definition is based on the notion of counterfactual explanations, a 'counterfactual explanation' of a prediction delivered by a learning model describing the smallest change in the values of input characteristics of the model which modifies the model prediction at a predefined output value .
Pour détecter des anomalies, les modèles de classification binaires (en particulier des modèles de type ensemble d'arbres tels que XGBoost1 2 ou lightGBM3 4) sont généralement entraînés pour classer les données en deux classes, par exemple une classe ”présence d’anomalie” versus une classe ”absence d’anomalie”. Le diagnostic d’anomalie doit ainsi être capable de fournir une réponse correspondant à l’interprétation de la décision du modèle de classification binaire de placer la donnée caractérisant l’anomalie dans la classe «anomalie ».To detect anomalies, binary classification models (especially ensemble-tree type models such as XGBoost1 2 or lightGBM3 4) are usually trained to classify data into two classes, for example a ”presence of anomaly” class versus an “absence of anomaly” class. The anomaly diagnosis must thus be able to provide an answer corresponding to the interpretation of the decision of the binary classification model to place the data characterizing the anomaly in the “anomaly” class.
Deux catégories de solutions ont été proposées dans l’état de la technique pour fournir une interprétation des décisions des modèles de classification comprenant:
- les méthodes, dites d’analyse de sensibilité, qui quantifient de façon statistique l’influence d’une caractéristique ou d’un groupe de caractéristiques sur la sortie du modèle. Cependant de telles méthodes, à l’instar de techniques de sélection de variables, ne donnent à l’utilisateur qu’une information sur les caractéristiques qui sont importantes pour le modèle, c’est-à-dire les caractéristiques qui influent sur la décision, sans fournir d’informations d’explication par rapport à une entrée spécifique. Par conséquent, de telles méthodes ne permettent pas de faire de l’explication point par point et ne sont pas par conséquent pas adaptées au diagnostic d’anomalie.
- Les techniques d’explication point à point. Étant donné une entrée du modèle, de telles techniques sont capables de déterminer des paramètres indiquant les raisons pour lesquelles le modèle a pris une décision concernant cette entrée. Les techniques d’explication point à point comprennent des méthodes dites « agnostiques au modèle » (‘model agnostic’) qui considèrent le modèle de décision comme une boîte noire et font une analyse indépendante des particularités internes du modèle, et des méthodes dites « spécifiques au modèle » (”model specific”) qui déconstruisent le modèle en tenant compte de ses particularités pour fournir une explication de la décision prise.Two categories of solutions have been proposed in the state of the art to provide an interpretation of the decisions of the classification models including:
- methods, known as sensitivity analysis, which statistically quantify the influence of a characteristic or group of characteristics on the output of the model. However, such methods, like variable selection techniques, only give the user information about the characteristics that are important for the model, i.e. the characteristics that influence the decision. , without providing explanatory information with respect to a specific entry. Consequently, such methods do not make it possible to make a point-by-point explanation and are consequently not suitable for diagnosing an anomaly.
- Point-to-point explanation techniques. Given an input to the model, such techniques are able to determine parameters indicating why the model made a decision regarding that input. Point-to-point explanation techniques include so-called 'model agnostic' methods which view the decision model as a black box and make an independent analysis of the internal peculiarities of the model, and so-called 'model-specific' methods. to the model” (”model specific”) which deconstruct the model taking into account its particularities to provide an explanation of the decision taken.
Parmi les méthodes agnostiques au modèle, les méthodes les plus couramment utilisées sont les approches de type « modèle de substitution» (‘model surrogate’) qui approximent le modèle par un modèle plus simple et interprétable soit de façon globale (C.Molnar, Interpretable, Machine Learning, 2019, A Guide for Making Black Box Models Explainable, section 5.6), soit de façon locale autour de la prédiction à expliquer (comme décrit par exemple dans M. T. Ribeiro, S. Singh, and C. Guestrin, \" why should i trust you?" explaining the predictions of any classifier," in Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining, 2016, pp. 1135-1144). L’efficacité de telles méthodes est fortement conditionnée par la capacité à approximer le modèle par un modèle de substitution interprétable. Dans les approches de type modèle de substitution, les modèles sont des modèles simples (par exemple des arbres de décision, des modèles linéaires, des modèles additifs généralisés etc.) qui ne permettent pas d’approximer de façon satisfaisante les modèles complexes, ce qui rend les modèle de substitution globaux peu utilisés. Un problème similaire se pose pour les modèles de substitution locaux. Par exemple, l’approximation locale est du type lissage de noyau (‘kernel smoothing’) dans M. T. Ribeiro, S. Singh, and C. Guestrin, \" why should i trust you?" explaining the predictions of any classier," in Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining, 2016, pp. 1135-1144. Cette approximation est très sensible à la taille des voisinages, et donc très instable par rapport au choix du paramètre largeur de bande du noyau (‘kernel’) utilisé pour le lissage (‘smoothing’). De façon générale, il est compliqué de trouver des paramétrisations des modèles de substitution locaux qui garantissent une bonne approximation du modèle original. Par ailleurs, elle requiert une paramétrisation autour de chaque point à expliquer, ce qui rend l’approximation complexe. Il en résulte une grande instabilité des explications déterminées suivant les paramétrisations choisies.Among the model-agnostic methods, the most commonly used methods are “model surrogate” type approaches which approximate the model by a simpler and more interpretable model either globally (C.Molnar, Interpretable , Machine Learning, 2019, A Guide for Making Black Box Models Explainable, section 5.6), or locally around the prediction to be explained (as described for example in M. T. Ribeiro, S. Singh, and C. Guestrin, "why should i trust you?" explaining the predictions of any classifier," in Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining, 2016, pp. 1135-1144). ability to approximate the model by an interpretable surrogate model In surrogate model-type approaches, the models are simple models (e.g. decision trees, linear models, additive models generalized ifs etc.) which do not allow complex models to be approximated satisfactorily, which makes global substitution models little used. A similar problem arises for local surrogate models. For example, the local approximation is of the kernel smoothing type in M. T. Ribeiro, S. Singh, and C. Guestrin, \" why should i trust you?" explaining the predictions of any classier," in Proceedings of the 22nd ACM SIGKDD international conference on knowledge discovery and data mining, 2016, pp. 1135-1144. This approximation is very sensitive to the size of the neighborhoods, and therefore very unstable with respect to the choice of the bandwidth parameter of the kernel ('kernel') used for smoothing ('smoothing') In general, it is difficult to find parameterizations of the local substitution models which guarantee a good approximation of the original model. , it requires a parametrization around each point to be explained, which makes the approximation complex, resulting in great instability of the explanations determined according to the chosen parametrizations.
Les méthodes spécifiques au modèle (‘model specific’) dédiées aux ensemble d’arbres de décision, analysent, pour une entrée donnée, la contribution de chaque caractéristique (‘feature’) à la décision finale du modèle. Elles fournissent un type d’explication qui est peu approprié au diagnostic d’anomalie, de telles méthodes, similairement aux méthodes de type analyse de sensibilité, analysant principalement les caractéristiques qui ont le plus influencé le modèle dans sa décision. Cependant, le modèle a tendance à regarder les mêmes caractéristiques quelle que soit la classe de la donnée d’entrée (”anomalie” ou ”normal”). L’explication produite ne donne donc pas de caractérisation de l’anomalie en terme de valeurs anormales des caractéristiques d’entrée, c’est-à-dire qu’elle n’explicite pas ce qui a changé au niveau des mesures/caractéristiques d’entrée par rapport à une donnée classée ”normale” par le modèle. Il n’est donc pas possible avec ce type de méthode d’obtenir de diagnostic ciblé du défaut pour en identifier la cause exacte. L’opérateur obtient comme seule information un classement (‘ranking’) par ordre d’importance décroissante des caractéristiques que le modèle a utilisé pour produire sa décision.Model specific methods dedicated to sets of decision trees analyze, for a given input, the contribution of each feature to the final decision of the model. They provide a type of explanation that is not very suitable for anomaly diagnosis, such methods, similar to sensitivity analysis type methods, mainly analyzing the characteristics that most influenced the model in its decision. However, the model tends to look at the same characteristics regardless of the class of the input data (“abnormal” or “normal”). The explanation produced therefore does not give a characterization of the anomaly in terms of abnormal values of the input characteristics, i.e. it does not explain what has changed at the level of the measurements/characteristics of input relative to data classified as “normal” by the model. It is therefore not possible with this type of method to obtain a targeted diagnosis of the fault in order to identify its exact cause. The only information the operator obtains is a ranking ('ranking') in descending order of importance of the characteristics that the model used to produce his decision.
Ainsi, les solutions proposées pour détecter des anomalies à base de modèles de type ensemble d’arbres de décision sont aveugles sur le processus de prise de décision du modèle (notamment les méthodes de type ”model agnostic”), produisent des explications imprécises (notamment les approches par modèle de substitution globaux) et/ou instables (approche par modèle de substitution locaux) du fait du manque de connaissance pour approximer convenablement le modèle. Elles sont généralement trop imprécises par rapport à la définition de l’interprétabilité posée. Par ailleurs, elles ne permettent pas de caractériser précisément les changements dans les caractéristiques d’entrée qui ont provoqué la prise de décision du modèle.Thus, the solutions proposed for detecting anomalies based on models of the set of decision trees type are blind to the decision-making process of the model (in particular “model agnostic” type methods), produce imprecise explanations (in particular global surrogate model approaches) and/or unstable (local surrogate model approaches) due to the lack of knowledge to properly approximate the model. They are generally too imprecise in relation to the definition of interpretability posed. Moreover, they do not make it possible to precisely characterize the changes in the input characteristics which caused the decision-making of the model.
Il existe donc un besoin pour un procédé et un dispositif de diagnostic d’anomalies améliorés capables de caractériser avec précision les changements qui ont provoqué l’anomalie.There is therefore a need for an improved anomaly diagnosis method and device capable of accurately characterizing the changes that caused the anomaly.
Définition générale de l’inventionGeneral definition of invention
L’invention vient améliorer la situation en proposant un dispositif de diagnostic d’anomalie comprenant une unité de classification configurée pour déterminer, en réponse à une requête reçue comprenant une donnée d’entrée et une classe cible, la classe à laquelle appartient la donnée d’entrée parmi un ensemble de classes, en appliquant la donnée d’entrée à un modèle de classification multiclasse, la donnée d’entrée correspondant à un point requête. Le modèle de classification utilise un ensemble d’arbres de décision, la donnée d’entrée comprenant un ensemble de caractéristiques d’entrée, l’espace des caractéristiques d’entrées ayant un nombre de dimensions donné. Chaque arbre de décision comprend un ensemble de nœuds définissant une arborescence depuis un nœud racine jusqu’à un ensemble de feuilles, chaque feuille de l’arbre de décision comprenant un ensemble de scores associés à chaque classe, chaque arbre de décision étant appliqué à la donnée d’entrée pour déterminer une décision de classification élémentaire à partir des scores associés aux feuilles de l’arbre de décision, l’unité de classification appliquant une fonction d’agrégation aux décisions de classification élémentaires déterminées par chacun des arbres du modèle pour déterminer la classe de la donnée d’entrée.The invention improves the situation by proposing an anomaly diagnostic device comprising a classification unit configured to determine, in response to a request received comprising an input datum and a target class, the class to which the datum belongs. entry among a set of classes, by applying the input datum to a multiclass classification model, the input datum corresponding to a query point. The classification model uses a set of decision trees, the input data comprising a set of input features, the space of input features having a given number of dimensions. Each decision tree comprises a set of nodes defining a tree structure from a root node to a set of leaves, each leaf of the decision tree comprising a set of scores associated with each class, each decision tree being applied to the input datum for determining an elementary classification decision from the scores associated with the leaves of the decision tree, the classification unit applying an aggregation function to the elementary classification decisions determined by each of the trees of the model to determine the class of the input data.
Le dispositif de diagnostic d’anomalie comprend en outre :
- une unité de décomposition configurée pour décomposer au moins une partie de l’ensemble des feuilles associées aux arbres de décision du modèle en boites multidimensionnelles, dites boîtes pures, à partir de la requête d’entrée, les boîtes pures correspondant à une collection d’intervalles, chaque boîte pure correspondant à une région de l’espace des caractéristiques d’entrée, associée à un score vectoriel déterminé à partir des scores associés aux feuilles des arbres de décision ;
- une unité de calcul de point contrefactuel configurée pour calculer un point contrefactuel (Y) représentant le point virtuel le plus proche du point requête appartenant à la classe cible, à partir de la décomposition en boîtes pures ;
- une unité de calcul de vecteur de changement configurée pour comparer le point contrefactuel avec la requête d’entrée et déterminer la différence entre le point contrefactuel (Y) et la requête d’entrée (X), ce qui fournit un vecteur de changement (dX) représentant les changements à appliquer au minimum à la donnée d'entrée pour que la donnée d’entrée soit classée dans la classe cible par le modèle de classification, le vecteur de changement (dX) ayant la même taille que les caractéristiques d’entrée.The anomaly diagnosis device further comprises:
- a decomposition unit configured to decompose at least part of the set of leaves associated with the decision trees of the model into multidimensional boxes, called pure boxes, from the input request, the pure boxes corresponding to a collection of intervals, each pure box corresponding to a region of the input feature space, associated with a vector score determined from the scores associated with the leaves of the decision trees;
- a counterfactual point calculation unit configured to calculate a counterfactual point (Y) representing the virtual point closest to the query point belonging to the target class, from the decomposition into pure boxes;
- a change vector calculation unit configured to compare the counterfactual point with the input query and determine the difference between the counterfactual point (Y) and the input query (X), which provides a change vector ( dX) representing the minimum changes to be applied to the input data for the input data to be classified in the target class by the classification model, the change vector (dX) having the same size as the characteristics of entrance.
Dans un mode de réalisation, l’unité de décomposition peut déterminer la décomposition en boîte pures sous la forme d’une structure arborescente dérivée, dont les nœuds à une profondeur d contiennent les régions correspondant aux boîtes pures, la profondeur d correspondant à une dimension de l’espace des caractéristiques d’entrées.In one embodiment, the decomposition unit can determine the pure box decomposition as a derived tree structure, whose nodes at a depth d contain the regions corresponding to the pure boxes, the depth d corresponding to a dimension of the input feature space.
Dans un mode de réalisation, la pluralité d’arbres de décision du modèle peut comprendre des feuilles s’intersectant, l’unité de décomposition étant en outre configurée pour déterminer la décomposition du modèle en boîtes pures sous la forme de régions d’intersection maximale, dites boites d’intersection maximale, une boîte d’intersection maximale représentant une région du modèle possédant un score uniforme sur l’ensemble de la région résultant de l’agrégation des scores des feuilles qui s’intersectent pour former la région, en appliquant la fonction d’agrégation.In one embodiment, the plurality of decision trees of the model may comprise intersecting leaves, the decomposition unit further being configured to determine the decomposition of the model into pure boxes as regions of maximum intersection , called maximum intersection boxes, a maximum intersection box representing a region of the model having a uniform score over the entire region resulting from the aggregation of the scores of the intersecting leaves to form the region, by applying the aggregation function.
L’unité de décomposition peut être configurée pour déterminer les boîtes d’intersection maximales du modèle par récurrence sur les dimensions de l’espace des caractéristiques d’entrée, en appliquant une pluralité d’itérations, chaque itération correspondant à l’une des dimensions, l’unité de décomposition fournissant la décomposition en boîtes pures du modèle sous forme de boites d’intersection maximale dimension par dimension.The decomposition unit can be configured to determine the maximum intersection boxes of the model by induction on the dimensions of the input feature space, applying a plurality of iterations, each iteration corresponding to one of the dimensions , the decomposition unit providing the decomposition into pure boxes of the model in the form of maximum intersection boxes dimension by dimension.
Dans un mode de réalisation, l’unité de décomposition peut être configurée pour déterminer, à partir d’une décomposition en boîtes d’intersection maximale de la restriction du modèle aux d premières dimensions du modèle, une décomposition en boîtes d’intersection maximale de la restriction du modèle aux d+1 premières dimensions du modèle, d désignant une dimension donnée du modèle, une restriction du modèle aux d premières dimensions désignant la restriction de l'ensemble des boites correspondant aux feuilles des arbres de décision du modèle aux d premières dimensions du modèle.In one embodiment, the decomposition unit may be configured to determine, from a maximum intersection box decomposition of the restriction of the model to the first d dimensions of the model, a maximum intersection box decomposition of the restriction of the model to the first d+1 dimensions of the model, d designating a given dimension of the model, a restriction of the model to the first d dimensions designating the restriction of the set of boxes corresponding to the leaves of the decision trees of the model to the first d model size.
Dans un mode de réalisation, les boîtes d’intersection maximale
Avantageusement, le modèle peut être décomposé en un ensemble de boîtes pures comprenant au plus
Dans un mode de réalisation, l’unité de calcul du point contrefactuel peut être configurée pour calculer le point contrefactuel, en déterminant, pour chaque boîte pure, un point de la surface de la boîte pure se trouvant à une distance minimale entre le point requête représentant la donnée d’entrée et la boîte pure.In one embodiment, the counterfactual point calculation unit can be configured to calculate the counterfactual point, by determining, for each pure box, a point on the surface of the pure box located at a minimum distance between the query point representing the input data and the pure box.
Dans un mode de réalisation, le point Z de la surface de la boîte pure Bi se trouvant à une distance minimale entre le point requête X représentant la donnée d’entrée et la boîte pure Bi est donné par :In one embodiment, the point Z of the surface of the pure box Bi located at a minimum distance between the query point X representing the input data and the pure box Bi is given by:
Dans une forme de réalisation, le dispositif de diagnostic peut être configuré pour calculer une borne inférieure et une borne supérieure pour chaque nœud de la structure arborescente dérivée correspondant à la décomposition en boîtes pures, chaque niveau de la structure arborescente dérivée correspondant à une dimension du modèle, la borne inférieure représentant une borne inférieure sur la distance au point requête X de toutes les boîtes pures se trouvant en dessous du nœud, la borne supérieure représentant la borne supérieure sur la distance du point contrefactuel au point requête, le dispositif étant configuré pour arrêter la construction de la structure arborescente dérivée au niveau des nœuds pour lesquels la borne inférieure est supérieure à la borne supérieure.In one embodiment, the diagnostic device can be configured to calculate a lower bound and an upper bound for each node of the derived tree structure corresponding to the decomposition into pure boxes, each level of the derived tree structure corresponding to a dimension of the model, the lower bound representing a lower bound on the distance to the query point X of all the pure boxes lying below the node, the upper bound representing the upper bound on the distance from the counterfactual point to the query point, the device being configured to stop the construction of the derived tree structure at the level of the nodes for which the lower bound is greater than the upper bound.
Dans un mode de réalisation, pour un nœud donné de la structure arborescente dérivée, la borne inférieure est égale à la distance du point requête à la boîte pure correspondant à ce nœud.In one embodiment, for a given node of the derived tree structure, the lower bound is equal to the distance from the query point to the pure box corresponding to this node.
Le point contrefactuel pour un point requête X et une classe cible « j » peut être déterminé à partir des boîtes pures
Il est en outre proposé un procédé de diagnostic d’anomalie comprenant les étapes consistant à:
- en réponse à une requête reçue comprenant une donnée d’entrée et une classe cible, déterminer la classe à laquelle appartient la donnée d’entrée parmi un ensemble de classes, en appliquant la donnée d’entrée à un modèle de classification multiclasse, la donnée d’entrée correspondant à un point requête,
le modèle de classification utilisant un ensemble d’arbres de décision, la donnée d’entrée comprenant un ensemble de caractéristiques d’entrée, l’espace des caractéristiques d’entrées ayant un nombre de dimensions donné,
chaque arbre de décision comprenant un ensemble de nœuds définissant une arborescence depuis un nœud racine jusqu’à un ensemble de feuilles, chaque feuille de l’arbre de décision comprenant un ensemble de scores associés à chaque classe, chaque arbre de décision étant appliqué à la donnée d’entrée pour déterminer une décision de classification élémentaire à partir des scores associés aux feuilles de l’arbre de décision, une fonction d’agrégation étant appliquée aux décisions de classification élémentaires fournies par chacun des arbres du modèle pour déterminer la classe de la donnée d’entrée;
- décomposer au moins une partie de l’ensemble des feuilles associées aux arbres de décision du modèle en boites multidimensionnelles, dites boîtes pures, à partir de la requête d’entrée, les boîtes pures correspondant à une collection d’intervalles, chaque boîte pure correspondant à une région de l’espace des caractéristiques d’entrée, associée à un score vectoriel déterminé à partir des scores associés aux feuilles des arbres de décision ;
- calculer un point contrefactuel (Y) représentant le point virtuel le plus proche du point requête appartenant à la classe cible, à partir de la décomposition en boîtes pures ;
- déterminer la différence entre le point contrefactuel (Y) et la requête d’entrée (X), ce qui fournit un vecteur de changement (dX) représentant les changements à appliquer au minimum à la donnée d'entrée pour que la donnée d’entrée soit classée dans la classe cible par le modèle de classification, le vecteur de changement (dX) ayant la même taille que les caractéristiques d’entrée.There is further provided an abnormality diagnosis method comprising the steps of:
- in response to a request received comprising an input datum and a target class, determining the class to which the input datum belongs among a set of classes, by applying the input datum to a multiclass classification model, the input data corresponding to a query point,
the classification model using a set of decision trees, the input data comprising a set of input features, the space of input features having a given number of dimensions,
each decision tree comprising a set of nodes defining a tree structure from a root node to a set of leaves, each leaf of the decision tree comprising a set of scores associated with each class, each decision tree being applied to the input datum for determining an elementary classification decision from the scores associated with the leaves of the decision tree, an aggregation function being applied to the elementary classification decisions provided by each of the trees of the model to determine the class of the input data;
- decomposing at least part of the set of leaves associated with the decision trees of the model into multidimensional boxes, called pure boxes, from the input query, the pure boxes corresponding to a collection of intervals, each pure box corresponding to a region of the input feature space, associated with a vector score determined from the scores associated with the leaves of the decision trees;
- calculate a counterfactual point (Y) representing the virtual point closest to the query point belonging to the target class, from the decomposition into pure boxes;
- determine the difference between the counterfactual point (Y) and the input query (X), which provides a change vector (dX) representing the changes to be applied at least to the input data so that the input is classified into the target class by the classification model, with the change vector (dX) having the same size as the input features.
Le vecteur de changement fourni par le dispositif et le procédé de diagnostic d’anomalie permet d’interpréter les décisions du modèle de classification en un point de l’espace des caractéristiques d’entrée en comparant ce point au point le plus proche appartenant à une autre classe (l’appartenance à une classe étant définie par le modèle de classification).The change vector provided by the anomaly diagnosis device and method makes it possible to interpret the decisions of the classification model at a point in the space of the input characteristics by comparing this point with the closest point belonging to a another class (belonging to a class being defined by the classification model).
Les modes de réalisation de l’invention fournissent une résolution exacte et un passage à l’échelle (« scalability ») du problème algorithmique sous-tendant la recherche du point contrefactuel le plus proche, dans le cadre de modèles de classification de type ”ensemble d’arbres de décision” comportant potentiellement un très grand nombre d'arbres.The embodiments of the invention provide an exact resolution and a scalability of the algorithmic problem underlying the search for the nearest counterfactual point, within the framework of classification models of the “set” type. of decision trees” potentially comprising a very large number of trees.
Brève Description des FiguresBrief Description of Figures
D’autres caractéristiques, détails et avantages de l’invention ressortiront à la lecture de la description faite en référence aux dessins annexés donnés à titre d’exemple et qui représentent, respectivement :Other characteristics, details and advantages of the invention will become apparent on reading the description given with reference to the appended drawings given by way of example and which represent, respectively:
En outre, la description détaillée est augmentée de l’Annexe A. L’annexe A comprend des exemples de procédés décrits en pseudo-code (Algorithme 1 à 5), pouvant être mis en œuvre dans certains modes de réalisation.In addition, the detailed description is augmented by Appendix A. Appendix A includes examples of methods described in pseudo-code (Algorithm 1 to 5), which can be implemented in certain embodiments.
Cette Annexe est mise à part dans un but de clarification, et pour faciliter les renvois. Elle fait partie intégrante de la description, et peut donc non seulement servir à mieux faire comprendre la présente invention, mais aussi contribuer à sa définition, le cas échéant.This Appendix is separated for the purpose of clarification, and for ease of cross-referencing. It is an integral part of the description, and can therefore not only be used to better understand the present invention, but also contribute to its definition, where appropriate.
Dans l’Annexe A, des conventions de notations, usuelles pour l’homme du métier, sont utilisées, telles que les instructions conditionnelles « if-then-else » (si-alors-sinon), « while-do » (tant que-faire), « for-do » (pour-faire). Les algorithmes font intervenir différentes variables associés à des noms.In Appendix A, notation conventions, usual for those skilled in the art, are used, such as the conditional statements "if-then-else" (if-then-else), "while-do" (as long as -do), “for-do” (for-do). Algorithms involve different variables associated with names.
La présente description est de nature à faire intervenir des éléments susceptibles de protection par le droit d’auteur et/ou le copyright. Le titulaire des droits n’a pas d’objection à la reproduction à l’identique par quiconque du présent document de brevet ou de sa description, telle qu’elle apparaît dans les documents officiels. Pour le reste, il réserve intégralement ses droits.This description is likely to involve elements susceptible to protection by author's rights and/or copyright. The rights holder has no objection to the identical reproduction by anyone of this patent document or its description, as it appears in official documents. For the rest, he fully reserves his rights.
Description détaillée de la demandeDetailed description of the request
Les modes de réalisation de l’invention fournissent un dispositif et un procédé de diagnostic d’anomalie basé sur un calcul explicite et exact des régions de décision d’un modèle de classification multiclasse de type ”ensemble d’arbres” en utilisant une caractérisation géométrique de l’espace de décision d’un tel modèle, en réponse à une requête reçue comprenant une donnée d’entrée (représentée par un point requête) et une classe cible. Le dispositif et le procédé de diagnostic d’anomalie détermine la classe à laquelle appartient la donnée d’entrée parmi un ensemble de classes, en appliquant la donnée d’entrée au modèle de classification multiclasse.The embodiments of the invention provide an anomaly diagnosis device and method based on an explicit and exact calculation of the decision regions of a “set of trees” type multiclass classification model using a geometric characterization of the decision space of such a model, in response to a request received comprising an input datum (represented by a query point) and a target class. The anomaly diagnosis device and method determines the class to which the input data belongs among a set of classes, by applying the input data to the multiclass classification model.
À partir de la caractérisation géométrique de l'espace de décision, le dispositif et le procédé selon les modes de réalisation de l’invention déterminent un point contrefactuel. représentant le point virtuel le plus proche, en termes de distance euclidienne dans l’espace des caractéristiques d’entrée du modèle, du point requête appartenant à la classe cible.From the geometric characterization of the decision space, the device and the method according to the embodiments of the invention determine a counterfactual point. representing the closest virtual point, in terms of Euclidean distance in the model input feature space, to the query point belonging to the target class.
Une fois le point virtuel extrait, un vecteur de changement représentant les changements à appliquer au minimum à la donnée d'entrée pour que la donnée d’entrée soit classée dans la classe cible par le modèle est déterminé, ce qui fournit l'explication de la décision du modèle. Un tel vecteur de changement peut alors être utilisé pour diagnostiquer l’anomalie.Once the virtual point is extracted, a change vector representing the minimum changes to be applied to the input data for the input data to be classified in the target class by the model is determined, which provides the explanation of model decision. Such a vector of change can then be used to diagnose the anomaly.
La
Le dispositif de diagnostic d’anomalie 100 comprend une unité de classification 11 configurée pour déterminer, en réponse à une requête comprenant une donnée d’entrée et une classe cible et à une classe cible
La donnée d’entrée correspond à un point requête
Le dispositif de diagnostic d’anomalies 100 selon les modes de réalisation de l’invention permet de déterminer une réponse, de façon exacte, à une requête du type: « pour un point donné appartenant à une classe ”
Tel qu’utilisé ici, un point « virtuel » fait référence à un point de l’espace des caractéristiques d’entrée qui n’existe pas nécessairement dans l’ensemble d’apprentissage du modèle 10, mais qui est construit en utilisant la caractérisation géométrique du modèle.As used here, a "virtual" point refers to a point in the input feature space that does not necessarily exist in the Model 10 training set, but is constructed using the characterization geometry of the model.
Le modèle de diagnostic d’anomalie 10 est un modèle de classification binaire de type ”ensemble d’arbre de décision”, tel que par exemple XGBoost ou lightGBM.The anomaly diagnosis model 10 is a binary classification model of the “decision tree set” type, such as for example XGBoost or lightGBM.
Étant donné des caractéristiques numériques d’entrée multidimensionnelles caractérisant un objet, le modèle de classification 10 permet de classer cet objet parmi les classes de l’ensemble de classes. Par exemple, si le modèle de classification 10 est un modèle de classification binaire, l’ensemble de classes peut comprendre une classe « présence d’anomalie » et une classe « absence d’anomalie ».Given multidimensional input numerical characteristics characterizing an object, the classification model 10 makes it possible to classify this object among the classes of the set of classes. For example, if the classification model 10 is a binary classification model, the set of classes may include a class "presence of anomaly" and a class "absence of anomaly".
Le modèle de classification 10 de type ensemble d’arbres de décision est préalablement entraîné en utilisant des données d’apprentissage.The classification model 10 of the set of decision trees type is previously trained using training data.
Chaque arbre de décision du modèle de classification comprend un ensemble de nœuds définissant une arborescence depuis un nœud racine jusqu’à un ensemble de feuilles. Chaque feuille de l’arbre de décision comprend un ensemble de scores associés à chaque classe. La donnée d’entrée est appliquée à chaque arbre de décision du modèle, ce qui fournit une décision de classification élémentaire à partir des scores associés aux feuilles de l’arbre de décision. L’unité de classification 11 applique une fonction d’agrégation aux décisions de classification élémentaires fournies par chacun des arbres de décision du modèle pour déterminer la classe de la donnée d’entrée.Each decision tree of the classification model includes a set of nodes defining a tree structure from a root node to a set of leaves. Each leaf of the decision tree includes a set of scores associated with each class. The input data is applied to each decision tree of the model, which provides an elementary classification decision from the scores associated with the leaves of the decision tree. The classification unit 11 applies an aggregation function to the elementary classification decisions provided by each of the decision trees of the model to determine the class of the input data.
Le dispositif de diagnostic 100 comprend une unité de décomposition 14 pour déterminer la caractérisation géométrique du modèle 10.The diagnostic device 100 includes a decomposition unit 14 to determine the geometric characterization of the model 10.
L’unité de décomposition 14 est configurée pour décomposer au moins une partie de l’ensemble des feuilles associées aux arbres de décision du modèle en boites multidimensionnelles, dites « boîtes pures », à partir de la requête d’entrée. Les boîtes pures correspondent à une collection d’intervalles, chaque boîte pure correspondant à une région de l’espace des caractéristiques d’entrée, associée à un score vectoriel déterminé à partir des scores associés aux feuilles des arbres de décision. L'ensemble de définition du modèle 10 de type "ensemble d'arbres" est exactement l'union des boîtes correspondant aux feuilles des arbres.The decomposition unit 14 is configured to decompose at least part of the set of leaves associated with the decision trees of the model into multidimensional boxes, called “pure boxes”, from the input request. The pure boxes correspond to a collection of intervals, each pure box corresponding to a region of the input feature space, associated with a vector score determined from the scores associated with the leaves of the decision trees. The definition set of model 10 of type "set of trees" is exactly the union of the boxes corresponding to the leaves of the trees.
Le dispositif de diagnostic 100 comprend une unité de calcul de point contrefactuel 17 configurée pour calculer un point contrefactuel (Y) représentant le point virtuel le plus proche, en terme de distance euclidienne dans l’espace des caractéristiques d’entrée, du point requête appartenant à la classe cible, à partir de la décomposition en boîtes pures.The diagnostic device 100 comprises a counterfactual point calculation unit 17 configured to calculate a counterfactual point (Y) representing the closest virtual point, in terms of Euclidean distance in the space of the input characteristics, of the query point belonging to the target class, from pure box decomposition.
Le dispositif de diagnostic 100 comprend une unité de détermination de vecteur de changement 18 configurée pour déterminer la différence entre le point contrefactuel
Le dispositif de diagnostic d’anomalies 100 selon les modes de réalisation de l’invention exploite ainsi une représentation géométrique d’un modèle de classification de type ”ensemble d’arbres de décision” 11 obtenue à partir de la décomposition en boîtes pures du modèle.The anomaly diagnosis device 100 according to the embodiments of the invention thus uses a geometric representation of a classification model of the “set of decision trees” type 11 obtained from the decomposition into pure boxes of the model .
Le dispositif de diagnostic d’anomalies 100 selon les modes de réalisation de l’invention fournit avantageusement une réponse rapide et exacte à une telle requête d’entrée représentée par les caractéristiques
Pour faciliter la compréhension de la description qui suit de certains modes de réalisation et définitions utilisées en relation avec de tels modes, les notations suivantes sont définies en relation avec le modèle de classification 10 :
-
- Les caractéristiques d’entrée présentées en entrée du modèle sont représentées par un vecteur
-
-
-
- The input characteristics presented as input to the model are represented by a vector
-
-
Par ailleurs, un arbre de décision désigne un arbre binaire comprenant un nœud racine à partir duquel part une arborescence comprenant un ensemble de nœuds. Un nœud de l’arbre de décision (y compris le nœud racine) contient un indice de caractéristique d’entrée et une valeur de seuil. Quand une donnée arrive en un nœud donné de l’arbre de décision, elle part dans la branche gauche du nœud si la valeur de la caractéristique à l’indice associé au nœud est inférieure au seuil, et dans la branche droite du nœud si la valeur de la caractéristique à l’indice associé au nœud est supérieure au seuil associé au nœud. Ce procédé de parcours de l’arbre par la donnée considérée est répétée jusqu’à ce qu’elle arrive dans une feuille de l’arbre (en étant partie du nœud racine). Une feuille de l’arbre de décision comprend un score et une classe. Le score et la classe associée à la feuille de l’arbre dans laquelle arrive une donnée sont ensuite enregistrés et associée à la donnée.Furthermore, a decision tree designates a binary tree comprising a root node from which starts a tree structure comprising a set of nodes. A decision tree node (including the root node) contains an input feature index and a threshold value. When a piece of data arrives at a given node of the decision tree, it goes to the left branch of the node if the value of the characteristic at the index associated with the node is lower than the threshold, and to the right branch of the node if the value of the characteristic at the index associated with the node is greater than the threshold associated with the node. This process of traversing the tree by the datum considered is repeated until it arrives in a leaf of the tree (being part of the root node). A leaf of the decision tree includes a score and a class. The score and the class associated with the leaf of the tree in which a datum arrives are then recorded and associated with the datum.
Il convient de noter qu’un indice de caractéristique n’est pas contraint à n’apparaître qu’une et une seule fois dans un chemin entre le nœud racine et une feuille de l’arbre. Un nombre arbitraire de nœuds à l’intérieur du chemin peut ainsi correspondre à cet indice (y compris un nombre nul).It should be noted that a characteristic index is not constrained to appear only once and only once in a path between the root node and a leaf of the tree. An arbitrary number of nodes inside the path can thus correspond to this index (including a null number).
Étant donné un arbre de profondeur
Il est possible de fixer une profondeur arbitraire d’arbre
Pour tester l’appartenance à une feuille, il peut être effectué un ensemble de tests d’intervalles du type :
«
"
Une feuille d’un arbre représente donc géométriquement une ”boîte” multidimensionnelle dont chaque face est perpendiculaire à un axe de coordonnée. Certaines faces n’existent pas si l’intervalle de test associé à une coordonnée est ouvert d’un ou des deux côtés. Dans la suite de la description, une feuille Fid’un arbre sera notée comme une collection deDintervalles, selon l’équation 1 :
A leaf of a tree therefore geometrically represents a multidimensional “box” each side of which is perpendicular to a coordinate axis. Some faces do not exist if the test interval associated with a coordinate is open on one or both sides. In the remainder of the description, a leaf F i of a tree will be denoted as a collection of D intervals, according to equation 1:
Par ailleurs, un arbre de décision sera désigné ci-après parfet la
A chaque feuille d’un arbre est associé un couple (score, classe) noté (S[
La
Pour obtenir une boîte fermée de tous les côtés, au minimum deux tests par coordonnées qui n’induisent ni contradiction (par exemple, ”x1>0.5 et x1<0.3”), ni vérification inutile (par exemple, ”x1>0.3 et x1>0.5”) sont à effectuer. La feuille ”F5”, par exemple, possède un test inutile, ”x2<0.8”, car il est testé ”x2<0.4” au nœud suivant sur le ”chemin” allant du nœud racine à la feuille ”F5”. Plus généralement, pour une dimension donnée, un chemin de l’arbre possède au maximum deux tests ”utiles” (i.e., des tests n’induisant ni contradiction, ni vérification inutile), définissant un intervalle fermé pour une telle dimension.To obtain a box closed on all sides, at least two tests by coordinates which induce neither contradiction (for example, ”x1 > 0.5 and x1 < 0.3”), nor useless verification (for example, ”x1 > 0.3 and x1 > 0.5”) are to be made. The leaf ”F5”, for example, has an unnecessary test, ”x2 < 0.8”, because it is tested ”x2 < 0.4” at the next node on the ”path” from the root node to the leaf ”F5”. More generally, for a given dimension, a path of the tree has at most two “useful” tests (ie, tests inducing neither contradiction nor useless verification), defining a closed interval for such a dimension.
Dans la suite de la description, une notation simplifiée sera utilisée pour désigner le score de chaque feuille
Une donnée d’entrée, correspondant à un point requête
En utilisant des fonctions indicatrices d’appartenance à une feuille, la fonction
Using leaf membership indicator functions, the function
Telle qu’utilisée ici, une ‘collection d’arbres de décisions’ désigne un ensemble de modèles tels que par exemple les modèles XGBoost, LightGBM, les modèles « random forest », et les arbres de décision.As used here, a ‘decision tree collection’ refers to a set of models such as XGBoost models, LightGBM models, random forest models, and decision trees.
Un modèle de classification
La fonction d’agrégation vectorielle
Étant donnée une caractéristique d’entrée
Par exemple, pour des modèles de classification
La sortie du modèle
L’unité de décomposition 14 est configurée pour déterminer une reformulation géométrique d’un modèle
The decomposition unit 14 is configured to determine a geometric reformulation of a model
Il est considéré un modèle de classification
It is considered a classification model
Pour déterminer la réponse à la requête, le dispositif de diagnostic d’anomalies 100 utilise l’unité de décomposition 14 pour déterminer les régions de décision du modèle
La figue 2B illustre la notion de point contrefactuel pour un problème de classification binaire entre une première classe C1 versus une deuxième classe C2. La
Pour faciliter la compréhension du traitement mis en œuvre par l’unité de décomposition 14, les définitions et propriétés suivantes sont fournies en relation avec la notion de « région pure ».To facilitate the understanding of the processing implemented by the decomposition unit 14, the following definitions and properties are provided in relation to the notion of “pure region”.
Par ailleurs, si Classe(
La caractérisation de l’espace de décision d’un modèle F désigne une décomposition de l’espace de définition de F en régions pures distinctes, telle que mise en œuvre par l’unité de décomposition 14.The characterization of the decision space of a model F denotes a decomposition of the definition space of F into distinct pure regions, as implemented by the decomposition unit 14.
Étant donné un modèle
-
-
-
Il convient de noter qu’une telle décomposition n’est pas unique.It should be noted that such a decomposition is not unique.
La distance d’un point
Le point
Étant donné un modèle
Given a model
Avantageusement, l’unité de décomposition 14 peut être configurée pour déterminer une décomposition en régions pures de l’ensemble de définition du modèle F, de sorte que la distance par rapport à une région pure, telle que définie par l’équation (5), soit exactement et efficacement calculable, ce qui permet de déterminer une reformulation géométrique d’un modèle de classification F (10).Advantageously, the decomposition unit 14 can be configured to determine a pure region decomposition of the model definition set F, such that the distance to a pure region, as defined by equation (5) , is exactly and efficiently computable, which makes it possible to determine a geometric reformulation of a classification model F (10).
Pour un modèle de type ”collection d’arbres de décisions”, l’unité de décomposition 14 peut être en outre configurée pour déterminer une décomposition en régions pures sous forme de ”boîtes” multidimensionnelles, telles que définies par l’équation (1) de l’annexe (A). Une telle décomposition est encore appelée « décomposition en boîtes pures ». Il convient de noter que l’ensemble de définition d’un modèle F de type ”ensemble d’arbres” est l’union des boîtes correspondant aux feuilles des arbres.For a model of the “collection of decision trees” type, the decomposition unit 14 can further be configured to determine a decomposition into pure regions in the form of multidimensional “boxes”, as defined by equation (1) of Annex (A). Such a decomposition is also called “pure box decomposition”. It should be noted that the definition set of a model F of type “set of trees” is the union of the boxes corresponding to the leaves of the trees.
Étant donné un modèle F de type ”ensemble d’arbres”, l’unité de décomposition 14 peut ainsi déterminer une décomposition en boîtes pures de l’ensemble des feuilles du modèle de classification F.Given a model F of the “set of trees” type, the decomposition unit 14 can thus determine a decomposition into pure boxes of the set of leaves of the classification model F.
Il convient en outre de noter que du fait de la fonction d’agrégation g associée à un modèle, et de l’intersection potentielle entre des feuilles appartenant à des arbres différents, les boîtes correspondant aux feuilles ne sont pas nécessairement des régions pures associées au modèle.It should further be noted that due to the aggregation function g associated with a model, and the potential intersection between leaves belonging to different trees, the boxes corresponding to the leaves are not necessarily pure regions associated with the model.
Ainsi dans un mode de réalisation, l’unité de décomposition 14 peut être configurée pour effectuer en outre une décomposition en boites d'intersection maximale associée au modèle F considéré.Thus in one embodiment, the decomposition unit 14 can be configured to also perform a decomposition into maximum intersection boxes associated with the model F considered.
Telle qu’utilisée ici, une région
- il existe un sous-ensemble de feuilles
- pour toute feuille
Une région d’intersection maximale associée à un modèle
Tel qu’utilisé ici, une « boîte d’intersection maximale » associée à un modèleFde type ”ensemble d’arbres” désigne une région d’intersection maximale deFde type boîte.As used herein, a “maximum intersection box” associated with a “set of trees” model F denotes a region of maximum intersection of F of box type.
Étant donné un modèle
- ∀ n∈ {1, . . . , N},
-
-
La
La
Comme illustré sur le diagramme de la
Plus généralement, une intersection entre deux boîtes D-dimensionnelles possède une décomposition comprenant 2D +1 ou moins de 2D+1 boîtes.More generally, an intersection between two D-dimensional boxes has a decomposition comprising 2D+1 or less than 2D+1 boxes.
Par ailleurs, étant donné un modèle F de type ”ensemble d’arbres” comportantNfeuilles et dont l’ensemble de définition est inclus dans RD, il est possible de trouver une décomposition en boîtes pures des feuilles de Fcomptant au plus (2N-1)Déléments.Moreover, given a model F of type “set of trees” comprising N leaves and whose definition set is included in R D , it is possible to find a decomposition into pure boxes of the leaves of F counting at most (2N -1) D elements.
Dans un mode de réalisation, l’unité de décomposition 14 peut être configurée pour déterminer les boîtes d’intersection maximales de F (qui sont également des régions pures associées à F) par récurrence, dimension par dimension.In one embodiment, the decomposition unit 14 can be configured to determine the maximum intersection boxes of F (which are also pure regions associated with F) by recurrence, dimension by dimension.
Dans un mode de réalisation, l’unité de décomposition 14 peut être configurée pour déterminer, à partir d’une décomposition en boîtes d’intersection maximale de la restriction du modèle F (le modèle F étant un modèle de type ”ensemble d’arbres”) aux ”d” premières dimensions, une décomposition en boîtes d’intersection maximale de la restriction de F aux ”d+1” premières dimensions (propriété d’hérédité).In one embodiment, the decomposition unit 14 can be configured to determine, from a decomposition into maximum intersection boxes, the restriction of the model F (the model F being a model of the “set of trees” type ”) in the first ”d” dimensions, a maximal intersection box decomposition of the restriction of F to the first ”d+1” dimensions (heredity property).
Telle qu’utilisée ici, une restriction d’un modèle F de type « ensemble d’arbres » aux
Il est considéré un modèle F de type ”ensemble d’arbres” dont l’ensemble de définition est inclus dans
Pour démontrer la propriété d’hérédité pouvant être exploitée par l’unité de décomposition 14, il est tout d’abord considéré le cas d’initialisation D=1.To demonstrate the inheritance property that can be exploited by decomposition unit 14, we first consider the case of initialization D=1.
Lorsque la dimension D est égale à un (D=1), l’unité de décomposition 14, pour mettre en œuvre une décomposition en boîtes d’intersection maximales, peut déterminer les intersections maximales résultant de l’intersection de N intervalles. Bien que le problème consistant à «déterminer les intersections maximales résultant de l’intersection de N intervalles» puisse sembler combinatoire (étant donné m intervalles parmi N, il doit être vérifié si ces intervalles possèdent une zone d’intersection commune, ce qui reviendrait à analyser l’existence de
En variante, pour trouver les zones d’intersection maximales, dans le cas D=1, l’unité de décomposition 14 peut appliquer un procédé consistant à ordonner les 2Nvaleurs correspondant au commencement et à la terminaison desNintervalles, et à créer une nouvelle zone d’intersection maximale à chaque fois qu’un intervalle commence ou se termine. Une matrice de booléens A de taille N
Lorsque la dimension D est strictement supérieure à un (D>1), il est considéré une décomposition en boîtes d’intersection maximale pour une dimensiond < Ddéfinie par:When the dimension D is strictly greater than one (D>1), a maximum intersection box decomposition is considered for a dimension d < D defined by:
À partir d’une telle décomposition, l’unité de décomposition 14 peut déterminer une décomposition en boîtes d’intersection maximale à la dimension
Une boîte quelconque de dimension
Par ailleurs, la n-ième feuille du modèle
Le procédé de détermination des zones d’intersection maximales peut être implémenté par exemple selon la procédure Intersect1D décrite sous forme de pseudo-code dans l’Algorithme 1 de l’annexe B.1.The method for determining the maximum intersection zones can be implemented for example according to the Intersect1D procedure described in the form of pseudo-code in Algorithm 1 of appendix B.1.
Un tel procédé de détermination des zones d’intersection maximales est mis en œuvre pour calculer les régions d'intersection maximales associées à N intervalles 1D. La nième région d'intersection maximale construite est définie par l'intervalle
Le procédé de détermination des zones d’intersection maximales utilise en entrée une collection de N intervalles
Le procédé de détermination des zones d’intersection maximales utilise en outre :The method for determining the maximum intersection zones also uses:
- L'ensemble P des évènements correspondant au commencement ou à la fin d'un intervalle, avec
- L'ensemble R contenant les indices des intervalles associés aux événements de P, avec
– L’indice
– Un vecteur booléen Q tel que Q(n)==TRUEsi et seulement si l’événement I(n) correspond au commencement d’un intervalle. Si tel est le cas, il s’agit d’un intervalle R[I][n];– A Boolean vector Q such that Q(n)==TRUEif and only if the event I(n) corresponds to the beginning of an interval. If so, it is an interval R[I][n];
– Un vecteur de booléen, noté « Started » (« started » étant un terme anglo-saxon signifiant « commencé ») de taille N dont les valeurs sont initialisées à FALSE tel que Started[n]==TRUE si et seulement si l’événement
- une variableid.ninitialisée à 1 (id.n
- une variableind.uniqueinitialisée à 1 (ind.unique
- une matrice booléenne A de taille N
Le procédé de détermination des zones d’intersection maximales détermine et fournit en sortie les zones d’intersections maximales :The maximum intersection area determination process determines and outputs the maximum intersection areas:
-
-
Étant donnée une boîte
Dans la suite de la description, en considérant l’ensemble, noté
Si deux boîtes
Une telle propriété géométrique découle directement du fait qu’une boîte
La
Ainsi, deux boîtes qui ne s’intersectent pas suivant une dimension ont une intersection nulle (même si elles s’intersectent suivant les autres dimensions).Thus, two boxes that do not intersect along one dimension have zero intersection (even if they intersect along the other dimensions).
Dans certains modes de réalisation, l’unité de décomposition 14 peut déterminer les boîtes d’intersection
La décomposition en intervalle d’intersection maximale des boîtes de l’ensemble
En appliquant le procédé de l’annexe A1.1, décrit en pseudo-code par l’Algorithme 1, il vient :By applying the process of appendix A1.1, described in pseudo-code by Algorithm 1, it comes:
Dans la suite de la description, la notation suivante sera utilisée pour désigner les boîtes d’intersection maximale
Les boîtes d’intersection maximale
La décomposition
L’unité de décomposition 14 peut donc déterminer une décomposition en boîtes d’intersection maximale, et donc une décomposition en boîtes pures du modèle
Le procédé de décomposition en région pures mise en œuvre par l’unité de décomposition 14 (par exemple selon l’Algorithme 2 de l’annexe A.1.2) utilise en entrée le Modèle
- N feuilles
- Des scores associées à chacune des feuilles
- Une fonction d’agrégation vectorielle
Le procédé de décomposition en région pures mis en œuvre par l’unité de décomposition 14 (par exemple selon l’Algorithme 2 de l’annexe A.1.2) fournit en sortie l’ensemble
Le procédé de décomposition en région pures permet de calculer les nœuds situés à une même profondeur de façon concurrente.The process of decomposition into pure regions makes it possible to calculate the nodes located at the same depth in a concurrent way.
La
Dans l’exemple de la
L’étape E2 correspond à la décomposition en boites pures calculée récursivement à travers les dimensions, comme une décomposition en boites dites d'«intersection maximale».Step E2 corresponds to the pure box decomposition computed recursively through the dimensions, as a so-called “maximum intersection” box decomposition.
L’étape E3 correspond à la détermination des scores des boîtes pures obtenus en appliquant la fonction d’agrégation « g » du modèle de classification 10 de type « ensemble d'arbres » :Step E3 corresponds to the determination of the scores of the pure boxes obtained by applying the aggregation function "g" of the classification model 10 of the "set of trees" type:
- G1=G2=g(S1) ;- G1=G2=g(S1);
- G3=g(S1+S2) ;- G3=g(S1+S2);
- G4=G5=g(S2).- G4=G5=g(S2).
L’étape E4 correspond à la détermination des boites pures appartenant à la classe cible C2 pour le point contrefactuel associé à R.Step E4 corresponds to the determination of the pure boxes belonging to the target class C2 for the counterfactual point associated with R.
L’étape E5 correspond au calcul des distances du point requête à chacune des boites cibles.Step E5 corresponds to the calculation of the distances from the query point to each of the target boxes.
L’étape E6 correspond à la détermination du point contrefactuel comme le point le plus proche de la requête R appartenant à la boite cible la plus proche.Step E6 corresponds to the determination of the counterfactual point as the point closest to the query R belonging to the closest target box.
Le diagramme de la
Dans l’exemple de la Figure 6, le modèle utilisé est un modèle en dimension 2 (deux dimensions d1 et d2) comportant deux feuilles (F1, F2). Le premier niveau 60-1 de la structure arborescente dérivée 60 (en haut à droite de la Figure 6) correspond à la dimension d1 et à l’application de la procédure 1 sur les feuilles restreintes à cette dimension. Le procédé de calcul des régions d’intersection maximale (par exemple selon l’Algorithme 1 de l’annexe A.1.1) est ensuite appliqué indépendamment dans chacun des intervalles élémentaires formés dans la dimension d1 sur les feuilles contenues dans chacun de ces intervalles et restreintes à la dimension d2. Chaque rectangle à bords arrondis 601 est une représentation symbolique d’une exécution de la procédure 1 dans la dimension associée à le niveau de la structure (60-1 ou 60-2) et sur le sous-ensemble de boîtes propagés depuis le niveau supérieur 60-1 et restreintes à cette dimension (d1 ou d2). En suivant les chemins dans la structure d’arbre formée 60, une décomposition en régions pures de type ”boîte” des feuilles F1 et F2 est déterminée. Les cinq régions pures extraites sont représentées par les rectangles hachurés 602 sur la Figure 6.In the example of Figure 6, the model used is a 2-dimensional model (two dimensions d1 and d2) comprising two sheets (F1, F2). The first level 60-1 of the derived tree structure 60 (top right of Figure 6) corresponds to the dimension d1 and to the application of procedure 1 on the leaves restricted to this dimension. The method for calculating the regions of maximum intersection (for example according to Algorithm 1 of appendix A.1.1) is then applied independently in each of the elementary intervals formed in the dimension d1 on the sheets contained in each of these intervals and restricted to dimension d2. Each rectangle with rounded edges 601 is a symbolic representation of an execution of procedure 1 in the dimension associated with the level of the structure (60-1 or 60-2) and on the subset of boxes propagated from the higher level 60-1 and restricted to this dimension (d1 or d2). By following the paths in the formed tree structure 60, a box-like pure region decomposition of the F1 and F2 leaves is determined. The five pure regions extracted are represented by hatched rectangles 602 in Figure 6.
La
A l’étape 700, une requête reçue associée à une classe cible i est appliqué au modèle F entraîné au préalable, la requête comprenant une donnée d’entrée X
A l’étape 702, une décomposition du modèle de classification en boîtes pures est déterminée, à partir de la requête d’entrée, lesdites boîtes pures correspondant à une collection d’intervalles, chaque boîte pure correspondant à une région de l’espace des caractéristiques d’entrée, associée à un score vectoriel déterminé à partir des scores associés aux feuilles des arbres de décision (par exemple selon l’Algorithme 2 de l’annexe A1.1).At step 702, a decomposition of the classification model into pure boxes is determined, from the input query, said pure boxes corresponding to a collection of intervals, each pure box corresponding to a region of the space of input characteristics, associated with a vector score determined from the scores associated with the leaves of the decision trees (for example according to Algorithm 2 of appendix A1.1).
A l’étape 704, le point contrefactuel CF(X,j) représentant le point virtuel le plus proche du point requête X appartenant à la classe cible est déterminé, à partir de la décomposition en boîtes pures, selon l’équation 6.At step 704, the counterfactual point CF(X,j) representing the virtual point closest to the query point X belonging to the target class is determined, from the decomposition into pure boxes, according to equation 6.
A l’étape 706, la différence entre le point contrefactuel Y et la requête d’entrée Xest déterminé, ce qui fournit un vecteur de changement dX représentant les changements à appliquer au minimum à la donnée d'entrée pour que la donnée d’entrée soit classée dans la classe cible par le modèle de classification, le vecteur de changement dX ayant la même taille que les caractéristiques d’entrée.In step 706, the difference between the counterfactual point Y and the input request X is determined, which provides a change vector dX representing the changes to be applied at least to the input data so that the input data is classified in the target class by the classification model, the change vector dX having the same size as the input characteristics.
Par définition du point contrefactuel Y, le point contrefactuel se trouve sur l’enveloppe extérieure d’une région de la classe cible j. Pour tout point intérieur Y d’une régionR, il est possible de trouver un point de l’enveloppe deRqui est plus proche de la requête X que le point Y. Il peut suffire par exemple de sélectionner un point qui se trouve à l’intérieur du segment [X,Y] et à l’intersection de celui-ci avec l’enveloppe de R.By definition of the counterfactual point Y, the counterfactual point lies on the outer envelope of a region of the target class j. For any interior point Y of a region R , it is possible to find a point of the envelope of R which is closer to the query X than the point Y. It may suffice for example to select a point which is at inside the segment [X,Y] and at its intersection with the envelope of R.
Dans un mode de réalisation, l’étape 704 de détermination du point contrefactuel peut comprendre, pour chaque boîte
Par exemple, pour chaque boîte
Dans un tel mode de réalisation, le point Z se trouvant à une distance minimale entre le point requête
Le procédé de calcul du point Z (comme par exemple le procédé mis en œuvre par l’algorithme de l’annexe A1.3), pour une boîte
La distance d’un point
Le procédé de calcul du point Z (par exemple selon l’Algorithme 3 de l’annexe A1.3) utilise en entrée :The Z point calculation process (for example according to Algorithm 3 of appendix A1.3) uses as input:
- La boîte
- Le point requête
Le procédé de calcul du point
L’étape 702 de décomposition fournit une décomposition en boîte pures sous la forme d’une structure arborescente dérivée, dont les nœuds à une profondeur d contiennent les régions correspondant aux boîtes pures, la profondeur d correspondant à une dimension de l’espace des caractéristiques d’entrées. Chaque niveau de la structure arborescente dérivée correspond à une dimension du modèle.The decomposition step 702 provides a pure box decomposition in the form of a derived tree structure, whose nodes at a depth d contain the regions corresponding to the pure boxes, the depth d corresponding to a dimension of the feature space of entries. Each level of the derived tree structure corresponds to a dimension of the model.
Dans un mode de réalisation, au lieu de construire la structure arborescente dérivée, correspondant à la décomposition en boîtes pures, de manière exhaustive, la construction de la structure arborescente dérivée peut être arrêtée au niveau des nœuds pour lesquels une borne inférieure
Ainsi, pour répondre à une requête X, au lieu de déterminer la décomposition du modèle en régions pures de l’espace de décision du modèle de manière exhaustive, seule une partie de la structure arborescente dérivée, autour du point requête, peut être construite en appliquant le procédé de décomposition avec retour sur trace (« backtracking »). Une telle approche est particulièrement utile pour des modèles F de grande taille pour lesquels le nombre de régions pures explose avec le nombre de feuilles. La propriété utilisée est le fait que chaque nœud de l’arbre de décomposition (structure arborescente dérivée) correspond à une décomposition pure des feuilles indexées par le nœud et restreinte à la dimension courante, correspondant à la profondeur du nœud considéré dans l’arbre, et que cette décomposition pure est compatible avec la décomposition pure sur toutes les feuilles restreintes à cette dimension.Thus, to respond to a query X, instead of determining the decomposition of the model into pure regions of the decision space of the model in an exhaustive way, only a part of the derived tree structure, around the query point, can be built in applying the process of decomposition with backtracking. Such an approach is particularly useful for large F-models for which the number of pure regions explodes with the number of leaves. The property used is the fact that each node of the decomposition tree (derived tree structure) corresponds to a pure decomposition of the leaves indexed by the node and restricted to the current dimension, corresponding to the depth of the node considered in the tree, and that this pure decomposition is compatible with the pure decomposition on all the sheets restricted to this dimension.
Selon un tel procédé de décomposition avec retour de trace, pour un point requête X, seuls les nœuds de l’arbre qui contiennent la valeur de X à la dimension correspondant au nœud sont construits. Si ces nœuds ne sont pas suffisants pour trouver une région pure de classej, la construction peut être élargie aux nœuds voisins en remontant la structure de décomposition dimension par dimension.According to such a decomposition process with trace feedback, for a query point X, only the nodes of the tree which contain the value of X at the dimension corresponding to the node are constructed. If these nodes are not sufficient to find a pure region of class j , the construction can be extended to neighboring nodes by going up the decomposition structure dimension by dimension.
Un exemple de procédé de calcul de la borne supérieure sur la distance au point contrefactuel le plus proche, avec retour de trace (”backtracking”), est fourni en pseudo-code dans l’annexe B4.4 (Algorithme 4).An example of the method for calculating the upper bound on the distance to the nearest counterfactual point, with backtracking, is provided in pseudo-code in appendix B4.4 (Algorithm 4).
Un tel procédé de calcul de la borne supérieure
- N feuilles
- Les scores associées à chacune des feuilles
- La fonction d’agrégation vectorielle
Le procédé de calcul de la borne supérieure
- La requête d’entrée
- la classe cible, désignée par la variable « target », avec target
Le procédé de calcul de la borne supérieure détermine et délivre en sortie la borne supérieure
La
Une fois qu’une région pure appartenant à la classe cible est trouvée, la recherche est réitérée en construisant toutes les régions pures se trouvant à une distance de la requête inférieure ou égale à la distance de la requête à la région pure trouvée. Cette dernière étape permet de garantir de trouver la région pure cible la plus proche.Once a pure region belonging to the target class is found, the search is reiterated by constructing all the pure regions located at a distance from the query less than or equal to the distance from the query to the pure region found. This last step guarantees to find the closest target pure region.
Un procédé de calcul du point contrefactuel CF(X; target) de type "branch-and-bound" (par séparation et évaluation) peut alors être appliqué (étape 704 de la figure 7), par exemple selon l’Algorithme 5 de l’annexe B.2.5 décrit en pseudo code (le terme « target » signifie « cible » en langue anglo-saxonne), en utilisant la borne supérieure calculée
Dans ce mode de réalisation de l’étape 704 de la figure 4, le procédé de calcul du point contrefactuel CF(
- N feuilles
- Les scores associées à chacune des feuilles
- La fonction d’agrégation vectorielle
- La borne supérieure
Le procédé de calcul du point contrefactuel CF(
- La requête d’entrée
- la classe cible
Le procédé de calcul du point contrefactuel CF(X,j) détermine et délivre en sortie le point contrefactuel CF(X, j) dans la classe cible
Un tel procédé de calcul du point contrefactuel CF(X, target) de type "branch-and-bound" (par séparation et évaluation), par exemple comme décrit en pseudo-code par « Algorithme 5 » de l’annexe B.2.5, est similaire au procédé de l’Algorithme 2 de l’annexe A1.2 à l’exception de l’exploration en un nœud qui est abandonnée si la distance de la région pure définie par ce nœud à la requête (borne inférieure) dépasse la borne supérieure calculée en mettant en œuvre de l’algorithme 4.Such a method for calculating the counterfactual point CF(X, target) of the "branch-and-bound" type (by separation and evaluation), for example as described in pseudo-code by "Algorithm 5" of appendix B.2.5 , is similar to the process of Algorithm 2 of appendix A1.2 with the exception of the exploration at a node which is abandoned if the distance from the pure region defined by this node to the query (lower bound) exceeds the upper bound calculated by implementing Algorithm 4.
Dans un autre mode de réalisation, l’exploration en un nœud peut ne pas être poursuivie si aucune des boîtes associées à ce nœud ne vote pour la région cible. Au fur et à mesure que des régions cibles sont déterminées à l’intérieur de l’hypersphère, la borne supérieure peut être mise à jour avec la distance de la requête à ces régions cibles.In another embodiment, exploration at a node may not proceed if none of the boxes associated with that node vote for the target region. As target regions are determined inside the hypersphere, the upper bound can be updated with the distance of the query to those target regions.
Le dispositif et le procédé de diagnostic d’anomalie selon les modes de réalisation peuvent être utilisés dans de nombreuses applications.The anomaly diagnosis device and method according to the embodiments can be used in many applications.
Dans un exemple d’application de l’invention, le dispositif et le procédé de diagnostic d’anomalie peuvent être utilisés pour détecter et diagnostiquer des défauts dans les procédés de fabrication et les chaînes de production. Le déploiement massif de capteurs sur les lignes de production modernes permet un suivi très fin des produits en cours de fabrication. En même temps, la complexité des processus de fabrication entraîne une démultiplication des étapes de fabrication, et par suite un risque accru que des défauts soient introduits avant la fin du processus de fabrication. Cela permet également l’apprentissage de modèles capables de détecter efficacement les défauts sur les objets manufacturés. Les modèles de l’état de la technique ne permettent pas l’identification et le diagnostic du défaut. Cependant, de telles informations sont nécessaires aux opérations de maintenance sur le ou les dispositifs de production défectueux afin d’empêcher l’introduction ultérieure de défauts dans le processus de production par la réalisation d’une opération de maintenance rapide et ciblée.In an exemplary application of the invention, the anomaly diagnosis device and method can be used to detect and diagnose faults in manufacturing processes and production lines. The massive deployment of sensors on modern production lines allows very detailed monitoring of products during manufacture. At the same time, the complexity of the manufacturing processes entails a multiplication of the manufacturing steps, and consequently an increased risk that defects are introduced before the end of the manufacturing process. This also allows the learning of models capable of efficiently detecting defects on manufactured objects. State-of-the-art models do not allow fault identification and diagnosis. However, such information is necessary for maintenance operations on the defective production device(s) in order to prevent the subsequent introduction of defects into the production process by carrying out a timely and targeted maintenance operation.
Le dispositif et le procédé de diagnostic d’anomalie selon les modes de réalisation de l’invention permettent d’identifier et de diagnostiquer les défauts ”à la volée” à l’intérieur de processus de production complexes, à partir du vecteur dX représentant la différence entre le point contrefactuel et le point requête X, les composantes du vecteur dXindiquant les changements minimum qu’il aurait fallu effectuer pour que la donnée d’entrée soit classée dans la classe « normale ».The anomaly diagnosis device and method according to the embodiments of the invention make it possible to identify and diagnose faults "on the fly" within complex production processes, from the vector dX representing the difference between the counterfactual point and the query point X, the components of the vector dX indicating the minimum changes that should have been made for the input data to be classified in the "normal" class.
Le vecteur dX déterminé par le dispositif et le procédé de diagnostic d’anomalie fournit des données de sortie permettant d’interpréter la décision du modèle de classification binaire de placer la donnée caractérisant le défaut dans la classe ”anormal” (qui correspond dans cet exemple à la classe « défaut »), et ainsi un diagnostic de défaut. En fournissant un diagnostic de défaut, les modes de réalisation de l’invention permettent une intervention ciblée et rapide sur une chaîne de production afin de corriger le défaut et empêcher sa réintroduction dans la production future. Il en résulte un gain de temps et une minimisation des coûts de production, la chaîne de production n’ayant plus à être immobilisée intégralement pendant une longue période pour remonter à la cause des défauts.The vector dX determined by the anomaly diagnosis device and method provides output data allowing the interpretation of the decision of the binary classification model to place the data characterizing the fault in the "abnormal" class (which corresponds in this example to the "fault" class), and thus a fault diagnosis. By providing a fault diagnosis, the embodiments of the invention allow targeted and rapid intervention on a production line in order to correct the fault and prevent its reintroduction in future production. This results in a saving of time and a minimization of production costs, the production chain no longer having to be completely immobilized for a long period to trace the cause of the defects.
Les modes de réalisation de l’invention peuvent également être utilisés pour détecter des comportements anormaux (par exemple le diagnostic de fraudes bancaires ou fiscales), pour la prise de décision (par exemple l’attribution de crédits). Les modes de réalisation de l’invention peuvent être en outre utilisés dans toute application nécessitant non seulement de classer une donnée d’entrée mais aussi de déterminer des données expliquant ou justifiant la décision du modèle (par exemple pour constitution de preuves dans le cas de dossiers de fraudes, et pour justifier la décision prise au demandeur en cas d’attribution de crédits). Dans une autre application, les modes de réalisation de l’invention peuvent être utilisés dans le domaine médical pour le diagnostic d’anomalies chez un patient, comme par exemple le diagnostic de tumeurs. Dans une telle application de l’invention au domaine médical, la décision déterminée à l’aide d’un modèle d’intelligence artificielle n’a de valeur qui si elle est accompagnée de données explicatives de la décision pour pouvoir être validée ou invalidée par un médecin. Il convient de souligner que les modèles d’intelligence artificiels utilisés dans le domaine médical, pour être homologués, doivent fournir des décisions explicables.The embodiments of the invention can also be used to detect abnormal behavior (for example the diagnosis of bank or tax fraud), for decision-making (for example the allocation of credits). The embodiments of the invention can also be used in any application requiring not only to classify input data but also to determine data explaining or justifying the decision of the model (for example for constitution of proofs in the case of fraud files, and to justify the decision taken to the applicant in the event of the allocation of credits). In another application, the embodiments of the invention can be used in the medical field for the diagnosis of abnormalities in a patient, such as for example the diagnosis of tumors. In such an application of the invention to the medical field, the decision determined using an artificial intelligence model only has value if it is accompanied by data explaining the decision in order to be able to be validated or invalidated by doctor. It should be emphasized that artificial intelligence models used in the medical field, to be approved, must provide explainable decisions.
Par exemple, dans un exemple d’application de l’invention à l’obtention de crédit dans le domaine bancaire, un modèle F de type ensemble d’arbre peut être préalablement entraîné (étape 700 de la
Il est supposé par exemple que le modèle de décision F est un modèle XGBoost de classification binaire comportant 250 arbres de décision de profondeur 8 et que l’ensemble de donnée d’entrée comporte 20 caractéristiques d’entrée de type numériques et catégorielles. Un exemple de requête d’attribution de crédit bancaire est considéré. Des exemples de caractéristiques d’entrée associées à la requête comprennent, sans limitations, le nombre de crédits en cours, l’historique de remboursement de précédents crédits, la somme empruntée, le but du crédit (type d’achat), le salaire et les économies de l’emprunteur, le type de contrat de travail, la durée dans le présent poste occupé par l’emprunteur, etc. À partir de telles caractéristiques d’entrée, le modèle F est appliqué, ce qui fournit une classification parmi deux classes :It is assumed for example that the decision model F is a binary classification model XGBoost comprising 250 decision trees of depth 8 and that the input data set comprises 20 numeric and categorical type input characteristics. An example of a bank credit allocation request is considered. Examples of input characteristics associated with the query include, but are not limited to, number of outstanding loans, repayment history of previous loans, amount borrowed, purpose of loan (type of purchase), salary and the savings of the borrower, the type of employment contract, the duration in the present position held by the borrower, etc. From such input features, the F model is applied, which provides a classification among two classes:
C1 : décision d’attribuer le crédit (classe « normale »), ouC1: decision to award credit (“normal” class), or
C2 : décision de refuser le crédit demandé par l’emprunteur (classe « anormale »).C2: decision to refuse the credit requested by the borrower (“abnormal” class).
Des exemples de diagnostics de non-attribution de crédits formulés automatiquement à partir du calcul du point contrefactuel de la classe ”normale” (qui est dans ce cas la classe C1 correspondant à une décision positive sur l’attribution du crédit) peuvent inclure par exemple les cas 1, 2 et 3 suivants.Examples of diagnoses of non-attribution of credit formulated automatically from the calculation of the counterfactual point of the “normal” class (which in this case is the class C1 corresponding to a positive decision on the attribution of credit) can include for example the following cases 1, 2 and 3.
Cas 1Case 1
Il est considéré une requête « demande de crédit de 701 dollars faite pour un client 2» pour laquelle la classification donnée par le modèle F est « crédit refusé » (C2). Le Diagnostic correspondant aux composantes du vecteur dXest le suivant :
- Caractéristique d’entrée 1 correspondant aux « Statuts des comptes de vérification existants » :
Recommandé : 0≤...<200 – Le client a:<0
- Caractéristique d’entrée 2 correspondant à « Historique de Crédit » :
Recommandé: tous les crédits sur cette banque ont été dûment payés – Le statut du Client est : « les crédits existant dûment payés jusqu’à maintenant ».
3: Caractéristique d’entrée 3 correspondant à « Épargne » :
Recommandé: 500≤...<1000 – Le client a:<100.
4: Caractéristique d’entrée 4 correspondant à «Taux d’endettement en pourcentage de revenu »:
Recommandé au plus: 2.5 – Le client a: 3
5: Caractéristique d’entrée 5 correspondant à « Autres débiteurs/ garanties »:
Recommandé: codemandeur – Statut client : aucun.A request “credit request for $701 made for customer 2” is considered for which the classification given by model F is “credit refused” (C2). The Diagnosis corresponding to the components of the vector dX is the following:
- Entry characteristic 1 corresponding to "Status of existing verification accounts":
Recommended: 0 ≤ ... < 200 – Customer has: < 0
- Entry characteristic 2 corresponding to “Credit History”:
Recommended: all credits on this bank have been duly paid – The status of the Client is: “existing credits duly paid up to now”.
3: Entry characteristic 3 corresponding to “Savings”:
Recommended: 500 ≤ ... < 1000 – Customer has: < 100.
4: Input characteristic 4 corresponding to “Debt ratio as a percentage of income”:
Recommended at most: 2.5 – Customer has: 3
5: Entry characteristic 5 corresponding to “Other debtors/guarantees”:
Recommended: co-applicant – Client status: none.
Cas 2Case 2
Il est considéré une requête « demande de crédit de 330 dollars faite pour un client 12» pour laquelle la classification donnée par le modèle F est « crédit refusé » (C2). Le Diagnostic correspondant aux composantes du vecteur dX est le suivant :
1: Caractéristique d’entrée 1 correspondant à «Statuts des comptes de vérification existants » :
Recommandé: 0≤...<200 – Le client a:<0.
2: Caractéristique d’entrée 2 correspondant à «Durée du crédit en mois »:
Recommandé au plus: 15 – Le Client a demandé: 16.
4: Caractéristique d’entrée 4 correspondant à «Emploi actuel occupé depuis »:
Recommandé: 4≤...<7 ans – Le statut de Client est: 1≤...<4 ans
5: Caractéristique d’entrée 5 correspondant à « Autres débiteurs / garanties »:
Recommandé: codemandeur – Le statut du Client est: aucunA request “credit request for $330 made for a client 12” is considered for which the classification given by model F is “credit refused” (C2). The Diagnosis corresponding to the components of the vector dX is as follows:
1: Entry characteristic 1 corresponding to “Status of existing checking accounts”:
Recommended: 0 ≤ ... < 200 – Customer has: < 0.
2: Input characteristic 2 corresponding to “Credit period in months”:
Recommended at most: 15 – Client requested: 16.
4: Entry characteristic 4 corresponding to “Current job held since”:
Recommended: 4 ≤ ... < 7 years – Client status is: 1 ≤ ... < 4 years
5: Entry characteristic 5 corresponding to “Other debtors / guarantees”:
Recommended: co-applicant – Client status is: none
Cas 3Case 3
Il est considère une requête « demande de crédit de 221 dollars faite pour un client 18» pour laquelle la classification donnée par le modèle F est « crédit refusé » (C2). Le Diagnostic correspondant aux composantes du vecteur dX est le suivant :
1: Caractéristique d’entrée 1 correspondant à «Statuts des comptes existants » :
Recommandé: 0≤...<200 – Le Client a:<0.
3: Caractéristique d’entrée 3 correspondant à «But »:
Recommandé: voiture (d’occasion) – Le Client veut acheter: voiture (nouvelle).
4: Caractéristique d’entrée 4 correspondant à «Emploi actuel occupé depuis »:
Recommandé: 4≤...<7 ans – Le statut Client est: 1≤...<4 ans.
6: Caractéristique d’entrée 6 correspondant à «Téléphone »:
Recommandé: oui, enregistré sous le nom des clients – Le statut de Client: aucun.A request “credit request for $221 made for a client 18” is considered for which the classification given by model F is “credit refused” (C2). The Diagnosis corresponding to the components of the vector dX is as follows:
1: Entry characteristic 1 corresponding to “Status of existing accounts”:
Recommended: 0 ≤ ... < 200 – Client has: < 0.
3: Input characteristic 3 corresponding to “Goal”:
Recommended: car (used) – Customer wants to buy: car (new).
4: Entry characteristic 4 corresponding to “Current job held since”:
Recommended: 4 ≤ ... < 7 years – Client status is: 1 ≤ ... < 4 years.
6: Input characteristic 6 corresponding to “Telephone”:
Recommended: yes, registered under the clients name – Client status: none.
Le dispositif et le procédé de diagnostic d’anomalie selon les modes de réalisation de l’invention peuvent également être utilisés dans des applications de débogage de modèle 10 (diagnostic d’anomalie de modèle). Étant donnée une donnée d’entrée X de label iet classée par erreur dans la classe j par le modèle (j
La connaissance que le modèle a de la classe i peut être déterminée en utilisant des éléments représentatifs des régions de décision (formant prototypes) associées à la classe i les plus proches de X.The knowledge that the model has of class i can be determined by using elements representative of the decision regions (forming prototypes) associated with class i closest to X.
Le débogage de modèle selon un tel mode de réalisation peut être utilisé pour diagnostiquer des faiblesses des modèles d’apprentissage 10 autour de points de fonctionnement ambigus pour le modèle. Le diagnostic déterminé peut notamment permettre de corriger les faiblesses des modèles en agissant sur l’ensemble des données apprentissage, par exemple en :
-supprimant les exemples adversariaux qui perturbent l’apprentissage ;
- en levant les ambiguïtés entre classes en rajoutant des exemples dans les zones où le modèle effectue des confusions entre classes.Model debugging according to such an embodiment can be used to diagnose weaknesses in training models 10 around ambiguous operating points for the model. The diagnosis determined can in particular make it possible to correct the weaknesses of the models by acting on all the learning data, for example by:
- removing adversarial examples that disrupt learning;
- by removing the ambiguities between classes by adding examples in the areas where the model confuses between classes.
La fiabilité du diagnostic obtenue en exploitant la sortie (vecteur de changement dX) du dispositif et du procédé de diagnostic d’anomalie peut être caractérisée par la robustesse statistique du diagnostic, c’est-à-dire sa répétabilité soit sur des modèles similaires, soit sur des données d’entrée similaires.The reliability of the diagnosis obtained by exploiting the output (change vector dX) of the anomaly diagnosis device and method can be characterized by the statistical robustness of the diagnosis, that is to say its repeatability either on similar models, or on similar input data.
Pour évaluer la répétabilité du diagnostic sur des modèles similaires, au lieu d’entraîner plusieurs modèles différents, il est possible de simuler des modèles proches en ignorant aléatoirement des régions pures de décision du modèle. En pratique, en utilisant le procédé de détermination du point contrefactuel (par exemple selon l’algorithme 5 de l’annexe A1.5), il est possible de répondre à la requête: quels sont les M exemples contrefactuels les plus proches appartenant àMrégions pures distinctes. En analysant les invariants statistiques à l’intérieur de l’ensemble
Pour évaluer la répétabilité du diagnostic sur des données d’entrée similaires, en considérant les
Le dispositif et le procédé de diagnostic d’anomalies 100 selon les modes de réalisation de l’invention peuvent être utilisés dans différentes applications, par exemple pour un diagnostic de défauts. Il permet d’analyser des changements relativement minimes dans les caractéristiques d’entrée (donnés par le vecteur dX) de sorte qu’il est possible de déterminer de façon très précise l’origine de l’anomalie (défaut par exemple) tout en fournissant une information quantitative sur l’ « ampleur » des changements observés.The anomaly diagnosis device and method 100 according to the embodiments of the invention can be used in different applications, for example for fault diagnosis. It allows the analysis of relatively small changes in the input characteristics (given by the vector dX) so that it is possible to determine very precisely the origin of the anomaly (defect for example) while providing quantitative information on the “magnitude” of the observed changes.
Le dispositif et le procédé de diagnostic d’anomalies 100 selon les modes de réalisation de l’invention exploitent avantageusement la particularité des modèles de type « ensemble d’arbres de décision » de construire de façon explicite, exhaustive et exacte l’espace de décision de ces modèles.The anomaly diagnosis device and method 100 according to the embodiments of the invention advantageously exploit the particularity of models of the "set of decision trees" type of constructing in an explicit, exhaustive and exact manner the decision space of these models.
Les modes de réalisation de l’invention présentent plusieurs avantages parmi lesquels:
-ils permettent une interprétation de la décision du modèle en un point donné ;
-ils sont spécifiques au modèle de décision ;
- ils ne présentent pas d’imprécisions et d’instabilités ;
-ils sont non-paramétriques ;
-ils sont adaptables à des tailles arbitraires de modèle ;
- ils s’appliquent à une grande variété de modèles (XGBoost, LightGBM, ...) qui sont couramment utilisés pour le diagnostic d’anomalie, quelles que soit la nature des caractéristiques d’entrée (données industrielles numériques et/ou catégorielles) ;
-la détermination des régions pures de décision du modèle 10 peut être utilisée dans de nombreuses autres applications, par exemple, pour le prototypage des connaissances du modèle ou le débogage de modèle.The embodiments of the invention have several advantages, including:
- they allow an interpretation of the decision of the model at a given point;
- they are specific to the decision model;
- they do not present inaccuracies and instabilities;
- they are non-parametric;
- they are adaptable to arbitrary model sizes;
- they apply to a wide variety of models (XGBoost, LightGBM, ...) which are commonly used for anomaly diagnosis, whatever the nature of the input characteristics (numerical and/or categorical industrial data) ;
- the determination of the pure decision regions of the model 10 can be used in many other applications, for example, for model knowledge prototyping or model debugging.
Le dispositif de diagnostic 100 peut être implémenté sur une unité de calcul distribué comprenant une pluralité de cœurs physiques (par exemple 16 cœurs). Les modes de réalisation de l’invention sont particulièrement adaptés à une telle implémentation distribuée ainsi qu’à un portage sur des technologies hardware multi-cœur, ce qui permet d’obtenir une réponse rapide à une requête utilisateur quelle que soit la taille du modèle de classification considéré. Le dispositif de diagnostic 100 peut être est implémenté dans différents langages, tels que le langage C++.The diagnostic device 100 can be implemented on a distributed computing unit comprising a plurality of physical cores (for example 16 cores). The embodiments of the invention are particularly suitable for such a distributed implementation as well as for porting to multi-core hardware technologies, which makes it possible to obtain a rapid response to a user request regardless of the size of the model. of classification considered. The diagnostic device 100 can be implemented in different languages, such as the C++ language.
Plus généralement, l’homme du métier comprendra que le dispositif de diagnostic 100 ou des sous-systèmes du dispositif selon les modes de réalisation de l’invention peuvent être mis en œuvre de diverses manières par matériel (« hardware »), logiciel, ou une combinaison de matériel et de logiciels, notamment sous la forme de code de programme pouvant être distribué sous la forme d'un produit de programme, sous diverses formes. En particulier, le code de programme peut être distribué à l'aide de supports lisibles par ordinateur, qui peuvent inclure des supports de stockage lisibles par ordinateur et des supports de communication. Les procédés décrits dans la présente description peuvent être notamment implémentés sous la forme d’instructions de programme d’ordinateur exécutables par un ou plusieurs processeurs dans un dispositif informatique d'ordinateur. Ces instructions de programme d’ordinateur peuvent également être stockées dans un support lisible par ordinateur.More generally, those skilled in the art will understand that the diagnostic device 100 or subsystems of the device according to the embodiments of the invention can be implemented in various ways by hardware (“hardware”), software, or a combination of hardware and software, especially in the form of program code that can be distributed as a program product, in various forms. In particular, the program code may be distributed using computer readable media, which may include computer readable storage media and communication media. The methods described in this description may in particular be implemented in the form of computer program instructions executable by one or more processors in a computer computing device. These computer program instructions may also be stored in computer-readable media.
Par ailleurs, l'invention n'est pas limitée aux modes de réalisation décrits ci-avant à titre d’exemple non limitatif. Elle englobe toutes les variantes de réalisation qui pourront être envisagées par l'homme du métier. En particulier, l’invention n’est pas limitée aux exemples d’application décrits ci-avant tel que le diagnostic et le diagnostic de défauts. Les modes de réalisation de l’invention peuvent s’appliquer par exemple au diagnostic en Intelligence Artificielle médicale, au diagnostic de fraudes, à l’analyse des prises de décision multi-classes de façon générale.Furthermore, the invention is not limited to the embodiments described above by way of non-limiting example. It encompasses all the variant embodiments which may be envisaged by those skilled in the art. In particular, the invention is not limited to the examples of application described above such as the diagnosis and the diagnosis of faults. The embodiments of the invention can be applied, for example, to diagnosis in medical Artificial Intelligence, to the diagnosis of fraud, to the analysis of multi-class decision-making in general.
ANNEXE AANNEX A
A.1.1. Algorithme 1
A.1.1. Algorithm 1
A.1.2. Algorithme 2
A.1.2. Algorithm 2
A.1.3. Algorithme 3
A.1.3. Algorithm 3
A.1.4. Algorithme 4
A.1.4. Algorithm 4
A.1.5. Algorithme 5
A.1.5. Algorithm 5
Claims (13)
- une unité de classification (11) configurée pour déterminer, en réponse à une requête reçue comprenant une donnée d’entrée et une classe cible, la classe à laquelle appartient la donnée d’entrée parmi un ensemble de classes, en appliquant la donnée d’entrée à un modèle de classification multiclasse, la donnée d’entrée correspondant à un point requête,
ledit modèle de classification (10) utilisant un ensemble d’arbres de décision, la donnée d’entrée comprenant un ensemble de caractéristiques d’entrée, l’espace des caractéristiques d’entrées ayant un nombre de dimensions donné,
chaque arbre de décision comprenant un ensemble de nœuds définissant une arborescence depuis un nœud racine jusqu’à un ensemble de feuilles, chaque feuille de l’arbre de décision comprenant un ensemble de scores associés à chaque classe, chaque arbre de décision étant appliqué à la donnée d’entrée pour déterminer une décision de classification élémentaire à partir des scores associés aux feuilles de l’arbre de décision, ladite unité de classification (11) appliquant une fonction d’agrégation aux décisions de classification élémentaires déterminées par chacun des arbres du modèle pour déterminer la classe de la donnée d’entrée;
- une unité de décomposition (14) configurée pour décomposer au moins une partie de l’ensemble des feuilles associées aux arbres de décision du modèle en boites multidimensionnelles, dites boîtes pures, à partir de la requête d’entrée, lesdites boîtes pures correspondant à une collection d’intervalles, chaque boîte pure correspondant à une région de l’espace des caractéristiques d’entrée, associée à un score vectoriel déterminé à partir des scores associés aux feuilles desdits arbres de décision ;
- une unité de calcul de point contrefactuel (17) configurée pour calculer un point contrefactuel (Y) représentant le point virtuel le plus proche du point requête appartenant à la classe cible, à partir de la décomposition en boîtes pures ;
- une unité de calcul de vecteur de changement (18) configurée pour comparer le point contrefactuel avec la requête d’entrée et déterminer la différence entre le point contrefactuel (Y) et la requête d’entrée (X), ce qui fournit un vecteur de changement (dX) représentant les changements à appliquer au minimum à la donnée d'entrée pour que la donnée d’entrée soit classée dans la classe cible par le modèle de classification, le vecteur de changement (dX) ayant la même taille que les caractéristiques d’entrée.1. Anomaly diagnostic device (100) comprising:
- a classification unit (11) configured to determine, in response to a request received comprising an input datum and a target class, the class to which the input datum belongs among a set of classes, by applying the datum d input to a multiclass classification model, the input data corresponding to a query point,
said classification model (10) using a set of decision trees, the input data comprising a set of input features, the space of input features having a given number of dimensions,
each decision tree comprising a set of nodes defining a tree structure from a root node to a set of leaves, each leaf of the decision tree comprising a set of scores associated with each class, each decision tree being applied to the input datum for determining an elementary classification decision from the scores associated with the leaves of the decision tree, said classification unit (11) applying an aggregation function to the elementary classification decisions determined by each of the trees of the model to determine the class of the input data;
- a decomposition unit (14) configured to decompose at least part of the set of leaves associated with the decision trees of the model into multidimensional boxes, called pure boxes, from the input request, said pure boxes corresponding to a collection of intervals, each pure box corresponding to a region of the input feature space, associated with a vector score determined from the scores associated with the leaves of said decision trees;
- a counterfactual point calculation unit (17) configured to calculate a counterfactual point (Y) representing the virtual point closest to the query point belonging to the target class, from the decomposition into pure boxes;
- a change vector calculation unit (18) configured to compare the counterfactual point with the input query and determine the difference between the counterfactual point (Y) and the input query (X), thereby providing a vector change vector (dX) representing the minimum changes to be applied to the input data for the input data to be classified in the target class by the classification model, the change vector (dX) having the same size as the input characteristics.
12. Device according to claim 11, characterized in that the counterfactual point for a query point X and a target class "j" is determined from the pure boxes
- en réponse à une requête reçue comprenant une donnée d’entrée et une classe cible, déterminer la classe à laquelle appartient la donnée d’entrée parmi un ensemble de classes, en appliquant la donnée d’entrée à un modèle de classification multiclasse, la donnée d’entrée correspondant à un point requête,
ledit modèle de classification (10) utilisant un ensemble d’arbres de décision, la donnée d’entrée comprenant un ensemble de caractéristiques d’entrée, l’espace des caractéristiques d’entrées ayant un nombre de dimensions donné, chaque arbre de décision comprenant un ensemble de nœuds définissant une arborescence depuis un nœud racine jusqu’à un ensemble de feuilles, chaque feuille de l’arbre de décision comprenant un ensemble de scores associés à chaque classe, chaque arbre de décision étant appliqué à la donnée d’entrée pour déterminer une décision de classification élémentaire à partir des scores associés aux feuilles de l’arbre de décision, une fonction d’agrégation étant appliquée aux décisions de classification élémentaires fournies par chacun des arbres du modèle pour déterminer la classe de la donnée d’entrée;
- décomposer au moins une partie de l’ensemble des feuilles associées aux arbres de décision du modèle en boites multidimensionnelles, dites boîtes pures, à partir de la requête d’entrée, lesdites boîtes pures correspondant à une collection d’intervalles, chaque boîte pure correspondant à une région de l’espace des caractéristiques d’entrée, associée à un score vectoriel déterminé à partir des scores associés aux feuilles desdits arbres de décision ;
- calculer un point contrefactuel (Y) représentant le point virtuel le plus proche du point requête appartenant à la classe cible, à partir de la décomposition en boîtes pures ;
- déterminer la différence entre le point contrefactuel (Y) et la requête d’entrée (X), ce qui fournit un vecteur de changement (dX) représentant les changements à appliquer au minimum à la donnée d'entrée pour que la donnée d’entrée soit classée dans la classe cible par le modèle de classification, le vecteur de changement (dX) ayant la même taille que les caractéristiques d’entrée.
13. Anomaly diagnosis method (100) comprising the steps of:
- in response to a request received comprising an input datum and a target class, determining the class to which the input datum belongs among a set of classes, by applying the input datum to a multiclass classification model, the input data corresponding to a query point,
said classification model (10) using a set of decision trees, the input data comprising a set of input features, the input feature space having a given number of dimensions, each decision tree comprising a set of nodes defining a tree structure from a root node to a set of leaves, each leaf of the decision tree comprising a set of scores associated with each class, each decision tree being applied to the input data for determining an elementary classification decision from the scores associated with the leaves of the decision tree, an aggregation function being applied to the elementary classification decisions provided by each of the trees of the model to determine the class of the input data;
- decomposing at least part of the set of leaves associated with the decision trees of the model into multidimensional boxes, called pure boxes, from the input query, said pure boxes corresponding to a collection of intervals, each pure box corresponding to a region of the input feature space, associated with a vector score determined from the scores associated with the leaves of said decision trees;
- calculate a counterfactual point (Y) representing the virtual point closest to the query point belonging to the target class, from the decomposition into pure boxes;
- determine the difference between the counterfactual point (Y) and the input query (X), which provides a change vector (dX) representing the changes to be applied at least to the input data so that the input is classified into the target class by the classification model, with the change vector (dX) having the same size as the input features.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2013938A FR3118244B1 (en) | 2020-12-22 | 2020-12-22 | Method and device for diagnosing anomalies |
PCT/EP2021/085171 WO2022135972A1 (en) | 2020-12-22 | 2021-12-10 | Method and device for diagnosing anomalies |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2013938A FR3118244B1 (en) | 2020-12-22 | 2020-12-22 | Method and device for diagnosing anomalies |
FR2013938 | 2020-12-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3118244A1 true FR3118244A1 (en) | 2022-06-24 |
FR3118244B1 FR3118244B1 (en) | 2024-02-02 |
Family
ID=75539445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2013938A Active FR3118244B1 (en) | 2020-12-22 | 2020-12-22 | Method and device for diagnosing anomalies |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3118244B1 (en) |
WO (1) | WO2022135972A1 (en) |
-
2020
- 2020-12-22 FR FR2013938A patent/FR3118244B1/en active Active
-
2021
- 2021-12-10 WO PCT/EP2021/085171 patent/WO2022135972A1/en active Application Filing
Non-Patent Citations (9)
Title |
---|
BLANCHART PIERRE: "An exact counterfactual-example-based approach to tree-ensemble models interpretability", 31 May 2021 (2021-05-31), pages 1 - 18, XP055831034, Retrieved from the Internet <URL:https://arxiv.org/pdf/2105.14820.pdf> [retrieved on 20210809] * |
BLANCHART PIERRE: "Explaining the decisions of XGBoost models using counterfactual examples | by Pierre Blanchart | Jul, 2021 | Towards Data Science", 1 July 2021 (2021-07-01), pages 1 - 17, XP055831029, Retrieved from the Internet <URL:https://towardsdatascience.com/explaining-the-decisions-of-xgboost-models-using-counterfactual-examples-fd9c57c83062> [retrieved on 20210809] * |
C.MOLNAR: "A Guide for Making Black Box Models Explainable", INTERPRETABLE, MACHINE LEARNING, 2019 |
CARREIRA-PERPIÑÁN MIGUEL Á ET AL: "Counterfactual Explanations for Oblique Decision Trees: Exact, Efficient Algorithms", 1 March 2021 (2021-03-01), pages 1 - 18, XP055831052, Retrieved from the Internet <URL:https://arxiv.org/pdf/2103.01096.pdf> [retrieved on 20210809] * |
FERNÁNDEZ RUBÉN R. ET AL: "Random forest explainability using counterfactual sets", INFORMATION FUSION, vol. 63, 3 July 2020 (2020-07-03), US, pages 196 - 207, XP055831050, ISSN: 1566-2535, DOI: 10.1016/j.inffus.2020.07.001 * |
M. T. RIBEIROS. SINGHC. GUESTRIN: "why should i trust you?'' explaining the prédictions of any classier", PROCEEDINGS OF THE 22ND ACM SIGKDD INTERNATIONAL CONFÉRENCE ON KNOWLEDGE DISCOVERY AND DATA MINING, 2016, pages 1135 - 1144 |
M. T. RIBEIROS. SINGHC. GUESTRIN: "why should i trust you?'' explaining the prédictions of any classifier", PROCEEDINGS OF THE 22ND ACM SIGKDD INTERNATIONAL CONFÉRENCE ON KNOWLEDGE DISCOVERY AND DATA MINING, 2016, pages 1135 - 1144 |
RAI ARUN ED - BAYUS BARRY L ET AL: "Explainable AI: from black box to glass box", JOURNAL OF THE ACADEMY OF MARKETING SCIENCE, SPRINGER US, BOSTON, vol. 48, no. 1, 17 December 2019 (2019-12-17), pages 137 - 141, XP036984354, ISSN: 0092-0703, [retrieved on 20191217], DOI: 10.1007/S11747-019-00710-5 * |
SAHIL VERMA ET AL: "Counterfactual Explanations for Machine Learning: A Review", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 20 October 2020 (2020-10-20), XP081791725 * |
Also Published As
Publication number | Publication date |
---|---|
FR3118244B1 (en) | 2024-02-02 |
WO2022135972A1 (en) | 2022-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Schwab et al. | Cxplain: Causal explanations for model interpretation under uncertainty | |
Mehdiyev et al. | Explainable artificial intelligence for process mining: A general overview and application of a novel local explanation approach for predictive process monitoring | |
US20190147371A1 (en) | Training, validating, and monitoring artificial intelligence and machine learning models | |
EP3483797A1 (en) | Training, validating, and monitoring artificial intelligence and machine learning models | |
Boucher et al. | Software metrics thresholds calculation techniques to predict fault-proneness: An empirical comparison | |
US20230148321A1 (en) | Method for artificial intelligence (ai) model selection | |
US20230162049A1 (en) | Artificial intelligence (ai) method for cleaning data for training ai models | |
FR3082963A1 (en) | SYSTEM AND METHOD FOR EVALUATING AND DEPLOYING NON-SUPERVISED OR SEMI-SUPERVISED AUTOMATIC LEARNING MODELS | |
CA3133729A1 (en) | System and method for machine learning fairness test | |
JP7329127B2 (en) | A technique for visualizing the behavior of neural networks | |
EP3613003B1 (en) | System and method for managing detection of fraud in a financial transaction system | |
JP7301210B2 (en) | Techniques for modifying the behavior of neural networks | |
Zhang et al. | Explainability for regression CNN in fetal head circumference estimation from ultrasound images | |
WO2023034625A9 (en) | System and method for identifying advanced driver assist systems for vehicles | |
Kharal | Explainable artificial intelligence based fault diagnosis and insight harvesting for steel plates manufacturing | |
Shekar et al. | Label-free robustness estimation of object detection cnns for autonomous driving applications | |
Amorim et al. | Evaluating the faithfulness of saliency maps in explaining deep learning models using realistic perturbations | |
Plaza et al. | Minimizing manual image segmentation turn-around time for neuronal reconstruction by embracing uncertainty | |
Gevaert et al. | Evaluating feature attribution methods in the image domain | |
CN114036531A (en) | Multi-scale code measurement-based software security vulnerability detection method | |
Lomio et al. | A machine and deep learning analysis among SonarQube rules, product, and process metrics for fault prediction | |
Singh et al. | When to choose ranked area integrals versus integrated gradient for explainable artificial intelligence–a comparison of algorithms | |
Yu et al. | On formal feature attribution and its approximation | |
FR3118244A1 (en) | Method and device for diagnosing anomalies | |
WO2020167156A1 (en) | Method for debugging a trained recurrent neural network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20220624 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |