WO2022112583A1 - Procédé d'évaluation de la performance d'un algorithme de prédiction et dispositifs associés - Google Patents

Procédé d'évaluation de la performance d'un algorithme de prédiction et dispositifs associés Download PDF

Info

Publication number
WO2022112583A1
WO2022112583A1 PCT/EP2021/083472 EP2021083472W WO2022112583A1 WO 2022112583 A1 WO2022112583 A1 WO 2022112583A1 EP 2021083472 W EP2021083472 W EP 2021083472W WO 2022112583 A1 WO2022112583 A1 WO 2022112583A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
prediction
algorithm
prediction algorithm
metric
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.)
Ceased
Application number
PCT/EP2021/083472
Other languages
English (en)
Inventor
Pierre-Yves LAGRAVE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Priority to US18/254,749 priority Critical patent/US20240028960A1/en
Priority to EP21820592.0A priority patent/EP4252162A1/fr
Publication of WO2022112583A1 publication Critical patent/WO2022112583A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Definitions

  • the present invention relates to a method for evaluating the performance of a prediction algorithm.
  • the present invention also relates to a computer program product and an associated readable information medium.
  • the present invention is in the field of the development of prediction algorithms that have been learned by using a machine learning technique.
  • Machine learning is referred to by many different terms such as the term “machine learning”, the term “automatic learning”, the term “artificial learning” or the term “statistical learning”. Machine learning involves using data to learn a prediction algorithm.
  • the description describes a method for evaluating the performance of a prediction algorithm for a predefined use case, the prediction algorithm predicting for given inputs the value of one or more outputs, the prediction algorithm having been learned by using a machine learning technique and a learning data set, the method comprising a step of obtaining data sets, each datum of a data set corresponding to the output values that the prediction algorithm should give in the presence of the input values of the data set, a step of receiving the probability for each data set that a data set is observed during the use case of the prediction algorithm, a step for collecting the outputs predicted by the prediction algorithm for each input value of the data of the datasets, a step for determining the distribution of the prediction accuracy of the predicted output for each data set to obtain determined distributions, a step of aggregating the determined distributions by employing an aggregation function using the received probabilities to obtain an aggregated prediction accuracy distribution , and a step of applying at least one risk metric to the aggregated prediction accuracy distribution to obtain at least one indicator of the performance of the prediction
  • the evaluation method has one or more of the following characteristics, taken in isolation or in all technically possible combinations:
  • a risk metric is a quantile metric and an indicator of the performance of the prediction algorithm is the value of a quantile of a predetermined level.
  • a risk metric is a conditional expectation and an indicator of the performance of the prediction algorithm is a value of the conditional expectation.
  • the prediction accuracy is calculated using an evaluation metric, the evaluation metric being an average of the absolute prediction error, a quantile metric, or an empirical moment of the accuracy distribution of prediction.
  • the prediction accuracy is calculated using a reference prediction algorithm.
  • the process includes the establishment of a report giving all the information that made it possible to obtain the performance indicator.
  • the obtaining step is implemented by generating each data set from a reference data set according to a given probability distribution.
  • the obtaining step is implemented, for each data set, by generation by a generative model of initial data and by selection according to a given probability law of the initial data to form the data set.
  • the obtaining step involves modifying the data sets by introducing imperfections in the environment of the system that the prediction algorithm models.
  • the obtaining step involves modifying the data sets by introducing adverse disturbances aimed at manipulating the outputs of the prediction algorithm.
  • the present description also describes a computer program product comprising a readable information medium, on which is stored a program computer comprising program instructions, the computer program being loadable on a data processing unit and implementing an evaluation method as previously described when the computer program is implemented on the unit of data processing.
  • the present description also describes a readable information medium comprising program instructions forming a computer program, the computer program being loadable on a data processing unit and implementing an evaluation method as previously described. when the computer program is implemented on the data processing unit.
  • Figure 1 is a schematic representation of a computer program system and product
  • Figure 2 is a flowchart of an example implementation of a method for evaluating a prediction algorithm.
  • FIG. 1 A system 10 and a computer program product 12 are shown in Figure 1.
  • the interaction between the system 10 and the computer program product 12 allows the implementation of a method for evaluating a prediction algorithm.
  • the evaluation process is thus a computer-implemented process.
  • System 10 is a desktop computer.
  • system 10 is a rack-mounted computer, laptop, tablet, personal digital assistant (PDA), or smartphone.
  • PDA personal digital assistant
  • the computer is adapted to operate in real time and/or is in an on-board system, in particular in a vehicle such as an airplane.
  • the system 10 comprises a calculation unit 14, a user interface 16 and a communication device 18.
  • the calculation unit 14 is an electronic circuit designed to manipulate and/or transform data represented by electronic or physical quantities in registers of the system 10 and/or memories into other similar data corresponding to physical data in the register memories or other types of display devices, transmission devices or storage devices.
  • the computing unit 14 includes a single-core or multi-core processor (such as a central processing unit (CPU), a graphics processing unit (GPU), a microcontroller and a digital signal processor (DSP)), a programmable logic circuit (such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a logic device (PLD) and programmable logic arrays (PLA)), a state machine, a logic gate and discrete hardware components.
  • a single-core or multi-core processor such as a central processing unit (CPU), a graphics processing unit (GPU), a microcontroller and a digital signal processor (DSP)
  • DSP digital signal processor
  • ASIC application-specific integrated circuit
  • FPGA field-programmable gate array
  • PLD logic device
  • PLA programmable logic arrays
  • the calculation unit 14 comprises a data processing unit 20 adapted to process data, in particular by performing calculations, memories 22 adapted to store data and a reader 24 adapted to read a computer-readable medium.
  • the user interface 16 includes an input device 26 and an output device 28.
  • the input device 26 is a device allowing the user of the system 10 to enter information or commands on the system 10.
  • the input device 26 is a keyboard.
  • the input device 26 is a pointing device (such as a mouse, touchpad, and graphics tablet), a voice recognition device, an eye tracker, or a haptic (motion analysis) device.
  • the output device 28 is a graphical user interface, i.e. a display unit designed to provide information to the user of the system 10.
  • the output device 28 is a display screen allowing visual presentation of the output.
  • the output device is a printer, an augmented and/or virtual display unit, a speaker or other sound generating device for presenting the output in sound form, a unit producing vibrations and/or odors or a unit adapted to produce an electrical signal.
  • the input device 26 and the output device 28 are the same component forming human-machine interfaces, such as an interactive screen.
  • the communication device 18 allows unidirectional or bidirectional communication between the components of the system 10.
  • the communication device 18 is a bus communication system or an input/output interface.
  • the presence of the communication device 18 allows that, in certain embodiments, the components of the system 10 are remote from each other.
  • Computer program product 12 includes computer readable medium 32.
  • the computer-readable medium 32 is a tangible device readable by the reader 24 of the calculation unit 14.
  • the computer-readable medium 32 is not a transient signal per se, such as radio waves or other freely propagating electromagnetic waves, such as light pulses or electronic signals.
  • Such a computer-readable storage medium 32 is, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any combination thereof. these.
  • computer-readable storage medium 32 is a mechanically encoded device, such as punched cards or grooved relief structures, floppy disk, hard disk, ROM (ROM), Random Access Memory (RAM), Erasable Programmable Read Only Memory (EROM), Electrically Erasable Readable Memory (EEPROM), Magneto-Optical Disk, Static Random Access Memory (SRAM), Compact Disc ( CD-ROM), digital versatile disk (DVD), USB flash drive, floppy disk, flash memory, solid state disk (SSD) or PC card such as a PCMCIA memory card.
  • ROM Read Only Memory
  • EROM Erasable Programmable Read Only Memory
  • EEPROM Electrically Erasable Readable Memory
  • SRAM Static Random Access Memory
  • CD-ROM Compact Disc
  • DVD digital versatile disk
  • USB flash drive floppy disk
  • SSD solid state disk
  • PCMCIA memory card such as a PCMCIA memory card.
  • a computer program is stored on computer-readable storage medium 32.
  • the computer program includes one or more stored program instruction sequences.
  • Such program instructions when executed by data processing unit 20, cause steps of the evaluation method to be executed.
  • the form of program instructions is source code form, computer executable form, or any intermediate form between source code and computer executable form, such as the form resulting from source code conversion through an interpreter , assembler, compiler, linker, or locator.
  • the program instructions are microcode, firmware instructions, state definition data, integrated circuit configuration data (eg VHDL) or object code.
  • Program instructions are written in any combination of one or more languages, for example an object-oriented programming language (FORTRAN, C++, JAVA, HTML), a procedural programming language (C language for example).
  • object-oriented programming language for example
  • C++ JAVA
  • HTML JAVA
  • C language for example
  • program instructions are downloaded from an external source via a network, as is notably the case for applications.
  • the computer program product comprises a data medium readable by computer on which the program instructions are stored or a data carrier signal on which the program instructions are encoded.
  • the computer program product 12 comprises instructions which can be loaded into the data processing unit 20 and adapted to cause the execution of the evaluation method when they are executed by the processing unit. of data 20.
  • the execution is entirely or partially carried out either on the system 10, that is to say a single computer, or in a system distributed between several computers (in particular via the use of cloud computing).
  • FIG. 2 is a flowchart illustrating an example of implementation of the evaluation method.
  • the evaluation method is a method of evaluating the performance of a prediction algorithm for several distinct use cases.
  • the prediction algorithm is able to predict for given inputs the value of one or more outputs.
  • the algorithm was learned by using a machine learning technique and a training dataset.
  • the algorithm is a supervised statistical learning algorithm.
  • the prediction algorithm is, for example, a support vector machine (better known under the English name of “Support Vectors Machine”), a neural network (better known under the English name of “Neural Network”) or a tree random (better known as “Random Forest”). More generally, any type of supervised prediction algorithm is possible for the present context.
  • Such a prediction algorithm can be used for very diverse contexts such as image classification, recognition of three-dimensional shapes or decision support in the context of piloting autonomous drones.
  • the prediction algorithm takes as input and/or gives as output physical quantities corresponding to measurements from one or more sensors.
  • the prediction algorithm is a digit recognition algorithm.
  • the recognition algorithm takes an image as input and determines the number contained in the image.
  • the method comprises the following steps: a step for obtaining E50, a step for receiving E52, a step for collecting E54, a step for determining E56, a step for aggregating E58, a step for applying E60 and a step for establishment E62.
  • n data sets are obtained.
  • n p and N are defined more precisely in the remainder of the description.
  • Each data set comprises a respective number n T of data.
  • the number n T of data of a game is at least greater than 2, preferably greater than or equal to 100, and depends in practice on a time horizon T characteristic of the operational use of the prediction algorithm / considered.
  • Each datum of a dataset corresponds to the output values that the prediction algorithm should give in the presence of the input values of the dataset.
  • Such a set of references is a set comprising an image of each digit and comprising the associated digit.
  • the obtaining step E50 is then implemented by generating each data set from the reference data set according to a given probability law.
  • the generation is implemented by a random drawing according to a law of probability.
  • the law of probability is a uniform law.
  • the number 1 is more frequent than the others.
  • the law of probability may favor the generation of data sets with the number 1 .
  • the step of obtaining E50 is implemented, for each set of data, by generation by a generative model of initial data and by selection according to a given law of probability of the initial data to form the set of data .
  • a generative model is an automatic learning algorithm that seeks to describe the data, subsequently allowing new samples to be generated according to the description (i.e. probability law) determined during the learning phase.
  • a classic example is a generative adversarial network (more often referred to by the acronym of GAN in reference to the English name of "Generative Adversary Network”, allowing the synthesis of very realistic (fictitious) images from real images.
  • GAN generative adversarial network
  • VAE Variational Auto-encoder
  • the obtaining step E50 includes the modification of the data sets (generated data sets or reference data sets) by introducing imperfections in the environment of the system that the prediction algorithm models.
  • the datasets can be modified taking into account the imperfections of the scanner used.
  • geometric transformations taking into account noise or external disturbances are considered for the modification.
  • the step of obtaining E50 is the result of the implementation of a generation of input/output pairs making it possible to obtain various realizations of random variables (x,y) under the measure of probability P 3 ⁇ 4y .
  • the probability is received for each set of data that a set of data is observed during a case of use of the prediction algorithm.
  • the datasets correspond to black and white images whereas, in the use case, the images are in color
  • the case where the color images will be comparable to the case of black images and white have a certain probability.
  • the distribution of digits in use is not evenly distributed, so that the probability of having certain digits is higher than the probability of having other digits.
  • the outputs predicted by the prediction algorithm for each input value of the data of the data sets are collected.
  • the prediction algorithm is applied to the input values and the result is collected by the system 10.
  • the value predicted by the prediction algorithm and the value that the prediction algorithm should have predicted (true value) are thus known.
  • the distribution of the prediction accuracy of the prediction algorithm is determined.
  • the accuracy of the prediction is obtained by applying an evaluation metric to a prediction error.
  • Such an evaluation metric will be denoted ⁇ below.
  • a prediction error corresponds to the following quantity: Where: ⁇ x and y are realizations of the random variables x and y of joint distribution P ⁇ , ⁇ and ⁇ is a precision metric, also called a loss function.
  • the prediction accuracy is calculated by a metric by means of the absolute prediction error.
  • the prediction accuracy is calculated by using a cross-entropy function.
  • the prediction accuracy is evaluated using a quantile metric. More generally, the evaluation metric is constructed by applying a metric ⁇ to the empirical distribution of the random variable Otherwise formulated, the evaluation metric is an empirical moment of the prediction accuracy distribution.
  • the prediction accuracy is calculated by a metric using a reference prediction algorithm noted g.
  • the evaluation metric is a function ⁇ of the distribution of the relative precision between the algorithm f to be evaluated and the reference prediction algorithm g.
  • the metric is the mean of evaluation of the relative l-differences, which is written mathematically as follows: It is also possible to refine the preceding metrics by conditioning them with respect to the precision of the reference prediction algorithm g.
  • the conditional mean of relative l-differences is a particular example of such a metric, which is mathematically written as:
  • the evaluation metric is calculated on each dataset independently.
  • evaluation metric can be seen as a risk metric.
  • n p distributions of the prediction error of the predicted output are thus obtained.
  • Each distribution is thus a determined distribution specific to a respective data set sampled according to a distribution H s x i >y , with i an integer between 1 and where N represents the number of datasets used to obtain a realization of the prediction error calculation.
  • Each of these determined distributions is denoted with i an integer between 1 and n p .
  • the determined distributions are aggregated to obtain an aggregate prediction error distribution or aggregate prediction distribution noted
  • an aggregation function using the received probabilities is used.
  • the aggregation function is a weighted sum whose weights m; depend on the received probabilities.
  • a risk metric MR is applied to the aggregated prediction error distribution.
  • the value of the MR risk metric provides an indicator of the performance of the prediction algorithm.
  • the method can include a subsequent step of aggregating the performance indicators obtained.
  • the risk metric MR is the quantile of the aggregate prediction error distribution.
  • the indicator of the performance of the prediction algorithm is the value of a quantile of a predetermined level (here level a).
  • Level a is determined according to the criticality of the application envisaged for the prediction algorithm.
  • the level a of the order of 5/100 could be acceptable whereas for a prediction algorithm in the field of transport, an acceptable level of confidence a could be order of 10 7 .
  • VaR refers to the English name of “Value-at-Risk” literally meaning “value at risk”, or “value at stake”.
  • the VaR risk metric is defined for a given time horizon T, a set S of scenarios and a confidence level a.
  • the risk metric VaR thus corresponds to the amount of losses that should only be exceeded with a given probability over the time horizon T.
  • the time horizon depends in particular on the intended use case.
  • the time horizon takes into account the various constraints that may prevent a new training (re-calibration) of the algorithm.
  • an algorithm embedded in a satellite will have a greater risk horizon than a spam classifier.
  • the set S of scenarios corresponds to a probability measure specified jointly on the inputs and outputs considered. The probability measurement depends in particular on the operational application and the various risks to be measured.
  • this probability distribution represents a distribution associated with the use of the algorithm which is decorrelated from the distribution of inputs/outputs used during the training of the algorithm of prediction.
  • an estimator called the empirical mean risk
  • an estimator is defined by:
  • the present method also rules out the use of the notion of average risk by introducing an evaluation metric f operating on the training and use distributions
  • the training error is thus defined as follows:
  • the confidence level a corresponds to the level a of the risk metric MR1.
  • the evaluation measure f is calculated by constructing a distribution representative of the evaluation of the algorithm, over N realizations with j an integer between 1 and N, obtained from the distribution P 3 ⁇ 4jy , for the considered time horizon T.
  • the number n T of samples to be considered per realization depends on the fixed time horizon and frequency of use of the algorithm.
  • the risk metric is a conditional expectation and an indicator of the performance of the prediction algorithm is a value of the conditional expectation.
  • MR2 designates the risk metric obtained as the value of a conditional expectation and EC2 the limit value used for conditioning.
  • Such a performance indicator is as effective as a metric known by the acronym of C-VaR referring to the English name of "Conditional Value-at- Risk” literally meaning “conditional value at risk”. This metric is also known as “Expected-Shortfall”, literally meaning “expected losses”.
  • the method described with reference to FIG. 2 also comprises a step E62 of establishing a report giving all the information that made it possible to obtain the performance indicator.
  • such a report is generated in pdf format.
  • the report is generated from latex code generated on the fly.
  • the content of the report is, according to the proposed example, a set of three types of information.
  • the first type of information groups together the information provided at the start of the process, highlighting in particular the number of algorithms to be evaluated, the number of scenarios (datasets) considered and the various risk metrics to be considered.
  • the second type of information relates to the risks for each algorithm for a dataset and a risk metric.
  • a histogram of the risk metric values is presented in the form of a histogram or a graph.
  • the third type of information relates to the aggregated risks for each algorithm for a risk metric.
  • the algorithm, the risk metric, the different priors used and possibly an aggregation of the different values found for the different performance indicators will be indicated.
  • Such a report is directly usable for a user.
  • the present process is thus a tooled process for the measurement and management of risks associated with the use of supervised statistical learning algorithms in a specific framework.
  • the process gives a realistic measurement of the performance of the algorithm on all the data that can be submitted to it, unlike a certification process which would only validate the performance of the algorithm under these specific conditions of use.
  • the method makes it possible to obtain good precision for all the cases that may occur in practice.
  • This method has the advantage of being generic in the sense that the method can be applied to any type of prediction algorithm in a supervised learning context, any type of input and any use case envisaged.
  • the present method can be used at all stages of the life of the algorithm, and in particular in the development phase, the validation phase and the monitoring phase (after deployment of the algorithm).
  • the process makes it possible to obtain the performance and therefore facilitates the comparison of two candidate versions of the algorithm.
  • the development is therefore accelerated.
  • the process can also be used to calibrate the values of hyper-parameters or to associate confidence indicators with the outputs of the selected algorithms.
  • the validation phase aims to ensure that the algorithms developed are suitable for the intended operational use, focusing in particular on the impacts linked to the various sources of potential errors associated with their use.
  • the range of inputs/outputs for which the algorithm behaves in line with the intended operational application is specified in particular during this phase.
  • the follow-up phase consists of periodically evaluating the prediction algorithm to ensure that the validation carried out remains valid for the conditions of use observed.
  • the method was implemented by the applicant according to several modules, namely a module for obtaining data sets, a module for collecting predicted values, a determination module, an aggregation module and an application module.
  • modules namely a module for obtaining data sets, a module for collecting predicted values, a determination module, an aggregation module and an application module.
  • Each of these modules has been successfully implemented in the Python programming language.
  • Such a modular implementation makes the method easily adaptable to all types of algorithm since each module is relatively independent. Furthermore, the method can be easily parallelized, which makes it possible to limit the computational load, in particular by the use of a distributed computing structure.
  • the method further comprises a display of all of said information on the output device 28 which then serves as a graphical interface with a user.
  • Such a display would replace or supplement the established report by allowing the user to view the various results and performance indicators and to conduct detailed analyzes by allowing navigation in the various results files and modularity in the choice of risk metrics.
  • the user will be able, if he wishes, to convert a given algorithmic risk tolerance level into validity ranges for the algorithms considered via the analysis of the contributions of the different scenarios.
  • the graphical interface makes it possible to constitute a configuration file giving all the information useful for the implementation of the method, in particular the information of the steps of obtaining E50 and receiving E52.
  • the output device 28 allows the user to enter the associated data or to select them via the use of drop-down menus.
  • the configuration file includes the parameters needed to define the risk metrics to be calculated, the algorithms to be evaluated, the precision metrics to be considered, the different data sets to be considered, the methods for simulating the sets of datasets, reference algorithms and priors.
  • Such an evaluation method is thus a method for measuring the performance of an algorithm.
  • the evaluation method measures the precision of the predictions of the algorithm. If the algorithm is a temperature prediction method, the evaluation method thus measures the temperature difference between the actual temperature and the predicted temperature.
  • the performance evaluated is thus objective data since it is a measurement.
  • the way in which the performance is evaluated, that is to say the index or indices chosen to evaluate it, is irrelevant here.
  • the evaluation process thus becomes a technical process that solves a problem of precision of a measurement.
  • the evaluation process is thus a technical solution to a technical problem.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Procédé d'évaluation de la performance d'un algorithme de prédiction et dispositifs associés L'invention concerne un procédé d'évaluation de la performance d'un algorithme de prédiction prédisant pour des entrées données les sorties, l'algorithme ayant été appris par utilisation d'une technique d'apprentissage machine, le procédé comportant les étapes de : obtention de jeux de données, chaque donnée d'un jeu correspondant aux sorties que devrait donner l'algorithme en présence des entrées du jeu, réception de la probabilité qu'un jeu soit observé, collection des sorties prédites par l'algorithme pour chaque entrée des données des jeux, détermination de la distribution de la précision de prédiction de la sortie prédite, agrégation des distributions déterminées par emploi d'une fonction d'agrégation utilisant les probabilités reçues, et application d'au moins une métrique de risque à la distribution de précision de prédiction agrégée pour obtenir au moins un indicateur de la performance de l'algorithme.

Description

Procédé d’évaluation de la performance d’un algorithme de prédiction et dispositifs associés
La présente invention concerne un procédé d’évaluation de la performance d’un algorithme de prédiction. La présente invention se rapporte également à un produit programme d’ordinateur et à un support lisible d’informations associés.
La présente invention se situe dans le domaine de la mise au point d’algorithmes de prédiction ayant été appris par utilisation d’une technique d’apprentissage machine.
L’apprentissage machine est désigné par de nombreux termes différents comme le terme anglais de « machine learning », le terme « apprentissage automatique », le terme « apprentissage artificiel » ou encore le terme « apprentissage statistique ». L’apprentissage machine consiste à utiliser des données pour apprendre un algorithme de prédiction.
Toutefois, si l’algorithme de prédiction ainsi appris est performant pour le jeu de données utilisés pour son apprentissage, cela ne montre pas que l’algorithme de prédiction soit adapté au cas d’usage dans lequel il est prévu de l’utiliser.
Différentes approches existent pour évaluer les performances algorithmiques, comme par exemple, la conduite d’expériences d’analyse de robustesse ou encore l’utilisation de méthodes formelles pour la certification dans une plage de données prédéfinies.
Cependant, ces approches ne donnent que des réponses partielles au problème de mesure et ne prennent pas en compte tous les cas d’utilisation, ce qui les rend imprécises.
Il existe donc un besoin pour un procédé d’évaluation de la performance d’un algorithme de prédiction qui soit plus précis.
A cet effet, la description décrit un procédé d’évaluation de la performance d’un algorithme de prédiction pour un cas d’utilisation prédéfini, l’algorithme de prédiction prédisant pour des entrées données la valeur d’une ou plusieurs sorties, l’algorithme de prédiction ayant été appris par utilisation d’une technique d’apprentissage machine et d’un jeu de données d’apprentissage, le procédé comportant une étape d’obtention de jeux de données, chaque donnée d’un jeu de données correspondant aux valeurs de sortie que devrait donner l’algorithme de prédiction en présence des valeurs d’entrées du jeu de données, une étape de réception de la probabilité pour chaque jeu de données qu’un jeu de données soit observé lors du cas d’utilisation de l’algorithme de prédiction, une étape de collection des sorties prédites par l’algorithme de prédiction pour chaque valeur d’entrées des données des jeux de données, une étape de détermination de la distribution de la précision de prédiction de la sortie prédite pour chaque jeu de données, pour obtenir des distributions déterminées, une étape d’agrégation des distributions déterminées par emploi d’une fonction d’agrégation utilisant les probabilités reçues, pour obtenir une distribution de précision de prédiction agrégée, et une étape d’application d’au moins une métrique de risque à la distribution de précision de prédiction agrégée pour obtenir au moins un indicateur de la performance de l’algorithme de prédiction.
Selon des modes de réalisation particuliers, le procédé d’évaluation présente une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou selon toutes les combinaisons techniquement possibles :
- une métrique de risque est une métrique de quantiles et un indicateur de la performance de l’algorithme de prédiction est la valeur d’un quantile de niveau prédéterminé.
- une métrique de risque est une espérance conditionnelle et un indicateur de la performance de l’algorithme de prédiction est une valeur de l’espérance conditionnelle.
- la précision de prédiction est calculée à l’aide d’une métrique d’évaluation, la métrique d’évaluation étant une moyenne de l’erreur de prédiction absolue, une métrique de quantiles, ou un moment empirique de la distribution de la précision de prédiction.
- la précision de prédiction est calculée en utilisant un algorithme de prédiction de référence.
- le procédé comporte l’établissement d’un rapport donnant l’ensemble des informations ayant permis d’obtenir l’indicateur de la performance.
- l’étape d’obtention est mise en œuvre par génération de chaque jeu de données à partir d’un jeu de données de référence selon une loi de probabilité donnée.
- l’étape d’obtention est mise en œuvre, pour chaque jeu de données, par génération par un modèle génératif de données initiales et par sélection selon une loi de probabilité donnée des données initiales pour former le jeu de données.
- l’étape d’obtention comporte la modification des jeux de données en introduisant des imperfections de l’environnement du système que l’algorithme de prédiction modélise.
- l’étape d’obtention comporte la modification des jeux de données en introduisant des perturbations adverses visant à manipuler les sorties de l’algorithme de prédiction.
La présente description décrit également un produit programme d’ordinateur comportant un support lisible d’informations, sur lequel est mémorisé un programme d’ordinateur comprenant des instructions de programme, le programme d’ordinateur étant chargeable sur une unité de traitement de données et mettant en œuvre un procédé d’évaluation tel que précédemment décrit lorsque le programme d’ordinateur est mis en œuvre sur l’unité de traitement des données.
La présente description décrit également un support lisible d’informations comportant des instructions de programme formant un programme d’ordinateur, le programme d’ordinateur étant chargeable sur une unité de traitement de données et mettant en œuvre un procédé d’évaluation tel que précédemment décrit lorsque le programme d’ordinateur est mis en œuvre sur l’unité de traitement de données.
L’invention sera mieux comprise et d’autres avantages de celle-ci apparaîtront plus clairement à la lumière de la description qui va suivre, donnée uniquement à titre d’exemple et faite en référence aux dessins annexés, dans lesquels :
- [Fig 1], la figure 1 est une représentation schématique d’un système et d’un produit programme d’ordinateur, et
- [Fig 2], la figure 2 est un ordinogramme d’un exemple de mise en œuvre d’un procédé d’évaluation d’un algorithme de prédiction.
Un système 10 et un produit programme d’ordinateur 12 sont représentés sur la figure 1.
L’interaction entre le système 10 et le produit programme d’ordinateur 12 permet la mise en œuvre d’un procédé d’évaluation d’un algorithme de prédiction. Le procédé d’évaluation est ainsi un procédé mis en œuvre par ordinateur.
Le système 10 est un ordinateur de bureau. En variante, le système 10 est un ordinateur monté sur un rack, un ordinateur portable, une tablette, un assistant numérique personnel (PDA) ou un smartphone.
Dans des modes de réalisation spécifiques, l'ordinateur est adapté pour fonctionner en temps réel et/ou est dans un système embarqué, notamment dans un véhicule tel qu'un avion.
Dans le cas de la figure 1 , le système 10 comprend une unité de calcul 14, une interface utilisateur 16 et un dispositif de communication 18.
L’unité de calcul 14 est un circuit électronique conçu pour manipuler et/ou transformer des données représentées par des quantités électroniques ou physiques dans des registres du système 10 et/ou des mémoires en d'autres données similaires correspondant à des données physiques dans les mémoires de registres ou d'autres types de dispositifs d'affichage, de dispositifs de transmission ou de dispositifs de mémorisation.
En tant qu’exemples spécifiques, l’unité de calcul 14 comprend un processeur monocœur ou multicœurs (tel qu’une unité de traitement centrale (CPU), une unité de traitement graphique (GPU), un microcontrôleur et un processeur de signal numérique (DSP)), un circuit logique programmable (comme un circuit intégré spécifique à une application (ASIC), un réseau de portes programmables in situ (FPGA), un dispositif logique programmable (PLD) et des réseaux logiques programmables (PLA)), une machine à états, une porte logique et des composants matériels discrets.
L’unité de calcul 14 comprend une unité de traitement de données 20 adaptée pour traiter des données, notamment en effectuant des calculs, des mémoires 22 adaptées à stocker des données et un lecteur 24 adapté à lire un support lisible par ordinateur.
L'interface utilisateur 16 comprend un dispositif d'entrée 26 et un dispositif de sortie 28.
Le dispositif d’entrée 26 est un dispositif permettant à l'utilisateur du système 10 de saisir sur le système 10 des informations ou des commandes.
Sur la figure 1, le dispositif d’entrée 26 est un clavier. En variante, le dispositif d’entrée 26 est un périphérique de pointage (tel qu'une souris, un pavé tactile et une tablette graphique), un dispositif de reconnaissance vocale, un oculomètre ou un dispositif haptique (analyse des mouvements).
Le dispositif de sortie 28 est une interface utilisateur graphique, c’est-à-dire une unité d’affichage conçue pour fournir des informations à l’utilisateur du système 10.
Sur la figure 1, le dispositif de sortie 28 est un écran d’affichage permettant une présentation visuelle de la sortie. Dans d'autres modes de réalisation, le dispositif de sortie est une imprimante, une unité d'affichage augmenté et/ou virtuel, un haut-parleur ou un autre dispositif générateur de son pour présenter la sortie sous forme sonore, une unité produisant des vibrations et/ou des odeurs ou une unité adaptée à produire un signal électrique.
Dans un mode de réalisation spécifique, le dispositif d'entrée 26 et le dispositif de sortie 28 sont le même composant formant des interfaces homme-machine, tel qu'un écran interactif.
Le dispositif de communication 18 permet une communication unidirectionnelle ou bidirectionnelle entre les composants du système 10. Par exemple, le dispositif de communication 18 est un système de communication par bus ou une interface d'entrée / sortie.
La présence du dispositif de communication 18 permet que, dans certains modes de réalisation, les composants du système 10 soient distants les uns des autres.
Le produit programme informatique 12 comprend un support lisible par ordinateur 32. Le support lisible par ordinateur 32 est un dispositif tangible lisible par le lecteur 24 de l’unité de calcul 14.
Notamment, le support lisible par ordinateur 32 n'est pas un signal transitoire en soi, tels que des ondes radio ou d'autres ondes électromagnétiques à propagation libre, telles que des impulsions lumineuses ou des signaux électroniques.
Un tel support de stockage lisible par ordinateur 32 est, par exemple, un dispositif de stockage électronique, un dispositif de stockage magnétique, un dispositif de stockage optique, un dispositif de stockage électromagnétique, un dispositif de stockage à semi- conducteur ou toute combinaison de ceux-ci.
En tant que liste non exhaustive d'exemples plus spécifiques, le support de stockage lisible par ordinateur 32 est un dispositif codé mécaniquement, tel que des cartes perforées ou des structures en relief dans une gorge, une disquette, un disque dur, une mémoire morte (ROM), une mémoire vive (RAM), une mémoire effaçable programmable en lecture seule (EROM), une mémoire effaçable électriquement et lisible (EEPROM), un disque magnéto-optique, une mémoire vive statique (SRAM), un disque compact (CD-ROM), un disque numérique polyvalent (DVD), une clé USB, un disque souple, une mémoire flash, un disque à semi-conducteur (SSD) ou une carte PC telle qu'une carte mémoire PCMCIA.
Un programme d'ordinateur est stocké sur le support de stockage lisible par ordinateur 32. Le programme d'ordinateur comprend une ou plusieurs séquences d'instructions de programme mémorisées.
De telles instructions de programme, lorsqu'elles sont exécutées par l'unité de traitement de données 20, entraînent l'exécution d'étapes du procédé d’évaluation.
Par exemple, la forme des instructions de programme est une forme de code source, une forme exécutable par ordinateur ou toute forme intermédiaire entre un code source et une forme exécutable par ordinateur, telle que la forme résultant de la conversion du code source via un interpréteur, un assembleur, un compilateur, un éditeur de liens ou un localisateur. En variante, les instructions de programme sont un microcode, des instructions firmware, des données de définition d’état, des données de configuration pour circuit intégré (par exemple du VHDL) ou un code objet.
Les instructions de programme sont écrites dans n’importe quelle combinaison d’un ou de plusieurs langages, par exemple un langage de programmation orienté objet (FORTRAN, C++, JAVA, HTML), un langage de programmation procédural (langage C par exemple).
Alternativement, les instructions du programme sont téléchargées depuis une source externe via un réseau, comme c'est notamment le cas pour les applications. Dans ce cas, le produit programme d'ordinateur comprend un support de données lisible par ordinateur sur lequel sont stockées les instructions de programme ou un signal de support de données sur lequel sont codées les instructions de programme.
Dans chaque cas, le produit programme d'ordinateur 12 comprend des instructions qui peuvent être chargées dans l'unité de traitement de données 20 et adaptées pour provoquer l'exécution du procédé d’évaluation lorsqu'elles sont exécutées par l'unité de traitement de données 20. Selon les modes de réalisation, l'exécution est entièrement ou partiellement réalisée soit sur le système 10, c'est-à-dire un ordinateur unique, soit dans un système distribué entre plusieurs ordinateurs (notamment via l’utilisation de l’informatique en nuage).
Le fonctionnement du système 10 est maintenant décrit en référence à la figure 2 qui est un ordinogramme illustrant un exemple de mise en œuvre du procédé d’évaluation.
Le procédé d’évaluation est un procédé d’évaluation de la performance d’un algorithme de prédiction pour plusieurs cas d’utilisation distincts.
L’algorithme de prédiction est propre à prédire pour des entrées données la valeur d’une ou plusieurs sorties.
L’algorithme a été appris par utilisation d’une technique d’apprentissage machine et d’un jeu de données d’apprentissage.
Plus précisément, dans l’exemple qui va être décrit, l’algorithme est un algorithme d’apprentissage statistique supervisé.
Dans la suite, un tel algorithme est noté par une fonction f-. X ® Y où l’ensemble X désigne l’ensemble des entrées de l’algorithme et Y l’ensemble des sorties de l’algorithme.
L’algorithme de prédiction est, par exemple, une machine à vecteurs supports (plus connue sous la dénomination anglaise de « Support Vectors Machine »), un réseau de neurones (plus connu sous la dénomination anglaise de «Neural Network») ou un arbre aléatoire (plus connu sous la dénomination anglaise de « Random Forest »). Plus généralement, tout type d’algorithme de prédiction supervisé est envisageable pour le présent contexte.
Un tel algorithme de prédiction peut être utilisé pour des contextes très divers comme la classification d’images, la reconnaissance de formes tridimensionnelles ou l’aide à la décision dans le cadre du pilotage de drones autonomes.
De préférence, l’algorithme de prédiction prend en entrée et/ou donne en sortie des grandeurs physiques correspondant à des mesures issues d’un ou plusieurs capteurs.
Pour la suite, à titre d’illustration, il est supposé que l’algorithme de prédiction est un algorithme de reconnaissance de chiffres.
L’algorithme de reconnaissance prend en entrée une image et détermine le chiffre contenu dans l’image. Le procédé comprend les étapes suivantes : une étape d’obtention E50, une étape de réception E52, une étape de collection E54, une étape de détermination E56, une étape d’agrégation E58, une étape d’application E60 et une étape d’établissement E62.
Lors de l’étape d’obtention E50, il est obtenu n jeux de données.
Le nombre n est un nombre entier supérieur ou égal à 2, qui se décompose en un produit n = np x N, avec np un entier supérieur ou égal à 1, de l’ordre de la dizaine, et N un entier supérieur ou égal à 1 , préférentiellement supérieur ou égal à 100.
Les nombres np et N sont définis plus précisément dans la suite de la description.
Chaque jeu de données comporte un nombre nT de données respectif.
Le nombre nT de données d’un jeu est au moins supérieur à 2, préférentiellement supérieur ou égal à 100, et dépend en pratique d’un horizon de temps T caractéristique de l’utilisation opérationnelle de l’algorithme de prédiction / considéré.
Chaque donnée d’un jeu de données correspond aux valeurs de sortie que devrait donner l’algorithme de prédiction en présence des valeurs d’entrées du jeu de données.
Dans l’exemple décrit, il est supposé qu’un jeu de données de référence est connu.
Un tel jeu de références est un jeu comprenant une image de chaque chiffre et comportant le chiffre associé.
L’étape d’obtention E50 est alors mise en œuvre par génération de chaque jeu de données à partir du jeu de données de référence selon une loi de probabilité donnée.
Autrement formulé, la génération est mise en œuvre par un tirage aléatoire suivant une loi de probabilité.
A titre d’exemple, la loi de probabilité est une loi uniforme.
Selon un exemple plus élaboré, pour certains cas d’application, le chiffre 1 est plus fréquent que les autres. Aussi, la loi de probabilité pourra favoriser la génération de jeu de données avec le chiffre 1 .
Selon un autre exemple, l’étape d’obtention E50 est mise en œuvre, pour chaque jeu de données, par génération par un modèle génératif de données initiales et par sélection selon une loi de probabilité donnée des données initiales pour former le jeu de données.
Un modèle génératif est un algorithme d’apprentissage automatique qui cherche à décrire les données, permettant par la suite de générer de nouveaux échantillons selon la description (i.e. loi de probabilité) déterminée lors de phase d’apprentissage.
Un exemple classique est un réseau antagoniste génératif (plus souvent désigné sous l’acronyme de GAN en référence à la dénomination anglaise de « Generative Adversial Network », permettant la synthèse d’images (fictives) très réalistes à partir d’images réelles. Un autre exemple est un auto-encodeur à variations, plus souvent désigné sous l’acronyme VAE renvoyant à la dénomination anglaise de « Variational Auto-Encoder ».
En d’autres termes, par rapport au mode de réalisation précédent, au lieu d’utiliser des jeux de données de référence, il est utilisé des données obtenues à l’aide d’un modèle génératif.
En variante ou en complément, l’étape d’obtention E50 comporte la modification des jeux de données (jeux de données générés ou jeux de données de référence) en introduisant des imperfections de l’environnement du système que l’algorithme de prédiction modélise.
Par exemple, si l’image à reconnaître des chiffres est une image scannée à partir d’une note manuscrite, les jeux de données pourront être modifiés en tenant en compte les imperfections du scanner utilisé.
Selon d’autres exemples, des transformations géométriques, la prise en compte de bruit ou de perturbations extérieures sont considérées pour la modification.
A titre de perturbations extérieures, il convient de noter que l’introduction de perturbations adverses visant à manipuler les sorties de l’algorithme de prédiction permet de bien augmenter la robustesse de l’évaluation.
Ainsi, dans tous les cas, l’étape d’obtention E50 est le résultat de la mise en œuvre d’une génération de couples d’entrée/sortie permettant d’obtenir diverses réalisations de variables aléatoires (x,y) sous la mesure de probabilité P¾y.
A l’issue de l’étape d’obtention E50, il est ainsi obtenu un ensemble fini de couples entrée/sortie.
Lors de l’étape de réception E52, il est reçu la probabilité pour chaque jeu de données qu’un jeu de données soit observé lors d’un cas d’utilisation de l’algorithme de prédiction.
A titre d’exemple, si les jeux de données correspondent à des images en noir et blanc alors que, dans le cas d’utilisation, les images sont en couleur, le cas où les images couleur seront comparables au cas d’images en noir et blanc présentent une certaine probabilité.
Similairement, la répartition des chiffres à l’usage n’est pas équirépartie, de sorte que la probabilité d’avoir certains chiffres est plus forte que la probabilité d’avoir d’autres chiffres.
Lors de l’étape de collection E54, les sorties prédites par l’algorithme de prédiction pour chaque valeur d’entrées des données des jeux de données sont collectées.
Autrement formulé, l’algorithme de prédiction est appliqué sur les valeurs d’entrées et le résultat est collecté par le système 10. Pour chaque entrée, il est ainsi connu la valeur prédite par l’algorithme de prédiction et la valeur que devrait avoir prédit l’algorithme de prédiction (vraie valeur). Lors de l’étape de détermination E56, pour chaque jeu de données, la distribution de la précision de prédiction de l’algorithme de prédiction est déterminée. La précision de la prédiction est obtenue par application d’une métrique d’évaluation sur une erreur de prédiction. Une telle métrique d’évaluation sera notée φ dans la suite. Une erreur de prédiction correspond à la quantité suivante :
Figure imgf000011_0001
Où : ● x et y sont des réalisations des variables aléatoires x et y de distribution jointe ℙ ^^, ^^ et ●
Figure imgf000011_0002
est une métrique de précision, aussi appelée fonction de perte. Selon l’exemple décrit, la précision de prédiction est calculée par une métrique moyennant l’erreur de prédiction absolue. Toutefois, toute manière de calculer la précision de prédiction est envisageable à ce stade. Ainsi, selon un exemple, la précision de prédiction est calculée par l’emploi d’une fonction d’entropie croisée. Selon un autre exemple, la précision de prédiction est évaluée à l’aide d’une métrique de quantiles. Plus généralement, la métrique d’évaluation est construite par application d’une métrique φ à la distribution empirique de la variable aléatoire
Figure imgf000011_0004
Autrement formulé, la métrique d’évaluation est un moment empirique de la distribution de la précision de prédiction. En variante, la précision de prédiction est calculée par une métrique utilisant un algorithme de prédiction de référence noté g. Selon un exemple particulier, la métrique d’évaluation est une fonction φ de la distribution de la précision relative entre l’algorithme f à évaluer et l’algorithme de prédiction de référence g. A titre d’illustration, la métrique est la moyenne d’évaluation des l-différences relatives, ce qui s’écrit mathématiquement ainsi :
Figure imgf000011_0003
Il est également possible de raffiner les métriques précédentes en les conditionnant par rapport à la précision de l’algorithme de prédiction de référence g. La moyenne conditionnelle des l-différences relatives est un exemple particulier d’une telle métrique, ce qui s’écrit mathématiquement ainsi :
Figure imgf000012_0001
La métrique d’évaluation est calculée sur chaque jeu de données de manière indépendante.
Il est à noter que la métrique d’évaluation peut être vue comme une métrique de risque.
A l’issue de l’étape de détermination E56, il est ainsi obtenu np distributions de l’erreur de prédiction de la sortie prédite. Chaque distribution est ainsi une distribution déterminée propre à un jeu de données respectif échantillonné selon une distribution H s x i >y, avec i un nombre entier compris entre 1 et où N représente le nombre
Figure imgf000012_0005
de jeux de données utilisés pour obtenir une réalisation du calcul de l’erreur de prédiction. Chacune de ces distributions déterminées est notée
Figure imgf000012_0002
avec i un nombre entier compris entre 1 et np.
Lors de l’étape d’agrégation E58, les distributions déterminées sont agrégées
Figure imgf000012_0006
pour obtenir une distribution d’erreur de prédiction agrégée ou distribution agrégée de prédiction notée
Figure imgf000012_0003
Pour cela, il est employé une fonction d’agrégation utilisant les probabilités reçues. Par exemple, la fonction d’agrégation est une somme pondérée dont les poids m; dépendent des probabilités reçues.
Ces poids sont parfois dénommés des priors correspondant à chacune des
Figure imgf000012_0007
mesures de probabilités
Figure imgf000012_0004
Mathématiquement, cela revient à construire une distribution
A l’i
Figure imgf000012_0008
ssue de l étape d agrégation E58, il est obtenu une distribution agrégée de la précision de prédiction.
Lors de l’étape d’application E60, une métrique de risques MR est appliquée sur la distribution d’erreur de prédiction agrégée.
La valeur de la métrique de risques MR permet d’obtenir un indicateur de la performance de l’algorithme de prédiction.
En variante, plusieurs métriques de risques MR sont appliquées sur la distribution d’erreur de prédiction agrégée, ce qui permet d’obtenir plusieurs indicateurs de performance. Si nécessaire, le procédé peut comporter une étape subséquente d’agrégation des indicateurs de performance obtenus.
Selon un premier exemple, la métrique de risque MR est le quantile de la distribution d’erreur de prédiction agrégée.
En notant MR1 une telle métrique de risque, il peut être écrit mathématiquement :
Figure imgf000013_0001
où désigné la fonction de répartion de la variable aléatoire z pour la mesure de probabilité IP et k une variable.
L’indicateur de performance est alors la valeur de la métrique de risque MR1 pour le niveau a, c’est-à-dire lorsque k=a.
Autrement formulé, l’indicateur de la performance de l’algorithme de prédiction est la valeur d’un quantile de niveau prédéterminé (ici le niveau a).
Le niveau a est déterminé selon la criticité de l’application envisagée pour l’algorithme de prédiction.
Par exemple, pour une utilisation de reconnaissance de caractères en entreprise, le niveau a de l’ordre 5/100 pourrait être acceptable alors que pour un algorithme de prédiction dans le domaine des transports, un niveau de confiance a acceptable pourrait être de l’ordre de 107.
Pour bien comprendre la pertinence d’un indicateur basé sur la métrique de risque MR1 , un parallèle peut être fait avec la métrique de risque VaR utilisée dans le monde de la finance.
L’abréviation de VaR renvoie à la dénomination anglaise de « Value-at-Risk » signifiant littéralement « valeur à risque », ou « valeur en jeu ».
La métrique de risque VaR est définie pour un horizon de temps donné T, un ensemble S de scénarios et un niveau de confiance a. La métrique de risque VaR correspond ainsi au montant de pertes qui ne devrait être dépassé qu'avec une probabilité donnée sur l’horizon temporel T.
Pour le cas de la métrique de risque MR1 , l’horizon de temps dépend en particulier du cas d’utilisation visée.
En complément, l’horizon de temps tient compte des différentes contraintes pouvant empêcher un nouvel entrainement (re-calibration) de l’algorithme. A titre d’exemple particulier, un algorithme embarqué dans un satellite aura un horizon de risque plus grand qu’un classifieur de spams. Par ailleurs, l’ensemble S de scénarios correspond à une mesure de probabilité
Figure imgf000014_0005
spécifiée conjointement sur les entrées et sorties considérées. La mesure de probabilité dépend en particulier de l’application opérationnelle et des différents risques à mesurer.
Il convient de noter ici que cette distribution de probabilité représente une distribution associée à l’usage de l’algorithme qui est décorrélée de la
Figure imgf000014_0003
distribution des entrées/sorties utilisée lors de l’entraînement de l’algorithme de
Figure imgf000014_0004
prédiction.
Pour mieux comprendre l’intérêt de cette observation, il convient de rappeler qu’en théorie de l’apprentissage, il est classique de s’intéresser à la notion de risque moyen £f, défini à partir de l’équation ci-après :
Figure imgf000014_0001
où est l’opérateur d’espérance mathématique défini par rapport à la mesure
Figure imgf000014_0006
Figure imgf000014_0007
En pratique, la loi de probabilité
Figure imgf000014_0009
est cependant inconnue et l’ensemble d’apprentissage est fini puisqu’il correspond à n couples
Figure imgf000014_0008
Ainsi, un estimateur , appelée risque moyen empirique, est utilisé.
Figure imgf000014_0010
Mathématiquement, un tel estimateur est défini par :
Figure imgf000014_0011
En faisant une distinction entre la distribution utilisée lors de l’entraînement (distribution d’entraînement) et la distribution associée à une utilisation de l’algorith
Figure imgf000014_0012
me, notée Ycg et dénommé (distribution d’utilisation), le présent procédé écarte également l’emploi de la notion de risque moyen en introduisant une métrique d’évaluation f opérant sur les distributions d’entraînement et d’utilisation
Figure imgf000014_0014
Figure imgf000014_0013
Cela conduit à introduire les erreurs d’entraînement ef et d’utilisation ainsi que
Figure imgf000014_0015
leurs estimateurs associés, à savoir les estimateurs de l’erreur d’entraînement et de
Figure imgf000014_0016
l’erreur d’utilisation
Figure imgf000014_0017
L’erreur d’entraînement est ainsi définie ainsi :
Figure imgf000014_0018
Similairement, l’erreur d’utilis
Figure imgf000014_0019
ation ef est ainsi définie ainsi :
Figure imgf000014_0020
Cela conduit à un estimateur de l’erreur d’entraînement défini ainsi :
Figure imgf000014_0021
Figure imgf000014_0002
Figure imgf000015_0006
Figure imgf000015_0007
Une telle approche permet aussi de s’affranchir de l’hypothèse dite PAC (renvoyant à la dénomination anglaise de « Probably Approximately Correct » qui signifie littéralement « Probablement Approximativement Correct ») qui considère que les échantillons de l’ensemble d’apprentissage correspondent bien à des réalisations de la loi FXiV. Cela rend ainsi l’évaluation de l’algorithme beaucoup plus pertinente quant à l’utilisation opérationnelle visée, dans la mesure où celle-ci peut impliquer le traitement de données distribuées différemment de celles constituant le jeu d’entraînement.
Revenant à l’analogie avec la métrique de risque VaR, le niveau de confiance a correspond au niveau a de la métrique de risque MR1.
Avec ce formalisme, le procédé peut ainsi être décrit de manière alternative comme suit.
Pour un algorithme, une métrique de précision l donnée, la mesure d’évaluation f est calculée en construisant une distribution représentative de l’évaluation de l’algorithme, sur N réalisations
Figure imgf000015_0001
avec j un entier compris entre 1 et N, obtenues à partir de la distribution P¾jy, pour l’horizon de temps considéré T. En particulier, le nombre nT d’échantillons à considérer par réalisation dépend de l’horizon de temps fixé et de la fréquence d’utilisation de l’algorithme.
Plus précisément, pour chacune des réalisations {
Figure imgf000015_0002
’erreur de prédiction est calculée selon la formule suivante :
Figure imgf000015_0003
Une distribution empirique de la variable aléatoire
Figure imgf000015_0004
est ainsi construite et la valeur de la métrique de risque MR1 , c’est-à-dire l’indicateur de performance, s’obtient comme le quantile de niveau a de cette distribution. Cela signifie mathématiquement que la probabilité P que l’erreur de prédiction excède la valeur de l’indicateur de performance est égale à 1 - α, ce qui s’écrit :
Figure imgf000015_0005
L’analogie entre la métrique de risque MR1 et la métrique de risque VaR montre que l’indicateur de performance est aussi performant que la métrique de risque VaR. Or, la performance de celle-ci est reconnue puisque la métrique de risque VaR est utilisée au niveau réglementaire dans le domaine financier, ce qui prouve sa pertinence et sa robustesse. En effet, la réglementation dans ce domaine s’est beaucoup durcie avec la crise des subprimes de 2008.
Selon un autre exemple, la métrique de risque est une espérance conditionnelle et un indicateur de la performance de l’algorithme de prédiction est une valeur de l’espérance conditionnelle.
En reprenant les notations précédentes, il vient :
Figure imgf000016_0001
Dans l’expression précédente, MR2 désigne la métrique de risque obtenue comme la valeur d’une espérance conditionnelle et EC2 la valeur limite utilisée pour le conditionnement.
Cela permet d’obtenir un autre indicateur de la performance de l’algorithme de prédiction.
Par un raisonnement similaire à celui qui a été développé pour la première métrique de risque, un tel indicateur de performance est aussi performant qu’une métrique connue sous l’acronyme de C-VaR renvoyant à la dénomination anglaise de « Conditional Value- at-Risk » signifiant littéralement « valeur à risque conditionnelle ». Cette métrique est également connue sous le terme d’« Expected-Shortfall », signifiant littéralement « pertes attendues ».
Le procédé décrit en référence à la figure 2 comporte, en outre, une étape d’établissement E62 d’un rapport donnant l’ensemble des informations ayant permis d’obtenir l’indicateur de la performance.
Par exemple, un tel rapport est généré au format pdf. Avantageusement, le rapport est généré à partir de code latex généré à la volée.
Le contenu du rapport est, selon l’exemple proposé, un ensemble de trois types d’informations.
Le premier type d’informations regroupe les informations fournies au début du procédé en mettant en particulier en avant le nombre d’algorithmes à évaluer, le nombre de scénarios (jeux de données) considérés et les différentes métriques de risque à considérer.
Le deuxième type d’informations est relatif aux risques pour chaque algorithme pour un jeu de données et une métrique de risque. Par un exemple, un histogramme des valeurs de la métrique de risques est présenté sous une forme d’histogramme ou d’un graphique.
Le troisième type d’informations est relatif aux risques agrégés pour chaque algorithme pour une métrique de risque. Par un exemple, il sera indiqué l’algorithme, la métrique de risque, les différents priors utilisés et éventuellement, une agrégation des différentes valeurs trouvées pour les différents indicateurs de performance. Un tel rapport est directement exploitable pour un utilisateur.
Le présent procédé est ainsi un procédé outillé pour la mesure et la gestion de risques associés à l’utilisation d’algorithmes d’apprentissage statistique supervisé dans un cadre spécifique.
Le procédé donne une mesure réaliste de la performance de l’algorithme sur l’ensemble des données pouvant lui être soumis, au contraire d’un procédé de certification qui validerait uniquement la performance de l’algorithme dans ces conditions d’utilisation spécifiques.
Le procédé permet d’obtenir une bonne précision pour l’ensemble des cas pouvant se produire en pratique.
Le présent procédé présente l’avantage d’être générique au sens où le procédé peut s’appliquer à tout type d’algorithme de prédiction dans un contexte d’apprentissage supervisé, tout type d’entrées et tout cas d’utilisation envisagé.
En outre, le présent procédé est utilisable à tous les stades de vie de l’algorithme, et notamment dans la phase de mise au point, la phase de validation et la phase de suivi (après déploiement de l’algorithme).
Lors de la phase de mise au point, le procédé permet d’obtenir la performance et donc facilite la comparaison de deux versions candidates de l’algorithme. La mise au point est donc accélérée. Le procédé peut également servir à calibrer les valeurs d’hyper- paramètres ou à associer des indicateurs de confiance aux sorties des algorithmes retenus.
La phase de validation vise à s’assurer que les algorithmes mis au point sont en adéquation avec l’utilisation opérationnelle visée, en s’intéressant en particulier aux impacts liés aux différentes sources d’erreurs potentielles associées à leur utilisation. La plage d’entrées/sorties pour lequel l’algorithme se comporte en adéquation avec l’application opérationnelle visée est en particulier spécifié durant cette phase.
La phase de suivi consiste à évaluer de manière périodique l’algorithme de prédiction pour s’assurer que la validation effectuée reste valable pour les conditions d’utilisation observées.
Le procédé a été implémenté par le demandeur selon plusieurs modules, à savoir un module d’obtention des jeux de données, un module de collection des valeurs prédites, un module de détermination, un module d’agrégation et un module d’application. Chacun de ces modules a été implémenté avec succès dans le langage de programmation python. Toutefois, tout type de langage orienté objet, notamment un avec polymorphisme, permettrait d’obtenir également une bonne efficacité de fonctionnement.
Une telle mise en œuvre modulaire rend le procédé aisément adaptable à tous types d’algorithme puisque que chaque module est relativement indépendant. Par ailleurs, le procédé est aisément parallélisable, ce qui permet de limiter la charge calculatoire notamment par l’emploi d’une structure informatique distribuée.
Il convient de noter que la parallélisation est pensée au niveau des différents paramètres utilisés pour la définition des scénarios, ainsi qu’au niveau du calcul des différentes distributions associées, chacune des réalisations d’un scénario donné pouvant être traitée individuellement.
D’autres modes de réalisation sont possibles.
Selon un mode de réalisation, le procédé comporte, en outre, un affichage de l’ensemble desdites informations sur le dispositif de sortie 28 qui sert alors d’interface graphique avec un utilisateur.
Un tel affichage viendrait en remplacement ou en complément du rapport établi en permettant à l’utilisateur de visualiser les différents résultats et indicateurs de performance et de conduire des analyses détaillées en permettant une navigation dans les différents fichiers de résultats et une modularité dans le choix des métriques de risque.
En particulier, l’utilisateur pourra, s’il le souhaite, convertir un niveau de tolérance au risque algorithmique donné en des plages de validité pour les algorithmes considérés via l’analyse des contributions des différents scénarios.
En variante ou en complément, l’interface graphique permet de constituer un fichier de configuration donnant l’ensemble des informations utiles à la mise en œuvre du procédé, notamment les informations des étapes d’obtention E50 et de réception E52.
Pour cela, le dispositif de sortie 28 permet à l’utilisateur de saisir les données associées ou de les sélectionner via l’utilisation de menus déroulants.
A titre d’exemple particulier, le fichier de configuration comporte les paramètres nécessaires à la définition des métriques de risque à calculer, les algorithmes à évaluer, les métriques de précision à considérer, les différents jeux de données à considérer, les méthodes de simulation des ensembles de jeux de données, des algorithmes de référence et des priors.
Enfin, il sera bien compris que l’ordre des étapes dans le procédé d’évaluation qui vient d’être décrit peut être différent et notamment que certaines étapes peuvent être réalisées de manière simultanée.
Plus généralement, toute combinaison techniquement possible des modes de réalisation précédent permettant d’obtenir un procédé d’évaluation de la performance d’un algorithme de prédiction pour un cas d’utilisation prédéfini est envisagé.
Un tel procédé d’évaluation est ainsi un procédé de mesure de la performance d’un algorithme. A titre d’exemple particulier, le procédé d’évaluation mesure la précision des prédictions de l’algorithme. Si l’algorithme est un procédé de prédiction de température, le procédé d’évaluation vient ainsi mesurer l’écart de température entre la température réelle et la température prédite. La performance évaluée est ainsi une donnée objective puisqu’il s’agit d’une mesure. La manière dont la performance est évaluée, c’est-à-dire le ou les indices choisis pour l’évaluer est ici indifférente.
Pour reprendre l’exemple précédent, que l’écart de température soit exprimé de manière absolue ou comme un écart quadratique ou autre, ne change pas le fait que la performance ainsi évaluée est une mesure représentative de l’écart de température entre la température réelle et la température prédite.
En outre, en permettant d’obtenir une mesure plus précise, le procédé d’évaluation devient ainsi un procédé technique venant résoudre un problème de précision d’une mesure. Le procédé d’évaluation est ainsi une solution technique à un problème technique.

Claims

REVENDICATIONS
1. Procédé d’évaluation de la performance d’un algorithme de prédiction pour un cas d’utilisation prédéfini, l’algorithme de prédiction prédisant pour des entrées données la valeur d’une ou plusieurs sorties, l’algorithme de prédiction ayant été appris par utilisation d’une technique d’apprentissage machine et d’un jeu de données d’apprentissage, le procédé comportant les étapes de :
- obtention de jeux de données, chaque donnée d’un jeu de données correspondant aux valeurs de sortie que devrait donner l’algorithme de prédiction en présence des valeurs d’entrées du jeu de données,
- réception de la probabilité pour chaque jeu de données qu’un jeu de données soit observé lors du cas d’utilisation de l’algorithme de prédiction,
- collection des sorties prédites par l’algorithme de prédiction pour chaque valeur d’entrées des données des jeux de données,
- détermination de la distribution de la précision de prédiction de la sortie prédite pour chaque jeu de données, pour obtenir des distributions déterminées,
- agrégation des distributions déterminées par emploi d’une fonction d’agrégation utilisant les probabilités reçues, pour obtenir une distribution de précision de prédiction agrégée, et
- application d’au moins une métrique de risque à la distribution de précision de prédiction agrégée pour obtenir au moins un indicateur de la performance de l’algorithme de prédiction.
2. Procédé d’évaluation selon la revendication 1 , dans lequel une métrique de risque est une métrique de quantiles et un indicateur de la performance de l’algorithme de prédiction est la valeur d’un quantile de niveau prédéterminé.
3. Procédé d’évaluation selon la revendication 1 ou 2, dans lequel une métrique de risque est une espérance conditionnelle et un indicateur de la performance de l’algorithme de prédiction est une valeur de l’espérance conditionnelle.
4. Procédé d’évaluation selon l’une quelconque des revendications 1 à 3, dans lequel la précision de prédiction est calculée à l’aide d’une métrique d’évaluation, la métrique d’évaluation étant une moyenne de l’erreur de prédiction absolue, une métrique de quantiles, ou un moment empirique de la distribution de la précision de prédiction.
5. Procédé d’évaluation selon l’une quelconque des revendications 1 à 4, dans lequel la précision de prédiction est calculée en utilisant un algorithme de prédiction de référence.
6. Procédé d’évaluation selon l’une quelconque des revendications 1 à 5, dans lequel le procédé comporte l’établissement d’un rapport donnant l’ensemble des informations ayant permis d’obtenir l’indicateur de la performance.
7. Procédé d’évaluation selon l’une quelconque des revendications 1 à 6, dans lequel l’étape d’obtention est mise en œuvre par génération de chaque jeu de données à partir d’un jeu de données de référence selon une loi de probabilité donnée.
8. Procédé d’évaluation selon l’une quelconque des revendications 1 à 6, dans lequel l’étape d’obtention est mise en œuvre, pour chaque jeu de données, par génération par un modèle génératif de données initiales et par sélection selon une loi de probabilité donnée des données initiales pour former le jeu de données.
9. Procédé d’évaluation selon la revendication 7 ou 8, dans lequel l’étape d’obtention comporte la modification des jeux de données en introduisant des imperfections de l’environnement du système que l’algorithme de prédiction modélise.
10. Procédé d’évaluation selon l’une quelconque des revendications 7 à 9, dans lequel l’étape d’obtention comporte la modification des jeux de données en introduisant des perturbations adverses visant à manipuler les sorties de l’algorithme de prédiction.
11. Produit programme d’ordinateur comportant un support lisible d’informations, sur lequel est mémorisé un programme d’ordinateur comprenant des instructions de programme, le programme d’ordinateur étant chargeable sur une unité de traitement de données et mettant en œuvre un procédé d’évaluation selon l’une quelconque des revendications 1 à 10 lorsque le programme d’ordinateur est mis en œuvre sur l’unité de traitement des données.
12. Support lisible d’informations comportant des instructions de programme formant un programme d’ordinateur, le programme d’ordinateur étant chargeable sur une unité de traitement de données et mettant en œuvre un procédé d’évaluation selon l’une quelconque des revendications 1 à 10 lorsque le programme d’ordinateur est mis en œuvre sur l’unité de traitement de données.
PCT/EP2021/083472 2020-11-30 2021-11-30 Procédé d'évaluation de la performance d'un algorithme de prédiction et dispositifs associés Ceased WO2022112583A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US18/254,749 US20240028960A1 (en) 2020-11-30 2021-11-30 Method for evaluating the performance of a prediction algorithm, and associated devices
EP21820592.0A EP4252162A1 (fr) 2020-11-30 2021-11-30 Procédé d'évaluation de la performance d'un algorithme de prédiction et dispositifs associés

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2012387A FR3116926A1 (fr) 2020-11-30 2020-11-30 Procédé d'évaluation de la performance d'un algorithme de prédiction et dispositifs associés
FRFR2012387 2020-11-30

Publications (1)

Publication Number Publication Date
WO2022112583A1 true WO2022112583A1 (fr) 2022-06-02

Family

ID=75438859

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2021/083472 Ceased WO2022112583A1 (fr) 2020-11-30 2021-11-30 Procédé d'évaluation de la performance d'un algorithme de prédiction et dispositifs associés

Country Status (4)

Country Link
US (1) US20240028960A1 (fr)
EP (1) EP4252162A1 (fr)
FR (1) FR3116926A1 (fr)
WO (1) WO2022112583A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025252868A1 (fr) * 2024-06-05 2025-12-11 Thales Procédé de conception des blocs matériels et dispositifs associés

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117019883B (zh) * 2023-08-25 2024-02-13 华北电力大学(保定) 一种基于深度学习的带材轧制过程板形预测方法
CN119621507B (zh) * 2024-11-25 2025-08-29 南通崇浩互联网科技有限公司 一种网络存储服务器效率评估方法及系统
CN120111547B (zh) * 2025-03-04 2025-12-12 中国电信股份有限公司技术创新中心 小区故障情况预测方法、装置及相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200117998A1 (en) * 2018-07-06 2020-04-16 Capital One Services, Llc Systems and methods to identify neural network brittleness based on sample data and seed generation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10558924B2 (en) * 2014-05-23 2020-02-11 DataRobot, Inc. Systems for second-order predictive data analytics, and related methods and apparatus
US11443015B2 (en) * 2015-10-21 2022-09-13 Adobe Inc. Generating prediction models in accordance with any specific data sets
US10795337B2 (en) * 2016-06-01 2020-10-06 Incucomm, Inc. Predictive and prescriptive analytics for systems under variable operations
US11562382B2 (en) * 2016-11-11 2023-01-24 Jpmorgan Chase Bank, N.A. System and method for providing data science as a service
US10846640B2 (en) * 2017-06-01 2020-11-24 Autodesk, Inc. Architecture, engineering and construction (AEC) risk analysis system and method
SG11202104891UA (en) * 2018-11-14 2021-06-29 C3 Ai Inc Systems and methods for anti-money laundering analysis
US12321869B2 (en) * 2021-01-29 2025-06-03 Cambridge Mobile Telematics Inc. Constructing a statistical model and evaluating model performance
US12164525B2 (en) * 2022-12-13 2024-12-10 Citibank, N.A. Systems and methods for aggregating time-series data streams based on potential state characteristics following aggregation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200117998A1 (en) * 2018-07-06 2020-04-16 Capital One Services, Llc Systems and methods to identify neural network brittleness based on sample data and seed generation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SEBASTIAN CURI ET AL: "Adaptive Sampling for Stochastic Risk-Averse Learning", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 28 October 2019 (2019-10-28), XP081521842 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025252868A1 (fr) * 2024-06-05 2025-12-11 Thales Procédé de conception des blocs matériels et dispositifs associés
FR3163185A1 (fr) * 2024-06-05 2025-12-12 Thales Procédé de conception des blocs matériels et dispositifs associés

Also Published As

Publication number Publication date
EP4252162A1 (fr) 2023-10-04
FR3116926A1 (fr) 2022-06-03
US20240028960A1 (en) 2024-01-25

Similar Documents

Publication Publication Date Title
WO2022112583A1 (fr) Procédé d'évaluation de la performance d'un algorithme de prédiction et dispositifs associés
CN110383299B (zh) 记忆增强的生成时间模型
US8521659B2 (en) Systems and methods of discovering mixtures of models within data and probabilistic classification of data according to the model mixture
CN109214436A (zh) 一种针对目标场景的预测模型训练方法及装置
CN112487278A (zh) 推荐模型的训练方法、预测选择概率的方法及装置
US20220405531A1 (en) Blackbox optimization via model ensembling
CN111401940B (zh) 特征预测方法、装置、电子设备及存储介质
US20190311258A1 (en) Data dependent model initialization
US12112524B2 (en) Image augmentation method, electronic device and readable storage medium
US20230186072A1 (en) Extracting explanations from attention-based models
CN111161238A (zh) 图像质量评价方法及装置、电子设备、存储介质
CN113688655B (zh) 干扰信号的识别方法、装置、计算机设备和存储介质
US11586520B2 (en) Automated data linkages across datasets
WO2024133778A1 (fr) Procédé de contrôle d'un actionneur par un système de contrôle et système de contrôle d'un actionneur
WO2025252868A1 (fr) Procédé de conception des blocs matériels et dispositifs associés
FR3108184A1 (fr) Procédé de prédiction d'une panne d'un équipement d'une plateforme mobile et dispositif associé
CN114359809B (zh) 分类及分类模型的训练方法、装置、设备及介质
US20240330710A1 (en) Background theory-based method for refinement and evaluation of functional models extracted from numerical data
FR3124874A1 (fr) Procede d'apprentissage d'un algorithme de prediction et dispositifs associes
FR3157619A1 (fr) Méthode de détermination d’un intervalle d’incertitude associé à une prédiction d’une tâche de régression
CN119939301A (zh) 电磁数据分类模型的训练方法、装置、终端设备及计算机程序产品
CN116629087A (zh) 模型的预测置信度评估方法及装置、设备、存储介质
CN121503541A (zh) 模型的训练方法、交易检测方法、装置、设备以及介质
EP4659151A1 (fr) Réglage fin de réseau neuronal de diffusion privé différentiel
CN118863838A (zh) 企业内部动态薪酬和收益分配管理系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21820592

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18254749

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021820592

Country of ref document: EP

Effective date: 20230630