Brevet FR3118244A1 — publié le 20220624

L’invention propose un dispositif de diagnostic d’anomalie (100) comprenant : - 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, le 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é, - 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, 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 de scores associés aux feuilles des 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. Figure pour l’abrégé : Fig.12 Procédé et dispositif de diagnostic d’anomalies 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. 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 ». 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. 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. 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 ». 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 . 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 ». 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. 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. 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. 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. 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. Définition générale de l’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. 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. 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. 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. 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. 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. Dans un mode de réalisation, les boîtes d’intersection maximale sont des boîtes d’intersection maximale associées à la restriction du modèle aux d+1 premières dimensions. Avantageusement, le modèle peut être décomposé en un ensemble de boîtes pures comprenant au plus éléments, N désignant le nombre de feuilles des arbres de décision du modèle et représentant la dimension de l’espace des caractéristiques d’entrée appliquées au modèle. 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. 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 : 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. 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. Le point contrefactuel pour un point requête X et une classe cible « j » peut être déterminé à partir des boîtes pures situées à la profondeur D de la structure arborescente calculée pour le modèle selon l’équation : 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. 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). 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. Brève Description des 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 : La représente un dispositif de diagnostic d’anomalie, selon certains modes de réalisation ; La représente un exemple d’arbre de décision avec l’espace de décision associé, selon certains modes de réalisation ; La illustre le point contrefactuel pour un exemple de problème de classification. La illustre une décomposition de boites multidimensionnelles en boîtes d’intersection maximale, selon un mode de réalisation ; La illustre la décomposition en boîtes d’intersection maximale d’un ensemble constitué de l’union de deux boîtes, selon un mode de réalisation ; La illustre une telle propriété de boites s’intersectant, selon un exemple de mode de réalisation; La illustre les étapes du procédé de décomposition en boîtes pures, dans un exemple de réalisation. Le diagramme de la représente graphiquement un exemple de structure arborescente dérivée obtenue à partir de la décomposition du modèle, selon certains modes de réalisation; La est un organigramme représentant le procédé de diagnostic d’anomalies, selon les modes de réalisation de l’invention ; et La est un exemple de représentation haut-niveau du fonctionnement du procédé de décomposition avec retour de trace, selon un mode de réalisation. 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. 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. 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. 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. Description détaillée de la demande 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. À 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. 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. La représente un dispositif de diagnostic d’anomalie 100 selon certains modes de réalisation. 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 classe à laquelle appartient la donnée d’entrée parmi un ensemble de classes, en utilisant un modèle de classification multiclasse 10 de type ensemble d'arbres de décision. La donnée d’entrée correspond à un point requête . La donnée d’entrée comprend un ensemble de caractéristiques d’entrée. L’espace des caractéristiques d’entrées a un nombre de dimensions donné. 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 ” ”, quel est le point « virtuel» de la classe ” ” ( ) le plus proche en terme de distance euclidienne dans l’espace des caractéristiques d’entrée ?». 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. 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. É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 ». 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. 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. 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. 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. 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. 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 et le point requête , ce qui fournit 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 de classification. Le vecteur de changement ayant la même taille que les caractéristiques d’entrée. Le vecteur est représentatif des causes sous-jacentes de la décision de classification prise par le modèle 10 pour la donnée d’entrée et peut être utilisé pour interpréter la décision de classification du modèle. 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. 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 . Il est notamment adapté à l’utilisation de modèles de classification 10 arbitrairement gros. 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 : désigne la dimension de l’espace des caractéristiques d’entrée appliquées au modèle 10 ; Les caractéristiques d’entrée présentées en entrée du modèle sont représentées par un vecteur ∈ ; désigne le nombre de classes prédéfinies dans l’ensemble d’apprentissage ; désigne le modèle de classification 10. Un modèle définit une correspondance (mapping) entre l’espace des caractéristiques d’entrée et une classe: . 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. 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). Étant donné un arbre de profondeur , une feuille de l’arbre est caractérisée par une succession d’au maximum tests en chacun des nœuds situés sur le chemin entre le nœud racine et la feuille considérée. Il est possible de fixer une profondeur arbitraire d’arbre indépendamment du nombre de dimensions . Lorsque (la profondeur de l’arbre est strictement supérieure au nombre de dimensions), pour une feuille donnée, une pluralité de tests peuvent être effectués suivant une même dimension sur le chemin entre le nœud racine et cette feuille. Pour tester l’appartenance à une feuille, il peut être effectué un ensemble de tests d’intervalles du type : « ∈ [ a, b ] ? » avec a ∈ R U {−∞} et b ∈ R U {−∞} suivant chaque dimension . 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 F i d’un arbre sera notée comme une collection de D intervalles, selon l’équation 1 : Par ailleurs, un arbre de décision sera désigné ci-après par f et la -ème feuille de l’arbre sera désignée par . A chaque feuille d’un arbre est associé un couple (score, classe) noté ( S [ , Classe[ ]), avec Classe [ ] ∈ 1 , ... , K, signifiant que la feuille vote pour la classe [ ] avec un score S [ pour cette classe, et 0 pour les autres classes. La représente un exemple d’arbre de décision et de l’espace de décision associé. Par construction, les ”boîtes” correspondant aux feuilles d’un même arbre ne s’intersectent pas entre elles. Des intersections se produisent lorsque des modèles de type ”ensemble d’arbres” sont considérés. L’exemple d’arbre représenté génère uniquement des boîtes ouvertes. La feuille ”F1”, par exemple, est ouverte à gauche suivant ”d1” et en bas suivant ”d2”. La feuille ”F6” est ouverte à droite suivant ”d1”, et fermée des trois autres côtés. 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. Dans la suite de la description, une notation simplifiée sera utilisée pour désigner le score de chaque feuille sous la forme d’un vecteur , tel que : et Une donnée d’entrée, correspondant à un point requête , appliquée au modèle de classification 10 suit un unique parcours dans un arbre jusqu’à arriver dans une unique feuille de l’arbre comprenant un score . Pour désigner le score associé à la feuille de l’arbre qui est atteinte pour une requête d’entrée , la notation suivante est utilisée : En utilisant des fonctions indicatrices d’appartenance à une feuille, la fonction peut-être reformulée selon l’équation (2) : 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. Un modèle de classification (10) de type ”collection d’arbres de décision” est défini comme un ensemble de arbres de décision , munis d’une fonction d’agrégation vectorielle de la forme: La fonction d’agrégation vectorielle est utilisée pour agréger les décisions individuelles (décision de classification élémentaire) de chacun des arbres du modèle en une unique décision. Étant donnée une caractéristique d’entrée , la sortie fournie par un modèle en réponse à une requête d’entrée , représentant la décision prise par le modèle sur , est calculée par: Par exemple, pour des modèles de classification de type ”XGBoost”, la fonction d’agrégation peut être de la forme: La sortie du modèle est donc un vecteur de taille comprenant un ensemble de composants, chaque composant étant associé à une classe parmi les classes chaque classe , le composant du vecteur associé à la k-ième classe comprenant une information d’appartenance de classe indiquant si la donnée d’entrée appartient ou non à la classe (« croyance » du modèle que la donnée appartient à la classe ). L’information d’appartenance de classe peut être par exemple une probabilité. Dans un mode de réalisation, le modèle F détermine qu’une donnée est classée dans une classe (i.e. l’information d’appartenance de classe indique que la donnée d’entrée appartient à la classe ) si et seulement si: L’unité de décomposition 14 est configurée pour déterminer une reformulation géométrique d’un modèle sous la forme d’une collection de feuilles/boîtes { } , chacune associée à un score vectoriel . Dans la suite de la description, la notation donnée par la formule (3) suivante sera utilisée : Il est considéré un modèle de classification (10), une requête associée à une donnée d’entrée , une classe et une classe cible , la requête consistant à « déterminer le point virtuel de la classe le plus proche en distance euclidienne d’un élément donné de la classe ». Le point virtuel représentant le « point contrefactuel de la classe associé à un point » est défini par la formule (4) suivante : 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 dans l’espace des caractéristiques d’entrée de la donnée d’entrée . Les régions de décision du modèle correspondent aux régions à l’intérieur desquelles le modèle prend une et une seule décision concernant la classification des éléments de la région. De telles régions sont encore appelées « régions pures » 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 représente les régions de décision du modèle pour les deux classes C1 et C2. Pour trois points de la classe C1 notés (P1; P2; P3), les points les plus proches de la classe cible C2 dans l'espace de décision du modèle de classification sont recherchés. Ces points sont dénotés respectivement (CF1; CF2; CF3) sur le diagramme de la et correspondent aux points contrefactuels associés respectivement aux points (P1; P2; P3). 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 ». est une région pure associée à un modèle F si: Par ailleurs, si Classe( )=k, la région West appelée « région pure de classe kassociée au modèle F » . Dans la suite de la description, la notation Classe( )=ksera utilisée pour indiquer que la région pure W est une région pure de classe k . 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. Étant donné un modèle d’ensemble de définition E F R D , une décomposition en régions pures de , telle que mise en œuvre par l’unité de décomposition 14, désigne une décomposition telle que: - est une région pure associée à ; - ; - . Il convient de noter qu’une telle décomposition n’est pas unique. La distance d’un point à une région est définie par: (5) Le point désigne alors le point de la région le plus proche en distance euclidienne de . Étant donné un modèle et une décomposition en régions pures associée , dans certains modes de réalisation, l’unité de calcul de point contrefactuel 17 peut déterminer le point contrefactuel de la classe associé à un point , tel que défini par l’équation (4), en résolvant l’équation (6) suivante : 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). 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. É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. 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. 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é. Telle qu’utilisée ici, une région est dite région « d’intersection maximale » associée à un modèle F de type ”ensemble d’arbres” si: - il existe un sous-ensemble de feuilles ⊂ tel que , - pour toute feuille , Une région d’intersection maximale associée à un modèle de type ”ensemble d’arbres” désigne une région pure associée à ce modèle. En effet, par construction, une région d’intersection maximale possède 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 cette région : Tel qu’utilisé ici, une « boîte d’intersection maximale » associée à un modèle F de type ”ensemble d’arbres” désigne une région d’intersection maximale de F de type boîte. Étant donné un modèle de type ”ensemble d’arbre” comportant feuilles , telle qu’utilisée ici, une décomposition en boîtes d’intersection maximale de désigne une décomposition telle que: - ∀ n ∈ {1, . . . , N}, est une boîte d’intersection maximale associée à ; - ; - , La illustre une décomposition de boites multidimensionnelles en boîte d’intersection maximale, selon un exemple de réalisation. Sur la , il est considéré un modèle à trois feuilles représentées par les boîtes B1, B2, B3 sur le diagramme de gauche de la . Le diagramme de droite de la montre une décomposition des trois feuilles en 11 régions d’intersection maximale de type ”boîte”. La illustre la décomposition en boîtes d’intersection maximale d’un ensemble constitué de l’union de deux boîtes, B1 et B2 effectués par l’unité de décomposition selon certains modes de réalisation. Une première phase de décomposition des boîtes de l’ensemble de définition B1 et B2 en boîtes d’intersection maximale est effectuée, ce qui donne trois régions d’intersection maximale R1, R2 et R3. Une deuxième phase de décomposition des régions d’intersection maximales R1, R2 et R3 en boîtes d’intersection maximales W1, W2, W3, W4 et W5 (R1 est décomposée en W1 et W2 ; R2 est décomposée en W3 et R3 est décomposée en W4 et W5). Il convient de noter que les régions d’intersection maximale ne sont pas nécessairement des boîtes mais peuvent être des assemblages disjoints de boîtes d’intersection maximale comme la région R1 qui se décompose en deux boîtes d’intersection maximale W1, et W2. Comme illustré sur le diagramme de la , les régions Ri ne sont pas nécessairement des boîtes, mais peuvent être également des assemblages disjoints de boîtes, comme les régions R1 et R3 qui se décomposent en deux boîtes d’intersection maximale chacune (W1 et W2 pour R1 ; W4 et W5 pour R3). 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. Par ailleurs, étant donné un modèle F de type ”ensemble d’arbres” comportant N feuilles et dont l’ensemble de définition est inclus dans R D , il est possible de trouver une décomposition en boîtes pures des feuilles de Fcomptant au plus (2N-1) D éléments. 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. 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é). Telle qu’utilisée ici, une restriction d’un modèle F de type « ensemble d’arbres » aux premières dimensions désigne la restriction de l'ensemble des boites correspondant aux feuilles de F aux d premières dimensions. La restriction d’un modèle F aux d premières dimensions sera notée ci-après . Il est considéré un modèle F de type ”ensemble d’arbres” dont l’ensemble de définition est inclus dans et comportant N feuilles . 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. 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 potentielles intersections), en pratique, l’aspect combinatoire peut être contourné en considérant qu’une zone d’intersection maximale commence ou se termine en un point si et seulement si au moins un intervalle parmi N commence ou se termine en ce point. Pour N intervalles, il existe au maximum N commencements et N terminaisons d’intervalle, ce qui crée par conséquent au maximum 2N − 1 régions d’intersection maximale (le dernier intervalle à se terminer ne créé pas de nouvelle zone d’intersection maximale mais termine la dernière zone, d’où le ” - 1”). 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 2 N valeurs correspondant au commencement et à la terminaison des N intervalles, 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 (2N-1) peut être ainsi créée, telle que son composant (i,j) noté A(i,j) peut avoir une valeur vraie (soit A(i,j)==TRUE, « true » signifiant « vrai ») indiquant que le i -ème intervalle est présent au niveau de la j -ème région d’intersection maximale ou une valeur « false » sinon (soit A(i,j)==FALSE, « false » signifiant « faux »). La matrice A peut-être de très grande taille. En général, la matrice A a une structure très creuse (« sparse » en langue anglo-saxonne) qui permet sa construction explicite quel que soit le nombre N de feuilles du modèle. 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 dimension d définie par: À 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 indexée par sera notée ci-après : , ..., } Par ailleurs, la n-ième feuille du modèle sera notée ci-après : , ..., } 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. 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 et est formée par l'intersection des intervalles de l'ensemble dont l'indice est contenu dans . 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 : - 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 et l’ensemble trié résultant du tri par ordre croissant de l’ensemble P : ; – 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]; – 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 s’est produit et l’événement ne s’est pas encore produit. - une variable id.n initialisée à 1 ( id.n 1) ; - une variable ind.unique initialisée à 1 ( ind.unique 1 ) ; - une matrice booléenne A de taille N (2N-1) initialisée à FALSE. Le procédé de détermination des zones d’intersection maximales détermine et fournit en sortie les zones d’intersections maximales : - avec et - avec . Étant donnée une boîte = , la boîte est appelée restriction de aux premières dimensions ( d ≤ D ). Par analogie, la restriction de la feuille aux premières dimensions est notée . Dans la suite de la description, en considérant l’ensemble, noté , comprenant les indices des feuilles du modèle restreintes aux premières dimensions qui possèdent une intersection non nulle avec la boîte , la propriété suivante peut être considérée pour rajouter une dimension : Si deux boîtes et ne s’intersectent pas suivant une dimension d, avec , c’est-à-dire si , alors : . Une telle propriété géométrique découle directement du fait qu’une boîte est, pour une dimension donnée, située entre les deux hyperplans de vecteur normal passant respectivement par les points et , où désigne le vecteur unitaire associé au -ème axe de coordonnée. La illustre une telle propriété. Sur le diagramme de gauche de la , la montre deux boîtes B1 et B2 qui s’intersectent suivant la dimension 1 mais ne s’intersectent pas suivant la dimension 2. Au contraire, sur le diagramme de droite de la , les boîtes B1 et B2 s’intersectent suivant la dimension 2 mais ne s’intersectent pas suivant la dimension 1. Dans les deux cas, l’intersection de B1 et B2 est nulle. 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). Dans certains modes de réalisation, l’unité de décomposition 14 peut déterminer les boîtes d’intersection , de façon indépendante, à partir de chacune des boites d’intersection maximale . Pour une boîte d’intersection maximale , le procédé de l’annexe A1.1 (Algorithme 1 en pseudo-code) peut par exemple être appliqué aux intervalles , pour extraire une décomposition en boîtes d’intersection maximale de l’ensemble de feuilles restreintes à d+1 dimensions. La décomposition en intervalle d’intersection maximale des boîtes de l’ensemble restreintes à la dimension d, c’est-à-dire des intervalles , sera noté ci-après : En appliquant le procédé de l’annexe A1.1, décrit en pseudo-code par l’Algorithme 1, il vient : , . 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 sont des boîtes d’intersection maximale associées à la restriction de aux premières dimensions . La décomposition , déterminée par l’unité de décomposition 14, à partir de toutes les boîtes d’intersection maximale est une décomposition en boîtes d’intersection maximale des feuilles restreintes à d+1 dimensions . 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 , dimension par dimension, en construisant une structure arborescente dérivée dont les nœuds à la profondeur contiennent les régions pures et correspondent donc à une décomposition en régions pures des feuilles restreintes aux premières dimensions. Un exemple d’implémentation du procédé de décomposition des feuilles d’un modèle F en régions pures de type ”boîte”, pouvant être mis en œuvre par l’unité de décomposition 14, est décrit en pseudo-code par l’Algorithme 2 de l’annexe A1.2. Un tel procédé effectue un traitement par récurrence, dimension par dimension. 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 de type ensemble d'arbres défini par : - N feuilles , ..., ; - Des scores associées à chacune des feuilles avec ; - 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 des régions pures de type « boîtes » déterminées pour le modèle et l’ensemble des scores associés à chacune des régions pures. 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. La illustre les étapes du procédé de décomposition en boîtes pures (implémenté par exemple selon l’Algorithme 2 de l’annexe A.1.2), dans un exemple de réalisation. Dans l’exemple de la , l’étape E1 correspond à l’entrée appliquée au dispositif de diagnostic 100. Cette entrée est une collection de boites multidimensionnelles Bi avec leurs scores respectifs Si représentant le modèle de classification 10. La requête d’entrée comprend un point requête R et une classe cible C2. 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». 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 » : - G1=G2=g(S1) ; - G3=g(S1+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. L’étape E5 correspond au calcul des distances du point requête à chacune des boites cibles. 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. Le diagramme de la représente graphiquement un exemple de structure arborescente dérivée 60 obtenue en mettant en œuvre le procédé décomposition des feuilles d’un modèle F en régions pures de type ”boîte”, tel que mis en œuvre par les unités de décomposition 12 et 14, selon l’implémentation de l’annexe A.1 .2 (Algorithme 2) pour un modèle F simplifié. 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. La est un organigramme représentant le procédé de diagnostic d’anomalies selon les modes de réalisation de l’invention. 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 et une classe cible. 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). 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. 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. 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égion R , il est possible de trouver un point de l’enveloppe de R qui 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. Dans un mode de réalisation, l’étape 704 de détermination du point contrefactuel peut comprendre, pour chaque boîte , déterminée à l’étape de décomposition 702, une détermination de la distance minimale de X à la boîte ainsi que le point Z de la surface de la boîte se trouvant à une distance minimale entre le point requête X représentant la donnée d’entrée et la boîte pure, avec . Par exemple, pour chaque boîte , le point Z peut être calculé, en appliquant un procédé de calcul de point de surface, comme par exemple l’Algorithme 3 décrit en pseudo-code dans l’annexe A1.3 en procédant dimension par dimension. Dans un tel mode de réalisation, le point Z se trouvant à une distance minimale entre le point requête représentant la donnée d’entrée et la boîte pure peut être déterminé selon l’équation suivante : 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 représentant une boîte D-dimensionnelle, peut comprendre une pluralité d’itérations, chaque itération correspondant à une dimension d. À chaque itération correspondant à une dimension ”d”, la distance correspondant à la distance minimale entre X et la boîte restreinte aux d premières dimensions est calculée, avec , où = . La distance d’un point à une région est définie par l’équation (5). Le procédé de calcul du point Z (par exemple selon l’Algorithme 3 de l’annexe A1.3) utilise en entrée : - La boîte ; - Le point requête . Le procédé de calcul du point fournit en sortie la distance du point requête X à la boîte au sens de la définition de l’équation (5) représenté par le point tel que : . 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. 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 est supérieure à une borne supérieure , selon un procédé de décomposition avec retour sur trace (« backtracking »). La borne inférieure représente 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. 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. La borne supérieure représente la borne supérieure sur la distance du point contrefactuel au point requête. 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. 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 classe j , la construction peut être élargie aux nœuds voisins en remontant la structure de décomposition dimension par 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). Un tel procédé de calcul de la borne supérieure reçoit en entrée le Modèle F de type ensemble d'arbres défini par : - N feuilles , ..., ; - Les scores associées à chacune des feuilles avec ; - La fonction d’agrégation vectorielle : ; Le procédé de calcul de la borne supérieure reçoit également en entrée : - La requête d’entrée ; et - la classe cible, désignée par la variable « target », avec target telle que target Classe(X). Le procédé de calcul de la borne supérieure détermine et délivre en sortie la borne supérieure sur la quantité dist(X; CF(X ; target)). La est un exemple de représentation haut-niveau du fonctionnement du procédé de décomposition avec retour de trace correspondant à l’application de l’algorithme 4 de l’Annexe B.2.4. Dans l’exemple de la , la classe cible est la classe C2. Le procédé génère une construction d’une structure arborescente du même type que celle construite par le procédé de décomposition exhaustif (par exemple selon l’Algorithme 2 de l’annexe A1.2) dans l’ordre indiqué par le parcours fléché jusqu’à ce qu’une région appartenant à la classe C2 soit déterminée. La partie en pointillés de la structure n’est pas construite. Le procédé de décomposition avec retour de trace (« backtracking ») appliqué à une structure d’arbre permet un parcours en profondeur d’abord comme indiqué par le parcours fléché, alors que le procédé de décomposition exhaustif (selon l’Algorithme 2 de l’annexe B.2 par exemple) fournit une construction exhaustive de la structure en utilisant d’abord un parcours en largeur. 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. 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 . Un tel procédé par séparation et évaluation (« branch-and-bound ») ne construit qu'une décomposition partielle de l'espace de décision du modèle se trouvant à l'intérieur d'une hypersphère de centre X et de rayon . Le rayon représente la borne supérieure sur la quantité dist(X; CF(X;target)). Dans ce mode de réalisation de l’étape 704 de la figure 4, le procédé de calcul du point contrefactuel CF( , ) reçoit en entrée le Modèle de type ensemble d'arbres défini par : - N feuilles , ..., ; - Les scores associées à chacune des feuilles avec ; - La fonction d’agrégation vectorielle : ; - La borne supérieure sur la quantité dist ( ; CF( ; )). Le procédé de calcul du point contrefactuel CF( , target) reçoit également en entrée : - La requête d’entrée ; et - la classe cible , désignée par la variable «target» dans l’Algorithme 5, avec target telle que target Classe(X), Classe( ) désignant la classe de la donnée d’entrée . 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. 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. Le dispositif et le procédé de diagnostic d’anomalie selon les modes de réalisation peuvent être utilisés dans de nombreuses 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. 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 ». 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. 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. 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 ) sur l’attribution de crédits à la consommation. Le procédé de diagnostic d’anomalie peut être ensuite appliqué pour diagnostiquer (déterminer la raison) de chacune des décisions négatives fournies (non-attribution du crédit) par le modèle de décision F. Les composantes du vecteur dX représentent les caractéristiques d’entrée qu’il faudrait changer a minima pour que le client soit éligible (i.e. pour que la donnée soit classée dans la classe adverse « normale »). De telles composantes peuvent être traduites en recommandations, en langage haut niveau. 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 : C1 : décision d’attribuer le crédit (classe « normale »), ou C2 : décision de refuser le crédit demandé par l’emprunteur (classe « anormale »). 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. Cas 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. Cas 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: aucun Cas 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. 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 i), le débogage de modèle autour du point de fonctionnement X consiste à analyser la ”connaissance” que le modèle a acquis au sujet des éléments de la classe i proches de X, et quelle connaissance additionnelle serait nécessaire pour que la donnée Xsoit convenablement classée dans la classe i par le modèle. La connaissance additionnelle nécessaire pour que la donnée X soit convenablement classée dans la classe i par le modèle est représentée par le vecteur de changement dX calculé par le comparateur 18. 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. 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. 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. 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 à M régions pures distinctes. En analysant les invariants statistiques à l’intérieur de l’ensemble , il est ensuite possible d’extraire une mesure de robustesse du diagnostic. Pour évaluer la répétabilité du diagnostic sur des données d’entrée similaires, en considérant les voisins de à l’intérieur d’une boule de rayon et la différence à leurs points contrefactuels respectifs il est possible de caractériser la stabilité/répétabilité de l’invariant. Il est alors possible d’’appliquer des techniques de caractérisations de robustesse d’un diagnostic, par exemple comme décrit dans D. Alvarez-Melis and T. S. Jaakkola, « on the robustness of interpretability methods," arXiv preprint arXiv:1806.08049, 2018. 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. 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. 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. 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++. 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. 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. ANNEXE A A.1.1. Algorithme 1 A.1.2. Algorithme 2 A.1.3. Algorithme 3 A.1.4. Algorithme 4 A.1.5. Algorithme 5 1. Dispositif de diagnostic d’anomalie (100) comprenant : - 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. 2. Dispositif selon la revendication 1, caractérisé en ce que l’unité de décomposition (14) détermine 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. 3. Dispositif selon l’une des revendications précédentes, caractérisé en ce que les arbres de décision du modèle comprennent des feuilles s’intersectant, et en ce que l’unité de décomposition (14) est 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 ladite région, en appliquant ladite fonction d’agrégation. 4. Dispositif selon la revendication 3, caractérisé en ce que l’unité de décomposition (14) est 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 desdites dimensions, l’unité de décomposition (14) fournissant la décomposition en boîtes pures du modèle sous forme de boites d’intersection maximale dimension par dimension. 5. Dispositif selon l’une des revendications 3 et 4, caractérisé en ce que l’unité de décomposition (14) est configurée pour déterminer, à partir d’une décomposition en boîtes d’intersection maximale de la restriction du modèle (10) 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. 6. Dispositif selon l’une des revendications 4 à 5, caractérisé en ce que les boîtes d’intersection maximale sont des boîtes d’intersection maximale associées à la restriction du modèle aux d+1 premières dimensions. 7. Dispositif selon l’une des revendications précédentes, caractérisé en ce que le modèle est décomposé en un ensemble de boîtes pures comprenant au plus éléments, N désignant le nombre de feuilles des arbres de décision du modèle (10) et représentant la dimension de l’espace des caractéristiques d’entrée appliquées au modèle (10). 8. Dispositif selon l’une des revendications précédentes, caractérisé en ce que l’unité de calcul du point contrefactuel est 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. 9. Dispositif selon la revendication 8, caractérisé en ce que 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 : 10. Dispositif selon l’une des revendications précédentes, caractérisé en ce que le dispositif est configuré pour calculer une borne inférieure et une borne supérieure pour chaque nœud de ladite 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 dudit 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 ladite structure arborescente dérivée au niveau des nœuds pour lesquels la borne inférieure est supérieure à la borne supérieure. 11. Dispositif selon la revendication 10, caractérisé en ce que 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. 12. Dispositif selon la revendication 11, caractérisé en ce que le point contrefactuel pour un point requête X et une classe cible « j » est déterminé à partir des boîtes pures situées à la profondeur D de la structure arborescente calculée pour le modèle selon l’équation : 13. Procédé de diagnostic d’anomalie (100) 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, 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.