WO2019211367A1 - Procede de generation automatique de reseaux de neurones artificiels et procede d'evaluation d'un risque associe - Google Patents

Procede de generation automatique de reseaux de neurones artificiels et procede d'evaluation d'un risque associe Download PDF

Info

Publication number
WO2019211367A1
WO2019211367A1 PCT/EP2019/061225 EP2019061225W WO2019211367A1 WO 2019211367 A1 WO2019211367 A1 WO 2019211367A1 EP 2019061225 W EP2019061225 W EP 2019061225W WO 2019211367 A1 WO2019211367 A1 WO 2019211367A1
Authority
WO
WIPO (PCT)
Prior art keywords
parameter
values
interval
learning
value
Prior art date
Application number
PCT/EP2019/061225
Other languages
English (en)
Inventor
Benoît SCHMAUCH
Jérémie ABITEBOUL
Nicolas MERIC
Original Assignee
Dreamquark Sas
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dreamquark Sas filed Critical Dreamquark Sas
Publication of WO2019211367A1 publication Critical patent/WO2019211367A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Definitions

  • the technical field of the invention is that of artificial neural networks and more particularly that of artificial neural networks whose learning is supervised.
  • the present invention relates to a method for generating artificial neural networks and in particular to a method for automatic generation of artificial neural networks.
  • the present invention also relates to a method of evaluating a risk related to a given data.
  • the neural network or artificial neural network is the main tool of deep learning or deep learning that attempts to model data in order to be able to perform specific tasks with new data, such as classification or detection.
  • the neural network goes through a training phase or learning phase during which it learns by traversing on several iterations a training database and then by a generalization phase during which it realizes, on the basis of generalization data, the task for which he was trained.
  • supervised learning learning is constrained by the learning database. Indeed, the learning database is annotated to signal to the neural network the structures it must identify.
  • unsupervised learning the neural network finds itself underlying structures from the raw data of the database drive.
  • the neural networks are trained in a supervised manner.
  • a neural network is a complex structure formed of a plurality of layers, each layer having a plurality of artificial neurons.
  • Each neuron of a layer is connected to at least one neuron of a neighboring layer via an artificial synapse to which is assigned a synaptic coefficient or weight, updated during the learning phase.
  • the number of layers and neurons per layer defines the network's ability to learn, and must be adapted to the complexity of the problem being addressed. For conventional applications, the number of layers may vary from one to ten, while the number of neurons per layer may vary from ten to several thousand.
  • a key parameter for the training of the network is the learning step which defines the frequency with which the synaptic coefficients are updated.
  • the learning step defines the frequency with which the synaptic coefficients are updated.
  • these parameters are set via a human choice based on intuition, but this is incompatible with use by non-expert users in machine learning and eager to apply this technique in response to business issues on their data.
  • Another approach is to systematically test different possible values of these parameters, either randomly or by defining a search grid.
  • Such an approach is expensive in time and does not guarantee to obtain satisfactory results.
  • the invention offers a solution to the problems mentioned above, by automatically generating a network of artificial neurons adapted to a predefined task by a user without it having prior knowledge on artificial neural networks.
  • a first aspect of the invention relates to an automatic generation method, from a training database and a database of generalization, of an artificial neural network comprising at least one layer of artificial neurons, the artificial neural network having a regularization parameter, a learning parameter, a depth parameter corresponding to the number of layers of the artificial neural network, and a width parameter corresponding to the number of artificial neurons per layer of the artificial neural network, the depth parameter being selectable from an interval [p1; p2] of values of the depth parameter, the width parameter being selectable from a range [11; I2] of values of the width parameter and the learning parameter being selectable from an interval [a1; a2] of values of the learning parameter, the method being implemented by a computer and being characterized in that it comprises:
  • a step of restricting the interval [a1; a2] of values of the learning parameter in an interval [a1 '; a2 '], comprising the steps of:
  • a step of defining an interval [r1; r2] values of the regularization parameter including the following steps:
  • a network of artificial neurons adapted to a task predefined by a user is generated without it having to intervene in the process.
  • the parameters of the generated neural network are chosen automatically, without the user having to adjust them himself.
  • the method according to a first aspect of the invention may have one or more additional characteristics among the following, considered individually or in any technically possible combination.
  • the cost function is the sum of a regularization function and the average of the errors on the database used.
  • the cost function evaluates the performance of the neural network while penalizing over-learning.
  • the regularization function is the product of the regularization parameter and the sum squared of the norms of the network coefficient values.
  • the regularization function penalizes over-learning.
  • the training step of the first network of artificial test neurons comprises the following sub-steps:
  • the training step of the second artificial neuron test network comprises the following substeps:
  • the first network of artificial neurons test, the network of artificial neurons as simple as possible and the second network of artificial neurons test, the network of artificial neurons the most complex possible to define the lower bound and the upper limit of the range of values of the restricted learning parameter. Restricting the interval of values of the learning parameter makes it possible to reduce the calculation time of the following steps of the method.
  • the step of calculating the new lower bound a1 'and the new upper bound a2' of the interval [a1 '; a2 '] of values of the learning parameter comprises the following substeps:
  • the new bounds of the interval [a1 '; a2 '] of learning parameter values are calculated from learning parameter values obtained from a simple neural network and a complex neural network thereby reducing the range of values of the training parameter.
  • the cost function satisfying the selection condition is the cost function having the fastest decay.
  • the learning parameter selected is the one for which the corresponding artificial neural network obtains the best results the fastest.
  • the cost function is the sum of a regularization function and the average of the errors on the database used, as the first and second test neural networks have a null regularization parameter, the parameter d selected learning is the one for which the average error has decreased most rapidly.
  • the step of defining a range of values of the regularization parameter comprises the following steps:
  • the third network of artificial test neurons makes it possible to define the range of values of the regulation parameter.
  • the optimal regulation parameter is the sum of the standards squared of the gradients of the cost function with respect to network coefficients, divided by the sum of the standards squared of the network coefficients.
  • the optimal regulation parameter penalizes over-learning.
  • the cost function satisfying the validation condition is the minimum cost function.
  • the artificial neural network selected is the one for which the sum of the average of the errors and the function is the weakest, that is to say the network of artificial neurons matching the best results with limited learning.
  • the step of generating, training and testing several artificial neural networks comprises several sub-steps:
  • the neural networks generated at first time make it possible to define, for each parameter, zones of the corresponding value intervals for obtaining better results. This makes it possible to reduce the calculation time and to optimize the step of generating, driving and testing the process.
  • the interval [p1; p2] of values of the depth parameter is in the range [2; 20].
  • the artificial neural network generated has a number of layers allowing it to have satisfactory results for conventional applications without the need for complex hardware to make it work.
  • the choice of the interval [11; I2] of values of the width parameter depends on the number of variables contained in a datum of the database.
  • the number of neurons per layer is adapted to the complexity of the data to be processed.
  • the interval [a1; a2] values of the learning parameter covers several powers of ten ranging from 4 to 1 before the step of restricting said interval.
  • the interval [a1; a2] of values of the learning parameter takes into account all the situations that can be encountered.
  • the first and second samples of the training database are representative of the training database.
  • a second aspect of the invention relates to a method of evaluating a risk related to a datum characterized in that it comprises the steps of the method according to a first aspect of the invention followed by a risk evaluation step linked to the data by the artificial neural network selected at the selection step.
  • the artificial neural network generated by the method according to a first aspect of the invention that has been adapted to the task of evaluating a risk is used to evaluate the risk of a datum of the same type as those included in FIG. training and generalization databases.
  • the user obtains, for each data he wishes to evaluate, a risk value without having to adjust the parameters of the artificial neural network.
  • the method according to a first aspect of the invention comprises a step of generating an alert.
  • the user is alerted and can make a decision accordingly.
  • the method according to a first aspect of the invention comprises a step of routing the data to a given piece of equipment.
  • the data is automatically sent to a user equipment collecting the risk data for further analysis.
  • FIG. 1 shows a schematic representation of a network of artificial neurons.
  • FIG. 2 is a block diagram illustrating the main steps of a method for automatic generation of artificial neural networks according to a first aspect of the invention.
  • FIG. 3 shows a schematic representation of an example of a first network of artificial test neurons.
  • FIG. 4 shows a schematic representation of an example of a second network of artificial test neurons.
  • FIG. 5 shows a schematic representation of an example of a third network of artificial test neurons.
  • a first aspect of the invention relates to a method 200 for automatic generation of artificial neural networks 100.
  • a neural network 100 comprises at least one layer 103 comprising at least two neurons 101.
  • the neural network 100 comprises three layers 103 each comprising three neurons 101.
  • each neuron 101 of each layer 103 is connected to each neuron 101 of the previous layer 103 and to each neuron 101 of the next layer 103.
  • a connection 102 between two neurons 101 is assigned a weight or synaptic coefficient.
  • the depth parameter of a neural network 100 is defined by the number of layers 103 of the neural network 100.
  • each layer 103 of a neural network 100 comprises a different number of neurons 101.
  • each layer 103 has the same number of neurons 101.
  • the parameter The width of a neural network 100 is thus defined by the number of neurons 101 per layer 103 of the neural network 100.
  • the depth parameter and the width parameter of a neural network 100 define the architecture of the neural network 100. neurons 100.
  • An artificial neural network 100 is also defined by other parameters, such as a learning parameter and a regulation parameter, which describe its learning process.
  • the learning parameter corresponds to the learning step of the neural network 100 which defines the frequency at which the weights of the neural network 100 are updated and the regularization parameter to its regularization coefficient which limits the over-learning of the neuron network. neural network 100.
  • the objective of the method 200 is to automatically generate an artificial neural network 100 adapted to a predefined task, from a database comprising a training database or training database on which the neural network 100 is trained to perform the task and a generalization database on which the network performs the task for which it was trained.
  • a learning database for people detection includes images in which people are reported, for example by providing the coordinates of a corner of a window flanking the person, as well as its length and height. width.
  • the learning database represents between 60% and 80% of the database, or between 70% and 80% of the database, or between 65% and 80% of the database.
  • a neural network When a neural network is adapted to a task, it is then also adapted to the database in that the learning database is constructed according to the task to be learned. For example, if one places oneself in the case where the database is an image database and the task that one wishes to perform is the detection of persons, each image of the database of data In practice, learning will be associated with coordinates that locate people in the image.
  • the data of the database are for example bank data, data relating to the production of a process or a product, or images.
  • a datum of the database comprises at least one variable, each datum of the database comprising the same number of variables. Thus, if a variable is missing in a data item, a default value is assigned to it. The default value is for example the average value of the variable on the other data.
  • the variables are for example information about a customer such as his age, his income, his address as well as information on the product he consumes as the type of credit contracted and the associated amount.
  • the variables are for example information on the product such as its name, its composition as well as information on its manufacturing process such as its manufacturing time, the name of the chain. mounting on which it was made.
  • the variables are, for example, the variance and the average of the gray levels.
  • the task to be performed is for example classification to group customers with similar characteristics and who would be interested in the same type of products.
  • the task to be performed is, for example, the detection of anomalies such as a faulty assembly line.
  • the task to be performed is, for example, the recognition of handwritten characters.
  • a neural network is automatically generated means that the neural network is generated without the intervention of a user.
  • the method 200 comprises several steps, the sequence of which is shown in FIG. 2. These steps are implemented by a computer comprising at least one processor and one memory.
  • the depth parameter, the width parameter, and the learning parameter each have a value that varies within a predefined interval.
  • the value of the depth parameter varies within an interval [p1; p2] of values of the depth parameter
  • the value of the width parameter varies within an interval [11; I2] of values of the width parameter
  • the value of the learning parameter varies within an interval [a1; a2] of values of the learning parameter.
  • the interval [p1; p2] values of the depth parameter and the interval [11; I2] values of the width parameter are intervals of integer values since the number of layers of a neural network and the number of neurons per layer of a neural network can only take integer values.
  • the number of layers of a neural network is for example between 2 and 20, between 2 and 10 or between 4 and 6.
  • the interval [p1; p2] of values of the depth parameter is [4; 6], that is, p1 equals 4 and p2 equals 6.
  • the value of the lower bound 11 and the value of the upper bound I2 of the interval [11; I2] values of the parameter of width are chosen according to the number of variables contained in each datum of the database.
  • the architecture of the neural network is adapted to the complexity of the data to be processed. For example, if the number of variables contained in each datum of the database is n, the lower bound 11 of the interval [11; I2] values of the width parameter will be worth the rounding to the lower integer of and the upper bound I2 of the interval [11; I2] values of the width parameter will be worth the rounding to the lower integer 2 * n. For example, if n is 5, 11 is 2 and I2 is 10.
  • the interval [a1; a2] values of the learning parameter is chosen to cover all possible cases.
  • the interval [a1; a2] of values of the learning parameter is [10 4 ; 1], i.e. that a1 is equal to 4 and a2 is equal to 1.
  • the first step of the method 200 is a step 201 of restricting the interval [a1; a2] of values of the learning parameter.
  • a sub-interval [a1 '; a2 '] of the interval [a1; a2] of values of the learning parameter is obtained, which means that a1 'is greater than a1 and a2' is less than a2.
  • Step 201 of restricting the interval [a1; a2] of values of the learning parameter comprises a step of generating a first network of artificial test neurons 110.
  • the first array of artificial test neurons 1 10 has a number of layers equal to p1, i.e., its depth parameter is equal to the lower bound p1 of the interval [p1; p2] of depth parameter values and a number of neurons per layer equal to the mean value of the interval [11; I2] of values of the width parameter.
  • the first network of artificial neurons test 1 10 can be called a simple neural network to the extent that the value set for its depth parameter is the minimum possible value.
  • the first network of artificial test neurons 110 is shown in FIG. 3 in the case where p1 is equal to 4 and [11; I2] is equal to [2; 4].
  • the first network of artificial neurons 110 test then has 4 layers having 3 neurons each.
  • the first test artificial neural network 1 10 has a variable learning parameter and a regularization parameter equal to zero, which means that the first test artificial neural network 110 does not perform regularization.
  • Step 201 of restricting the interval [a1; a2] of values of the learning parameter comprises a step of generating a second network of artificial test neurons 120.
  • the second array of artificial test neurons 120 has a number of layers equal to p2, i.e., its depth parameter is equal to the upper bound p2 of the interval [p1; p2] of depth parameter values and a number of neurons per layer equal to the mean value of the interval [11; I2] of values of the width parameter.
  • the second network of artificial neurons 120 test can thus be described as complex neural network to the extent that the value set for its depth parameter is the value maximum possible.
  • the second network of artificial test neurons 120 is shown in FIG. 4 in the case where p2 is equal to 6 and [11; I2] is equal to [2; 4]
  • the second network of artificial neurons test 120 then comprises 6 layers having 3 neurons each.
  • the second artificial test neural network 120 has a variable learning parameter and a regularization parameter equal to zero, which means that the second test artificial neural network 120 does not perform regularization.
  • the first artificial neuron test network 1 10 and the second artificial neural test network 120 are then trained. For this, data samples are selected on which artificial neural test networks will be trained. A first and a second sample of the training database are selected so that they are representative of the training database.
  • the term "a sample is representative of a database” means that the distribution of the sample is identical to the distribution of the database for a chosen target. For example, in the case of detection, if in a database there are 80% of positive examples and 20% of negative examples, a representative sample of this database will also have 80% of positive examples and 20% negative examples.
  • the first and second samples of the training database each have between 1 and 25% of the data of the training database.
  • the first and second samples of the training database are identical.
  • the training step of the first test artificial neuron network 1 of step 201 of restriction of the interval [a1; a2] of values of the learning parameter comprises a substep of selecting several values of the learning parameter in the interval [a1; a2] of values of the learning parameter making it possible to obtain a first set of values of the learning parameter.
  • the values of the first set of values of the learning parameter cover all the powers of ten of the interval [a1; a2] of values of the learning parameter.
  • the first artificial test neuron network 1 10 is then driven to the first sample of the training database by giving one of the values of the first set of values of the learning parameter to its learning parameter. For each piece of data learned, a cost function is calculated.
  • the cost function C is for example defined as below:
  • x N the Nth data of the database used, e £ , the error between the value found by the neural network and the real value for the data i, N the number of data used from the database data, l the regularization parameter, p jt a j-th network coefficient of the neural network and P the number of network coefficients of the neural network.
  • the error corresponds to the cross entropy between the real value of a datum and the value found by the neural network, defined by:
  • f c (Xi) is the score (between 0 and 1) that the neural network assigns to the correct class of the data i.
  • the error is minimal and is 0 if the neural network assigns a score of 1 to the correct class.
  • the error between the value found by the neural network and the real value can also be, for example, the absolute value of the difference between the value found by the neural network and the real value or the difference squared between the value found. by the neural network and the real value.
  • Each network coefficient is bound to a layer of the artificial neural network 100.
  • the network coefficient is the synaptic coefficient assigned to the layer.
  • the cost function is therefore the sum of two terms: a first term corresponding to the average of the errors on the database used and the second term to a regularization function defined as being the product of the regularization parameter and of the sum squared of the values of the norms of the network coefficients.
  • the cost function evaluates the performance of the neural network by comparing the result obtained by the neural network with the result to be obtained while penalizing the on learning.
  • a neural network obtains the best results means that the first term of the cost function associated with the neural network is as small as possible.
  • the cost function at the end of the training corresponds only to the average of the errors on the first sample of the training database.
  • the cost function could also be defined as the sum of a first term corresponding to the sum of the errors on the database used and a second term corresponding to a regularization function.
  • the first test artificial neural network 1 10 is thus driven for each value of the learning parameter of the first set of values of the learning parameter and a cost function is calculated for each training.
  • Each calculated cost function thus corresponds to a value of the learning parameter.
  • the cost function satisfying the selection condition is the cost function with the fastest decay among the calculated cost functions.
  • the cost function is the sum of a regularization function and the average of the errors on the database used, as the first test neuron network 1 10 has a zero regularization parameter, the cost function corresponds only to the average of the errors and the selection condition makes it possible to select the value of the training parameter of the artificial neural network obtaining the best results and the fastest on the first sample of the training database.
  • the training step of the second test artificial neural network 120 comprises a sub-step of selecting several values of the learning parameter included in the interval [a1; a2] of values of the learning parameter for obtaining a second set of values of the learning parameter.
  • the values of the second set of values of the learning parameter cover all the powers of ten of the interval [a1; a2] of values of the learning parameter.
  • the first and second set of values of the learning parameter are identical.
  • the second artificial test neural network 120 is then driven to the second sample of the training database by giving one of the values of the second set of values of the training parameter to its learning parameter. For each piece of data learned, the cost function is calculated.
  • the second network of artificial test neurons 120 is thus driven for each value of the learning parameter of the second set of values of the learning parameter and the cost function is calculated for each workout.
  • step 201 of restricting the interval [a1; a2] of previously described learning parameter values may be in this order or in a different order, i.e., for example, the generation and driving of the second test neural network 120 may to be done before the generation and training of the first test neuron network 1 10.
  • the only limitation in the order of these steps is that the training of a neural network can be achieved only if said neural network was previously generated.
  • the first and second values of the learning parameter are then compared: the smaller of these two values is a value of the minimum learning parameter and the greater of these two values is a value of the maximum learning parameter.
  • the lower bound a1 'of the interval [a1'; a2 '] of values of the restricted learning parameter is calculated from the value of the minimum learning parameter.
  • the lower bound a1 'of the interval [a1'; a2 '] of values of the restricted learning parameter is one-tenth of the value of the minimum learning parameter.
  • the upper bound a2 'of the interval [a1'; a2 '] of values of the restricted learning parameter is calculated from the value of the maximum learning parameter.
  • the upper bound a2 'of the interval [a1'; a2 '] of values of the restricted learning parameter is equal to the value of the maximum learning parameter.
  • Each training of the first network of artificial neurons test 1 10 and the second artificial neural network test 120 is carried out for at least one epoch or alternatively for several epochs, an epoch corresponding to a course of the entire sample of the base of training data used.
  • the number of epochs used to drive the first test artificial neural network 1 10 is identical to the number of epochs used to drive the second test artificial neural network 120.
  • the number of epochs used is for example between 10 and 100 eras, or between 30 and 70 eras, or between 40 and 60 eras.
  • the number of epochs is 50.
  • the second step of the method 200 is a step 202 of defining an interval [r1; r2] values of the regularization parameter. At the end of this step 202, an interval [r1; r2] of values of the regularization parameter in which the value of the regulation parameter can vary, is obtained.
  • Step 202 of defining an interval [r1; r2] of values of the regulation parameter comprises a step of generating a third network of artificial test neurons 130.
  • the third array of artificial test neurons 130 has a number of layers equal to the average value of the interval [p1; p2] of values of the depth parameter, that is, its depth parameter is equal to the average value of the interval [p1; p2] of values of the depth parameter, a number of neurons per layer equal to the mean value of the interval [11; I2] of values of the width parameter, i.e., its width parameter is equal to the average value of the interval [11; I2] of values of the width parameter.
  • the third network of artificial test neurons 130 can thus be described as an intermediate neural network insofar as the value fixed for its depth parameter is the average value.
  • the third network of artificial test neurons 130 is represented in FIG. 5 in the case where p1 is equal to 4, p2 is equal to 6, 11 is equal to 2 and I2 is equal to 4.
  • the third network of Artificial neurons test 130 then comprises 5 layers having 3 neurons each.
  • the third array of artificial test neurons 130 has a learning parameter equal to the median value of the interval [a1 '; a2 '] of values of the previously restricted learning parameter and a regularization parameter equal to zero, which means that the third network of artificial test neurons 130 does not perform regularization.
  • the third artificial test neural network 130 is driven on the entire training data base and the cost function is calculated.
  • This training is done for at least one time or alternatively for several eras.
  • the number of epochs used to drive the third test artificial neural network 130 is identical to the number of epochs used to drive the first test artificial neuron network 1 and / or the second artificial neuron network of test test 120.
  • C the cost function, p j , the j-th network coefficient of the neural network and P the number of network coefficients of the neural network.
  • the lower bound r1 and the upper bound r2 of the interval [r1; r2] values of the regularization parameter are then calculated from the optimal regulation parameter.
  • the lower bound r1 and the upper bound r2 of the interval [r1; r2] values of the regularization parameter are the powers of ten of share and else the optimal regulation parameter.
  • the optimal regulation parameter is equal to 52, r1 equals 10 and r2 equals 10 2 .
  • the third step of the method 200 is a step 203 of generating, driving and testing a plurality of neural networks and calculating the cost function for each tested neural network. At the end of this step 203, a plurality of cost functions is obtained, each cost function corresponding to a tested neural network.
  • Each neural network is generated with a different set of parameters, a set of parameters including the depth parameter, the width parameter, the learning parameter, and the regularization parameter.
  • the value of the depth parameter varies in the interval [p1; p2] of values of the depth parameter
  • the value of the width parameter varies in the interval [11; I2] of values of the width parameter
  • the value of the learning parameter varies in the interval [a1 ';a2'j of values of the previously restricted learning parameter
  • the value of the regularizing parameter varies in the interval [r1; r2] of values of the regulation parameter previously defined, equiprobably.
  • the probability that a given parameter takes a given value is the same for all the values of the corresponding interval.
  • the depth parameter can vary in the interval [4; 6], the probability that the depth parameter is 4 is 1/3, the probability that the depth parameter is 5 is 1/3 and the probability that the depth parameter is 6 is 1/3.
  • the neural networks thus generated are then driven on the basis of training data and then tested on the generalization data base, and the cost function is then calculated for each of these neural networks.
  • the comparison of the cost functions of these neural networks is used to update, for each possible value of a given parameter, the probability that the parameter takes this value.
  • the probability that the depth parameter will be 4 for a neuron network that will be generated sooner will be greater than the probability that its depth parameter will be 5.
  • other neural networks are generated, for which the value of each parameter always varies in the interval of values of the corresponding parameter but more equiprobably, that is to say that a given parameter will be more likely to take one value of the corresponding value interval rather than another .
  • the probability that the depth parameter is 4 may be 3/4, the probability that the depth parameter is 5 may be 3/16 and the probability that the depth parameter 6 may be worth 1/16.
  • Each neuron network generated in a second time then goes through a training phase on the basis of training data.
  • Each neuron network generated in a second time is then tested on the generalization data base and the cost function is calculated.
  • the cost function is then used in turn to update again the probabilities that a given parameter takes a given value by comparison with the previously calculated cost functions.
  • artificial neural networks generated over successive generation stages tend more and more to converge towards the same network of artificial neurons. In other words, over successive stages of generation, within each interval of values corresponding to a parameter, a value has its probability which tends more and more towards 1.
  • the fourth step of the method 200 is a step 204 of selecting one of the artificial neural networks previously tested.
  • the previously tested artificial neural network whose corresponding cost function satisfies a validation condition is selected.
  • the cost function satisfying the validation condition is the minimum cost function, that is to say the cost function associated with the neural network giving good results while penalizing the over-learning.
  • the previously tested artificial neural network best suited to the task to be performed is obtained.
  • a user wishes to adapt an artificial neural network to the task of evaluating a risk.
  • the learning database and the generalization database then comprise a type of data for which the user wishes to evaluate a risk.
  • the learning and generalization databases comprise user profiles for which the user wishes to evaluate, for example the risk of fraud.
  • the learning database then has user profiles and the associated fraud risk values, and the generalization database has user profiles for which the fraud risk values are known but not included in the database. generalization.
  • the learning and generalization databases may include data relating to a method, for example the data of a process in a nuclear power plant, for which the user wishes to evaluate, for example the risk of an accident. .
  • the steps 201 to 204 of the method 100 according to a first aspect of the invention may be followed by a risk evaluation step. associated with a data of the same type as the data of the learning databases and of generalization.
  • the method then becomes a method for evaluating a risk related to a given datum.
  • the generated artificial neural network will provide a risk value for a given user profile quantifying the risk that such user fraud.
  • the value of the risk obtained can then be compared with an alert threshold and special measures can be put in place if the risk value is greater than the alert threshold, for example an alert can be generated or the data can be sent. dedicated user equipment for further risk analysis.

Landscapes

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

Abstract

Un aspect de l'invention concerne un procédé de génération automatique d'un réseau de neurones artificiels, le réseau de neurones artificiels ayant un paramètre de régularisation, un paramètre d'apprentissage, un paramètre de profondeur et un paramètre de largeur, le paramètre de profondeur pouvant être choisi parmi un intervalle de valeurs du paramètre de profondeur, le paramètre de largeur pouvant être choisi parmi un intervalle de valeurs du paramètre de largeur et le paramètre d'apprentissage pouvant être choisi parmi un intervalle de valeurs du paramètre d'apprentissage, le procédé étant caractérisé en ce qu'il comporte : - une étape de restriction de l'intervalle de valeurs du paramètre d'apprentissage; - une étape de définition d'un intervalle de valeurs du paramètre de régularisation; - une étape de génération, d'entraînement et de test, d'une pluralité de réseaux de neurones artificiels, en faisant varier la valeur de chaque paramètre dans l'intervalle de valeurs correspondant; - une étape de sélection d'un réseau de neurones artificiels.

Description

PROCEDE DE GENERATION AUTOMATIQUE DE RESEAUX DE NEURONES ARTIFICIELS ET PROCEDE D’EVALUATION D’UN RISQUE ASSOCIE
DOMAINE TECHNIQUE DE L’INVENTION
Le domaine technique de l’invention est celui des réseaux de neurones artificiels et plus particulièrement celui des réseaux de neurones artificiels dont l’apprentissage est supervisé.
La présente invention concerne un procédé de génération de réseaux de neurones artificiels et en particulier un procédé de génération automatique de réseaux de neurones artificiels. La présente invention concerne également un procédé d’évaluation d’un risque lié à une donnée.
ARRIERE-PLAN TECHNOLOGIQUE DE L’INVENTION
Le réseau de neurones ou réseau de neurones artificiel constitue le principal outil de l’apprentissage profond ou deep learning qui tente de modéliser des données afin d’être capable par la suite d’effectuer des tâches spécifiques avec de nouvelles données, comme des tâches de classification ou de détection. Pour cela, le réseau de neurones passe par une phase d'entraînement ou phase d’apprentissage pendant laquelle il apprend en parcourant sur plusieurs itérations une base de données d’entraînement puis par une phase de généralisation pendant laquelle il réalise, sur une base de données de généralisation, la tâche pour laquelle il a été entraîné. II existe deux types d’apprentissage pour un réseau de neurones artificiel. En apprentissage supervisé, l’apprentissage est contraint par la base de données d’apprentissage. En effet, la base de données d’apprentissage est annotée pour signaler au réseau de neurones les structures qu’il doit repérer. Au contraire, en apprentissage non supervisé, le réseau de neurones trouve lui-même des structures sous-jacentes à partir des données brutes de la base de données d’entraînement. Dans la présente invention, les réseaux de neurones sont entraînés de manière supervisée.
Un réseau de neurones est une structure complexe formée d’une pluralité de couches, chaque couche comportant une pluralité de neurones artificiels. Chaque neurone d’une couche est relié à au moins un neurone d’une couche voisine via une synapse artificielle à laquelle est affectée un coefficient synaptique ou poids, mis à jour pendant la phase d’apprentissage. Le nombre de couches et de neurones par couches définissent la capacité du réseau à apprendre, et doivent être adaptés à la complexité du problème traité. Pour des applications classiques, le nombre de couches peut varier d’une à une dizaine, tandis que le nombre de neurones par couche peut varier d’une dizaine à plusieurs milliers.
Pour une architecture donnée, un paramètre capital pour l’entraînement du réseau est le pas d’apprentissage qui définit la fréquence à laquelle sont mis à jour les coefficients synaptiques. Pour un problème de classification et dans le cadre d’un apprentissage supervisé, à chaque itération de l’entraînement, la classification de chaque donnée par le modèle est comparée à sa classification réelle, et les coefficients synaptiques sont mis à jour de manière à corriger les erreurs. Si le pas d’apprentissage est trop petit, l’apprentissage est très long, ce qui est problématique compte tenu des ressources nécessaires pour entraîner un réseau de neurones. Si le pas d’apprentissage est trop grand, le réseau de neurones ne peut tout simplement pas apprendre.
Enfin, s’il est souvent avantageux d’utiliser des architectures complexes, les performances de celles-ci peuvent être limitées par le sur-apprentissage : pour un problème de classification, celui-ci se manifeste à travers le fait que le réseau apprend parfaitement à reproduire la classification des données vues pendant l’entraînement, mais échoue à généraliser cette classification à de nouvelles données. Pour limiter ce phénomène tout en bénéficiant des avantages d’une architecture complexe, une technique est la régularisation L2, qui introduit un paramètre ou coefficient de régularisation. Si ce paramètre est trop petit, la régularisation n’empêche pas le sur-apprentissage du réseau, mais s’il est trop grand, le réseau perd en capacité d’apprentissage, ce qui dégrade ses performances. Un réseau de neurones artificiel est donc défini par des paramètres qui décrivent son architecture, comme son nombre de couches ou encore son nombre de neurones par couche, et par des paramètres qui décrivent son processus d’entraînement, comme le pas d’apprentissage ou encore le coefficient de régularisation.
En général, ces paramètres sont fixés via un choix humain qui repose sur l’intuition, mais ceci est incompatible avec une utilisation par des utilisateurs non experts en apprentissage automatique et désireux d’appliquer cette technique en réponse à des problématiques métiers sur leurs données. Une autre approche consiste à tester systématiquement différentes valeurs possibles de ces paramètres, soit de manière aléatoire, soit en définissant une grille de recherche. Cependant, une telle approche est coûteuse en temps et ne garantit pas d’obtenir des résultats satisfaisants. II existe donc un besoin pour un utilisateur néophyte en apprentissage automatique de générer un réseau de neurones adapté à une tâche donnée, c’est- à-dire donnant des résultats satisfaisants pour la tâche pour laquelle il a été entraîné.
RESUME DE L’INVENTION
L’invention offre une solution aux problèmes évoqués précédemment, en permettant de générer automatiquement un réseau de neurones artificiels adapté à une tâche prédéfinie par un utilisateur sans que celui-ci ne dispose de connaissances préalables sur les réseaux de neurones artificiels.
Un premier aspect de l’invention concerne un procédé de génération automatique, à partir d’une base de données d’entraînement et d’une base de données de généralisation, d’un réseau de neurones artificiels comportant au moins une couche de neurones artificiels, le réseau de neurones artificiels ayant un paramètre de régularisation, un paramètre d’apprentissage, un paramètre de profondeur correspondant au nombre de couches du réseau de neurones artificiels et un paramètre de largeur correspondant au nombre de neurones artificiels par couche du réseau de neurones artificiels, le paramètre de profondeur pouvant être choisi parmi un intervalle [p1 ; p2] de valeurs du paramètre de profondeur, le paramètre de largeur pouvant être choisi parmi un intervalle [11 ; I2] de valeurs du paramètre de largeur et le paramètre d’apprentissage pouvant être choisi parmi un intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage, le procédé étant mis en oeuvre par un calculateur et étant caractérisé en ce qu’il comporte :
- une étape de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage en un intervalle [a1’ ; a2’], comportant les étapes suivantes :
• Générer un premier réseau de neurones artificiels de test ayant un paramètre de profondeur égal à la borne inférieure p1 de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un paramètre de largeur égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur et un paramètre de régularisation nul ;
• Entraîner le premier réseau de neurones artificiels de test sur un premier échantillon de la base de données d’entraînement pour plusieurs valeurs du paramètre d’apprentissage comprises dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;
• Générer un deuxième réseau de neurones artificiels de test ayant un paramètre de profondeur égal à la borne supérieure p2 de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un paramètre de largeur égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur et un paramètre de régularisation nul ;
• Entraîner le deuxième réseau de neurones artificiels de test sur un deuxième échantillon de la base de données d’entraînement pour plusieurs valeurs du paramètre d’apprentissage comprises dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;
• Calculer la nouvelle borne inférieure a1’ et la nouvelle borne supérieure a2’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage ;
- une étape de définition d’un intervalle [r1 ; r2] de valeurs du paramètre de régularisation comportant les étapes suivantes :
• Générer un troisième réseau de neurones artificiels de test ayant un paramètre de profondeur égal à la valeur moyenne de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un paramètre de largeur égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur, un paramètre d’apprentissage égal à la valeur médiane de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage restreint et un paramètre de régularisation nul ;
• Entraîner le troisième réseau de neurones artificiels de test sur la base de données d’entraînement et calculer la borne inférieure r1 et la borne supérieure r2 de l’intervalle [r1 ; r2] de valeurs du paramètre de régularisation ;
- une étape de génération, d’entraînement sur la base de données d’entraînement et de test sur la base de données de généralisation, d’une pluralité de réseaux de neurones artificiels, en faisant varier la valeur de chaque paramètre dans l’intervalle de valeurs correspondant, et de calcul d’une fonction de coût pour chaque réseau de neurones artificiels testé ;
- une étape de sélection du réseau de neurones artificiels pour lequel la fonction de coût calculée répond à une condition de validation.
Grâce à l’invention, un réseau de neurones artificiels adapté à une tâche prédéfinie par un utilisateur est généré sans que celui-ci n’ait à intervenir dans le procédé. Les paramètres du réseau de neurones généré sont choisis de manière automatique, sans que l’utilisateur n’ait à les régler lui-même. Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le procédé selon un premier aspect de l’invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles.
Avantageusement, la fonction de coût est la somme d’une fonction de régularisation et de la moyenne des erreurs sur la base de données utilisée.
Ainsi, la fonction de coût évalue les performances du réseau de neurones tout en pénalisant le sur-apprentissage.
Avantageusement, la fonction de régularisation est le produit du paramètre de régularisation et de la somme au carré des normes des valeurs de coefficients de réseau.
Ainsi, la fonction de régularisation pénalise le sur-apprentissage.
Avantageusement :
- l’étape d’entraînement du premier réseau de neurones artificiels de test comporte les sous-étapes suivantes :
• Sélectionner différentes valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;
• Pour chaque valeur du paramètre d’apprentissage sélectionnée, entraîner, sur le premier échantillon de la base de données d’entraînement, le premier réseau de neurones artificiels de test avec la valeur sélectionnée comme paramètre d’apprentissage et calculer la fonction de coût correspondante ;
• Sélectionner une nouvelle borne inférieure a1’ de l’intervalle de valeurs du paramètre d’apprentissage à partir d’une première valeur du paramètre d’apprentissage pour laquelle la fonction de coût correspondante répond à une condition de sélection ; - l’étape d’entraînement du deuxième réseau de neurones artificiels de test comporte les sous-étapes suivantes :
• Sélectionner différentes valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;
• Pour chaque valeur du paramètre d’apprentissage sélectionnée, entraîner, sur le deuxième échantillon de la base de données d’entraînement, le deuxième réseau de neurones artificiels de test avec la valeur sélectionnée comme paramètre d’apprentissage et calculer la fonction de coût correspondante ;
• Sélectionner une nouvelle borne supérieure a2’ de l’intervalle de valeurs du paramètre d’apprentissage à partir d’une seconde valeur du paramètre d’apprentissage pour laquelle la fonction de coût correspondante répond à la condition de sélection.
Ainsi, le premier réseau de neurones artificiels de test, le réseau de neurones artificiels le plus simple possible et le deuxième réseau de neurones artificiels de test, le réseau de neurones artificiels le plus complexe possible permettent de définir la borne inférieure et la borne supérieure de l’intervalle de valeurs du paramètre d’apprentissage restreint. Restreindre l’intervalle de valeurs du paramètre d’apprentissage permet de diminuer le temps de calcul des étapes suivantes du procédé.
Avantageusement, l’étape de calcul de la nouvelle borne inférieure a1’ et de la nouvelle borne supérieure a2’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage comporte les sous-étapes suivantes :
• Comparer la première et la seconde valeur du paramètre d’apprentissage pour déterminer une valeur du paramètre d’apprentissage minimale et une valeur du paramètre d’apprentissage maximale ; • Calculer la nouvelle borne inférieure a1’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage à partir de la valeur du paramètre d’apprentissage minimale ;
• Calculer la nouvelle borne supérieure a2’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage à partir de la valeur du paramètre d’apprentissage maximale.
Ainsi, les nouvelles bornes de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage sont calculées à partir de valeurs du paramètre d’apprentissage obtenues à partir d’un réseau de neurones simple et d’un réseau de neurones complexe ce qui permet de réduire l’intervalle de valeurs du paramètre d’apprentissage aux valeurs du paramètre d’apprentissage possibles pour les architectures de réseaux de neurones prises en compte dans le procédé.
Avantageusement, la fonction de coût répondant à la condition de sélection est la fonction de coût ayant la décroissance la plus rapide.
Ainsi, le paramètre d’apprentissage sélectionné est celui pour lequel le réseau de neurones artificiels correspondant obtient les meilleurs résultats le plus rapidement. En particulier, lorsque la fonction de coût est la somme d’une fonction de régularisation et de la moyenne des erreurs sur la base de données utilisée, comme les premier et deuxième réseaux de neurones de test ont un paramètre de régularisation nul, le paramètre d’apprentissage sélectionné est celui pour lequel la moyenne des erreurs a décru le plus rapidement.
Avantageusement, l’étape de définition d’un intervalle de valeurs du paramètre de régularisation comporte les étapes suivantes :
• Entraîner, sur la base de données d’entraînement, le troisième réseau de neurones artificiels de test et calculer la fonction de coût ;
• Calculer un paramètre de régularisation optimal à partir de la fonction de coût précédemment calculée ; • Calculer la borne inférieure r1 et la borne supérieure r2 de l’intervalle de valeurs du paramètre de régularisation à partir du paramètre de régularisation optimal.
Ainsi, le troisième réseau de neurones artificiels de test, le réseau de neurones artificiels intermédiaire, permet de définir l’intervalle de valeurs du paramètre de régularisation.
Avantageusement, le paramètre de régularisation optimal est la somme des normes au carré des gradients de la fonction de coût par rapport à des coefficients de réseau, divisé par la somme des normes au carré des coefficients de réseau.
Ainsi, le paramètre de régularisation optimal pénalise le sur-apprentissage.
Avantageusement, la fonction de coût répondant à la condition de validation est la fonction de coût minimale.
Ainsi, lorsque la fonction de coût est la somme d’une fonction de régularisation et de la moyenne des erreurs sur la base de données utilisée, le réseau de neurones artificiels sélectionné est celui pour lequel la somme de la moyenne des erreurs et de la fonction de régularisation est la plus faible, c’est-à-dire le réseau de neurones artificiels correspondant obtenant les meilleurs résultats avec un sur apprentissage limité.
Avantageusement, l’étape de génération, d’entraînement et de test de plusieurs réseaux de neurones artificiels, comporte plusieurs sous-étapes :
• Générer plusieurs réseaux de neurones artificiels en faisant varier la valeur de chaque paramètre dans l’intervalle de valeurs correspondant, chaque valeur de l’intervalle de valeurs correspondant étant équiprobable, entraîner sur la base de données d’entraînement et tester sur la base de données de généralisation, lesdits plusieurs réseaux de neurones artificiels générés, et calculer la fonction de coût pour chacun desdits réseaux de neurones artificiels entraînés et testés ; • En comparant les fonctions de coût précédemment calculées, mettre à jour, pour un intervalle de valeurs donné, les probabilités affectées à chaque valeur de l’intervalle de valeurs ;
• Générer plusieurs autres réseaux de neurones artificiels en faisant varier la valeur de chaque paramètre dans l’intervalle de valeurs correspondant, les valeurs de l’intervalle de valeurs correspondant n’étant plus toutes équiprobables, entraîner sur la base de données d’entraînement et tester sur la base de données de généralisation, lesdits autres réseaux de neurones artificiels et calculer la fonction de coût pour chacun desdits autres réseaux de neurones artificiels entraînés et testés, la fonction de coût étant comparée aux fonctions de coût précédemment calculées pour mettre à jour, pour un intervalle de valeurs donné, les probabilités affectées à chaque valeur de l’intervalle de valeurs .
Ainsi, les réseaux de neurones générés dans un premier temps permettent de définir, pour chaque paramètre, des zones des intervalles de valeurs correspondant permettant d’obtenir de meilleurs résultats. Ceci permet de diminuer le temps de calcul et d’optimiser l’étape de génération, d’entraînement et de test du procédé.
Avantageusement, l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur est compris dans l’intervalle [2 ; 20].
Ainsi, le réseau de neurones artificiels généré a un nombre de couches lui permettant d’avoir des résultats satisfaisants pour des applications classiques sans avoir besoin de matériel complexe pour le faire fonctionner.
Avantageusement, le choix de l’intervalle [11 ; I2] de valeurs du paramètre de largeur dépend du nombre de variables contenues dans une donnée de la base de données.
Ainsi, le nombre de neurones par couche est adapté à la complexité des données à traiter. Avantageusement, l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage couvre plusieurs puissances de dix allant de 104 à 1 avant l’étape de restriction dudit intervalle.
Ainsi, l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage prend en compte tous les cas de figure pouvant être rencontrés.
Avantageusement, les premier et deuxième échantillons de la base de données d’entraînement sont représentatifs de la base de données d’entraînement.
Ainsi, les résultats obtenus sur les échantillons permettent d’extrapoler les résultats qui auraient été obtenus sur la base entière.
Un second aspect de l’invention concerne un procédé d’évaluation d’un risque lié à une donnée caractérisé en ce qu’il comporte les étapes du procédé selon un premier aspect de l’invention suivies d’une étape d’évaluation du risque lié à la donnée par le réseau de neurones artificiels sélectionné à l’étape de sélection. Ainsi, le réseau de neurones artificiels généré par le procédé selon un premier aspect de l’invention qui a été adapté à la tâche d’évaluation d’un risque est utilisé pour évaluer le risque d’une donnée de même type que celles comprises dans les bases de données d’entraînement et de généralisation. Ainsi, l’utilisateur obtient, pour chaque donnée qu’il souhaite évaluer, une valeur du risque sans qu’il ait eu besoin de régler les paramètres du réseau de neurones artificiels.
Avantageusement, si la valeur du risque est supérieure à un seuil d’alerte, le procédé selon un premier aspect de l’invention comporte une étape de génération d’une alerte.
Ainsi, si la valeur du risque est élevée, l’utilisateur en est alerté et peut prendre une décision en conséquence.
Avantageusement, si la valeur du risque est supérieure à un seuil d’alerte, le procédé selon un premier aspect de l’invention comporte une étape de routage de la donnée vers un équipement donné. Ainsi, si la valeur du risque est élevée, la donnée est automatiquement envoyée vers un équipement utilisateur collectant les données à risque pour une analyse plus poussée. L’invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l’examen des figures qui l’accompagnent.
BREVE DESCRIPTION DES FIGURES
Les figures sont présentées à titre indicatif et nullement limitatif de l’invention.
- La figure 1 montre une représentation schématique d’un réseau de neurones artificiels.
- La figure 2 est un schéma synoptique illustrant les principales étapes d’un procédé de génération automatique de réseaux de neurones artificiels selon un premier aspect de l’invention.
- La figure 3 montre une représentation schématique d’un exemple de premier réseau de neurones artificiels de test.
- La figure 4 montre une représentation schématique d’un exemple de deuxième réseau de neurones artificiels de test.
- La figure 5 montre une représentation schématique d’un exemple de troisième réseau de neurones artificiels de test.
DESCRIPTION DETAILLEE D’AU MOINS UN MODE DE REALISATION DE L’INVENTION
Sauf précision contraire, un même élément apparaissant sur des figures différentes présente une référence unique.
Un premier aspect de l’invention concerne un procédé 200 de génération automatique de réseaux de neurones artificiels 100.
Dans la suite de la demande, on utilisera indifféremment les termes « réseau de neurones » et « réseau de neurones artificiel ». Un réseau de neurones 100 comporte au moins une couche 103 comportant au moins deux neurones 101. Sur la figure 1 , le réseau de neurones 100 comporte trois couches 103 comportant chacune trois neurones 101. De manière générale et comme illustré dans les figures, chaque neurone 101 de chaque couche 103 est connecté à chaque neurone 101 de la couche 103 précédente et à chaque neurone 101 de la couche 103 suivante. Cependant, on pourrait envisager le cas où chaque neurone 101 de chaque couche 103 est connecté uniquement à une partie des neurones 101 de la couche 103 précédente et/ou à une partie des neurones 101 de la couche 103 suivante. Une connexion 102 entre deux neurones 101 est affectée d’un poids ou coefficient synaptique.
Le paramètre de profondeur d’un réseau de neurones 100 se définit par le nombre de couches 103 du réseau de neurones 100.
De manière générale, chaque couche 103 d’un réseau de neurones 100 comporte un nombre différent de neurones 101. Dans le cadre de l’invention, comme représenté à la figure 1 , chaque couche 103 présente un même nombre de neurones 101. Le paramètre de largeur d’un réseau de neurones 100 se définit ainsi par le nombre de neurones 101 par couche 103 du réseau de neurones 100. Le paramètre de profondeur et le paramètre de largeur d’un réseau de neurones 100 définissent l’architecture du réseau de neurones 100.
Un réseau de neurones artificiels 100 est également défini par d’autres paramètres, comme un paramètre d’apprentissage et un paramètre de régularisation, qui décrivent son processus d’apprentissage.
Le paramètre d’apprentissage correspond au pas d’apprentissage du réseau de neurones 100 qui définit la fréquence à laquelle sont mis à jour les poids du réseau de neurones 100 et le paramètre de régularisation à son coefficient de régularisation qui limite le sur-apprentissage du réseau de neurones 100.
L’objectif du procédé 200 est de générer automatiquement un réseau de neurones artificiels 100 adapté à une tâche prédéfinie, à partir d’une base de données comportant une base de données d’apprentissage ou base de données d’entraînement sur laquelle le réseau de neurones 100 est entraîné à effectuer la tâche et une base de données de généralisation sur laquelle le réseau effectue la tâche pour laquelle il a été entraîné.
L’apprentissage est réalisé de manière supervisée, c’est-à-dire que la base de données d’apprentissage comporte des données annotées. Par exemple, une base de données d’apprentissage pour de la détection de personnes comporte des images dans lesquelles les personnes sont signalées, par exemple en fournissant les coordonnées d’un coin d’une fenêtre encadrant la personne, ainsi que sa longueur et sa largeur.
La base de données d’apprentissage représente par exemple entre 60% et 80% de la base de données, ou entre 70% et 80% de la base de données, ou entre 65% et 80% de la base de données.
On entend par « un réseau de neurones est adapté à une tâche » le fait que le réseau de neurones obtient des résultats satisfaisants pour la tâche sur la base de données de généralisation, après apprentissage de la tâche sur la base de données d’apprentissage. Ces résultats dépendent des paramètres fixés pour le réseau de neurones. Il s’agit donc de générer le réseau de neurones 100 dont les paramètres permettent d’obtenir les meilleurs résultats possibles sur la base de données pour la tâche prédéfinie.
Lorsqu’un réseau de neurones est adapté à une tâche, il est alors également adapté à la base de données dans la mesure où la base de données d’apprentissage est construite en fonction de la tâche à apprendre. Par exemple, si l’on se place dans le cas où la base de données est une base de données d’images et que la tâche que l’on souhaite effectuer est de la détection de personnes, chaque image de la base de données d’apprentissage sera en pratique associée à des coordonnées qui repèrent les personnes dans l’image.
Les données de la base de données sont par exemple des données bancaires, des données relatives à la réalisation d’un procédé ou d’un produit, ou encore des images. Une donnée de la base de données comporte au moins une variable, chaque donnée de la base de données comportant le même nombre de variables. Ainsi, si une variable est manquante dans une donnée, une valeur par défaut lui est affectée. La valeur par défaut est par exemple la valeur moyenne de la variable sur les autres données.
Dans le cas de données bancaires, les variables sont par exemple des informations sur un client comme son âge, ses revenus, son adresse ainsi que des informations sur le produit qu’il consomme comme le type de crédit contracté et le montant associé. Dans le cas de données relatives à la réalisation d’un produit, les variables sont par exemple des informations sur le produit comme son nom, sa composition ainsi que des informations sur son procédé de fabrication comme son temps de fabrication, le nom de la chaîne de montage sur laquelle il a été réalisé. Dans le cas de données relatives à des images, les variables sont par exemple la variance et la moyenne des niveaux de gris.
Dans le cas de données bancaires, la tâche à effectuer est par exemple de la classification pour regrouper des clients présentant des caractéristiques similaires et qui seraient donc intéressés par le même type de produits. Dans le cas de données relatives à la réalisation d’un produit, la tâche à effectuer est par exemple la détection d’anomalies comme une chaîne de montage défectueuse. Dans le cas de données relatives à des images, la tâche à effectuer est par exemple de la reconnaissance de caractères manuscrits.
On entend par « un réseau de neurones est généré automatiquement » le fait que le réseau de neurones est généré sans l’intervention d’un utilisateur.
Le procédé 200 selon un premier aspect de l’invention comporte plusieurs étapes dont l’enchaînement est représenté à la figure 2. Ces étapes sont mises en oeuvre par un calculateur comportant au moins un processeur et une mémoire.
Initialement, le paramètre de profondeur, le paramètre de largeur et le paramètre d’apprentissage ont chacun une valeur qui varie au sein d’un intervalle prédéfini. Ainsi, la valeur du paramètre de profondeur varie au sein d’un intervalle [p1 ; p2] de valeurs du paramètre de profondeur, la valeur du paramètre de largeur varie au sein d’un intervalle [11 ; I2] de valeurs du paramètre de largeur et la valeur du paramètre d’apprentissage varie au sein d’un intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage. L’intervalle [p1 ; p2] de valeurs du paramètre de profondeur et l’intervalle [11 ; I2] de valeurs du paramètre de largeur sont des intervalles de valeurs de nombres entiers puisque que le nombre de couches d’un réseau de neurones et le nombre de neurones par couche d’un réseau de neurones ne peuvent prendre que des valeurs entières.
Le nombre de couches d’un réseau de neurones est par exemple compris entre 2 et 20, entre 2 et 10 ou entre 4 et 6. Par exemple, l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur vaut [4 ; 6], c’est-à-dire que p1 égale 4 et p2 égale 6.
La valeur de la borne inférieure 11 et la valeur de la borne supérieure I2 de l’intervalle [11 ; I2] de valeurs du paramètre de largeur sont choisies en fonction du nombre de variables contenues dans chaque donnée de la base de données. Ainsi, l’architecture du réseau de neurones est adaptée à la complexité des données à traiter. Par exemple, si le nombre de variables contenues dans chaque donnée de la base de données vaut n, la borne inférieure 11 de l’intervalle [11 ; I2] de valeurs du paramètre de largeur vaudra l’arrondi à l’entier inférieur de
Figure imgf000017_0001
et la borne supérieure I2 de l’intervalle [11 ; I2] de valeurs du paramètre de largeur vaudra l’arrondi à l’entier inférieur 2*n. Par exemple, si n vaut 5, 11 vaut 2 et I2 vaut 10.
L’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage est choisi pour couvrir l’ensemble des cas possibles. Par exemple, l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage vaut [10 4 ; 1 ], c’est-à-dire que a1 est égal 10 4 et a2 est égal 1 .
La première étape du procédé 200 est une étape 201 de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage. A l’issue de cette étape 201 , un sous-intervalle [a1’ ; a2’] de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage est obtenu, ce qui signifie que a1’ est supérieur à a1 et que a2’ est inférieur à a2. a1’ peut être égal à a1 si et seulement si a2’ est différent de a2 et a2’ peut être égal à a2 si et seulement si a1’ est différent de a1.
L’étape 201 de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage comporte une étape de génération d’un premier réseau de neurones artificiels de test 110.
Le premier réseau de neurones artificiels de test 1 10 possède un nombre de couches égal à p1 , c’est-à-dire que son paramètre de profondeur est égal à la borne inférieure p1 de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur et un nombre de neurones par couche égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur. Le premier réseau de neurones artificiels de test 1 10 peut ainsi être qualifié de réseau de neurones simple dans la mesure où la valeur fixée pour son paramètre de profondeur est la valeur minimale possible. Le premier réseau de neurones artificiels de test 110 est représenté à la figure 3 dans le cas où p1 est égal à 4 et [11 ; I2] est égal à [2 ; 4] . Le premier réseau de neurones artificiels de test 110 comporte alors 4 couches possédant 3 neurones chacune.
Le premier réseau de neurones artificiels de test 1 10 possède un paramètre d’apprentissage variable et un paramètre de régularisation égal à zéro ce qui signifie que le premier réseau de neurones artificiels de test 110 ne fait pas de régularisation.
L’étape 201 de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage comporte une étape de génération d’un deuxième réseau de neurones artificiels de test 120.
Le deuxième réseau de neurones artificiels de test 120 possède un nombre de couches égal à p2, c’est-à-dire que son paramètre de profondeur est égal à la borne supérieure p2 de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur et un nombre de neurones par couche égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur. Le deuxième réseau de neurones artificiels de test 120 peut ainsi être qualifié de réseau de neurones complexe dans la mesure où la valeur fixée pour son paramètre de profondeur est la valeur maximale possible. Le deuxième réseau de neurones artificiels de test 120 est représenté à la figure 4 dans le cas où p2 est égal à 6 et [11 ; I2] est égal à [2 ; 4] Le deuxième réseau de neurones artificiels de test 120 comporte alors 6 couches possédant 3 neurones chacune.
Le deuxième réseau de neurones artificiels de test 120 possède un paramètre d’apprentissage variable et un paramètre de régularisation égal à zéro ce qui signifie que le deuxième réseau de neurones artificiels de test 120 ne fait pas de régularisation.
Une fois générés, le premier réseau de neurones artificiels de test 1 10 et le deuxième réseau de neurones artificiels de test 120 sont ensuite entraînés. Pour cela, des échantillons de données sont sélectionnés sur lesquels les réseaux de neurones artificiels de test seront entraînés. Un premier et un deuxième échantillon de la base de données d’entraînement sont sélectionnés de manière qu’ils soient représentatifs de la base de données d’entraînement. On entend par « un échantillon est représentatif d’une base de données » le fait que la distribution de l’échantillon est identique à la distribution de la base de données pour une cible choisie. Par exemple, dans le cas de la détection, si dans une base de données, il y a 80% d’exemples positifs et 20% d’exemples négatifs, un échantillon représentatif de cette base de données aura également 80% d’exemples positifs et 20% d’exemples négatifs.
Par exemple, le premier et le deuxième échantillon de la base de données d’entraînement possèdent chacun entre 1 et 25% des données de la base de données d’entraînement.
Par exemple, le premier et le deuxième échantillon de la base de données d’entraînement sont identiques.
L’étape d’entraînement du premier réseau de neurones artificiels de test 1 10 de l’étape 201 de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage comporte une sous-étape de sélection de plusieurs valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage permettant d’obtenir un premier jeu de valeurs du paramètre d’apprentissage. Par exemple, les valeurs du premier jeu de valeurs du paramètre d’apprentissage couvrent tous les puissances de dix de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage.
Le premier réseau de neurones artificiels de test 1 10 est ensuite entraîné sur le premier échantillon de la base de données d’entraînement en donnant l’une des valeurs du premier jeu de valeurs du paramètre d’apprentissage à son paramètre d’apprentissage. A chaque donnée apprise, une fonction de coût est calculée.
La fonction de coût C est par exemple définie comme ci-dessous :
Figure imgf000020_0001
Avec : xN, la N-ème donnée de la base de données utilisée, e£, l’erreur entre la valeur trouvée par le réseau de neurones et la valeur réelle pour la donnée i, N le nombre de données utilisées de la base de données, l le paramètre de régularisation, pj t un j-ème coefficient de réseau du réseau de neurones et P le nombre de coefficients de réseau du réseau de neurones.
Par exemple, pour une tâche de classification, l’erreur correspond à l’entropie croisée entre la valeur réelle d’une donnée et la valeur trouvée par le réseau de neurones, se définissant par :
Figure imgf000020_0002
où fc(Xi) est le score (compris entre 0 et 1 ) que le réseau de neurones attribue à la classe correcte de la donnée i. Ainsi, l’erreur est minimale et vaut 0 si le réseau de neurones attribue un score de 1 à la classe correcte.
L’erreur entre la valeur trouvée par le réseau de neurones et la valeur réelle peut également être par exemple la valeur absolue de la différence entre la valeur trouvée par le réseau de neurones et la valeur réelle ou encore la différence au carré entre la valeur trouvée par le réseau de neurones et la valeur réelle. Chaque coefficient de réseau est lié à une couche du réseau de neurones artificiels 100. Par exemple, le coefficient de réseau est le coefficient synaptique affecté à la couche. Dans cet exemple, la fonction de coût est donc la somme de deux termes : un premier terme correspondant à la moyenne des erreurs sur la base de données utilisée et le second terme à une fonction de régularisation définie comme étant le produit du paramètre de régularisation et de la somme au carré des valeurs des normes des coefficients de réseau. Ainsi, la fonction de coût évalue les performances du réseau de neurones en comparant le résultat obtenu par le réseau de neurones avec le résultat à obtenir tout en pénalisant le sur apprentissage.
On entend par « un réseau de neurones obtient les meilleurs résultats » le fait que le premier terme de la fonction de coût associée au réseau de neurones est le plus faible possible.
Le premier réseau de neurones artificiels de test 1 10 ayant un paramètre de régularisation nul, la fonction de coût à la fin de l’entraînement correspond uniquement à la moyenne des erreurs sur le premier échantillon de la base de données d’entraînement.
La fonction de coût pourrait également être définie comme la somme d’un premier terme correspondant à la somme des erreurs sur la base de données utilisée et d’un second terme correspondant à une fonction de régularisation.
Le premier réseau de neurones artificiels de test 1 10 est ainsi entraîné pour chaque valeur du paramètre d’apprentissage du premier jeu de valeurs du paramètre d’apprentissage et une fonction de coût est calculée pour chaque entraînement. Chaque fonction de coût calculée correspond ainsi à une valeur du paramètre d’apprentissage. Une fois toutes les fonctions de coût calculées, une première valeur du paramètre d’apprentissage, dont la fonction de coût correspondante répond à une condition de sélection, est sélectionnée.
Par exemple, la fonction de coût répondant à la condition de sélection est la fonction de coût ayant la décroissance la plus rapide parmi les fonctions de coût calculées. Ainsi, lorsque la fonction de coût est la somme d’une fonction de régularisation et de la moyenne des erreurs sur la base de données utilisée, comme le premier réseau de neurones de test 1 10 a un paramètre de régularisation nul, la fonction de coût correspond uniquement à la moyenne des erreurs et la condition de sélection permet de sélectionner la valeur du paramètre d’apprentissage du réseau de neurones artificiels obtenant les meilleurs résultats et le plus rapidement sur le premier échantillon de la base de données d’entraînement.
Dans l’étape 201 de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage, l’étape d’entraînement du deuxième réseau de neurones artificiels de test 120 comporte une sous-étape de sélection de plusieurs valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage permettant d’obtenir un deuxième jeu de valeurs du paramètre d’apprentissage. Par exemple, les valeurs du deuxième jeu de valeurs du paramètre d’apprentissage couvrent tous les puissances de dix de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage.
Par exemple, le premier et le deuxième jeu de valeurs du paramètre d’apprentissage sont identiques.
Le deuxième réseau de neurones artificiels de test 120 est ensuite entraîné sur le deuxième échantillon de la base de données d’entraînement en donnant l’une des valeurs du deuxième jeu de valeurs du paramètre d’apprentissage à son paramètre d’apprentissage. A chaque donnée apprise, la fonction de coût est calculée.
Le deuxième réseau de neurones artificiels de test 120 est ainsi entraîné pour chaque valeur du paramètre d’apprentissage du deuxième jeu de valeurs du paramètre d’apprentissage et la fonction de coût est calculée pour chaque entraînement.
Une fois toutes les fonctions de coût calculées, une seconde valeur du paramètre d’apprentissage dont la fonction de coût correspondante répond à la condition de sélection est sélectionnée.
Les étapes de l’étape 201 de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage précédemment décrites peuvent se faire dans cet ordre ou dans un ordre différent, c’est-à-dire que, par exemple, la génération et l’entraînement du deuxième réseau de neurones de test 120 peuvent se faire avant la génération et l’entraînement du premier réseau de neurones de test 1 10. La seule limitation dans l’ordre de ces étapes est que l’entraînement d’un réseau de neurones ne peut être réalisé que si ledit réseau de neurones a été préalablement généré.
Les première et seconde valeurs du paramètre d’apprentissage sont ensuite comparées : la plus petite de ces deux valeurs est une valeur du paramètre d’apprentissage minimale et la plus grande de ces deux valeurs est une valeur du paramètre d’apprentissage maximale.
La borne inférieure a1’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage restreint est calculée à partir de la valeur du paramètre d’apprentissage minimale. Par exemple, la borne inférieure a1’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage restreint est égale à un dixième de la valeur du paramètre d’apprentissage minimale.
La borne supérieure a2’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage restreint est calculée à partir de la valeur du paramètre d’apprentissage maximale. Par exemple, la borne supérieure a2’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage restreint est égale à la valeur du paramètre d’apprentissage maximale. Chaque entraînement du premier réseau de neurones artificiels de test 1 10 et du deuxième réseau de neurones artificiels de test 120 est réalisé pour au moins une époque ou alternativement pour plusieurs époques, une époque correspondant à un parcours de l’échantillon entier de la base de données d’entraînement utilisé. Par exemple, le nombre d’époques utilisé pour entraîner le premier réseau de neurones artificiels de test 1 10 est identique au nombre d’époques utilisé pour entraîner le deuxième réseau de neurones artificiels de test 120.
Le nombre d’époques utilisé est par exemple compris entre 10 et 100 époques, ou entre 30 et 70 époques, ou entre 40 et 60 époques. Par exemple, le nombre d’époques est égal à 50.
La deuxième étape du procédé 200 est une étape 202 de définition d’un intervalle [r1 ; r2] de valeurs du paramètre de régularisation. A l’issue de cette étape 202, un intervalle [r1 ; r2] de valeurs du paramètre de régularisation dans lequel la valeur du paramètre de régularisation pourra varier, est obtenu.
L’étape 202 de définition d’un intervalle [r1 ; r2] de valeurs du paramètre de régularisation comporte une étape de génération d’un troisième réseau de neurones artificiels de test 130.
Le troisième réseau de neurones artificiels de test 130 possède un nombre de couches égal à la valeur moyenne de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, c’est-à-dire que son paramètre de profondeur est égal à la valeur moyenne de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un nombre de neurones par couche égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur, c’est-à-dire que son paramètre de largeur est égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur. Le troisième réseau de neurones artificiels de test 130 peut ainsi être qualifié de réseau de neurones intermédiaire dans la mesure où la valeur fixée pour son paramètre de profondeur est la valeur moyenne. Le troisième réseau de neurones artificiels de test 130 est représenté à la figure 5 dans le cas où p1 est égal à 4, p2 est égal à 6, 11 est égal à 2 et I2 est égal à 4. Le troisième réseau de neurones artificiels de test 130 comporte alors 5 couches possédant 3 neurones chacune.
Le troisième réseau de neurones artificiels de test 130 possède un paramètre d’apprentissage égal à la valeur médiane de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage précédemment restreint et un paramètre de régularisation égal à zéro ce qui signifie que le troisième réseau de neurones artificiels de test 130 ne fait pas de régularisation.
Une fois généré, le troisième réseau de neurones artificiels de test 130 est entraîné sur la base de données d’entraînement entière et la fonction de coût est calculée.
Cet entraînement est réalisé pour au moins une époque ou alternativement pour plusieurs époques.
Par exemple, le nombre d’époques utilisé pour entraîner le troisième réseau de neurones artificiels de test 130 est identique au nombre d’époques utilisé pour entraîner le premier réseau de neurones artificiels de test 1 10 et/ou le deuxième réseau de neurones artificiels de test 120.
Un paramètre de régularisation optimal l est ensuite calculé de la manière suivante :
Figure imgf000025_0001
Avec : C, la fonction de coût, pj, le j-ème coefficient de réseau du réseau de neurones et P le nombre de coefficients de réseau du réseau de neurones. La borne inférieure r1 et la borne supérieure r2 de l’intervalle [r1 ; r2] de valeurs du paramètre de régularisation sont ensuite calculées à partir du paramètre de régularisation optimal.
Par exemple, la borne inférieure r1 et la borne supérieure r2 de l’intervalle [r1 ; r2] de valeurs du paramètre de régularisation sont les puissances de dix de part et d’autre du paramètre de régularisation optimal. Ainsi, si le paramètre de régularisation optimal vaut 52, r1 égale 10 et r2 égale 102.
La troisième étape du procédé 200 est une étape 203 de génération, d’entraînement et de test d’une pluralité de réseaux de neurones et de calcul de la fonction de coût pour chaque réseau de neurones testé. A l’issue de cette étape 203, une pluralité de fonctions de coût est obtenue, chaque fonction de coût correspondant à un réseau de neurones testé.
Chaque réseau de neurones est généré avec un jeu de paramètres différent, un jeu de paramètres comportant le paramètre de profondeur, le paramètre de largeur, le paramètre d’apprentissage et le paramètre de régularisation. Dans un premier temps, la valeur du paramètre de profondeur varie dans l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, la valeur du paramètre de largeur varie dans l’intervalle [11 ; I2] de valeurs du paramètre de largeur, la valeur du paramètre d’apprentissage varie dans l’intervalle [a1’ ; a2’j de valeurs du paramètre d’apprentissage précédemment restreint et la valeur du paramètre de régularisation varie dans l’intervalle [r1 ; r2] de valeurs du paramètre de régularisation précédemment défini, de manière équiprobable. Ainsi, la probabilité qu’un paramètre donné prenne une valeur donnée est la même pour toutes les valeurs de l’intervalle correspondant. Par exemple, si le paramètre de profondeur peut varier dans l’intervalle [4 ; 6], la probabilité que le paramètre de profondeur vaille 4 vaut 1/3, la probabilité que le paramètre de profondeur vaille 5 vaut 1/3 et la probabilité que le paramètre de profondeur vaille 6 vaut 1/3. Les réseaux de neurones ainsi générés sont ensuite entraînés sur la base de données d’entraînement puis testés sur la base de données de généralisation, et la fonction de coût est alors calculée pour chacun de ces réseaux de neurones. La comparaison des fonctions de coût de ces réseaux de neurones est utilisée pour mettre à jour, pour chaque valeur possible d’un paramètre donné, la probabilité que le paramètre prenne cette valeur. Par exemple, dans le cas simplifié où l’on a calculé la fonction de coût d’un premier réseau de neurones dont le paramètre de profondeur vaut 4 et la fonction de coût d’un second réseau de neurones dont le paramètre de profondeur vaut 5 et que, par exemple, la fonction de coût du premier réseau de neurones est inférieure à la fonction de coût du second réseau de neurones, la probabilité que le paramètre de profondeur vaille 4 pour un réseau de neurones prochainement généré sera supérieure à la probabilité que son paramètre de profondeur vaille 5. Ainsi, dans un second temps, d’autres réseaux de neurones sont générés, pour lesquels la valeur de chaque paramètre varie toujours dans l’intervalle de valeurs du paramètre correspondant mais plus de manière équiprobable, c’est-à-dire qu’un paramètre donné aura plus de probabilité de prendre telle valeur de l’intervalle de valeurs correspondant plutôt que telle autre. Par exemple, en reprenant l’exemple précédent, la probabilité que le paramètre de profondeur vaille 4 peut valoir 3/4, la probabilité que le paramètre de profondeur vaille 5 peut valoir 3/16 et la probabilité que le paramètre de profondeur vaille 6 peut valoir 1/16. Ceci permet de concentrer la recherche sur les régions de l’espace des paramètres qui donnent les meilleurs résultats et ainsi de diminuer le temps de calcul. Chaque réseau de neurones généré dans un second temps passe ensuite par une phase d’entraînement sur la base de données d’entraînement. Chaque réseau de neurones généré dans un second temps est ensuite testé sur la base de données de généralisation et la fonction de coût est calculée. La fonction de coût est alors utilisée à son tour pour mettre à nouveau à jour les probabilités qu’un paramètre donné prenne une valeur donnée par comparaison avec les fonctions de coût calculées précédemment. Ainsi, les réseaux de neurones artificiels générés au fil des étapes successives de génération tendent de plus en plus à converger vers un même réseau de neurones artificiels. Autrement dit, au fil des étapes successives de génération, au sein de chaque intervalle de valeurs correspondant à un paramètre, une valeur a sa probabilité qui tend de plus en plus vers 1.
La quatrième étape du procédé 200 est une étape 204 de sélection d’un des réseaux de neurones artificiels précédemment testé. Le réseau de neurones artificiels précédemment testé dont la fonction de coût correspondante répond à une condition de validation est sélectionné. Par exemple, la fonction de coût répondant à la condition de validation est la fonction de coût minimale, c’est-à-dire la fonction de coût associé au réseau de neurones donnant de bons résultats tout en pénalisant le sur-apprentissage.
A l’issue de cette étape 204, le réseau de neurones artificiel précédemment testé le plus adapté à la tâche à effectuer est obtenu.
Par exemple, un utilisateur souhaite adapter un réseau de neurones artificiels à la tâche d’évaluation d’un risque. La base de données d’apprentissage et la base de données de généralisation comportent alors un type de données pour lesquelles l’utilisateur souhaite évaluer un risque.
Les bases de données d’apprentissage et de généralisation comportent par exemple des profils utilisateurs pour lesquels l’utilisateur souhaite évaluer, par exemple le risque de fraude. La base de données d’apprentissage comporte alors des profils utilisateurs et les valeurs de risque de fraude associées et la base de données de généralisation comporte des profils utilisateurs pour lesquels les valeurs de risque de fraude sont connues mais non comprises dans la base de données de généralisation.
De même, les bases de données d’apprentissage et de généralisation peuvent comporter des données relatives à un procédé, par exemple les données d’un processus dans une centrale nucléaire, pour lesquels l’utilisateur souhaite évaluer, par exemple le risque d’accident.
Une fois que le réseau de neurones artificiels adapté à l’évaluation d’un risque est généré, les étapes 201 à 204 du procédé 100 selon un premier aspect de l’invention peuvent être suivies d’une étape d’évaluation d’un risque associé à une donnée de même type que les données des bases de données d’apprentissage et de généralisation. Le procédé devient alors un procédé d’évaluation d’un risque lié à une donnée.
Par exemple, si les bases de données d’apprentissage et de généralisation comportent des profils utilisateurs dont on veut évaluer le risque de fraude, le réseau de neurones artificiels généré va fournir une valeur de risque pour un profil utilisateur donné quantifiant le risque qu’un tel utilisateur fraude.
La valeur du risque obtenue peut alors être comparée à un seuil d’alerte et des mesures particulières peuvent être mises en place si la valeur du risque est supérieure au seuil d’alerte, par exemple une alerte peut être générée ou la donnée peut être envoyée à un équipement utilisateur dédié pour une analyse de risque plus poussée.

Claims

REVENDICATIONS
1. Procédé (200) de génération automatique, à partir d’une base de données d’entraînement et d’une base de données de généralisation, d’un réseau de neurones artificiels (100) comportant au moins une couche (103) de neurones artificiels (101 ), le réseau de neurones artificiels (100) ayant un paramètre de régularisation, un paramètre d’apprentissage, un paramètre de profondeur correspondant au nombre de couches (103) du réseau de neurones artificiels (100) et un paramètre de largeur correspondant au nombre de neurones artificiels (101 ) par couche (103) du réseau de neurones artificiels (100), le paramètre de profondeur pouvant être choisi parmi un intervalle [p1 ; p2] de valeurs du paramètre de profondeur, le paramètre de largeur pouvant être choisi parmi un intervalle [11 ; I2] de valeurs du paramètre de largeur et le paramètre d’apprentissage pouvant être choisi parmi un intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage, le procédé étant mis en oeuvre par un calculateur et étant caractérisé en ce qu’il comporte :
- une étape (201 ) de restriction de l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage en un intervalle [a1’ ; a2’], comportant les étapes suivantes :
• Générer un premier réseau de neurones artificiels de test (110) ayant un paramètre de profondeur égal à la borne inférieure p1 de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un paramètre de largeur égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur et un paramètre de régularisation nul ;
• Entraîner le premier réseau de neurones artificiels de test (110) sur un premier échantillon de la base de données d’entraînement pour plusieurs valeurs du paramètre d’apprentissage comprises dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;
• Générer un deuxième réseau de neurones artificiels de test (120) ayant un paramètre de profondeur égal à la borne supérieure p2 de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un paramètre de largeur égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur et un paramètre de régularisation nul ;
• Entraîner le deuxième réseau de neurones artificiels de test (120) sur un deuxième échantillon de la base de données d’entraînement pour plusieurs valeurs du paramètre d’apprentissage comprises dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;
• Calculer la nouvelle borne inférieure a1’ et la nouvelle borne supérieure a2’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage ;
- une étape (202) de définition d’un intervalle [r1 ; r2] de valeurs du paramètre de régularisation comportant les étapes suivantes :
• Générer un troisième réseau de neurones artificiels de test (130) ayant un paramètre de profondeur égal à la valeur moyenne de l’intervalle [p1 ; p2] de valeurs du paramètre de profondeur, un paramètre de largeur égal à la valeur moyenne de l’intervalle [11 ; I2] de valeurs du paramètre de largeur, un paramètre d’apprentissage égal à la valeur médiane de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage restreint et un paramètre de régularisation nul ;
• Entraîner le troisième réseau de neurones artificiels de test (130) sur la base de données d’entraînement et calculer la borne inférieure r1 et la borne supérieure r2 de l’intervalle [r1 ; r2] de valeurs du paramètre de régularisation ;
- une étape (203) de génération, d’entraînement sur la base de données d’entraînement et de test sur la base de données de généralisation, d’une pluralité de réseaux de neurones artificiels, en faisant varier la valeur de chaque paramètre dans l’intervalle de valeurs correspondant et de calcul d’une fonction de coût pour chaque réseau de neurones artificiels testé ; - une étape (204) de sélection du réseau de neurones artificiels (100) pour lequel la fonction de coût calculée répond à une condition de validation.
2. Procédé (200) selon l’une quelconque des revendications précédentes, caractérisé en ce que la fonction de coût est la somme d’une fonction de régularisation et de la moyenne des erreurs sur la base de données utilisée.
3. Procédé (200) selon la revendication 2, caractérisé en ce que la fonction de régularisation est le produit du paramètre de régularisation et de la somme au carré des normes des valeurs de coefficients de réseau.
4. Procédé (200) selon l’une quelconque des revendications précédentes, caractérisé en ce que :
- l’étape d’entraînement du premier réseau de neurones artificiels de test (1 10) comporte les sous-étapes suivantes :
• Sélectionner différentes valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;
• Pour chaque valeur du paramètre d’apprentissage sélectionnée, entraîner, sur le premier échantillon de la base de données d’entraînement, le premier réseau de neurones artificiels de test (1 10) avec la valeur sélectionnée comme paramètre d’apprentissage et calculer la fonction de coût correspondante ;
• Sélectionner une première valeur du paramètre d’apprentissage pour laquelle la fonction de coût correspondante répond à une condition de sélection ;
- l’étape d’entraînement du deuxième réseau de neurones artificiels de test (120) comporte les sous-étapes suivantes : • Sélectionner différentes valeurs du paramètre d’apprentissage compris dans l’intervalle [a1 ; a2] de valeurs du paramètre d’apprentissage ;
• Pour chaque valeur du paramètre d’apprentissage sélectionnée, entraîner, sur le deuxième échantillon de la base de données d’entraînement, le deuxième réseau de neurones artificiels de test (120) avec la valeur sélectionnée comme paramètre d’apprentissage et calculer la fonction de coût correspondante ;
• Sélectionner une seconde valeur du paramètre d’apprentissage pour laquelle la fonction de coût correspondante répond à la condition de sélection.
5. Procédé (200) selon la revendication 4, caractérisé en ce que la fonction de coût répondant à la condition de sélection est la fonction de coût ayant la décroissance la plus rapide.
6. Procédé (200) selon la revendication 4 ou la revendication 5, caractérisé en ce que l’étape de calcul de la nouvelle borne inférieure a1’ et de la nouvelle borne supérieure a2’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage comporte les sous-étapes suivantes :
• Comparer la première et la seconde valeur du paramètre d’apprentissage pour déterminer une valeur du paramètre d’apprentissage minimale et une valeur du paramètre d’apprentissage maximale ;
• Calculer la nouvelle borne inférieure a1’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage à partir de la valeur du paramètre d’apprentissage minimale ;
• Calculer la nouvelle borne supérieure a2’ de l’intervalle [a1’ ; a2’] de valeurs du paramètre d’apprentissage à partir de la valeur du paramètre d’apprentissage maximale.
7. Procédé (200) selon l’une quelconque des revendications précédentes, caractérisé en ce que l’étape (202) de définition d’un intervalle [r1 ; r2] de valeurs du paramètre de régularisation comporte les étapes suivantes :
• Entraîner, sur la base de données d’entraînement, le troisième réseau de neurones artificiels de test (130) et calculer la fonction de coût ;
• Calculer un paramètre de régularisation optimal à partir de la fonction de coût précédemment calculée ;
• Calculer la borne inférieure r1 et la borne supérieure r2 de l’intervalle [r1 ; r2] de valeurs du paramètre de régularisation à partir du paramètre de régularisation optimal.
8. Procédé (200) selon la revendication 7, caractérisé en ce que le paramètre de régularisation optimal est la somme des normes au carré des gradients de la fonction de coût par rapport à des coefficients de réseau, divisé par la somme des normes au carré des coefficients de réseau.
9. Procédé (200) selon l’une quelconque des revendications précédentes, caractérisé en ce que la fonction de coût répondant à la condition de validation est la fonction de coût minimale.
10. Procédé (200) selon l’une quelconque des revendications précédentes, caractérisé en ce que l’étape (203) de génération, d’entraînement et de test de plusieurs réseaux de neurones artificiels, comporte plusieurs sous- étapes :
• Générer plusieurs réseaux de neurones artificiels en faisant varier la valeur de chaque paramètre dans l’intervalle de valeurs correspondant, chaque valeur de l’intervalle de valeurs correspondant étant équiprobable, entraîner sur la base de données d’entraînement et tester sur la base de données de généralisation, lesdits plusieurs réseaux de neurones artificiels générés, et calculer la fonction de coût pour chacun desdits réseaux de neurones artificiels entraînés et testés ;
• En comparant les fonctions de coût précédemment calculées, mettre à jour, pour un intervalle de valeurs donné, les probabilités affectées à chaque valeur de l’intervalle de valeurs ;
• Générer plusieurs autres réseaux de neurones artificiels en faisant varier la valeur de chaque paramètre dans l’intervalle de valeurs correspondant, les valeurs de l’intervalle de valeurs correspondant n’étant plus toutes équiprobables, entraîner sur la base de données d’entraînement et tester sur la base de données de généralisation, lesdits autres réseaux de neurones artificiels et calculer la fonction de coût pour chacun desdits autres réseaux de neurones artificiels entraînés et testés, la fonction de coût étant comparée aux fonctions de coût précédemment calculées pour mettre à jour, pour un intervalle de valeurs donné, les probabilités affectées à chaque valeur de l’intervalle de valeurs.
11. Procédé d’évaluation d’un risque lié à une donnée caractérisé en ce qu’il comporte les étapes du procédé (200) selon l’une quelconque des revendications précédentes suivies d’une étape d’évaluation du risque lié à la donnée par le réseau de neurones artificiels (100) sélectionné à l’étape (204) de sélection.
12. Procédé d’évaluation selon la revendication 1 1 , caractérisé en ce que si la valeur du risque est supérieure à un seuil d’alerte, il comporte une étape de génération d’une alerte.
13. Procédé d’évaluation selon l’une quelconque des revendications 1 1 à 12, caractérisé en ce que si la valeur du risque est supérieure au seuil d’alerte, il comporte une étape de routage de la donnée vers un équipement donné.
PCT/EP2019/061225 2018-05-02 2019-05-02 Procede de generation automatique de reseaux de neurones artificiels et procede d'evaluation d'un risque associe WO2019211367A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1853791 2018-05-02
FR1853791A FR3080932A1 (fr) 2018-05-02 2018-05-02 Procede de generation automatique de reseaux de neurones artificiels

Publications (1)

Publication Number Publication Date
WO2019211367A1 true WO2019211367A1 (fr) 2019-11-07

Family

ID=63896241

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2019/061225 WO2019211367A1 (fr) 2018-05-02 2019-05-02 Procede de generation automatique de reseaux de neurones artificiels et procede d'evaluation d'un risque associe

Country Status (2)

Country Link
FR (1) FR3080932A1 (fr)
WO (1) WO2019211367A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3103600A1 (fr) * 2019-11-27 2021-05-28 Université De Montpellier Procede de determination automatique de parametres d’un reseau de neurones artificiels et microcontroleur pour la mise en œuvre du procede

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HECTOR MENDOZA ET AL: "Towards Automatically-Tuned Neural Networks", JMLR: WORKSHOP AND CONFERENCE PROCEEDINGS ICML 2016 AUTOML WORKSHOP, 1 January 2016 (2016-01-01), pages 58 - 65, XP055553377, Retrieved from the Internet <URL:http://proceedings.mlr.press/v64/mendoza_towards_2016.pdf> *
KEVIN SWERSKY ET AL: "Raiders of the Lost Architecture: Kernels for Bayesian Optimization in Conditional Parameter Spaces", 14 September 2014 (2014-09-14), XP055553371, Retrieved from the Internet <URL:https://arxiv.org/pdf/1409.4011.pdf> *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3103600A1 (fr) * 2019-11-27 2021-05-28 Université De Montpellier Procede de determination automatique de parametres d’un reseau de neurones artificiels et microcontroleur pour la mise en œuvre du procede
WO2021105332A1 (fr) * 2019-11-27 2021-06-03 Université De Montpellier Procede de determination automatique de parametres d'un reseau de neurones artificiels et microcontroleur pour la mise en œuvre du procede

Also Published As

Publication number Publication date
FR3080932A1 (fr) 2019-11-08

Similar Documents

Publication Publication Date Title
EP2696344B1 (fr) Procede et systeme pour detecter des evenements sonores dans un environnement donne
Beck et al. Integrating human and machine intelligence in galaxy morphology classification tasks
EP0521548B1 (fr) Procédé et dispositif avec un réseau neuronal pour classer des données
EP0573357A1 (fr) Procédé de diagnostic d&#39;un processus évolutif
FR3032786A1 (fr) Systeme de traitement de donnees et de modelisation pour l&#39;analyse de la consommation energetique d&#39;un site
WO2016012972A1 (fr) Procede pour detecter des anomalies dans un reseau de distribution, en particulier d&#39;eau potable
EP1627494A1 (fr) Procede d apprentissage automatique de chroniques frequentes dans un journal d alarmes pour la supervision de systemes d ynamiques
WO2020208153A1 (fr) Procede de definition d&#39;un chemin
CN114663392A (zh) 一种基于知识蒸馏的工业图像缺陷检测方法
EP3633545A1 (fr) Procedes d&#39;apprentissage de parametres d&#39;un reseau de neurones a convolution, de detection d&#39;elements d&#39;interet visibles dans une image et d&#39;association d&#39;elements d&#39;interet visibles dans une image
WO2019211367A1 (fr) Procede de generation automatique de reseaux de neurones artificiels et procede d&#39;evaluation d&#39;un risque associe
WO2022008605A1 (fr) Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d&#39;ordinateur associés
EP3846087A1 (fr) Procede et systeme de selection d&#39;un modele d&#39;apprentissage au sein d&#39;une pluralite de modeles d&#39;apprentissage
EP3660748A1 (fr) Procédé d&#39;analyse d&#39;un jeu de paramètres d&#39;un réseau de neurones en vue d&#39;obtenir une amélioration technique, par exemple un gain en mémoire
EP4099228A1 (fr) Apprentissage automatique sans annotation ameliore par regroupements adaptatifs en ensemble ouvert de classes
EP1007962A1 (fr) Appareil de classification utilisant une combinaison de methodes statistiques et de reseaux neuronaux, destine notamment a la reconnaissance d&#39;odeurs
WO2000029992A1 (fr) Outil de modelisation a capacite controlee
FR3094104A1 (fr) Procédé et dispositif de détermination de la taille mémoire globale d’une zone mémoire globale allouée aux données d’un réseau de neurones compte tenu de sa topologie
FR3075995A1 (fr) Procede de detection de donnees aberrantes.
Hosseini et al. Carpets color and pattern detection based on their images
WO2020229310A1 (fr) Procédé d&#39;analyse automatique d&#39;images pour reconnaître automatiquement au moins une caractéristique rare
WO2020002573A1 (fr) Procede de modelisation pour le controle des resultats fournis par un reseau de neurones artificiels et autres procedes associes
WO2022008814A1 (fr) Procédé d&#39;évaluation de l&#39;état relatif d&#39;un moteur d&#39;aéronef
EP3340065A1 (fr) Procédé de détermination de l&#39;état d&#39;un système, procédé de détermination d&#39;une méthode de projection optimale et dispositif mettant en oeuvre lesdits procédés
EP4012619A1 (fr) Méthode de compression d&#39;un réseau de neurones artificiel

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19720646

Country of ref document: EP

Kind code of ref document: A1