Method for designing hardware blocks and associated devices

The method addresses the inadequacy of existing performance evaluation methods by iteratively designing hardware blocks to meet predefined performance thresholds, ensuring optimal system performance across diverse use cases.

FR3163185B1Active Publication Date: 2026-06-12THALES SA

Patent Information

Authority / Receiving Office
FR · FR
Patent Type
Patents
Current Assignee / Owner
THALES SA
Filing Date
2024-06-05
Publication Date
2026-06-12
Patent Text Reader

Abstract

Method for designing hardware blocks and associated devices The present invention relates to a method for designing the hardware blocks of a physical system comprising a prediction device that predicts an output for given inputs, the method comprising a step of: - obtaining datasets corresponding to the outputs given by the device in the presence of the inputs of the dataset, - receiving the probability that a dataset is observed during a predefined use, - collecting the predicted outputs, - determining the distribution of the prediction accuracy of the predicted output for each dataset, - aggregating the determined distributions, - applying a risk metric to the time evolution of the aggregated prediction accuracy distribution to obtain a quantity representative of the performance domain of the device, and - modifying the blocks according to the quantity obtained.Figure for the abbreviation: figure 2.
Need to check novelty before this filing date? Find Prior Art

Description

Title of the invention: Method for designing material blocks and associated devices

[0001] The present invention relates to a method for designing the hardware blocks of a physical system adapted for a predefined use. The invention also relates to a computer program product and a readable information medium.

[0002] The present invention lies in the field of the development of critical embedded systems using prediction devices implementing an algorithm that has been learned by using a machine learning technique.

[0003] Machine learning is referred to by many different terms, such as the English term "machine learning," the term "automatic learning," the term "artificial learning," or the term "statistical learning." Machine learning consists of using data to learn a predictive algorithm.

[0004] However, if the prediction algorithm thus learned performs well for the dataset used for its training, this does not show that the prediction algorithm is suitable for the use case in which it is intended to be used.

[0005] Different approaches exist for evaluating algorithmic performance, such as conducting robustness analysis experiments or using formal methods for certification in a predefined data range.

[0006] However, these approaches only provide partial answers to the measurement problem and do not take into account all use cases, which makes them imprecise.

[0007] This leads in particular to obtaining embedded systems not adapted to the desired performance in the intended use for them.

[0008] There is therefore a need for a design process for the hardware blocks of a physical system adapted for a predefined use which makes it possible to obtain a more suitable physical system.

[0009] To this end, the description describes a method for designing the hardware blocks of a physical system adapted for a predefined use, the use corresponding to a range of possible values ​​for several data points,

[0010] the physical system comprising a prediction device, the prediction device being capable of predicting, for given inputs, the value of one or more outputs,

[0011] the method comprising:

[0012] - a phase of obtaining at least one quantity for a given configuration of the physical system hardware blocks, a configuration being defined by the value of the set of properties characterizing the blocks, the acquisition phase being implemented by computer and comprising the steps of:

[0013] - obtaining datasets, each data point in a dataset corresponding to the output values ​​that the prediction device should produce given the input values ​​of the dataset,

[0014] - receiving the probability for each dataset that a dataset is observed during predefined use for the given configuration,

[0015] - collection of outputs predicted by the prediction device for each value data inputs for datasets,

[0016] - determination of the distribution of the prediction accuracy of the predicted output for each dataset, to obtain specific distributions,

[0017] - aggregation of distributions determined by the use of an aggregation function Using the probabilities received, to obtain an aggregate prediction accuracy distribution, the aggregation function is a weighted sum whose weights depend on the probabilities received.

[0018] - determination of a possible temporal variation of the weights with a simulation of Brownian motion from the weights used in the aggregation step, to obtain a time evolution of the aggregation function resulting in a time evolution of the aggregated prediction accuracy distribution,

[0019] - application of at least one risk metric to the temporal evolution of the aggregated prediction accuracy distribution to obtain at least one quantity representative of the domain in which the prediction device exhibits a predefined performance threshold, and

[0020] - a phase of modifying the blocks of the physical system according to the magnitude obtained.

[0021] According to particular embodiments, the design process has one or more of the following characteristics, taken individually or in all technically possible combinations:

[0022] - a boundary is defined for the domain, a quantity obtained at the step d'application being a representative measure of the temporal variation of the size of the boundary over time.

[0023] - the domain is a set of datasets representative of the use predefined, a quantity obtained at the application stage being the time interval during which the performance of the prediction device on the set of datasets maintains a value above the performance threshold.

[0024] - a quantity obtained in the application step is, for a dataset, the belonging or not of the dataset associated with the domain in which the prediction device presents a predefined performance threshold.

[0025] - the simulation involves an exponential time variation of the weight with respect to to the weight of the aggregation stage.

[0026] - the application step also includes an additional analysis operation Statistic of the risk metric result.

[0027] - during the statistical analysis operation, an element is obtained from the expectation of the upper bound of the result, a predefined quantile of the result and a statistical moment of the statistical distribution of the result.

[0028] - the acquisition step is implemented by generating each dataset from a reference dataset according to a given probability law or 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 dataset.

[0029] - the acquisition step involves modifying the datasets by introducing imperfections in the physical system environment or by introducing adverse disturbances aimed at manipulating the outputs of the prediction device.

[0030] - the blocks of the physical system are chosen from the list consisting of a sensor, of a memory, a processor, a storage element, a display unit and an input unit.

[0031] - the properties characterizing the blocks are chosen from the list consisting of the size, of computing power and sensitivity dynamics.

[0032] - at least one of the inputs and / or outputs are quantity data physical measurements corresponding to data from one or more sensors.

[0033] - the process comprises:

[0034] - the iterative implementation of the obtaining and modification phases up to this that a predefined criterion is met, in order to obtain a preferred configuration, and

[0035] - manufacturing the physical system according to the preferred configuration.

[0036] The description also describes a computer program product comprising a readable information carrier, on which is stored a computer program comprising program instructions, the computer program being loadable onto a data processing unit and implementing a process as previously described when the computer program is implemented on the data processing unit.

[0037] The description also proposes a readable information carrier comprising program instructions forming a computer program, the computer program being loadable onto a data processing unit and implementing a process as previously described when the computer program is implemented on the data processing unit.

[0038] In this description, the expression "specific to" means interchangeably "suitable for", "adapted to" or "configured for".

[0039] Some features and advantages of the invention will become apparent from the following description, given solely by way of non-limiting example, and made with reference to the accompanying drawings, in which:

[0040] - [Fig.1], [Fig.1] is a schematic representation of a system and a product computer program, and

[0041] - [Fig.2], [Fig.2] is a flowchart of an example of an implementation of a method of designing the hardware blocks of a physical system adapted for a predefined use.

[0042] A system 10 and a computer program product 12 are shown in [Fig.1].

[0043] The interaction between the system 10 and the computer program product 12 enables the implementation of a design process for the hardware blocks of a physical system adapted for a predefined use. The design process is thus a computer-implemented process, or more precisely, the generation phase of which is computer-implemented.

[0044] System 10 is a desktop computer. Alternatively, System 10 is a rack-mounted computer, a laptop, a tablet, a personal digital assistant (PDA) or a smartphone.

[0045] In specific embodiments, the computer is adapted to operate in real time and / or is in an embedded system, in particular in a vehicle such as an aircraft.

[0046] In the case of [Fig.1], the system 10 comprises a computing unit 14, a user interface 16 and a communication device 18.

[0047] The computing 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 register memories or other types of display devices, transmission devices or storage devices.

[0048] As specific examples, 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 programmable logic device (PLD) and programmable logic arrays (PLAs)), a state machine, a logic gate and discrete hardware components.

[0049] The computing unit 14 includes a data processing unit 20 adapted for processing data, in particular by performing calculations, memories 22 adapted for storing data and a reader 24 adapted for reading a computer-readable medium.

[0050] The user interface 16 includes an input device 26 and an output device 28.

[0051] The input device 26 is a device enabling the user of the system 10 to enter information or commands on the system 10.

[0052] In [Fig.1], the input device 26 is a keyboard. Alternatively, the input device 26 is a pointing device (such as a mouse, a touchpad and a graphics tablet), a speech recognition device, an eye tracker or a haptic (motion analysis) device.

[0053] The output device 28 is a graphical user interface, that is to say a display unit designed to provide information to the user of the system 10.

[0054] In [Fig. 1], the output device 28 is a display screen enabling a visual presentation of the output. In other embodiments, the output device is a printer, an augmented and / or virtual display unit, a loudspeaker or other sound-generating device for presenting the output in audible form, a unit producing vibrations and / or odors, or a unit adapted to produce an electrical signal.

[0055] In a specific embodiment, the input device 26 and the output device 28 are the same component forming human-machine interfaces, such as an interactive screen.

[0056] The communication device 18 enables unidirectional or bidirectional communication between the components of the system 10. For example, the communication device 18 is a bus communication system or an input / output interface.

[0057] The presence of the communication device 18 allows that, in certain embodiments, the components of the system 10 are distant from each other.

[0058] The computer program product 12 includes a computer-readable medium 32.

[0059] The computer-readable medium 32 is a tangible device readable by the reader 24 of the computing unit 14.

[0060] In particular, the computer-readable medium 32 is not a transient signal in itself, such as radio waves or other freely propagating electromagnetic waves, such as light pulses or electronic signals.

[0061] Such a computer-readable storage medium 32 is, for example, an electronic storage device, a magnetic storage device, a storage device optical, electromagnetic storage device, semiconductor storage device or any combination thereof.

[0062] As a non-exhaustive list of more specific examples, computer-readable storage medium 32 is a mechanically coded device, such as punched cards or embossed structures in a groove, a floppy disk, a hard disk, a read-only memory (ROM), a random-accessible memory (RAM), a read-only programmable erasable memory (EROM), an electrically erasable and readable memory (EEPROM), a magneto-optical disk, a static random-accessible memory (SRAM), a compact disc (CD-ROM), a digital multipurpose disc (DVD), a USB key, a flex disk, a flash memory, a solid-state drive (SSD), or a PC card such as a PCMCIA memory card.

[0063] A computer program is stored on the computer-readable storage medium 32. The computer program comprises one or more sequences of stored program instructions.

[0064] Such program instructions, when executed by the data processing unit 20, result in the execution of steps in the design process.

[0065] For example, the form of program instructions is a form of source code, a computer-executable form, or any intermediate form between source code and a computer-executable form, such as the form resulting from the conversion of source code via an interpreter, assembler, compiler, linker, or locator. Alternatively, program instructions are microcode, firmware instructions, state definition data, integrated circuit configuration data (e.g., VHDL), or object code.

[0066] 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).

[0067] Alternatively, the program instructions are downloaded from an external source via a network, as is particularly the case for applications. In this case, the computer program product includes a computer-readable data carrier on which the program instructions are stored or a data carrier signal on which the program instructions are encoded.

[0068] In each case, the computer program product 12 comprises instructions that can be loaded into the data processing unit 20 and adapted to cause the execution of the design process when executed by the data processing unit 20. Depending on the embodiment, the execution is carried out entirely or partially either on the system 10, i.e., a single computer, or in a system distributed between several computers (particularly via the use of cloud computing).

[0069] The operation of system 10 is now described with reference to [Fig.2], which is a flowchart illustrating an example of implementation of the design process.

[0070] The design process aims to design hardware blocks of a physical system adapted for a predefined use.

[0071] According to one example, the hardware block is a sensor.

[0072] According to another example, the hardware block is a memory.

[0073] Alternatively, the hardware block is a processor.

[0074] According to another example, the hardware block is a storage element.

[0075] Alternatively, the hardware block is a display unit.

[0076] According to another example, the hardware block is an input unit.

[0077] More generally, a material block is any combination of the elements mentioned above that allows a complex physical system to be made.

[0078] Each block has specific properties, these properties allowing the block to be characterized.

[0079] Knowledge of the properties thus makes it possible to manufacture each material block.

[0080] For example, the properties characterizing the blocks are chosen from the list consisting of size, computing capacity, and sensitivity dynamics.

[0081] The physical system is, for example, a computer physically connected to the data processing system, or the computer on which the data processing is carried out.

[0082] Alternatively, the physical system is a computing server connected via a network to the data processing system

[0083] According to yet another example, the physical system is a server comprising a virtual machine.

[0084] Alternatively, the physical system is a portable device such as a smartphone or tablet.

[0085] This physical system is intended for a predefined use. The use corresponds to a range of possible values ​​for several data points.

[0086] This use may relate to monitoring the behavior of systems, to network security control by monitoring associated flows or to controlling the choice of modules to be put in place according to the context to ensure processing.

[0087] The physical system includes a prediction device, the prediction device being capable of predicting, for given inputs, the value of one or more outputs.

[0088] The prediction device is a physical circuit implementing a prediction algorithm capable of predicting, for given inputs, the value of one or more outputs.

[0089] The algorithm was learned using a machine learning technique and a training dataset.

[0090] More specifically, in the example that will be described, the algorithm is a supervised statistical learning algorithm.

[0091] In the following, such an algorithm is denoted by a function f : X -> Y where the set X denotes the set of inputs of the algorithm and Y the set of outputs of the algorithm.

[0092] The prediction algorithm is, for example, a support vector machine, a neural network, or a random forest. More generally, any type of supervised prediction algorithm is feasible for the present context.

[0093] As a remark, when the prediction algorithm is a neural network, the physical circuit is described as a neuromorphic circuit.

[0094] Such a prediction algorithm can be used for very diverse contexts such as image classification, three-dimensional shape recognition or decision support in the context of autonomous drone piloting.

[0095] Preferably, the prediction algorithm takes as input and / or gives as output physical quantities corresponding to measurements from one or more sensors.

[0096] The forecasting algorithm can, for example, be based on autoregressive techniques as in the ARIMA family, on regression such as linear regression, on machine learning such as an LSTM type neural network, on a rule system such as a decision tree.

[0097] The process comprises a PI production phase, a P2 modification phase and a P3 manufacturing phase.

[0098] During the PI acquisition phase, the system 10 obtains at least one quantity for a given configuration of the hardware blocks of the physical system.

[0099] A configuration is defined by the value of the set of properties characterizing the blocks.

[0100] The configuration thus corresponds to a specific physical system with the blocks presenting respectively the value(s) of the configuration properties

[0101] Magnitude is a measure of the performance of the physical system relative to the use cases in which the physical system exhibits the expected performance.

[0102] Typically, in the design of a physical system, it is expected that the physical system will exhibit good behavior, for example good identification of a target, in 90% of the cases that may occur in practice.

[0103] As we will see in the rest of the description, the magnitude here is representative of the domain in which the prediction device has a predefined performance threshold.

[0104] The IP acquisition phase comprises an acquisition step E40, a reception step E42, a collection step E44, a first determination step E46, an aggregation step E48, a second determination step E50 and an application step E54.

[0105] During the retrieval step E40, the system 10 obtains data sets.

[0106] Each data point in a dataset corresponds to the output values ​​that should provide the prediction device in the presence of the input values ​​of the dataset.

[0107] In the present description, preferably at least one of the inputs and / or outputs are physical quantity data corresponding to measurements from one or more sensors.

[0108] According to another example, the obtaining step E40 is implemented, for each dataset, 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 dataset.

[0109] A generative model is a machine learning algorithm that seeks to describe the data, subsequently enabling the generation of new samples according to the description (i.e. probability law) determined during the learning phase.

[0110] A classic example is a generative adversarial network (more often referred to by the acronym GAN in reference to the English name "Generative Adversarial Network"), allowing the synthesis of very realistic (fictional) images from real images.

[0111] Another example is a variational auto-encoder, more often referred to by the acronym VAE, which stands for "Variational Auto-Encoder".

[0112] In other words, compared to the previous embodiment, instead of using reference datasets, data obtained using a generative model is used.

[0113] As an alternative or in addition, the obtaining step E40 involves modifying the datasets (generated datasets or reference datasets) by introducing imperfections in the environment of the system that the prediction device models.

[0114] For example, if the image to be recognized from numbers is a scanned image from a handwritten note, the data sets can be modified to take into account the imperfections of the scanner used.

[0115] According to other examples, geometric transformations, taking into account noise or external disturbances are considered for the modification.

[0116] As external disturbances, it should be noted that the introduction of adverse disturbances aimed at manipulating the outputs of the prediction device makes it possible to increase the robustness of the evaluation.

[0117] Thus, in all cases, the obtaining step E40 is the result of the implementation of a generation of input / output pairs allowing to obtain various realizations of random variables (x,y) under the probability measure Hyy.

[0118] At the end of the obtaining step E40, a finite set of input / output pairs is thus obtained.

[0119] During the reception step E42, the system 10 receives the probability for each dataset that a dataset is observed during the predefined use for the given configuration.

[0120] For example, if 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 and white images presents a certain probability.

[0121] Similarly, the distribution of digits in use is not equally distributed, so that the probability of having certain digits is greater than the probability of having other digits.

[0122] During the collection step E44, the outputs predicted by the prediction device for each input value of the data sets are collected.

[0123] In other words, the prediction device is applied to the input values ​​and the result is collected by the system 10.

[0124] For each input, the value predicted by the prediction device and the value that the prediction device should have predicted (true value) are thus known.

[0125] During the first determination step E46, the system 10 determines the distribution of the prediction accuracy of the predicted output for each dataset, to obtain determined distributions.

[0126] The accuracy of the prediction is obtained by applying an evaluation metric to a prediction error. Such an evaluation metric will be denoted q> in the following.

[0127] A prediction error corresponds to the following quantity:

[0128] (7^(^7)=1( / (^),7)

[0129] Where: • x and y are realizations of the random variables x and y with joint distribution Hx,y and • I : YXY —» P+ is a precision metric, also called a loss function.

[0130] According to the example described, the prediction accuracy is calculated by a metric using the absolute prediction error.

[0131] However, any method of calculating the prediction accuracy is conceivable at this stage.

[0132] Thus, according to one example, the prediction accuracy is calculated by using a cross-entropy function.

[0133] According to another example, prediction accuracy is evaluated using a quantile metric.

[0134] More generally, the evaluation metric is constructed by applying a metric q> to the empirical distribution of the random variable l(f(x),y).

[0135] In other words, the evaluation metric is an empirical moment in the distribution of prediction accuracy.

[0136] Alternatively, the prediction accuracy is calculated by a metric using a reference prediction device denoted g.

[0137] According to a particular example, the evaluation metric is a function q> of the distribution of the relative accuracy between the prediction device represented by the function f to be evaluated and the reference prediction device g.

[0138] By way of illustration, the metric is the average evaluation of the relative 1-differences, which is mathematically written as follows: [°139] efÿ = Ex,y(7( f (x), gr(x)))

[0140] It is also possible to refine the previous metrics by conditioning them with respect to the accuracy of the reference prediction device g.

[0141] The conditional mean of 1-relative differences is a particular example of such a metric, which can be written mathematically as follows:

[0142] erei,cond = E^ l(f(x), g(x))\a1g(x, y) € [a^, bg] CP+)

[0143] The evaluation metric is calculated independently on each dataset.

[0144] It should be noted that the evaluation metric can be viewed as a risk metric.

[0145] At the end of the first determination step E46, np distributions of the prediction error of the predicted output are thus obtained. Each distribution is thus a determined distribution specific to a respective dataset sampled according to a distribution [ri , with i an integer between 1 and np, with np = -2-,

[0146]

[0147]

[0148]

[0149]

[0150]

[0151]

[0152]

[0153]

[0154]

[0155]

[0156]

[0157]

[0158]

[0159]

[0160] where N represents the number of datasets used to obtain a realization of the prediction error calculation. Each of these determined distributions is denoted v, with i an integer ef^T between 1 and During the E48 aggregation step, system 10 aggregates the determined distributions to obtain an aggregated prediction accuracy distribution. Thus, during the aggregation step E48, the determined distributions v are ef^ aggregated to obtain an aggregate prediction error distribution or distribution rated prediction aggregate efpT To do this, an aggregation function is used that utilizes the received probabilities. For example, the aggregation function is a weighted sum whose weights depend on the probabilities received. These weights are sometimes called Py priors, corresponding to each of the probability measures. Mathematically, this amounts to constructing a distribution for TT _ „ rri • At the end of the E48 aggregation step, an aggregate distribution of prediction accuracy is obtained. During the second determination step E50, the system 10 determines a possible variation of the weights with a Brownian motion simulation from the weights used in the aggregation step E48. The formalism associated with the implementation of the second is now introduced. determination step E50. This step aims to simulate the process (U}v ut>Q In the case of a linear aggregation function such that jq = y11 ,pq]. and —i=ri that the aggregation constraint can then be written as: "-,11 ^>0612^=1 The following modeling is then used: ■ W) ( O j ; j = “ ^06XP ' ' “ f + Wt J Or: U1 = 1P, (Wà) is a standard Brownian motion 0 t=0 V d < W^, Wjt > = p^dt P°ur 1 fai is a positive deterministic function of time, and p^exp( -t + ) is a (stochastic) normalization factor.

[0161] Thus, according to the example described, the simulation involves an exponential time variation of the weight compared to the weight obtained after implementation of the aggregation step E48.

[0162] This modeling is accompanied by calibration and discretization, which are now described.

[0163] For calibration, it can be observed that the aggregation constraint is satisfied with the formalism introduced previously. This formalism also allows constraints to be formulated on the average value of the different components, using, for example, piecewise constant functions.

[0164] Thus, for example, a diffusion oscillating around the initial values ​​p^ p^ (considered as average values) in jointly solving the following equations, for î = 1, », n. This corresponds mathematically to the following expression for the expectation E;

[0165] E[^] = ^0 = E ___________________1___________________ 1+S^Xex^^

[0166] where the expectation can be calculated via a standard Monte Carlo method by simulating the variables i j72 as Gaussians centered with variance t and correlated according to ' t'i=l the constraint d < > = ^Jdt.

[0167] With regard to discretization, it is appropriate to simulate the trajectories of the process (p) for a time horizon denoted Ts. This time horizon Ts is v ut>0 different from the horizon T used for calculating the risk indicator.

[0168] To achieve this, two approaches are described here.

[0169] The first approach is an ad-hoc simulation using the very specific form of the integrated process. The discretization grid is a discretization grid t0 = 0, ..., tp = Ts and constant step size At =

[0170] As = -~At+ (7-( WÎ - Wt ) ) Stk+l ÿ(tk)GXP\ 2 1\ tk+i VVtk)} The trajectories of the different components can be jointly simulated via the generation of reduced centered Gaussians Gj^, with r' _ COIryG^ G^ — Pj

[0171] It comes down like this:

[0172]

[0173]

[0174]

[0175]

[0176]

[0177]

[0178]

[0179]

[0180]

[0181]

[0182]

[0183]

[0184]

[0185]

[0186]

[0187]

[0188]

[0189]

[0190]

[0191]

[0192]

[0193]

[0194]

[0195] with the initial condition pi = pi The second approach uses direct simulation of the stochastic differential equation of the process under consideration via Euler-type discretization schemes or others. To explain this approach, a stochastic differential equation is derived for each component using Itô's formula. This gives: dp[ = jt^exp ( - -Ç t + ) d ( ^ ) + dexp ( - t + d ( p'exp( - t + ) ) ) By noting yï = exp( _^t+ajW^ * we get: dY] 1T4TÎ — = <jjdW t Furthermore, the following relationship is verified: Or: The dynamics of St are obtained with the following relation: dS^S^CO^dexpj +V ^expf -^t + o-7wi)ath'(f)dt Therefore, it follows: dS -^t + ajW^dt-h^ t)dt) This implies that: (s t , s t ) Substituting the previous equations leads to the following mathematical relationship: d(p^exp( Combining all these elements allows us to establish the following stochastic differential equation: = ^oY t ( ( t ) dt+h1 ( t ) d( (^dW^ - ( t ) ^p^dt It comes like this: = Sl)^ + )i^aiY,tdW,t-^Y1taI^^1'=1ijJ)h}(t')YJtcrjPij-dt Therefore, it follows that:

[0196] <lp\ = l^Y£dth\Odt +}+0Y[h\t}^Z'l=1P^ Ofi^O^u^iYÎdtj+jii^&Y^^^^

[0197] Which corresponds to the following expression:

[0198] d]!^ ^Y^d^Çt^dt - ^Yfh1 ( t ) t1^ ( t ) dt + ^Y\h\t)j^j=^^ Diiih^t^d^jYtYldt - i Yt^ix ( t ) Yt^jPijdt V / iJ p JXV ■ + jl^-ÿ^o-jY^Wï o 1 t

[0199] By noting = ( -, W?) ' the previous expression becomes:

[0200] dlli = Aï(t, dt+^.Z^ t, Wt) dWjt tj

[0201] Where: • is the contribution of the variation of which depends on the variation in time, and • is the contribution of the variation of which does not depend on it.

[0202] The formalism introduced thus makes it possible to obtain a temporal evolution of the aggregation function.

[0203] At the end of the second determination step E50, the system 10 thus obtains a time evolution of the aggregation function resulting in a time evolution of the aggregate prediction accuracy distribution.

[0204] During the application step E54, the system 10 applies at least one risk metric to the time evolution of the aggregate prediction accuracy distribution to obtain at least one quantity representative of the domain in which the prediction device has a predefined performance threshold.

[0205] Before explaining particular embodiments of the implementation of such an application step E54, the mathematical concepts involved in this implementation can be explained here.

[0206] The stratification of the distribution fl also extends to the error distributions eT'^, via the existence of a function & defined by:

[0207] epi = , eTJl,, )

[0208] The & function thus allows the calculation of the risk indicator via the following formula:

[0209] p[J'(A) = .....e^)] =

[0210]

[0211]

[0212]

[0213]

[0214]

[0215]

[0216]

[0217]

[0218]

[0219]

[0220]

[0221]

[0222]

[0223]

[0224] Given a trajectory j for the execution of the process (U), it is then possible to obtain a trajectory using the previous formula (Pp1(A), P^1(A)) corresponding for the values ​​of the risk indicator. The risk indicator pL,n( A) thus corresponds to the time evolution of the aggregate prediction accuracy distribution for the prediction device A. The risk indicator p^( A) is a random variable and thus allows the calculation of various metrics, called risk metrics, and the implementation of a statistical analysis operation of the result of the risk metric. For example, during this operation, system 10 determines the expected value of the upper bound of the result. According to another example, the system 10 determines a predefined quantile of the result. According to yet another example, system 10 determines a statistical moment of the statistical distribution of the result. Examples include variance, quantiles of the term distribution, or the average of extremal trajectories over a given time interval. More generally, during the statistical analysis operation, system 10 determines a statistical value relative to the statistical distribution of the result Some formulas are developed below to illustrate these examples. For a risk horizon T, uncertainty bounds for p^,n( A) can be defined, by considering for example pEn( A ) ) ct ç( P^,n( A ) ) • An upper bound can also be established at a given confidence level a using the quantile with term q P^'11 ( A ) ) • The exploitation of trajectories obtained by simulation also allows for refining the uncertainty estimate by considering, for example, the average of the extremal values ​​of the indicator given by e / supplee a) V For a risk tolerance characterized by the Rq level and the confidence level a, the notion of critical use time (A) of the prediction device A can also be introduced as the time t after which it can be guaranteed (for a given confidence level a) that the risk PjP^ A) is less than the level ^o- This translates mathematically to: T^ o (A) = inf {t > 0, ©(Pr^A) > R o ) > a} Or: • 0 is the probability distribution associated with the diffusion specification of process (n)

[0225] Exploiting all trajectories also allows us to consider an alternative indicator for critical usage time, by considering:

[0226] T (A) = E[inf{s> 0, PpH(A) > J?o}]

[0227] The indicators (a) ct E r(A) are calculated in practice by a method of Monte Carlo based on the trajectories of simulated risk indicators from the diffusion of the process (U) as explained previously. v ut>0

[0228] As a remark, the modeling as well as the stochastic differential equation The associated elements introduced allow for the simulation of process implementation trajectories.

[0229] It has also been illustrated how to obtain corresponding trajectories for the realization of the risk indicator, considered as a stochastic process

[0230] In terms of probabilistic formalism, a trajectory is defined for wE O (set of events) as the function f—»p^'n(A) ( ûj) ' cc 9^ Allows identification of the values ​​P-tfaY leading to event A) > Kq} •

[0231] In other words, realizations of a random variable U such that = y are thus obtained for which the usual analysis techniques such as principal component analysis can be implemented in order to highlight certain patterns and dependencies between the components of the vector giving rise to risk indicators exceeding the predefined Rq level.

[0232] As a particular example, a boundary is defined for the domain, a quantity obtained is a representative measure of the temporal variation of the size of the boundary over time.

[0233] This corresponds to obtaining a quantity representative of the precision of the physical system.

[0234] According to another example, the domain is a set of datasets representative of the predefined use and a quantity obtained is the time interval during which the performance of the prediction device on the set of datasets maintains a value above the performance threshold.

[0235] According to yet another example, a quantity obtained is, for a dataset, whether or not the dataset associated with it belongs to the domain in which the prediction device has a predefined performance threshold.

[0236] These two examples correspond to obtaining a quantity representative of the performance of the physical system.

[0237] It is possible that the system 10 obtains during the application step E54 one or more of the aforementioned quantities.

[0238] At the end of the PI obtaining phase, a quantity is thus obtained that represents the domain in which the prediction device presents a predefined performance threshold for a configuration.

[0239] This means that to a set of values ​​for each of the properties of the blocks of the physical system the system 10 associates a quantity allowing to characterize whether the predefined performance threshold is satisfactorily met by the physical system in the predefined use.

[0240] During the modification phase P2, the blocks of the physical system are modified according to the quantity obtained during the obtaining phase PI.

[0241] By way of example, the computing capacity is increased when it is determined that the determined representative quantity does not correspond to a satisfactory performance.

[0242] The idea here is to modify the property values ​​(change the configuration) until the physical system can meet the predefined performance threshold.

[0243] The process involves an iterative implementation of the PI obtaining and P2 modification phases until a predefined criterion is met, to obtain a preferred configuration (the one with the largest magnitude for example).

[0244] The P3 manufacturing phase is the manufacturing phase of the physical system according to the preferred configuration.

[0245] In other words, the physical system is made with the material blocks having the values ​​of the properties of the preferred configuration.

[0246] The manufacturing phase P3 is carried out by obtaining the material blocks and assembling these material blocks to obtain the physical system.

[0247] For example, memories are recovered, processors with determined properties and electrical links are made between these elements and a computer is obtained.

[0248] The present method is thus a tool-based method for measuring and managing the long-term risk associated with the use of artificial intelligence algorithms, used for the design of a physical system.

[0249] The process provides access, at the end of the obtaining phase, to a realistic measurement of the performance of the physical system on all the data that can be submitted to it, unlike a certification process which would only validate the performance of the physical system under these specific conditions of use.

[0250] The method makes it possible to obtain good accuracy for all cases that may occur in practice.

[0251] The present method has the advantage of being generic in the sense that the method can be applied to any type of prediction device in a supervised learning context, any type of input and any envisaged use case.

[0252] The method has been implemented by the applicant using several modules, namely a dataset retrieval module, a reception module, a predicted values ​​collection module, a first determination module, an aggregation module, a second determination module, and an application module. Each of these modules has been successfully implemented in the Python programming language. However, any type of object-oriented language, particularly one with polymorphism, would also provide good operational efficiency.

[0253] Such a modular implementation makes the process easily adaptable to all types of algorithms since each module is relatively independent.

[0254] Moreover, the process is easily parallelizable, which makes it possible to limit the computational load in particular by the use of a distributed computing structure.

[0255] It should be noted that parallelization is considered at the level of the different parameters used for the definition of the scenarios, as well as at the level of the calculation of the different associated distributions, each of the realizations of a given scenario being able to be treated individually.

[0256] Other embodiments are possible.

[0257] According to one embodiment, the method further comprises a display of all said information on the output device 28 which then serves as a graphical interface with a user.

[0258] Such a display would replace or complement the report established by allowing the user to view the different results and performance indicators and to conduct detailed analyses by allowing navigation in the different results files and modularity in the choice of risk metrics.

[0259] In particular, the user may, if desired, convert a given level of tolerance to algorithmic risk into ranges of validity for the algorithms considered via the analysis of the contributions of the different scenarios.

[0260] As an alternative or in addition, the graphical interface allows the creation of a configuration file providing all the information useful for the implementation of the process, including information on the obtaining and receiving steps.

[0261] For this purpose, the output device 28 allows the user to enter the associated data or to select them via the use of drop-down menus.

[0262] As a specific example, the configuration file contains the parameters necessary for defining the risk metrics to be calculated, the algorithms to be evaluated, the accuracy metrics to consider, the different datasets to consider, the simulation methods for dataset sets, reference algorithms and priors.

[0263] Finally, it will be well understood that the order of the steps in the design process just described may be different and in particular that some steps may be carried out simultaneously.

[0264] More generally, any technically possible combination of the preceding embodiments allowing a method for designing the hardware blocks of a physical system adapted for a predefined use.

Claims

1. Demands A method for designing the hardware blocks of a physical system adapted for a predefined use, the use corresponding to a range of possible values ​​for several data points, the physical system comprising a prediction device, the prediction device being capable of predicting, for given inputs, the value of one or more outputs, the method comprising: - a determination phase (DP) of at least one quantity for a given configuration of the physical system's hardware blocks, a configuration being defined by the value of the set of properties characterizing the blocks, the determination phase (DP) being implemented by computer and comprising the steps of: - obtaining (E40) datasets, each data point in a dataset corresponding to the output values ​​that the prediction device should give in the presence of the input values ​​of the dataset, - receiving (E42) the probability for each dataset that a dataset will be observed during the predefined use for the given configuration, - collection (E44) of the outputs predicted by the prediction device for each input value of the data sets, - determination (E46) of the distribution of the prediction accuracy of the predicted output for each data set, to obtain determined distributions, - aggregation (E48) of distributions determined by employing an aggregation function using the probabilities received, to obtain an aggregated prediction accuracy distribution, the aggregation function is a weighted sum whose weights depend on the probabilities received, - determination (E50) of a possible temporal variation of the weights with a Brownian motion simulation from the weights used in the aggregation step, to obtain a temporal evolution of the aggregation function resulting in a temporal evolution of the aggregated prediction accuracy distribution, - application (E54) of at least one risk metric to the time evolution of the aggregate prediction accuracy distribution for obtain at least one quantity representative of the domain in which the prediction device has a predefined performance threshold, and - a modification phase (P2) of the blocks of the physical system as a function of the quantity obtained, in which the process includes: - the iterative implementation of the obtaining and modification phases until a predefined criterion is met, to obtain a preferred configuration, and - the manufacture of the physical system according to the preferred configuration.

2. A method according to claim 1, wherein a boundary for the domain is defined, a quantity obtained at the application step (E54) being a representative measure of the temporal variation of the size of the boundary over time.

3. A method according to claim 1 or 2, wherein the domain is a set of datasets representative of the predefined use, a quantity obtained at the application step (E54) being the time interval during which the performance of the prediction device on the set of datasets remains above the performance threshold.

4. A method according to any one of claims 1 to 3, wherein a quantity obtained at the application step (E54) is, for a dataset, whether or not the dataset belongs to the domain in which the prediction device has a predefined performance threshold.

5. Method according to any one of claims 1 to 4, the simulation involves an exponential time variation of the weight with respect to the weight of the aggregation step.

6. A method according to any one of claims 1 to 5, wherein the application step (E54) also includes an additional operation of statistical analysis of the result of the risk metric.

7. A method according to claim 6, wherein during the statistical analysis operation, an element is obtained among the expectation of the upper bound of the result, a predefined quantile of the result and a statistical moment of the statistical distribution of the result.

8. A method according to any one of claims 1 to 7, wherein the obtaining step (E40) is implemented by generating each dataset from a reference dataset according to a given probability law or 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 dataset.

9. A method according to claim 8, wherein the obtaining step (E40) involves modifying the datasets by introducing imperfections in the physical system environment or by introducing adverse disturbances aimed at manipulating the outputs of the prediction device.

10. A method according to any one of claims 1 to 9, wherein the blocks of the physical system are chosen from the list consisting of a sensor, a memory, a processor, a storage element, a display unit and an input unit.

11. A method according to any one of claims 1 to 10, wherein the properties characterizing the blocks are chosen from the list consisting of size, computing capacity and sensitivity dynamics.

12. A method according to any one of claims 1 to 11, wherein at least one of the inputs and / or outputs are physical quantity data corresponding to measurements from one or more sensors.

13. Product computer program comprising a readable information carrier, on which is stored a computer program comprising program instructions, the computer program being loadable onto a data processing unit and implementing a method according to any one of claims 1 to 12 when the computer program is implemented on the data processing unit.

14. Readable information carrier comprising program instructions forming a computer program, the computer program being loadable onto a data processing unit and implementing a method according to any one of claims 1 to 12 when the computer program is implemented on the data processing unit.