EP4162409A1 - Procédé de génération d'un système d'aide à la décision et systèmes associés - Google Patents
Procédé de génération d'un système d'aide à la décision et systèmes associésInfo
- Publication number
- EP4162409A1 EP4162409A1 EP21731114.1A EP21731114A EP4162409A1 EP 4162409 A1 EP4162409 A1 EP 4162409A1 EP 21731114 A EP21731114 A EP 21731114A EP 4162409 A1 EP4162409 A1 EP 4162409A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- function
- neural
- neural network
- subnetwork
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Definitions
- the present invention relates to a method for generating a decision support system.
- the present invention also relates to decision support systems associated with the generation method.
- Decision support and more specifically multi-criteria decision support, is a vast field whose applications belong to many and varied fields, such as air traffic control, border surveillance or medicine.
- Such problems include in particular the problems of classification (classifying alternatives in classes each corresponding to a level of satisfaction), sorting (sorting the alternatives in the order of the decision-maker's preferences), choice (selection of the best alternative among all of them). alternatives) and evaluation (providing an overall score for an alternative)
- the models developed are capable of reproducing as closely as possible the decision-making strategies of the decision-maker, and of providing him with indicators on the proposed choice in order to justify their exits.
- such models are called preference models.
- preference model parameters require a sustained interaction between the decision maker (end user who will be helped by the model) and the designers of the model.
- the designers ask the expert to provide so-called "preferential" information which will depend on the preference model and the possible sets of parameters.
- the questions are usually artificially determined by the designers in order to extract as much information as possible.
- Such data is, for example, derived from a collection of feedback from a system operator on recommendations made to him.
- This data can be marred by uncertainty (noise on the data for example), and contain errors (in the label of the data for example).
- the present description proposes a method for generating a multicriteria decision support system, the generation method comprising the supply of an initial problem and of training data solving the initial problem for particular cases.
- the initial problem being a problem of evaluating the quality of the existing system or to be created
- the initial problem is a problem chosen among the choice of the best alternative among a set of alternatives, the distribution of alternatives among classes of preferences, ranking alternatives in order of preference, and providing an alternative evaluation score.
- the generation method further comprises the transcription of the initial problem in the form of a neural network and of a set of constraints to be respected by the neural network, in order to obtain a transcribed neural network, the learning of the network. of neurons transcribed using the training data, to obtain a learned neural network solving the initial problem, the determination of the function performed by the learned neural network, and the physical implementation of the determined function to obtain the decision support system.
- the generation method comprises one or more of the following characteristics when this is technically possible:
- the transcribed neural network comprises a set of neural subnetworks, the retranscription step comprising the formulation of the set of constraints to be respected by the neural network in the form of sub-constraints to be respected by each subnetwork neurons.
- each neural sub-network comprises hidden layers, the number of hidden layers being less than or equal to 5, preferably less than or equal to 3.
- the sub-constraints to be respected by a neural sub-network are chosen from the list made up of the monotony of the variation in the output of the neural sub-network as a function of the inputs of the neural sub-network, of the output of the neural subnet is between a minimum and a maximum value, the output of the neural subnet being equal to the minimum value when all the inputs of the neural subnet are equal to the minimum value, and the output of the subnet - neural network being equal to the maximum value when all the inputs of the neural subnetwork are equal to the maximum value and each subnetwork is suitable for implementing weights, a constraint being that the weights are positive and that the sum of the weight is equal to 1.
- the transcribed neural network comprises a set of neural subnetworks arranged according to a tree structure, each neural subnetwork being a first neural subnetwork or a second neural subnetwork, each first neural subnetwork neurons performing a respective aggregation function, the aggregation function preferably being an aggregation function of variables chosen from the list consisting of a weighted sum of the variables, a Choquet integral, an integral of Choquet 2-additive, of a weighted sum of combinations of min and max functions between at most k variables, for k at least equal to 2, of a multi-linear model, of a generalized additive independence function, and the ordered weighted average, and each second subnetwork of neurons performing a respective marginal utility function, the marginal utility function preferably being a monotonic function or a function having three parts, one pr first monotonic part, a second part which is constant and a third monotonic part, the monotony of the first part being different from the monotony of the third part.
- - learning includes a first learning with the set of transcription constraints making it possible to learn an intermediate neural network, a second learning of the set of constraints by fixing the neural network to the intermediate neural network, to obtain a learned set of constraints, and an adjustment of the learned neural network as a function of the difference between the set of constraints of the transcription and the learned set of constraints, to obtain an adjusted neural network, the learned neural network being the adjusted neural network.
- - learning includes the use of at least one technique chosen from the list consisting of batch gradient descent, stochastic gradient descent and mini-batch gradient descent.
- the present description also relates to a decision support system, in particular a multicriteria decision support system, generated by implementing a generation method as described above.
- the present description also relates to a decision support system, in particular a multicriteria decision support system, the support system comprising a physical implementation of a neural network comprising a set of arranged neural subnetworks.
- each neural subnetwork being a first neural subnetwork or a second neural subnetwork, each first neural subnetwork performing a respective aggregation function, the aggregation function being, preferably, an aggregation function of variables chosen from the list consisting of a weighted sum of the variables, a Choquet integral, a 2-additive Choquet integral, a weighted sum of combinations of functions min and max between at most k variables, for k at least equal to 2, of a multi-linear model, of a generalized additive independence function, and of the ordered weighted average, and each second subnetwork of real neurons has reading a respective marginal utility function, the utility function preferably being a monotonic function or a function having three parts, a first monotonic part, a second part which is
- FIG. 1 a schematic representation of a computer and a computer program product suitable for implementing a process for generating a decision support system
- FIG. 3 a schematic representation of an example of a neural network used in the generation method of Figure 2
- FIG. 5 a schematic representation of another example of a neural subnetwork that can be used in the generation method of Figure 2.
- a computer 10 and a computer program product 12 are shown in Figure 1.
- the interaction between the computer 10 and the computer program product 12 allows the implementation of a method for generating a decision support system.
- the generation process is thus a computer implemented process.
- Calculator 10 is a desktop computer.
- the computer 10 is a computer mounted on a rack, a laptop computer, a tablet, a personal digital assistant (PDA) or a smartphone.
- PDA personal digital assistant
- the computer 10 can be seen as a system and can be designated as such hereinafter.
- the computer is adapted to operate in real time and / or is in an on-board system, in particular in a vehicle such as an airplane.
- the computer 10 comprises a calculation unit 14, a user interface 16 and a communication device 18.
- the computing unit 14 is an electronic circuit designed to manipulate and / or transform data represented by electronic or physical quantities in registers of the computer 10 and / or memories into other similar data corresponding to physical data in them. memories of registers or other types of display devices, transmission devices or storage devices.
- the computing unit 14 includes a single-core or multi-core processor (such as a central processing unit (CPU), a graphics processing unit (GPU), a microcontroller, and a digital signal processor ( DSP)), a programmable logic circuit (such as an application-specific integrated circuit (ASIC), an in-situ programmable gate array (FPGA), a programmable logic device (PLD), and programmable logic arrays (PLA)), a state machine, a logic gate, and discrete hardware components.
- a single-core or multi-core processor such as a central processing unit (CPU), a graphics processing unit (GPU), a microcontroller, and a digital signal processor ( DSP)
- a programmable logic circuit such as an application-specific integrated circuit (ASIC), an in-situ programmable gate array (FPGA), a programmable logic device (PLD), and programmable logic arrays (PLA)
- ASIC application-specific integrated circuit
- FPGA in-situ programmable
- the calculation unit 14 comprises a data processing unit 20 suitable for processing data, in particular by performing calculations, memories 22 suitable for storing data and a reader 24 suitable for reading a computer readable medium.
- User interface 16 includes an input device 26 and an output device 28.
- the input device 26 is a device allowing the user of the system 10 to enter information or commands into the system 10.
- the input device 26 is a keyboard.
- input device 26 is a pointing device (such as a mouse, touchpad, and graphics tablet), voice recognition device, eye tracker, or haptic device (motion analysis).
- the output device 28 is a graphical user interface, i.e. a display unit designed to provide information to the user of the computer 10.
- the output device 28 is a display screen allowing a visual presentation of the output.
- the output device is a printer, augmented and / or virtual display unit, speaker, or other sound generating device for presenting the output in sound form, a unit producing sound. vibrations and / or odors or a unit adapted to produce an electrical signal.
- the input device 26 and the output device 28 are the same component forming human-machine interfaces, such as an interactive screen.
- the communication device 18 allows one-way or two-way communication between the components of the computer 10.
- the communication device 18 is a communication system by bus or an input / output interface.
- the presence of the communication device 18 allows that, in certain embodiments, the components of the computing unit 14 are distant from each other.
- the computer program product 12 includes a computer readable medium 32.
- the computer readable medium 32 is a tangible device readable by the reader 24 of the computing unit 14.
- the computer readable medium 32 is not a transient signal per se, such as radio waves or other freely propagating electromagnetic waves, such as light pulses or electronic signals.
- Such a computer readable storage medium 32 is, for example, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device or any combination of. these.
- the computer readable storage medium 32 is a mechanically encoded device, such as punch cards or relief structures in a groove, floppy disk, hard disk, ROM. (ROM), random access memory (RAM), programmable read-only erasable memory (EROM), electrically erasable and readable memory (EEPROM), magneto-optical disc, static random access memory (SRAM), compact disc ( CD-ROM), Digital Versatile Disk (DVD), USB flash drive, floppy disk, flash memory, solid-state disk (SSD), or PC card such as a PCMCIA memory card.
- a computer program is stored on the computer readable storage medium 32.
- the computer program includes one or more stored program instruction sequences.
- Such program instructions when they are executed by the data processing unit 20, result in the execution of steps of the generation method.
- the form of program instructions is a form of source code, a computer-executable form, or any form intermediate between a source code and a computer-executable form, such as the form resulting from the conversion of the source code through an interpreter. , an assembler, a compiler, a linker or a locator.
- the program instructions are microcode, firmware instructions, state definition data, integrated circuit configuration data (eg, VHDL), or object code.
- Program instructions are written in any combination of one or more languages, for example, an object-oriented programming language (FORTRAN, C ++, JAVA, HTML), a procedural programming language (eg C language).
- object-oriented programming language e.g., C ++
- JAVA JAVA
- HTML JAVA
- C language e.g., C language
- the program instructions are downloaded from an external source via a network, as is notably the case for applications.
- the computer program product comprises a computer readable data medium on which the program instructions are stored or a data medium signal on which the program instructions are encoded.
- the computer program product 12 comprises instructions which can be loaded into the data processing unit 20 and adapted to cause the execution of the generation method when they are executed by the data processing unit. data 20.
- the execution is entirely or partially carried out either on the computer 10, that is to say a single computer, or in a system distributed between several computers (in particular via the use of the computer). cloud computing).
- FIG. 2 is a flowchart illustrating an example of the implementation of the method for generating a decision support system, in particular a multicriteria decision support system. .
- the generation process is a process of creating or manufacturing a decision support system.
- the generation method makes it possible to obtain a decision support system making it possible to provide a solution to the problem, the system being able to be used by a decision maker.
- the job of the designer of the decision support system is to transform the problem data into a physical system which is a decision support system.
- the decision support system is often a calculator 10 or part of it.
- Such a decision support system can be used in many industrial applications.
- the decision support system is a system for evaluating the performance of an existing physical system.
- the decision support system is a system for evaluating the functioning of an air traffic tracking system.
- the criteria relate to measures of tracking quality, such as aircraft location error.
- the decision support system is then suitable for providing an overall assessment, or a class (level of service quality).
- the decision support system is a system to help evaluate the functioning of a transport infrastructure, such as a train line or a metro line.
- a transport infrastructure such as a train line or a metro line.
- the decision support system makes it possible to offer the best solution among all the possible solutions, such as changing the train schedule or creating loops on the line.
- the decision support system is a design system for a physical system to be created.
- the decision support system is a design system of an assembly of several parts, like a radar.
- the decision support system then seeks to identify from the preferences of the radar designer the best compromise between several criteria such as measurements of the radar's overall quality, its performance, its weight or its cost.
- the decision support system aims to help the decision maker find the best solution to the initial problem.
- the decision support system is thus a physical implementation of a decision model adapted to the situation targeted by the initial problem, the decision model taking inputs to obtain an output.
- the initial problem is defined in two phases.
- the first phase consists of a discussion with the decision maker. It is a question of characterizing completely and from a point of view "high level" the problem to be solved. During such a phase, three points are determined, namely the form of the criteria, the nature of the problem and the available data.
- the first point determined is the form of the criteria on which each of the alternatives will be evaluated.
- the form of a criterion is the variation of the monotonicity of the model with respect to the criterion.
- monotony is the direction in which the exit evolves from one of the entry criteria, all other things being equal.
- M (a) M (a1, ..., an), with a1 to an the values of the alternative a on the n criteria.
- M is increasing (respectively decreasing, or increasing then decreasing, or decreasing then increasing) with respect to the criterion 1
- F which, to a real x, associates M (x, a2, ..., an) is increasing (respectively decreasing, or increasing then decreasing, or decreasing then increasing).
- the overall satisfaction is increasing with respect to the performance criterion such as the range of the radar (the farther the radar sees, the better, all other things being equal), and overall satisfaction is decreasing in relation to electricity consumption (the less electricity the radar consumes, the better, all other things being equal).
- the first point consists in asking if the output of the model is increasing, decreasing, increasing then decreasing, or decreasing then increasing compared to the value on this criterion.
- the way of representing the criteria is modified in order to have entries compatible with the decision model.
- An example of modification is the elimination of superfluous or too noisy criteria to be usable or the application of a transformation on certain criteria in order to ensure the monotony of the output of the decision model.
- the second point determined is the nature of the problem to be solved.
- the initial problem is one of the following: choosing the best alternative from a set of alternatives, distributing the alternatives among preference classes, ranking the alternatives in order of preference, and providing an evaluation score of an alternative.
- the nature of the problem to be solved is therefore the choice, the distribution, the storage or the evaluation.
- the problem of distributing alternatives among preference classes is a tidying problem often referred to as the sorting problem with reference to English terminology.
- the problem of ranking the alternatives in order of preference is an automatic ranking problem often referred to as the ranking problem with reference to English terminology.
- the problem of providing a review score for an alternative or choosing the best alternative from a set of alternatives is a problem of giving each alternative a satisfaction score.
- Such a problem is often referred to as a scoring problem with reference to English terminology.
- the third point is to get the training data.
- the training data are data from sensors and are therefore measurements.
- Learning data is most often heterogeneous in that the learning data comes from several sources (several sensors here) and has different natures.
- training data can be represented as pairs.
- a pair is a pair (x, y) where x is an alternative and y is the score that the alternative is supposed to have (expected score).
- a pair is a pair (x, k) where x is an alternative and k the index of a class of preferences (for example "good”, “bad” and “average”).
- a pair is a pair (x1, x2) where the two elements are alternatives, with x1 a preferred alternative to the alternative x2 by the decision maker.
- obtaining the training data in some cases involves the use of preprocessing to ensure that even if the data is represented in a different way, it represents reality in the same way and uses the data. same criteria for evaluating alternatives.
- Heterogeneity can arise from the fact that this learning data may be collected at different times and come from different people - each person providing a type of data.
- the decision model itself is defined.
- the designer now focuses on defining the model itself.
- the expert will build with the model designer the hierarchy of criteria, define the artificial criteria resulting from the aggregations, choose if he wants the aggregation class at each of the nodes and the nature of the functions. utilities applied to each of the criteria, if necessary.
- the decision maker may have a priori certainties. For example, the decision maker may consider knowing in advance the utility function of part of the native criteria, the parameters of some of the aggregations (or constraints on some of these parameters) for example. It is then possible to implement such constraints effectively, and to fix these utility functions so that they are not learned, and instead are defined "by hand" according to the wishes of the decision maker.
- Hierarchy can indeed correspond to a logical organization according to a decision maker - the intermediate aggregation nodes between the criteria and the final aggregation node then correspond to concepts that are meaningful to a decision maker.
- the generation method comprises a supply step E50, a transcription step E52, a learning step E54, a determination step E56 and a physical implementation step E58.
- the initial problem is supplied as well as the training data.
- the system receives the information which has, most often, been elaborated by interactions between the decision maker and the designer although these are not obligatory.
- the system thus knows the initial problem and the hierarchy of criteria while having a set of training data.
- the initial problem is transcribed in the form of a neural network and a set of constraints to be observed by the neural network.
- the transcription step E52 thus aims to convert the initial problem and the hierarchy of criteria into a neural network and a set of constraints to be observed by the neural network.
- the neural network has a specific architecture of which FIG. 3 illustrates a particular example.
- the transcribed neural network comprises a set of neural subnetworks.
- the neural network comprises a set of neural subnetworks arranged according to a specific structure, each neural subnetwork being a first neural subnetwork or a second neural subnetwork.
- a first neural subnet is an aggregation subnet.
- a first neural network is a subnetwork implementing an aggregation function.
- An aggregation function A is a function defined by a utility vector and returning an actual aggregation value.
- N ⁇ 1, ..., n ⁇ be the set of criteria (attributes in the vocabulary of the field of decision support).
- X is the domain of the i-th criterion.
- a decision model is a function U: X -> [0,1], which is generally called a utility function inducing a total order on X.
- the aggregation function belongs to the Choquet family of integrals.
- the Choquet integral is a generalization of the weighted sum, which also takes into account interactions between criteria.
- the Choquet integral is parameterized by a fuzzy measure m which is used to assign to each of the coalitions of criteria a certain weight (where a weighted sum has only one weight per singleton).
- a fuzzy measure m over a set L / is a function of 2 N in the set M satisfying a normalization condition and a monotonicity condition.
- a Q B ⁇ N m (A) £ m (B) £ 1
- the aggregation function A is a Choquet integral which is a 2-additive integral.
- W j denote the weight of the i-th utility function u
- Max denotes the weight of the maximum interaction between the i-th utility function ut and the j-th utility function uj.
- the first neural subnetwork comprises an n-dimensional input layer then a hidden layer and an output layer.
- the neurons of the hidden layer each perform one function among: identity (if the neuron has only one input, the neuron returns its input unchanged), min-pooling (the neuron has two inputs and returns the value of the smallest of its inputs), or max-pooling (the neuron has two inputs and returns the value of the largest of its inputs).
- the aggregation function A is a weighted sum of the utility functions.
- the aggregation function A is an ordered weighted average.
- OWA Orderered weighted averaging
- the aggregation function A is a generalized additive independence function.
- Such a function is often called the GAI function, the acronym GAI referring to the English name of "Generalized Additive Independence".
- the aggregation function A is a multi-linear function.
- Such a function is written mathematically according to an expression similar to the preceding expression for the case of a 2-additive Choquet integral, the only modification being to replace the min and max functions by a product of the variables, and to add neurons for each of the missing subsets.
- the use of this model requires the use of multi-dimensional utility functions which can be obtained by a multi-linear interpolation, or by a logit function integrating a multi-linear function of the different input variables.
- each aggregation function may be specific to a first subnet.
- the aggregation function is preferably an aggregation function of variables chosen from the list consisting of a weighted sum of the variables, a Choquet integral, a 2-additive Choquet integral, a weighted sum of combinations of min and max functions between at most k variables, for k being an integer at least equal to 2, a multi-linear model, a generalized additive independence function, and the ordered weighted mean.
- a second sub-network implements a utility function such as those used in the framework of decomposable models in multicriteria decision support.
- the role of a utility function is to take as input the raw value on one of the criteria, and to output the satisfaction provided by this value on said criterion, independently of the values of the alternative on all the others. criteria. This means that a utility function takes as input a real and outputs another real.
- a second subnet has as inputs the raw values of the alternatives on each of the criteria, and gives as output the marginal satisfaction that such a value gives to a decision maker on this particular criterion.
- the marginal utility function is normalized between 0 and 1.
- the minimum value of the marginal utility function is equal to 0 and the maximum value of the marginal utility function is equal to 1. In some cases, the minimum value and / or the maximum value is reached at limits.
- a function of marginal utility u is a function of X, in the interval [0,1] is a function ensuring a correspondence between the i-th attribute domain X, on l 'interval [0,1]
- FIG. 5 An example of such a second neural subnetwork is illustrated in FIG. 5 with a hidden layer comprising 3 nodes.
- marginal utility functions come in two different forms.
- the marginal utility function is monotonic.
- the marginal utility function is a single-plateau function.
- This second form is often referred to as a "single-tray".
- a marginal utility function is in the second form when the marginal utility function exhibits a single monotonicity change. Otherwise formulated, the marginal utility function has only two portions: a first portion on which the function is monotonic in one direction and a second portion on which the function is monotonic in a different direction from the first portion.
- each marginal utility function being able to be specific to a second subnetwork of neurons. neurons.
- the marginal utility function is preferably a monotonic function or a function having three parts, a first monotonic part, a second part which is constant and a third part monotonic, the monotony of the first part being different from the monotony of the third part.
- the neural network is thus an assembly of subnetworks, more exactly an assembly of subnetworks, each subnetwork being chosen from among the first subnetwork and the second subnetwork.
- the neural network is an assembly according to a specific structure.
- the neural network comprises a set of neural subnetworks arranged in a tree structure, each neural subnetwork being a first neural subnetwork or a second neural subnetwork.
- Tree structure is a tree structure when there is a unique path from a particular vertex to all other vertices, and each non-leaf vertex has at least two child nodes.
- the tree structure is a structure whose leaves are the raw inputs of the neural network (most often the data available from the sensors when the decision support system is used in real conditions) and the root is the output of the neural network.
- the neural network comprises as input second subnetworks of neurons followed by a first subnetwork of neurons.
- the described neural network has three second subnetworks followed by a first neural subnetwork.
- the outputs of the second subnetworks are three marginal utility functions which are connected by the first neural subnetwork which implements a Choquet integral.
- the neural network comprises several first subnetworks.
- such a structure allows the neural network to represent the hierarchy of criteria.
- the structure of the neural network is designed in collaboration with the decision maker.
- the structure of the neural network is chosen by the designer.
- the designer can rely on obvious relationships between variables, tests on several models to determine the most suitable for the data, or analyzes on the variables aimed at revealing particular relationships that may be exploited (reduction of dimension, strong positive or negative correlations between two variables for example).
- the structure of the neural network is a parameter of the neural network which is learned during the learning step E54.
- the neural network in tree structure is an aggregation of input criteria to generate new criteria which will, again, be aggregated into a new criterion and so on, until reaching an overall score. for the considered alternative.
- Such a type of neural network thus implements a decision model by small successive aggregations, which makes it possible to represent certain complex decision strategies, while pruning superfluous terms and parameters which may appear in a global aggregation of all the criteria.
- the neural network comprises only a first sub-network.
- the neural network implements a classical shockistic regression model.
- the neural network comprises as input a layer of a second neural network performing utility functions. This results in a model class that allows the use of such functions.
- a Choquet integral may not be a model compatible with some raw data (that is to say upstream of the application of a marginal utility).
- overall satisfaction must decrease in relation to electricity consumption, all other things being equal. This means that, without the application of a decreasing marginal utility on the electrical consumption, the Choquet integral will not be able to aggregate this criterion in a satisfactory manner.
- u which represents the satisfaction with the electrical consumption p
- the fact that the utilities all have values in [0,1] allows important properties of the model: the commensurability of the criteria (ability to compare the satisfactions on several distinct criteria) in particular. Indeed, it is hard to compare the satisfaction brought by criteria which live in different scales (for example the radar range between 10km and 1000km, and the electric consumption between 1 kW and 1000kW), and which can be in different units .
- the utilities therefore allow a renormalization of all these elements on the same satisfaction scale [0,1]
- the neural network has, as an input, other subnetworks for determining the values of the criteria from the input data.
- each subnet has a number of hidden layers less than or equal to 3.
- each sub-network is arranged in the form of layers with an input layer grouping the input neurons and an output layer grouping the output neuron (s). All middle layers are hidden layers that link only with neurons in the layers immediately downstream and neurons in the layer immediately upstream.
- each subnet has a number of hidden layers less than or equal to 5.
- each subnet is a multi-layered perceptron.
- the neural network is a set of simple neural networks, each representing a family of aggregation functions or utility functions, interconnectable in order to obtain multicriteria decision support models.
- the set of constraints to be observed by the neural network is obtained implicitly. For example, by choosing an aggregation function, we impose the constraints of this integration function on the model; for example, an aggregation function which is a Choquet integral will be increasing by its inputs, continuous, bounded, and idempotent.
- the set of constraints is provided explicitly.
- a decision maker can decide to further constrain aggregation functions or utility functions, for example by forcing certain parameters to be taller than others. This then requires additional constraints to be placed on the aggregation function.
- the set of constraints thus includes constraints of monotony, derivability, idempotence and continuity.
- the E52 transcription step comprises the formulation of the set of constraints to be respected by the neural network in the form of sub-constraints to be respected by each neural subnetwork.
- the sub-constraints to be respected by a neural subnetwork are chosen from the list consisting of:
- the output of the neural subnetwork is between a minimum value and a maximum value, the output of the neural subnetwork being equal to the minimum value when all the inputs of the neural subnetwork are equal to the minimum value, and the output of the neural subnetwork being equal to the maximum value when all the inputs of the neural subnetwork are equal to the maximum value, and
- each sub-network is suitable for implementing weights, a constraint being that the weights are positive and that the sum of the weights is equal to 1.
- each sub-network forms an autonomous computing unit independent of the other sub-networks.
- a transcribed neural network such a neural network being a complete network ready to be used for training in order to solve the initial problem.
- the learning step E54 a learning of the neural network transcribed using the learning data is implemented.
- the network being constructed and the data being compatible with the implementation of a learning, it is possible to implement a training of the network with the learning data.
- the parameters of the neural network are the weights connecting the neurons of the neural networks and the biases brought to the input value of certain neurons.
- the parameters of the neural network include the structure of the neural network. Therefore, even if information about the neural network is not available, it is still possible to learn the neural network, although it may be less precise.
- Learning involves using at least one technique from a list of batch gradient descent, stochastic gradient descent, and mini-batch gradient descent.
- Each of these techniques is a technique or algorithm for learning the parameters of each neural subnet, especially since each subnet is a multi-layered perceptron.
- these techniques consist of reading the training data several times, propagating each of the points forward in the neural network, and propagating the gradients backward (from the output to the input) to readjust the parameters of the network. neurons.
- the batch gradient descent technique is also referred to as the batch gradient descent algorithm.
- Performing such a technique involves adjusting the parameters to minimize a cost function, which quantifies the error between the estimated response and the correct response on training data.
- the parameters are iteratively modified by subtracting the gradient from the cost function which is calculated by composition of linear operators or of point non-linearities differentiable by taking an average over the whole of the batch, that is to say the whole calculated parameters.
- the implementation of such a technique thus involves successive multiplications of Jacobian matrices.
- Stochastic gradient descent (sometimes also called the stochastic gradient algorithm) is an (iterative) gradient descent technique used for the minimization of an objective function that is written as a sum of differentiable functions.
- the stochastic gradient descent is less computationally intensive in that it is performed on a single example per iteration, the example being chosen randomly from the database.
- the gradient descent by mini-batch is a compromise between the two previous techniques by choosing a mini-batch randomly at each iteration and by calculating the gradients on this mini-batch.
- the use of the aforementioned techniques leads to learning a neuron network which does not exhibit a coherence property.
- it is proposed to impose constraints to be respected locally, that is to say at the level of each sub-network which are the sub-constraints obtained previously.
- the training consists in learning a fuzzy measure satisfying the training data and respecting the two preceding conditions, namely the normalization condition and the monotonicity condition.
- the two learning sub-conditions are obtained by carrying out frequent renormalizations without the use of regularization.
- the first subnetwork formally implements a 2-additive Choquet integral, with all the properties that are expected from it (monotony, idempotence, continuity for example).
- the meaning of monotony is fixed by the initial problem, the decision maker knowing such a meaning.
- a marginal utility function (monotonic, or a monotonic part of a simple-plateau type marginal utility function) is learned as a weighted sum of sigmoids.
- a sigmoid is written as the ratio of 1 to the sum of 1 with an exponential.
- weighted sum is normalized such that the sum of the weights equals 1, and the weights are all positive.
- Learning for such a marginal utility function then consists of learning each weight and the two constants for each of the sigmoids with two constraints on the weights. According to the first constraint, each weight is positive and according to the second constraint, the sum of the weights is equal to 1.
- the weights of the last layer towards the exit are made positive by the use of hidden variables whose weights are the image by a positive and increasing mathematical function, and in which the sum of said weights is made equal to 1 by a renormalization at each iteration.
- the marginal utility function is monotonic (ie according to the first form) and normalized.
- the marginal utility function is a plateau-type function.
- a transformation is applied to the learning data to only have to learn the plateaus.
- the training then consists in learning four values x1, x2, x3 and x4 such that x1 ⁇ x2 ⁇ x3 ⁇ x4 and such that the marginal utility function has the value 0 on the intervals] - 00 ; x1] and [x4; 00 [, has a value of 1 on [x2; x3] and let a linear interpolation over the intervals [x1; x2] and [x3; x4].
- the learning of a marginal utility function according to the second form is carried out by learning of weighted sigmoid sums in a sense of monotony (as previously for the case of a marginal utility function according to the first form) then in the direction of reverse monotony.
- the threshold x * value is also learned, such that the first weighted sum is applied to the left of this point, and the second weighted sum is applied to the right of this point.
- the value in x * is necessarily 0 (in the case of a valley) or 1 (in the case of a plateau). This is guaranteed by renormalizations.
- Such learning also makes it possible to obtain a marginal utility function which is derivable.
- Such a property makes it possible in particular to facilitate learning since the problems of disappearance or explosion of the gradient during learning are avoided.
- learning involves, at each iteration, a propagation phase and a backpropagation phase.
- the propagation phase is a forward propagation phase consisting of the injection into the sheets of values for each criterion.
- the values will then go from subnet to subnet, over successive aggregations, until they reach the root, or exit node, which will give us the result.
- the back-propagation phase consists of comparing the result obtained with the expected result.
- the backpropagation phase uses a so-called “loss” function which characterizes the difference between prediction and truth.
- the gradient of this function L is then calculated at the output, then propagated through the entire network, up to the leaves.
- each of the sub-networks calculates the gradients of the loss with respect to its own parameters and updates them before transmitting the gradients to the upstream sub-networks.
- error function to optimize depends on the type of data (root mean square error for regression, for example, or logistic error for binary classification). Any type of differentiable error function can thus be minimized, at least locally.
- a Siamese architecture is preferred (the network N is duplicated, in order to obtain two "clone” networks N1 and N2 identical to the network N).
- the error is then an increasing function of (N2 (x2) -N1 (x1)), (for example, an arctangent function, that is here atan (N2 (x2) -N1 (x1)).
- the gradients are calculated on the first network clone N1, and the second network clone N2, and are then summed to obtain the total gradient, which is applied to the first network clone N1, then the first network clone N1 is copied again to obtain the new network clone N2.
- the learning step E54 provides a learned neural network solving the initial problem.
- the learned neural network performs a function. During the determination step E56, the function performed by the learned neural network is determined.
- an explicit form is determined in the form of a compact mathematical formula, which keeps the same parameters (and therefore corresponds to exactly the same function that the neural network represents).
- the determined function is the function corresponding to the compact mathematical formula.
- the network learns the weights w ,, w iLmin and w max . Once the network is learned, the weights are extracted (ignoring all the rest of the parameters), and the weights are used to parameterize an explicit 2-additive Choquet integral function (see previous equation). The determined function is thus completely characterized.
- the network is therefore only a medium for learning such a function, while keeping its explicit parameters.
- the parameters can, after learning, be saved, stored, or used as they are to configure a function of the same type.
- the determined function is physically implemented to obtain the decision support system.
- the neural network is implemented on an FPGA.
- the generation method thus makes it possible to obtain an evaluation system implementing the function performed by the learned neural network with a simplified implementation (consuming few resources and memory) to make it compatible with an on-board implementation.
- the evaluation system will make it possible to respond to the initial problem and to assist the decision-maker, in particular when the alternatives are modified too frequently for all of them to be studied by a human (aspect implemented in real time) or by the emission of an alert when an acceptable alternative most of the time is no longer acceptable (case of a monitoring application).
- the generation method thus makes it possible to easily and quickly learn a complex preference model respecting strong formal constraints and corresponding to known classes of preference models, or resulting from successive aggregations of models belonging to said classes.
- a preference model is thus a model suitable for assisting a decision-maker in making a decision on a given problem, in particular because it remains transparent and easy to interpret.
- the generation method is a method of neural learning of a preference model, which means that the generation method advantageously uses a representation of a problem in the form of a neural network.
- the method makes it possible to modify the neural network to easily switch from one type of problem to another. For example, it is easy to go from a regression problem to a classification problem, or even preference learning from pairs of labeled alternatives, depending on the input data, their nature, and the expected nature of the output.
- learning a neural network is a well parallelizable task. It is thus possible to implement the learning step E54 with a hardware architecture suitable for operations carried out in parallel.
- the learning step E54 is advantageously executed on processors such as CPUs or GPUs.
- a CPU is a processor, the acronym CPU coming from the English term “Central Processing Unit” literally meaning central processing unit while a GPU is a graphics processor, the acronym GPU coming from the English term “Graphics Processing Unit” literally meaning graphics unit treatment.
- the learning step E54 is carried out on a calculation farm.
- the generation process makes it possible to take advantage of the best of two worlds, that of multi-criteria decision support with its rigor on the one hand, and that of machine learning with its statistical approach. 'somewhere else.
- the generation process is thus part of the field of hybrid artificial intelligence, a field that combines statistical methods of machine learning and strong expert constraints integrated into these learning models.
- the generation process exploits the advantages provided by the use of neural networks, namely high modularity and the absence of the need for manual computation of complex gradients, while guaranteeing strong constraints on the learned model, at the both thanks to the particular architecture of the network, and thanks to the standardizations and procedures mentioned above.
- the method therefore exploits the ability of multilayer perceptrons to regress model parameters from data, and the formal guarantees offered by multicriteria decision support aggregation models to learn subtle, but highly constrained models. .
- the method thus makes it possible to generate models adapted to multi-criteria decision support, which offers the guarantees on the model that decision-makers may require in operational managers.
- the method also provides the possibility of working on noisy or even erroneous data.
- the method also makes use of the fact that the neural network is divided into two types of subnets.
- the methods of the prior art involve calculating a local gradient for each of the possible configurations, which in practice leads to limiting the aggregation so that the calculation can be carried out in practice.
- the gradients are calculated only locally, i.e. aggregation by aggregation.
- the training data are propagated from subnetwork to subnetwork during the forward propagation and the gradients are then propagated from subnetwork to subnetwork during the backpropagation.
- a simple gradient is thus calculated independently of the complexity of the network as a whole and this calculated gradient is then propagated to the upstream sub-networks.
- the subnets are defined in such a way as to ensure that at any stage of the E54 learning stage the subnetwork formally complies with all the constraints that must be observed for the function that the subnetwork performs. This avoids the use of regularizations or verification calculations. Constraints are met locally for each subnet in an easy manner, and the fact that the constraints are met by each learned subnet ensures that the entire learned network meets the constraints globally.
- the method also has the advantage of great modularity since each subnet can be changed without changing the entire network. For example, it is possible to replace a first subnet with another first subnet corresponding to a different aggregation function. You can also replace one marginal utility module with another. It is also possible to rearrange the subnets. However, in this case, it is advisable to re-train the network (or at least, the sub-part of the network which has been modified).
- the learning step E54 includes validation of the model.
- the designer then presents the model to be validated to the decision-maker, i.e. the function that the neural network learns
- Such a presentation is, for example, implemented by using indicators used in the field of decision support.
- indicators used in the field of decision support.
- Examples of such indicators are Shapley values or interaction indices.
- the designer presents a graph plotting the Shapley values of each criterion.
- the Shapley value of each of the criteria represents the relative importance of the criterion compared to the other criteria. Knowing a fuzzy measure m over a set of criteria, the Shapley value of criterion i is calculated as:
- the interaction index characterizes the strength of an interaction between two criteria (by its absolute value). The sign of the interaction index indicates whether it is redundancy (negative) or synergy (positive).
- the interaction index between criteria i and j is written as:
- indicators from machine learning such as sensitivity analyzes, Sobol indices or cross-validation errors are used.
- Sobol indices are alternatives to Shapley values for calculating the part of variance expressed by each of the criteria (another way of defining the importance of each of the criteria).
- Cross-validation is a process aimed at quantifying the performance of the system: a network is trained on 80% of the data, and tested on the remaining 20% (so as to evaluate it on data that has not been seen beforehand). 'coaching). The errors on these data (in addition to their average value, which is already an indicator of the performance of the model), provide information on the model. In particular, if all the examples of a certain zone of space X are badly classified, this can denote a weakness of the model in this precise zone, which can illustrate a bad marginal utility, or a bad choice of aggregation function. .
- the decision maker determines whether the model is valid with regard to his experience of the real situation.
- the designer determines how to make the appropriate corrections to obtain a valid model.
- Such a correction is, according to a first example, a manual correction, that is to say a forced modification of certain parameter values of the learned neural network.
- the presented process (evaluation and correction) can be iterated as many times as necessary until the decision maker is satisfied with the model obtained.
- validation includes the use of quantitative indicators such as cross-validation error in place of decision maker satisfaction or in addition to decision maker satisfaction through subjective and quantitative assessment weighting.
- the training includes performing a supervised training technique.
- training of the hierarchy of criteria is carried out.
- Such an embodiment is particularly relevant when the decision maker is not available.
- the learning comprises a first learning with the set of constraints of the transcription allowing to learn an intermediate neural network, a second learning of the set of constraints by fixing the neural network to the intermediate neural network, to obtain a learned set of constraints, and an adjustment of the learned neural network as a function of the difference between the set of constraints of the transcription and the learned set of constraints, to obtaining an adjusted neural network, the learned neural network being the adjusted neural network.
- a first technique is to learn a single aggregation layer. Such a layer, however, is over-parametered, and presents greater risks of over-training than a model designed with an expert, but is most likely to adequately represent the data.
- a second technique involves studying the data using various unsupervised learning algorithms. For example, interactions can be seen on correlation / covariance matrices, utility senses on partial dependence graphs, artificial criteria can be the main components of a Karhunen-Loève transformation. More advanced techniques, such as variational autoencoders, can also be applied.
- a third technique consists of learning the hierarchy via so-called structure learning techniques (more often referred to by the corresponding English name of "structure learning”).
- structure learning techniques more often referred to by the corresponding English name of "structure learning”.
- One of the preferred techniques, specific to Choquet integrals consists of starting from a "flat" model, with a single aggregation and learning until convergence. Once this has been done, observing the values of interactions between criteria makes it possible to group together the criteria which interact in the same way with all the other criteria, thus generating a new tree.
- Several candidate trees are thus created, and trained. It can then be kept only a certain number of better candidates (those who do not degrade performance), and continue learning until a chosen stopping criterion (for example, if no new candidate improves the performance).
- the generation method comprises the application of a statistical technique to robustify the model implemented by the neural network or of characteristic modification techniques (analysis by principal component, auto-encoder, etc. ).
- the neural network comprises stages of pre-processing on the inputs or post-processing on the outputs.
- the neural network comprises one or more deep learning subnetworks.
- networks learning representation or selecting characteristics would thus make it possible to extract, from data initially incompatible with the model (an image for example), new characteristics (or new criteria) which, they would serve as a support for the decisions taken by the decision models described above.
- the first sub-network (s) in this case serve as an “output block” and therefore make decisions on the information pre-processed by the upstream deep networks.
- a special case is the computation of marginal utility functions which can be applied as a "rescaling" of native criteria, within the framework of utility models, in order to provide modified variables more suited to the following aggregations. We can thus learn in parallel the marginal utilities and the parameters of the aggregation functions by stochastic descent of the gradient.
- the generation method may include a combination of the above features when they are technically compatible.
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
La présente invention concerne un procédé de génération d'un système d'aide à la décision multicritère comprenant : - la fourniture d'un problème et de données d'apprentissage résolvant le problème pour des cas particuliers, le problème étant un problème d'évaluation de la qualité d'un système choisi parmi : - le choix de la meilleure alternative parmi des alternatives, - la répartition d'alternatives parmi des classes, - le rangement d'alternatives par ordre de préférence, et - la fourniture d'un score d'une alternative, - la retranscription du problème selon un réseau de neurones et des contraintes à respecter, - l'apprentissage du réseau de neurones retranscrit à l'aide des données d'apprentissage, - la détermination de la fonction réalisée par le réseau de neurones appris, et - l'implémentation physique de la fonction déterminée pour obtenir le système d'aide.
Description
Procédé de génération d’un système d’aide à la décision et systèmes associés
La présente invention concerne un procédé de génération d’un système d’aide à la décision. La présente invention se rapporte également à des systèmes d’aide à la décision associés au procédé de génération.
L’aide à la décision, et plus précisément l’aide à la décision multicritères, est un domaine vaste dont les applications appartiennent à des champs multiples et variés, tels que le contrôle aérien, la surveillance des frontières ou la médecine.
Un tel domaine consiste en l’élaboration de modèles visant à guider des décideurs (experts ou non) à résoudre divers problèmes relatifs à des décisions que ces décideurs auraient à prendre, et notamment comment traiter les différentes alternatives répondant à la situation considérée.
De tels problèmes incluent notamment les problèmes de classement (ranger des alternatives dans des classes correspondant chacune à un niveau de satisfaction), de tri (trier les alternatives dans l’ordre des préférences du décideur), choix (sélection de la meilleure alternative parmi toutes les alternatives) et évaluation (fourniture d’un score global à une alternative)
Pour être efficace, les modèles élaborés sont capables de reproduire le plus fidèlement possible les stratégies de prise de décision du décideur, et de lui fournir des indicateurs sur le choix proposé afin de justifier leurs sorties. Dans la suite, de tels modèles sont appelés modèles de préférences.
Il est ainsi souhaitable de pouvoir déterminer des paramètres d’un modèle de préférences à l’aide d’une étape d’élicitation du modèle de préférences, sachant que ceci sert à résoudre un problème de classement, tri ou choix.
Usuellement, l’élaboration de paramètres de modèles de préférences passe par une interaction soutenue entre le décideur (utilisateur final qui sera aidé par le modèle) et les concepteurs du modèle. Les concepteurs demandent à l’expert de donner des informations dites « préférentielles » qui dépendront du modèle de préférences et des ensembles de paramètres possibles. Les questions sont en général déterminées artificiellement par les concepteurs de manière à en extraire le maximum d’information.
De telles informations, qui peuvent être de diverses natures (préférences entre deux alternatives, importances relatives de deux critères) sont utilisées en parallèle de l’interaction à travers des techniques de programmation linéaire ou d’optimisation afin de déterminer les paramètres optimaux du modèle de préférences.
Toutefois, une telle situation idéale n’est pas toujours possible en pratique notamment du fait du temps limité dont dispose le décideur et il existe des cas où, pour déterminer le modèle de préférences, le concepteur dispose de données.
De telles données sont, par exemple, issues d’un recueil de retours d’un opérateur d’un système sur des recommandations qui lui sont faites. Une des problématiques est que ces données peuvent être entachées d’incertitude (bruit sur les données par exemple), et contenir des erreurs (dans l’étiquette de la donnée par exemple).
Il existe donc un besoin pour un procédé de génération d’un système d’aide à la décision qui permette d’obtenir un système d’aide à la décision qui soit de bonne qualité avec une intervention très limitée du décideur, idéalement uniquement des données d’apprentissage.
A cet effet, la présente description propose un procédé de génération d’un système d’aide à la décision multicritère, le procédé de génération comprenant la fourniture d’un problème initial et de données d’apprentissage résolvant le problème initial pour des cas particuliers, le problème initial étant un problème d’évaluation de la qualité du système existant ou à créer, le problème initial est un problème choisi parmi le choix de la meilleure alternative parmi un ensemble d’alternatives, la répartition d’alternatives parmi des classes de préférences, le rangement d’alternatives par ordre de préférence, et la fourniture d’un score d’évaluation d’une alternative. Le procédé de génération comprend, en outre, la retranscription du problème initial sous forme d’un réseau de neurones et d’un ensemble de contraintes à respecter par le réseau de neurones, pour obtenir un réseau de neurones retranscrit, l’apprentissage du réseau de neurones retranscrit à l’aide des données d’apprentissage, pour obtenir un réseau de neurones appris résolvant le problème initial, la détermination de la fonction réalisée par le réseau de neurones appris, et l’implémentation physique de la fonction déterminée pour obtenir le système d’aide à la décision.
Suivant des modes de réalisation particulier, le procédé de génération comprend une ou plusieurs des caractéristiques suivantes lorsque cela est techniquement possible :
- le réseau de neurones retranscrit comporte un ensemble de sous-réseaux de neurones, l’étape de retranscription comportant la formulation de l’ensemble de contraintes à respecter par le réseau de neurones sous forme de sous-contraintes à respecter par chaque sous-réseau de neurones.
- chaque sous-réseau de neurones comporte des couches cachées, le nombre de couches cachées étant inférieur ou égal à 5, de préférence inférieur ou égal à 3.
- les sous-contraintes à respecter par un sous-réseau de neurones sont choisis parmi la liste constituée de la monotonie de la variation de la sortie du sous-réseau de neurones en fonction des entrées du sous-réseau de neurones, de la sortie du
sous-réseau de neurones est comprise entre une valeur minimale et une valeur maximale, la sortie du sous-réseau de neurones étant égale à la valeur minimale lorsque toutes les entrées du sous-réseau de neurones valent la valeur minimale, et la sortie du sous-réseau de neurones étant égale à la valeur maximale lorsque toutes les entrées du sous-réseau de neurones valent la valeur maximale et de chaque sous-réseau est propre à implémenter des poids, une contrainte étant que les poids soient positifs et que la somme des poids soit égale à 1 .
- le réseau de neurones retranscrit comporte un ensemble de sous-réseaux de neurones agencés selon une structure arborescente, chaque sous-réseau de neurones étant un premier sous-réseau de neurones ou un deuxième sous-réseau de neurones, chaque premier sous-réseau de neurones réalisant une fonction d’agrégation respective, la fonction d’agrégation étant, de préférence, une fonction d’agrégation de variables choisie dans la liste constituée d’une somme pondérée des variables, d’une intégrale de Choquet, d’une intégrale de Choquet 2-additive, d’une somme pondérée de combinaisons de fonctions min et max entre au plus k variables, pour k au moins égal à 2, d’un modèle multi-linéaire, d’une fonction d’indépendance additive généralisée, et de la moyenne pondérée ordonnée, et chaque deuxième sous-réseau de neurones réalisant une fonction d’utilité marginale respective, la fonction d’utilité marginale étant, de préférence, une fonction monotone ou une fonction présentant trois parties, une première partie monotone, une deuxième partie qui est constante et une troisième partie monotone, la monotonie de la première partie étant différente de la monotonie de la troisième partie.
- l’apprentissage comporte un premier apprentissage avec l’ensemble de contraintes de la retranscription permettant d’apprendre un réseau de neurones intermédiaire, un deuxième apprentissage de l’ensemble de contraintes en fixant le réseau de neurones au réseau de neurones intermédiaire, pour obtenir un ensemble de contraintes appris, et un ajustement du réseau de neurones appris en fonction de l’écart entre l’ensemble de contraintes de la retranscription et l’ensemble de contraintes appris, pour obtenir un réseau de neurones ajusté, le réseau de neurones appris étant le réseau de neurones ajusté.
- l’apprentissage comprend l’emploi d’au moins une technique choisie dans la liste constituée d’une descente de gradient par lot, d’une descente de gradient stochastique et d’une descente de gradient par mini-lot.
- l’apprentissage comprend l’emploi d’une somme pondérée de sigmoïdes.
La présente description concerne aussi un système d’aide à la décision, notamment un système d’aide à la décision multicritère, généré par mise en œuvre d’un procédé de génération tel que précédemment décrit.
La présente description concerne aussi un système d’aide à la décision, notamment un système d’aide à la décision multicritère, le système d’aide comprenant une implémentation physique d’un réseau de neurones comprenant un ensemble de sous- réseaux de neurones agencés selon une structure arborescente, chaque sous-réseau de neurones étant un premier sous-réseau de neurones ou un deuxième sous-réseau de neurones, chaque premier sous-réseau de neurones réalisant une fonction d’agrégation respective, la fonction d’agrégation étant, de préférence, une fonction d’agrégation de variables choisie dans la liste constituée d’une somme pondérée des variables, d’une intégrale de Choquet, d’une intégrale de Choquet 2-additive, d’une somme pondérée de combinaisons de fonctions min et max entre au plus k variables, pour k au moins égal à 2, d’un modèle multi-linéaire, d’une fonction d’indépendance additive généralisée, et de la moyenne pondérée ordonnée, et chaque deuxième sous-réseau de neurones réalisant une fonction d’utilité marginale respective, la fonction d’utilité étant, de préférence, une fonction monotone ou une fonction présentant trois parties, une première partie monotone, une deuxième partie qui est constante et une troisième partie monotone, la monotonie de la première partie étant différente de la monotonie de la troisième partie.
D’autres caractéristiques et avantages de l’invention apparaîtront à la lecture de la description qui suit de modes de réalisation de l’invention, donnée à titre d’exemple uniquement et en référence aux dessins qui sont :
- figure 1 , une représentation schématique d’un ordinateur et d’un produit programme d’ordinateur propres à mettre en œuvre un procédé de génération d’un système d’aide à la décision,
- figure 2, un ordinogramme d’un exemple de mise en œuvre d’un procédé de génération d’un système d’aide à la décision,
- figure 3, une représentation schématique d’un exemple de réseau de neurones utilisé dans le procédé de génération de la figure 2,
- figure 4, une représentation schématique d’un exemple de sous-réseau de neurones susceptible d’être utilisé dans le procédé de génération de la figure 2, et
- figure 5, une représentation schématique d’un autre exemple de sous-réseau de neurones susceptible d’être utilisé dans le procédé de génération de la figure 2.
Un calculateur 10 et un produit programme d’ordinateur 12 sont représentés sur la figure 1.
L’interaction entre le calculateur 10 et le produit programme d’ordinateur 12 permet la mise en œuvre d’un procédé de génération d’un système d’aide à la décision. Le procédé de génération est ainsi un procédé mis en œuvre par ordinateur.
Le calculateur 10 est un ordinateur de bureau. En variante, le calculateur 10 est un ordinateur monté sur un rack, un ordinateur portable, une tablette, un assistant numérique personnel (PDA) ou un smartphone.
En ce sens, le calculateur 10 peut être vu comme un système et pourra être indifféremment désigné comme tel dans la suite.
Dans des modes de réalisation spécifiques, l'ordinateur est adapté pour fonctionner en temps réel et/ou est dans un système embarqué, notamment dans un véhicule tel qu'un avion.
Dans le cas de la figure 1 , le calculateur 10 comprend une unité de calcul 14, une interface utilisateur 16 et un dispositif de communication 18.
L’unité de calcul 14 est un circuit électronique conçu pour manipuler et/ou transformer des données représentées par des quantités électroniques ou physiques dans des registres du calculateur 10 et/ou des mémoires en d'autres données similaires correspondant à des données physiques dans les mémoires de registres ou d'autres types de dispositifs d'affichage, de dispositifs de transmission ou de dispositifs de mémorisation.
En tant qu’exemples spécifiques, l’unité de calcul 14 comprend un processeur monocœur ou multicœurs (tel qu’une unité de traitement centrale (CPU), une unité de traitement graphique (GPU), un microcontrôleur et un processeur de signal numérique (DSP)), un circuit logique programmable (comme un circuit intégré spécifique à une application (ASIC), un réseau de portes programmables in situ (FPGA), un dispositif logique programmable (PLD) et des réseaux logiques programmables (PLA)), une machine à états, une porte logique et des composants matériels discrets.
L’unité de calcul 14 comprend une unité de traitement de données 20 adaptée pour traiter des données, notamment en effectuant des calculs, des mémoires 22 adaptées à stocker des données et un lecteur 24 adapté à lire un support lisible par ordinateur.
L'interface utilisateur 16 comprend un dispositif d'entrée 26 et un dispositif de sortie 28.
Le dispositif d’entrée 26 est un dispositif permettant à l'utilisateur du système 10 de saisir sur le système 10 des informations ou des commandes.
Sur la figure 1 , le dispositif d’entrée 26 est un clavier. En variante, le dispositif d’entrée 26 est un périphérique de pointage (tel qu'une souris, un pavé tactile et une tablette graphique), un dispositif de reconnaissance vocale, un oculomètre ou un dispositif haptique (analyse des mouvements).
Le dispositif de sortie 28 est une interface utilisateur graphique, c’est-à-dire une unité d’affichage conçue pour fournir des informations à l’utilisateur du calculateur 10.
Sur la figure 1, le dispositif de sortie 28 est un écran d’affichage permettant une présentation visuelle de la sortie. Dans d'autres modes de réalisation, le dispositif de sortie est une imprimante, une unité d'affichage augmenté et/ou virtuel, un haut-parleur ou un autre dispositif générateur de son pour présenter la sortie sous forme sonore, une unité produisant des vibrations et/ou des odeurs ou une unité adaptée à produire un signal électrique.
Dans un mode de réalisation spécifique, le dispositif d'entrée 26 et le dispositif de sortie 28 sont le même composant formant des interfaces homme-machine, tel qu'un écran interactif.
Le dispositif de communication 18 permet une communication unidirectionnelle ou bidirectionnelle entre les composants du calculateur 10. Par exemple, le dispositif de communication 18 est un système de communication par bus ou une interface d'entrée / sortie.
La présence du dispositif de communication 18 permet que, dans certains modes de réalisation, les composants de l’unité de calcul 14 soient distants les uns des autres.
Le produit programme informatique 12 comprend un support lisible par ordinateur 32.
Le support lisible par ordinateur 32 est un dispositif tangible lisible par le lecteur 24 de l’unité de calcul 14.
Notamment, le support lisible par ordinateur 32 n'est pas un signal transitoire en soi, tels que des ondes radio ou d'autres ondes électromagnétiques à propagation libre, telles que des impulsions lumineuses ou des signaux électroniques.
Un tel support de stockage lisible par ordinateur 32 est, par exemple, un dispositif de stockage électronique, un dispositif de stockage magnétique, un dispositif de stockage optique, un dispositif de stockage électromagnétique, un dispositif de stockage à semi- conducteur ou toute combinaison de ceux-ci.
En tant que liste non exhaustive d'exemples plus spécifiques, le support de stockage lisible par ordinateur 32 est un dispositif codé mécaniquement, tel que des cartes perforées ou des structures en relief dans une gorge, une disquette, un disque dur, une mémoire morte (ROM), une mémoire vive (RAM), une mémoire effaçable programmable en lecture seule (EROM), une mémoire effaçable électriquement et lisible (EEPROM), un disque magnéto-optique, une mémoire vive statique (SRAM), un disque compact (CD-ROM), un disque numérique polyvalent (DVD), une clé USB, un disque souple, une mémoire flash, un disque à semi-conducteur (SSD) ou une carte PC telle qu'une carte mémoire PCMCIA.
Un programme d'ordinateur est stocké sur le support de stockage lisible par ordinateur 32. Le programme d'ordinateur comprend une ou plusieurs séquences d'instructions de programme mémorisées.
De telles instructions de programme, lorsqu'elles sont exécutées par l'unité de traitement de données 20, entraînent l'exécution d'étapes du procédé de génération.
Par exemple, la forme des instructions de programme est une forme de code source, une forme exécutable par ordinateur ou toute forme intermédiaire entre un code source et une forme exécutable par ordinateur, telle que la forme résultant de la conversion du code source via un interpréteur, un assembleur, un compilateur, un éditeur de liens ou un localisateur. En variante, les instructions de programme sont un microcode, des instructions firmware, des données de définition d’état, des données de configuration pour circuit intégré (par exemple du VHDL) ou un code objet.
Les instructions de programme sont écrites dans n’importe quelle combinaison d’un ou de plusieurs langages, par exemple un langage de programmation orienté objet (FORTRAN, C++, JAVA, HTML), un langage de programmation procédural (langage C par exemple).
Alternativement, les instructions du programme sont téléchargées depuis une source externe via un réseau, comme c'est notamment le cas pour les applications. Dans ce cas, le produit programme d'ordinateur comprend un support de données lisible par ordinateur sur lequel sont stockées les instructions de programme ou un signal de support de données sur lequel sont codées les instructions de programme.
Dans chaque cas, le produit programme d'ordinateur 12 comprend des instructions qui peuvent être chargées dans l'unité de traitement de données 20 et adaptées pour provoquer l'exécution du procédé de génération lorsqu'elles sont exécutées par l'unité de traitement de données 20. Selon les modes de réalisation, l'exécution est entièrement ou partiellement réalisée soit sur le calculateur 10, c'est-à-dire un ordinateur unique, soit dans un système distribué entre plusieurs ordinateurs (notamment via l’utilisation de l’informatique en nuage).
Le fonctionnement du calculateur 10 est maintenant décrit en référence à la figure 2 qui est un ordinogramme illustrant un exemple de mise en œuvre du procédé de génération d’un système d’aide à la décision, notamment un système d’aide à la décision multicritère.
Le procédé de génération est un procédé de création ou de fabrication d’un système d’aide à la décision.
Sur la base d’un problème de type décision multicritères, le procédé de génération permet d’obtenir un système d’aide à la décision permettant d’apporter une solution au problème, le système pouvant être utilisé par un décideur.
Le travail du concepteur du système d’aide à la décision est de transformer les données du problème en un système physique qui est un système d’aide à la décision.
Le système d’aide à la décision est souvent un calculateur 10 ou une partie de celui- ci.
Un tel système d’aide à la décision est utilisable dans de nombreuses applications industrielles.
En particulier, le système d’aide à la décision est un système d’évaluation de la qualité de fonctionnement d’un système physique existant.
Par exemple, le système d’aide à la décision est un système pour l’évaluation du fonctionnement d’un système de pistage du trafic aérien. Les critères portent ici sur des mesures de la qualité de pistage, comme l’erreur de localisation des avions. Le système d’aide à la décision est alors propre à fournir une évaluation globale, ou une classe (niveau de qualité de service).
Selon un autre exemple, le système d’aide à la décision est un système d’aide à l’évaluation du fonctionnement d’une infrastructure de transports, comme une ligne de train ou une ligne de métro. En cas d’incident important impliquant des retards, le système d’aide à la décision permet de proposer la meilleure solution parmi l’ensemble des solutions possibles comme la modification d’horaire de trains ou la création de boucles sur la ligne.
Selon un autre exemple, le système d’aide à la décision est un système de conception d’un système physique à créer.
A titre d’illustration, le système d’aide à la décision est un système de conception d’un ensemble de plusieurs pièces, comme un radar. Le système d’aide à la décision cherche alors à identifier à partir de préférences du concepteur de radar le meilleur compromis entre plusieurs critères comme des mesures de qualité globale du radar, sa performance, son poids ou son coût.
Il est supposé, pour la suite, qu’un problème initial à résoudre a été défini.
Le système d’aide à la décision vise à aider le décideur à trouver la meilleure solution au problème initial.
Une telle solution est appelée une alternative dans ce qui suit, de sorte qu’une alternative est une réponse au problème initial.
Le système d’aide à la décision est ainsi une implémentation physique d’un modèle de décision adapté à la situation visée par le problème initial, le modèle de décision prenant des entrées pour obtenir une sortie.
Par exemple, le problème initial est défini en deux phases.
La première phase consiste en une discussion avec le décideur. Il s’agit de caractériser complètement et d’un point de vue « haut niveau » le problème à résoudre.
Lors d’une telle phase, trois points sont déterminés, à savoir la forme des critères, la nature du problème et les données disponibles.
Le premier point déterminé est la forme des critères sur lesquels vont être évaluées chacune des alternatives.
La forme d’un critère est la variation de la monotonie du modèle par rapport au critère.
Dans ce contexte, la monotonie est le sens d’évolution de la sortie par rapport à l’un des critères d’entrée, toutes choses égales par ailleurs. Soit le modèle M(a) = M(a1 , ... , an), avec a1 à an les valeurs de l’alternative a sur les n critères. On suppose que M est croissante (respectivement décroissante, ou croissante puis décroissante, ou décroissante puis croissante) par rapport au critère 1 , alors si l’on fixe à des valeurs quelconques les critères 2 à n, la fonction F qui, à un réel x, associe M(x, a2, ... , an) est croissante (respectivement décroissante, ou croissante puis décroissante, ou décroissante puis croissante).
Dans l’exemple de la conception d’un système radar, la satisfaction globale est croissante par rapport au critère de performance comme la portée du radar (plus le radar voit loin, mieux c’est, toute chose étant égale par ailleurs), et la satisfaction globale est décroissante par rapport à la consommation électrique (moins le radar consomme d’électricité, mieux c’est, toute chose étant égale par ailleurs).
Autrement formulé, le premier point consiste à se demander si la sortie du modèle est croissante, décroissante, croissante puis décroissante, ou décroissante puis croissante par rapport à la valeur sur ce critère.
Dans certains cas, la manière de représenter les critères est modifiée afin d’avoir des entrées compatibles avec le modèle de décision.
Un exemple de modification est l’élimination de critères superflus ou trop bruités pour être exploitables ou l’application d’une transformation sur certains critères afin d’assurer la monotonie de la sortie du modèle de décision.
Le deuxième point déterminé est la nature du problème à résoudre.
Le problème initial est l’un des problèmes suivant : choix de la meilleure alternative parmi un ensemble d’alternatives, répartition des alternatives parmi des classes de préférences, rangement des alternatives par ordre de préférence et fourniture d’un score d’évaluation d’une alternative. La nature du problème à résoudre est donc le choix, la répartition, le rangement ou l’évaluation.
Le problème de répartition des alternatives parmi des classes de préférences est un problème de rangement souvent désigné sous la dénomination de problème de sorting par référence à la terminologie anglaise.
Le problème de rangement des alternatives par ordre de préférence est un problème de classement automatique souvent désigné sous la dénomination de problème de ranking par référence à la terminologie anglaise.
Le problème de fournir un score d’évaluation à une alternative ou de choisir la meilleure alternative parmi un ensemble d’alternatives est un problème consistant à donner à chaque alternative un score de satisfaction. Un tel problème est souvent désigné sous la dénomination de problème de scoring par référence à la terminologie anglaise. Lorsqu’un problème de scoring est résolu, il est possible de traiter un problème de ranking sans avoir besoin d’information supplémentaire, puisque le score calculé peut permettre de ranger des alternatives de la meilleure à la moins bonne.
Similairement, lorsqu’un problème de scoring est résolu, il est possible de résoudre un problème de sorting, moyennant une information supplémentaire sur la valeur de seuils. Une alternative appartient alors à une classe lorsque son score se situe entre deux seuils.
Le troisième point est d’obtenir les données d’apprentissage.
Selon l’exemple décrit, les données d’apprentissage sont des données provenant de capteurs et sont donc des mesures.
Les données d’apprentissage sont le plus souvent hétérogènes en ce sens que les données d’apprentissage proviennent de plusieurs sources (plusieurs capteurs ici) et ont des natures différentes.
En particulier, les données d’apprentissage sont représentables sous forme de paires.
Trois types de paires peuvent être envisagés.
Selon un premier type, une paire est une paire (x, y) où x est une alternative et y le score que l’alternative est censée avoir (score attendu).
Selon un deuxième type, une paire est une paire (x, k) où x est une alternative et k l’indice d’une classe de préférences (par exemple « bon », « mauvais » et « moyen »).
Selon un troisième type, une paire est une paire (x1 , x2) où les deux éléments sont des alternatives, avec x1 une alternative préférée à l’alternative x2 par le décideur.
Du fait de leur caractère hétérogène, l’obtention des données d’apprentissage implique dans certains cas l’utilisation de prétraitement permettant d’assurer que même si les données sont représentées de manière différente, elles représentent la réalité de la même manière et utilisent les mêmes critères pour évaluer les alternatives.
L’hétérogénéité peut provenir du fait que ces données d’apprentissage peuvent être recueillies à des instants différents et provenir de différentes personnes - chaque personne fournissant un type de données.
Lors d’une deuxième phase, le modèle de décision proprement dit est défini.
Par exemple, avec l’aide de l’expert, le concepteur se concentre désormais sur la définition du modèle en soi. A titre d’exemple particulier, l’expert va construire avec le concepteur du modèle la hiérarchie des critères, définir les critères artificiels issus des agrégations, choisir s’il le veut la classe d’agrégation à chacun des nœuds et la nature des fonctions d’utilités appliquées à chacun des critères, si elles sont nécessaires.
Plus spécifiquement, dans certains cas, le décideur peut avoir des certitudes a priori. Par exemple, le décideur peut considérer connaître d’avance la fonction d’utilité d’une partie des critères natifs, les paramètres de certaines des agrégations (ou des contraintes sur certains de ces paramètres) par exemple. Il est alors possible d’implémenter de telles contraintes efficacement, et de fixer ces fonctions d’utilité afin qu’elles ne soient pas apprises, et soient au contraire définies « à la main » selon les souhaits du décideur.
Similairement, dans certains cas, la manière dont les critères sont organisés hiérarchiquement est fixée à l’avance par un décideur. La hiérarchie peut en effet correspondre à une organisation logique d’après un décideur - les nœuds d’agrégation intermédiaires entre les critères et le nœud d’agrégation final correspondent alors à des concepts qui ont du sens pour un décideur.
Il sera bien compris que le procédé de génération n’a pas forcément besoin d’autant d’éléments d’information sur le problème initial.
Dans certains cas, il suffit de connaître les critères, la nature du problème initial ainsi que les données d’apprentissage.
Le procédé de génération comporte une étape de fourniture E50, une étape de retranscription E52, une étape d’apprentissage E54, une étape de détermination E56 et une étape d’implémentation physique E58.
Lors de l’étape de fourniture E50, il est fourni le problème initial ainsi que les données d’apprentissage.
Pour cela, le système reçoit les informations qui ont, le plus souvent, été élaborées par interactions entre le décideur et le concepteur bien que celles-ci ne soient pas obligatoires.
Par ailleurs, dans l’exemple proposé, il est supposé que, lors de l’étape de fourniture E50, le système reçoit également une hiérarchie des critères.
A l’issue de l’étape de fourniture E50, le système connaît ainsi le problème initial et la hiérarchie des critères tout en disposant d’un ensemble de données d’apprentissage.
Lors de l’étape de retranscription E52, le problème initial est retranscrit sous la forme d’un réseau de neurones et d’un ensemble de contraintes à respecter par le réseau de neurones.
L’étape de retranscription E52 vise ainsi à convertir le problème initial et la hiérarchie de critères en un réseau de neurones et un ensemble de contraintes à respecter par le réseau de neurones.
Dans le présent procédé, le réseau de neurones présente une architecture spécifique dont la figure 3 illustre un exemple particulier.
Ainsi, le réseau de neurones retranscrit comporte un ensemble de sous-réseaux de neurones.
Plus précisément, le réseau de neurones comporte un ensemble de sous-réseaux de neurones agencés selon une structure spécifique, chaque sous-réseau de neurones étant un premier sous-réseau de neurones ou un deuxième sous-réseau de neurones.
Dans l’exemple proposé, un premier sous-réseau de neurones est un sous-réseau d’agrégation.
Un premier réseau de neurones est un sous-réseau mettant en œuvre une fonction d’agrégation.
Une fonction d’agrégation A est une fonction définie par un vecteur d’utilité et retournant une valeur d’agrégation réelle.
Soit N = {1,... ,n} l’ensemble des critères (attributs dans le vocabulaire du domaine de l’aide à la décision).
X, est le domaine du i-ième critère.
Une alternative est définie comme un élément de X = Xi x .... x Xn.
Un modèle de décision est une fonction U : X -> [0,1], qui est généralement appelée fonction d’utilité induisant un ordre total sur X. Les fonctions d’utilités sont souvent représentées sous une forme décomposable, à savoir U(x) = A(ui(xi), ... .un(xn)) avec u, qui est la fonction d’utilité marginale u, qui est une fonction de X, dans l’intervalle [0,1]
Dans le présent cas, cela signifie que la fonction d’agrégation A associe à des valeurs de l’ensemble [0,1 ]n une valeur dans l’ensemble M, et si normalisée, dans l’intervalle [0,1]·
Plus précisément, la fonction d’agrégation est une fonction définie sur un vecteur d’utilité a = (ai, an) qui retourne une valeur agrégée dans l’intervalle [0,1]
Selon l’exemple proposé, la fonction d’agrégation appartient à la famille des intégrales de Choquet.
L’intégrale de Choquet est une généralisation de la somme pondérée, qui prend également en compte des interactions entre critères.
L’intégrale de Choquet est paramétrée par une mesure floue m qui sert à affecter à chacune des coalitions de critères un certain poids (là où une somme pondérée possède seulement un poids par singleton).
Par définition, une mesure floue m sur un ensemble L/ est une fonction de 2N dans l’ensemble M satisfaisant une condition de normalisation et une condition de monotonie.
La condition de normalisation est que m(0) = 0 et que m(N) = 1.
La condition de monotonie s’exprime selon la relation suivante :
A Q B Ç N = m(A) £ m(B ) £ 1
Ainsi, l’intégrale de Choquet em, paramétrée par la mesure floue m, d’un vecteur de valeurs a, s’écrit :
dans lequel t est une permutation dans l’ensemble N vérifiant à la fois deux conditions at( £ aT^i+1^e t a0 = 0.
Dans l’exemple décrit, la fonction d’agrégation A est une intégrale de Choquet qui est une intégrale 2-additive.
Dans un tel cas, il n’est envisagé qu’une interaction entre au plus deux critères. Cela permet d’obtenir une représentation satisfaisante de la réalité tout en limitant le nombre de paramètres libres. Limiter le nombre de paramètres libres permet de faciliter l’apprentissage du fait que le risque de surapprentissage est limité.
Lorsque la fonction d’agrégation A est une intégrale de Choquet 2-additive, la fonction
OÙ :
• Wj désigne le poids de la i-ième fonction d’utilité u
• wij,Min désigne le poids de l’interaction minimale entre la i-ième fonction d’utilité ut et la j-ième fonction d’utilité u7, et
• wij,Max désigne le poids de l’interaction maximale entre la i-ième fonction d’utilité ut et la j-ième fonction d’utilité uj.
Comme visible sur l’exemple de la figure 4 qui correspond à un tel premier sous- réseau, le premier sous-réseau de neurones comporte une couche d’entrée à n dimensions puis une couche cachée et une couche de sortie.
Les neurones de la couche cachée réalisent chacun une fonction parmi : l’identité (si le neurone n’a qu’une seule entrée, le neurone renvoie son entrée inchangée), le min- pooling (le neurone a deux entrées et renvoie la valeur de la plus petite de ses entrées), ou le max-pooling (le neurone a deux entrées et renvoie la valeur de la plus grande de ses
entrées). Une régression linéaire sur les sorties de tous ces neurones permet d’apprendre les poids
En variante, la fonction d’agrégation A est une somme pondérée des fonctions d’utilités.
Selon encore un autre mode de réalisation, la fonction d’agrégation A est une moyenne pondérée ordonnée.
Une telle opération est souvent désignée sous le sigle OWA qui renvoie à la dénomination anglaise de « Ordered weighted averaging ».
En variante, la fonction d’agrégation A est une fonction d’indépendance additive généralisée.
Une telle fonction est souvent dénommée fonction GAI, le sigle GAI renvoyant à la dénomination anglaise de « Generalized Additive Indépendance ».
L’emploi d’une telle fonction suppose que le problème est modélisé comme une somme d’utilité sur des sous-ensembles de critères qui peuvent s’intersecter.
En variante, la fonction d’agrégation A est une fonction multi-linéaire.
Une telle fonction s’écrit mathématiquement selon une expression similaire à l’expression précédente pour le cas d’une intégrale de Choquet 2-additive, la seule modification étant de remplacer les fonctions min et max par un produit des variables, et de rajouter des neurones pour chacun des sous-ensembles manquant. L’utilisation de ce modèle demande d’utiliser des fonctions d’utilités multi-dimensionnelles qui peuvent être obtenues par une interpolation multi-linéaire, ou par une fonction logit intégrant une fonction multi-linéaire des différentes variables en entrée.
Il est à noter qu’il n’est pas obligatoire que tous les premiers sous-réseaux réalisent la même fonction d’agrégation, chaque fonction d’agrégation pouvant être spécifique à un premier sous-réseau.
La fonction d’agrégation est, de préférence, une fonction d’agrégation de variables choisie dans la liste constituée d’une somme pondérée des variables, d’une intégrale de Choquet, d’une intégrale de Choquet 2-additive, d’une somme pondérée de combinaisons de fonctions min et max entre au plus k variables, pour k étant un entier au moins égal à 2, un modèle multi-linéaire, une fonction d’indépendance additive généralisée, et la moyenne pondérée ordonnée.
Un deuxième sous-réseau implémente une fonction d’utilité telle que celles qui sont utilisées dans le cadre de modèles décomposables en aide à la décision multicritère.
Le rôle d’une fonction d’utilité est de prendre en entrée la valeur brute sur l’un des critères, et de donner en sortie la satisfaction apportée par cette valeur sur ledit critère, indépendamment des valeurs de l’alternative sur tous les autres critères.
Cela signifie qu’une fonction d’utilité prend en entrée un réel et sort un autre réel.
En pratique, comme dans le présent exemple, un deuxième sous-réseau a pour entrées les valeurs brutes des alternatives sur chacun des critères, et donne en sortie la satisfaction marginale qu’une telle valeur donne à un décideur sur ce critère en particulier.
Cela signifie que le deuxième sous-réseau implémente une fonction d’utilité marginale.
Selon l’exemple décrit, la fonction d’utilité marginale est normalisée entre 0 et 1.
Cela signifie que la valeur minimale de la fonction d’utilité marginale est égale à 0 et que la valeur maximale de la fonction d’utilité marginale est égale à 1. Dans certains cas, la valeur minimale et/ou la valeur maximale est atteinte aux limites.
Ainsi, selon l’exemple décrit, une fonction d’utilité marginale u, est une fonction de X, dans l’intervalle [0,1] est une fonction assurant une correspondance entre le i-ème domaine d’attribut X, sur l’intervalle [0,1]
Un exemple de tel deuxième sous-réseau de neurones est illustré à la figure 5 avec une couche cachée comportant 3 nœuds.
Généralement, les fonctions d’utilité marginale sont de deux formes différentes.
Selon une première forme, la fonction d’utilité marginale est monotone.
Selon une deuxième forme, la fonction d’utilité marginale est une fonction à un seul plateau. Cette deuxième forme est souvent dénommée sous l’appellation « single- plateau ».
Par définition, une fonction d’utilité marginale est selon la deuxième forme lorsque la fonction d’utilité marginale présente un unique changement de monotonie. Autrement formulé, la fonction d’utilité marginale présente seulement deux portions : une première portion sur laquelle la fonction est monotone dans un sens et une deuxième portion sur laquelle la fonction est monotone dans un sens différent de la première portion.
Concernant la nature des fonctions d’utilité marginale selon la deuxième forme, il est possible de distinguer entre les fonctions d’utilité marginale comportant un plateau (fonction croissante puis décroissante) et les fonctions d’utilité marginale comportant une vallée (fonction décroissante puis croissante).
Comme pour le cas du premier sous-réseau, il n’est pas obligatoire que tous les deuxièmes sous-réseaux de neurones réalisent la même fonction d’utilité marginale, chaque fonction d’utilité marginale pouvant être spécifique à un deuxième sous-réseau de neurones.
La fonction d’utilité marginale est, de préférence, une fonction monotone ou une fonction présentant trois parties, une première partie monotone, une deuxième partie qui
est constante et une troisième partie monotone, la monotonie de la première partie étant différente de la monotonie de la troisième partie.
Selon l’exemple décrit, le réseau de neurones est ainsi un assemblage de sous- réseaux, plus exactement un assemblage de sous-réseaux, chaque sous-réseau étant choisi parmi le premier sous-réseau et le deuxième sous-réseau.
Le réseau de neurones est un assemblage selon une structure spécifique.
Ainsi, le réseau de neurones comporte un ensemble de sous-réseaux de neurones agencés selon une structure arborescente, chaque sous-réseau de neurones étant un premier sous-réseau de neurones ou un deuxième sous-réseau de neurones.
La structure arborescente est une structure d’arbre lorsqu’il existe un chemin unique entre un sommet particulier vers tous les autres sommets, et que chaque sommet non- feuille compte au moins deux nœuds-fils.
Plus spécifiquement, dans le cas décrit, la structure arborescente est une structure dont les feuilles sont les entrées brutes du réseau de neurones (le plus souvent les données disponibles issues des capteurs lorsque le système d’aide à la décision est utilisé en conditions réelles) et la racine est la sortie du réseau de neurones.
En référence à la figure 3, le réseau de neurones comporte en entrée des deuxièmes sous-réseaux de neurones suivis par un premier sous-réseau de neurones.
Le réseau de neurones décrit comporte trois deuxièmes sous-réseaux suivis d’un premier sous-réseau de neurones. Les sorties des deuxièmes sous-réseaux sont trois fonctions d’utilité marginale qui sont reliées par le premier sous-réseau de neurones qui implémente une intégrale de Choquet.
Selon un autre exemple, le réseau de neurones comporte plusieurs premiers sous- réseaux.
De manière générale, une telle structure permet que le réseau de neurones représente la hiérarchie des critères.
Il peut être remarqué qu’une telle structure peut être représentée mathématiquement comme suit.
Il est noté s(g) la sortie du nœud g. Si g est une feuille, alors s(g) sera l’image par une fonction d’utilité marginale du critère correspondant à la feuille. Sinon, si g est un nœud non-feuille, alors g a plusieurs fils {g1, g2, ... , gf}. s(g) est à ce moment-là l’image par la fonction d’agrégation en g (par exemple une intégrale de Choquet 2-additive) du vecteur formé par les sorties de tous ses fils : s(g) = A(g1 , g2,... , gf) où A est la fonction d’agrégation en question.
Selon un premier exemple, la structure du réseau de neurones est conçue en collaboration avec le décideur.
Selon un deuxième exemple, la structure du réseau de neurones est choisie par le concepteur.
Pour réaliser un tel choix, le concepteur peut s’appuyer sur des relations évidentes entre des variables, de tests sur plusieurs modèles afin de déterminer le plus adapté aux données, ou encore d’analyses sur les variables visant à révéler des relations particulières qui peuvent être exploitées (réduction de dimension, fortes corrélations positives ou négatives entre deux variables par exemple).
Selon un troisième exemple, la structure du réseau de neurones est un paramètre du réseau de neurones qui est appris lors de l’étape d’apprentissage E54.
Du point de vue fonctionnel, le réseau de neurones en structure arborescente est une agrégation de critères d’entrée pour générer des nouveaux critères qui seront, à nouveau, agrégés en un nouveau critère et ainsi de suite, jusqu’à aboutir à un score global pour l’alternative considérée.
Un tel type de réseau de neurones implémente ainsi un modèle de décision par petites agrégation successives, ce qui permet de représenter certaines stratégies complexes de décision, tout en élaguant des termes et des paramètres superflus qui peuvent apparaître dans une agrégation globale de tous les critères.
D’autres structures sont envisageables pour le réseau de neurones.
Ainsi, selon un exemple, le réseau de neurones comprend uniquement un premier sous-réseau. Dans un tel cas, le réseau de neurones implémente un modèle de régression choquistique classique.
Selon un autre exemple, le réseau de neurones comporte en entrée une couche de deuxième réseau de neurones réalisant des fonctions d’utilités. Ceci permet d’obtenir une classe de modèle qui autorise l’utilisation de telles fonctions.
Les fonctions d’agrégation décrites plus haut sont, pour la plupart, fortement contraintes, en particulier par la monotonie. Ainsi, l’intégrale de Choquet est croissante par rapport à chacune de ses entrées, et chacune de ses entrées doit être entre 0 et 1 (symboliquement, on agrège des satisfactions marginales en une satisfaction globale. Il est donc nécessaire que, plus la satisfaction sur un critère donné est élevée, plus la satisfaction globale est élevée, toutes choses égales par ailleurs).
Par conséquent, une intégrale de Choquet peut ne pas être un modèle compatible avec certaines données brutes (c’est-à-dire en amont de l’application d’une utilité marginale). Pour reprendre l’exemple du radar, la satisfaction globale doit être décroissante par rapport à la consommation électrique, toutes choses égales par ailleurs. Cela signifie que, sans l’application d’une utilité marginale décroissante sur la consommation électrique, l’intégrale de Choquet ne pourra pas agréger ce critère de manière satisfaisante. En
revanche, après application d’une telle fonction décroissante u, qui représente la satisfaction sur la consommation électrique p, on a bien la satisfaction globale qui est croissante par rapport à u(p), toutes choses égales par ailleurs.
De même, le fait que les utilités soient toutes à valeurs dans [0,1] permet des propriétés importantes du modèle : la commensurabilité des critères (capacité à comparer les satisfactions sur plusieurs critères distincts) notamment. En effet, il est dur de comparer la satisfaction apportée par des critères qui vivent dans des échelles différentes (par exemple la portée radar entre 10km et 1000km, et la consommation électrique entre 1 kW et 1000kW), et qui peuvent être dans des unités différentes. Les utilités permettent donc une renormalisation de tous ces éléments sur une même échelle de satisfaction [0,1]
Ainsi, les utilités marginales permettent de rendre les données brutes « compatibles » avec le modèle.
Selon encore un autre exemple, le réseau de neurones comporte, en entrée, d’autres sous-réseaux visant à déterminer les valeurs des critères à partir de données d’entrées.
Dans l’exemple proposé, chaque sous-réseau présente un nombre de couches cachées inférieur ou égal à 3.
Plus précisément, chaque sous-réseau est agencé sous forme de couches avec une couche d’entrées regroupant les neurones d’entrée et une couche de sortie regroupant la ou les neurone(s) de sortie. Toutes les couches intermédiaires sont des couches cachées qui sont uniquement en liaison avec les neurones des couches immédiatement en aval et les neurones de la couche immédiatement en amont.
Plus généralement, chaque sous-réseau présente un nombre de couches cachées inférieur ou égal à 5.
A titre d’exemple particulier, chaque sous-réseau est un perceptron multi-couches.
En ce sens, le réseau de neurones est un ensemble de réseaux de neurones simples, représentant chacun une famille de fonctions d’agrégation ou de fonctions d’utilités, interconnectables afin d’obtenir des modèles d’aide à la décision multicritère.
Selon un premier exemple, lors de l’étape de retranscription E52, l’ensemble de contraintes à respecter par le réseau de neurones est obtenu de manière implicite. Par exemple, en choisissant une fonction d’agrégation, on impose les contraintes de cette fonction d’intégration sur le modèle ; par exemple, une fonction d’agrégation qui est une intégrale de Choquet sera croissante de ses entrées, continue, bornée et idempotente.
Selon un deuxième exemple, l’ensemble des contraintes est fourniexplicitement. A titre d’illustration, un décideur peut décider de contraindre encore plus les fonctions d’agrégation ou les fonctions d’utilités, en forçant par exemple certains paramètres à être
plus grands que d’autres. Cela demande alors des contraintes supplémentaires à poser sur la fonction d’agrégation.
L’ensemble de contraintes comporte ainsi des contraintes de monotonie, de dérivabilité, d’idempotence et de continuité.
L’étape de retranscription E52 comporte la formulation de l’ensemble de contraintes à respecter par le réseau de neurones sous forme de sous-contraintes à respecter par chaque sous-réseau de neurones.
Selon l’exemple décrit et comme cela sera décrit plus précisément en référence à l’étape d’apprentissage E54, les sous-contraintes à respecter par un sous-réseau de neurones sont choisies parmi la liste constituée de :
- la monotonie de la variation de la sortie du sous-réseau de neurones en fonction des entrées du sous-réseau de neurones,
- la sortie du sous-réseau de neurones est comprise entre une valeur minimale et une valeur maximale, la sortie du sous-réseau de neurones étant égale à la valeur minimale lorsque toutes les entrées du sous-réseau de neurones valent la valeur minimale, et la sortie du sous-réseau de neurones étant égale à la valeur maximale lorsque toutes les entrées du sous-réseau de neurones valent la valeur maximale, et
- chaque sous-réseau est propre à implémenter des poids, une contrainte étant que les poids soient positifs et que la somme des poids soit égale à 1 .
En ce sens, avec la ou leur sous-contrainte(s) spécifique(s), chaque sous-réseau forme une unité de calcul autonome et indépendante des autres sous-réseaux.
A l’issue de l’étape de retranscription E52, il est ainsi obtenu un réseau de neurones retranscrit, un tel réseau de neurones étant un réseau complet prêt pour être utilisé pour l’apprentissage en vue de résoudre le problème initial.
Lors de l’étape d’apprentissage E54, il est mis en œuvre un apprentissage du réseau de neurones retranscrit à l’aide des données d’apprentissage.
Autrement formulé, le réseau étant construit et les données étant compatibles avec la mise en œuvre d’un apprentissage, il est possible de mettre en œuvre un entraînement du réseau avec les données d’apprentissage.
Selon l’exemple proposé, les paramètres du réseau de neurones sont les poids reliant les neurones des réseaux de neurones et les biais apportés à la valeur d’entrée de certains neurones.
Comme indiqué précédemment, dans certains cas, les paramètres du réseau de neurones comportent la structure du réseau de neurones.
De toute manière, même si une information sur le réseau de neurones vient à ne pas être disponible, il est tout-de-même possible d’apprendre le réseau de neurones, bien qu’il risque d’être moins précis.
L’apprentissage comprend l’emploi d’au moins une technique choisie dans la liste constituée d’une descente de gradient par lot, d’une descente de gradient stochastique, et d’une descente de gradient par mini-lot.
Chacune de ces techniques est une technique ou un algorithme permettant d’apprendre les paramètres de chaque sous-réseau de neurones, notamment du fait que chaque sous-réseau est un perceptron multi-couches.
De manière générale, ces techniques consistent à lire plusieurs fois les données d’apprentissage, propager chacun des points en avant dans le réseau de neurones, et propager les gradients en arrière (de la sortie vers l’entrée) pour réajuster les paramètres du réseau de neurones.
Plus spécifiquement, la technique de descente par gradient par lot est aussi appelée algorithme de descente de gradient par batch.
La mise en œuvre d’une telle technique comporte un ajustement des paramètres pour minimiser une fonction de coût, qui quantifie l’erreur entre la réponse estimée et la bonne réponse sur des données d’entraînement. Les paramètres sont modifiés itérativement en soustrayant le gradient de la fonction de coût qui se calcule par composition d’opérateurs linéaires ou de non-linéarités ponctuelles différentiables en effectuant une moyenne sur l’ensemble du lot c’est-à-dire l’ensemble des paramètres calculés. La mise en œuvre d’une telle technique implique ainsi des multiplications successives de matrices Jacobiennes.
La descente de gradient stochastique (parfois aussi appelée l’algorithme du gradient stochastique) est une technique de descente de gradient (itérative) utilisée pour la minimisation d'une fonction objectif qui est écrite comme une somme de fonctions différentiables. La descente de gradient stochastique est moins consommatrice de calcul en ce sens qu’elle est réalisé sur un seul exemple par itération, l’exemple étant choisi aléatoirement dans la base de données.
La descente de gradient par mini-lot, aussi appelé descente de gradient par mini- batch, est un compromis entre les deux techniques précédentes en choisissant un mini-lot aléatoirement à chaque itération et en calculant les gradients sur ce mini-lot.
Dans certains cas, l’utilisation des techniques précitées conduit à apprendre un réseau de neurone ne présentant pas une propriété de cohérence.
Pour éviter l’apparition de telles incohérences, dans l’exemple décrit, il est proposé d’imposer des contraintes à respecter localement, c’est-à-dire au niveau de chaque sous- réseau qui sont les sous-contraintes obtenues précédemment.
Les sous-contraintes à respecter localement sont maintenant présentées successivement pour le premier sous-réseau et le deuxième sous-réseau selon les deux formes de fonction d’utilité marginale à laquelle celui-ci correspond.
Pour ce qui concerne un premier sous-réseau, l’apprentissage consiste à apprendre une mesure floue satisfaisant aux données d’apprentissage et respectant les deux conditions précédentes, à savoir la condition de normalisation et la condition de monotonie.
Selon l’exemple proposé d’une fonction d’agrégation qui est une intégrale de Choquet 2-additive, pour apprendre la mesure floue et notamment la propriété de monotonie, il suffit de garantir deux sous-conditions d’apprentissage, à savoir que tous les poids Wj, wij Min et wijMax soient positifs et que la somme de l’ensemble des poids wh wij,Min wij,Max soit égale à 1 .
Cela correspond en réalité au respect de n2 conditions.
Par exemple, les deux sous-conditions d’apprentissage sont obtenues en effectuant des renormalisations fréquentes et ce, sans emploi de régularisation.
Une fois apprise, le premier sous-réseau implémente formellement une intégrale de Choquet 2-additive, avec toutes les propriétés qui en sont attendues (monotonie, idempotence, continuité par exemple).
Pour un deuxième sous-réseau et plus spécifiquement, une fonction d’utilité marginale selon la première forme, à savoir une fonction monotone, le sens de monotonie est connu.
Selon l’exemple décrit, le sens de monotonie est fixé par le problème initial, le décideur connaissant un tel sens.
Selon l’exemple décrit, une fonction d’utilité marginale (monotone, ou une partie monotone d’une fonction d’utilité marginale de type simple-plateau) est apprise comme une somme pondérée de sigmoïdes. Une sigmoïde s’écrit comme le rapport entre 1 et la somme de 1 avec une exponentielle.
En outre, la somme pondérée est normalisée de telle manière que la somme des poids soit égale à 1 , et que les poids soient tous positifs.
Ceci s’écrit mathématiquement comme :
Avec :
• Pi un hyperparamètre fixant le nombre maximum de sigmoïdes impliquées dans la formule précédente,
• r/ le poids associé à la l-ième sigmoïde,
• h\ une première constante associée à la l-ième sigmoïde, la première constante contrôlant la précision de la l-ième sigmoïde, et
• b· une deuxième constante associée à la l-ième sigmoïde, la deuxième constante contrôlant le biais de la l-ième sigmoïde.
L’apprentissage pour une telle fonction d’utilité marginale selon la première forme consiste alors à apprendre chaque poids et les deux constantes pour chacune des sigmoïdes avec deux contraintes portant sur les poids. Selon la première contrainte, chaque poids est positif et selon la deuxième contrainte, la somme des poids est égale à 1 .
Pour cela, par exemple, les poids de la dernière couche vers la sortie sont rendus positifs par l'utilisation de variables cachées dont les poids sont l'image par une fonction mathématique positive et croissante, et dans lequel la somme desdits poids est rendue égale à 1 par une renormalisation à chaque itération.
Avec un tel apprentissage, il est garanti que la fonction d’utilité marginale est monotone (soit selon la première forme) et normalisée.
Pour le cas d’une fonction d’utilité marginale selon la deuxième forme, la nature (plateau ou vallée) est acquise auprès du décideur.
Pour la suite, il est supposé que la fonction d’utilité marginale est une fonction de type plateau.
Une transformation est appliquée sur les données d’apprentissage pour n’avoir à apprendre que les plateaux.
L’apprentissage consiste alors à apprendre quatre valeurs x1 , x2, x3 et x4 telles que x1 < x2 < x3 < x4 et telles que la fonction d’utilité marginale a pour valeur 0 sur les intervalles ] - 00 ; x1] et [x4 ; 00 [ , a pour valeur 1 sur [x2 ; x3] et soit une interpolation linéaire sur les intervalles [x1 ; x2] et [x3 ; x4].
Un tel apprentissage garantit la forme, la normalisation et la continuité de la fonction d’utilité marginale selon la deuxième forme.
En variante, l’apprentissage d’une fonction d’utilité marginale selon la deuxième forme est réalisé par un apprentissage de sommes pondérées de sigmoïdes dans un sens de monotonie (comme précédemment pour le cas d’une fonction d’utilité marginale selon la première forme) puis dans le sens de monotonie inverse.
Il est à noter qu’est également apprise la valeur x* seuil, telle que la première somme pondérée est appliquée à gauche de ce point, et la seconde somme pondérée est appliquée
à droite de ce point. La valeur en x* est nécessairement de 0 (dans le cas d’une vallée) ou de 1 (dans le cas d’un plateau). Cela est garanti par des renormalisations.
Un tel apprentissage permet d’obtenir, en outre, une fonction d’utilité marginale qui est dérivable. Une telle propriété permet notamment de faciliter l’apprentissage puisque les problèmes de disparition ou d’explosion du gradient durant l’apprentissage sont évités.
Au final, d’un point de vue global, l’apprentissage comporte, à chaque itération, une phase de propagation et une phase de rétropropagation.
La phase de propagation est une phase de propagation avant consistant en l’injection dans les feuilles des valeurs sur chaque critère. Les valeurs vont alors passer de sous-réseau en sous-réseau, au fil des agrégations successives, jusqu’à atteindre la racine, ou nœud de sortie, qui nous donnera le résultat.
La phase de rétropropagation consiste à comparer le résultat obtenu au résultat attendu. La phase de rétropropagation utilise une fonction dite « de perte » qui caractérise la différence entre la prédiction et la vérité. Une telle fonction est une fonction de l’erreur quadratique qui s’écrit L(x,y) = (M(x)-y)2 avec x est une alternative en entrée, M(x) le score donné à l’alternative x par le modèle M et y le score attendu. Le gradient de cette fonction L est alors calculé en sortie, puis propagé à travers tout le réseau, le remontant jusqu’aux feuilles. Ainsi, au fur et à mesure, chacun des sous-réseaux calcule les gradients de la perte par rapport à ses propres paramètres et les met à jour avant de transmettre les gradients aux sous-réseaux en amont.
Il est à noter également que le type de fonction d’erreur à optimiser dépend du type de données (erreur quadratique moyenne pour la régression, par exemple, ou erreur logistique pour de la classification binaire). N’importe quel type de fonction d’erreur différentiable peut ainsi être minimisée, au moins localement.
A titre d’illustration, dans le cas d’apprentissage par paires de préférences, une architecture siamoise est privilégiée (le réseau N est dupliqué, afin d’obtenir deux réseaux « clones » N1 et N2 identiques au réseau N). L’erreur est alors une fonction croissante de (N2(x2)-N1 (x1)),(par exemple, une fonction arctangente, soit ici atan(N2(x2)-N1 (x1 )). Les gradients sont calculés sur le premier réseau clone N1 , et le deuxième réseau clone N2, et sont ensuite sommés pour obtenir le gradient total. Ce dernier est appliqué au premier réseau clone N1 , puis le premier réseau clone N1 est à nouveau copié pour obtenir le nouveau réseau clone N2.
L’étape d’apprentissage E54 permet d’obtenir un réseau de neurones appris résolvant le problème initial.
Le réseau de neurones appris réalise une fonction.
Lors de l’étape de détermination E56, il est déterminé la fonction réalisée par le réseau de neurones appris.
Plus précisément, il est déterminé une forme explicite sous la forme d’une formule mathématique compacte, qui conserve les mêmes paramètres (et correspond donc à exactement la même fonction que celle que le réseau de neurones représente).
La fonction déterminée est la fonction correspondant à la formule mathématique compacte.
A titre d’exemple particulier, dans le cas de l’intégrale de Choquet 2-additive, le réseau apprend les poids w,, wiLmin et w max. Une fois le réseau appris, les poids sont extraits (en ignorant tout le reste des paramètres), et les poids sont utilisés pour paramétrer une fonction explicite d’intégrale de Choquet 2-additive (voir équation précédente). La fonction déterminée est ainsi complètement caractérisée.
Le réseau n’est ainsi qu’un support pour apprendre une telle fonction, tout en gardant ses paramètres explicites. Les paramètres peuvent, après l’apprentissage, être enregistrés, stockés, ou utilisés tels-quels pour paramétrer une fonction du même type.
Lors de l’étape d’implémentation E58, il est implémenté physiquement la fonction déterminée pour obtenir le système d’aide à la décision.
Selon un exemple particulier, le réseau de neurones est implémenté sur un FPGA.
Le procédé de génération permet ainsi d’obtenir un système d’évaluation implémentant la fonction réalisée par le réseau de neurone appris avec une implémentation simplifiée (consommant peu de ressources et de mémoire) pour la rendre compatible avec une implémentation embarquée.
En outre, le système d’évaluation permettra de répondre au problème initial et d’assister le décideur, notamment lorsque les alternatives sont modifiées trop fréquemment pour qu’elles soient toutes étudiées par un humain (aspect mise en œuvre en temps réel) ou par l’émission d’une alerte lorsqu’une alternative acceptable la plupart du temps ne l’est plus (cas d’une application de surveillance).
Le procédé de génération permet ainsi d’apprendre facilement et rapidement un modèle de préférences complexe respectant des contraintes formelles fortes et correspondant à des classes connues de modèles de préférences, ou issus d’agrégations successives de modèles appartenant auxdites classes. Un tel modèle de préférences est ainsi un modèle propre à assister un décideur dans sa prise de décision sur un problème donné notamment parce qu’il reste transparent et aisé à interpréter.
Ces propriétés ont été démontrées expérimentalement par le demandeur lors de tests.
Par ailleurs, le procédé de génération est un procédé d’apprentissage neuronal d‘un modèle de préférences, ce qui signifie que le procédé de génération utilise avantageusement une représentation d’un problème sous forme d’un réseau de neurones.
En particulier, le procédé permet de modifier le réseau de neurones pour passer aisément d’un type de problème à un autre. Par exemple, il est aisé de passer d’un problème de régression à un problème de classification, voire d’apprentissage de préférences à partir de paires d’alternatives étiquetées, en fonction des données d’entrée, de leur nature, et de la nature attendue de la sortie.
En outre, l’apprentissage d’un réseau de neurones est une tâche bien parallélisable. Il est ainsi possible d’implémenter l’étape d’apprentissage E54 avec une architecture matérielle adaptée pour des opérations menées en parallèle.
Ainsi, l’étape d’apprentissage E54 est avantageusement exécutée sur des processeurs tels que les CPU ou les GPU. Un CPU est un processeur, le sigle CPU provenant du terme anglais « Central Processing Unit » signifiant littéralement unité centrale de traitement tandis qu’un GPU est un processeur graphique, le sigle GPU provenant du terme anglais « Graphie Processing Unit » signifiant littéralement unité graphique de traitement.
Selon une autre variante, l’étape d’apprentissage E54 est réalisée sur une ferme de calcul.
Il résulte des éléments précédents que le procédé de génération permet de tirer parti du meilleur de deux mondes, celui de l’aide à la décision multi-critères avec sa rigueur d’une part et celui de l’apprentissage automatique avec son approche statistique d’autre part. Le procédé de génération fait ainsi partie du domaine de l’intelligence artificielle hybride, domaine qui combine les méthodes statistiques d’apprentissage automatique et des contraintes expertes fortes intégrées à ces modèles d’apprentissage.
Le procédé de génération exploite les avantages procurés par l’utilisation des réseaux de neurones, à savoir une grande modularité et l’absence de besoin de calcul à la main de gradients complexes, tout en garantissant des contraintes fortes sur le modèle appris, à la fois grâce à l’architecture particulière du réseau, et grâce aux normalisations et procédures évoquées plus haut.
Autrement formulé, le procédé exploite donc la capacité des perceptrons multicouches à régresser des paramètres de modèles à partir de données, et les garanties formelles offertes par les modèles d’agrégation d’aide à la décision multicritère pour apprendre des modèles subtils, mais fortement contraints.
Le procédé permet ainsi de générer des modèles adaptés à l’aide à la décision multicritère, qui offre les garanties sur le modèle que peuvent exiger des décideurs dans
des cadres opérationnels. Le procédé apporte cependant en plus la possibilité de travailler sur des données bruitées, voire erronées.
Le procédé utilise aussi le fait que le réseau de neurones est divisé en deux types de sous-réseaux.
Cela permet d’obtenir un procédé de génération présentant une plus grande simplicité calculatoire.
En effet, les procédés de l’état de la technique impliquent de calculer un gradient local pour chacune des configurations possibles, ce qui conduit en pratique à limiter l’agrégation pour que le calcul puisse être effectué en pratique. Dans le présent procédé, au contraire, les gradients sont calculés uniquement localement, c’est-à-dire agrégation par agrégation.
Plus précisément, lors de l’étape d’apprentissage E54, les données d’apprentissage sont propagées de sous-réseau en sous-réseau lors de la propagation avant et les gradients sont ensuite propagés de sous-réseau en sous-réseau lors de la rétropropagation. Pour chaque sous-réseau, il est ainsi calculé un gradient simple indépendamment de la complexité du réseau dans sa globalité et ce gradient calculé est ensuite propagé aux sous-réseaux en amont.
Un tel procédé offre une implémentation facilitée des contraintes. Les sous-réseaux sont définis de manière à garantir qu’à n’importe quel stade de l’étape d’apprentissage E54 le sous-réseau respecte formellement toutes les contraintes à respecter pour la fonction que le sous-réseau réalise. Il est ainsi évité l’emploi de régularisations ou de calculs de vérification. Les contraintes sont remplies localement pour chaque sous-réseau de manière aisée et le fait que les contraintes sont remplies par chaque sous-réseau appris garantit que l’ensemble du réseau appris remplit les contraintes de manière globale.
Le procédé présente également l’avantage d’une grande modularité puisque chaque sous-réseau peut être modifié sans modifier l’ensemble du réseau. Par exemple, il est possible de remplacer un premier sous-réseau par un autre premier sous-réseau correspondant à une fonction d’agrégation différente. On peut également remplacer un module d’utilité marginale par un autre. Il est également possible de réagencer les sous réseaux. Cependant, dans ce cas, il convient de ré-entraîner le réseau (ou du moins, la sous partie du réseau qui a été modifiée).
Une telle possibilité est notamment pertinente dans le cas d’une hiérarchie d’agrégations. En particulier, il peut ainsi être supposé que, si un grand nombre de classes de cellules d’agrégations classiques a été appris, trouver la bonne hiérarchie est le seul problème qui reste pour adapter le réseau de neurones à la situation.
Le procédé permet aussi des validations plus simples. En effet, pour chaque sous- réseau du même type qui sont de la même classe, il suffit de vérifier que la classe remplit les conditions nécessaires exposées dans l’étape d’apprentissage E54 pour valider tous les sous-réseaux de la même classe. Il en résulte une plus grande facilité d’entretien de l’implémentation physique du réseau de neurones appris.
D’autres modes de réalisation du présent procédé sont envisageables.
Selon un premier exemple d’autre mode de réalisation, l’étape d’apprentissage E54 comporte une validation du modèle.
Plus précisément, après mise en œuvre d’une technique d’apprentissage comme proposée précédemment, il est obtenu un modèle à valider dont les paramètres sont désormais déterminés.
Le concepteur présente alors au décideur le modèle à valider, c’est-à-dire la fonction que le réseau de neurones apprend
Une telle présentation est, par exemple, mise en œuvre par utilisation d’indicateurs utilisés dans le domaine de l’aide à la décision. Les valeurs de Shapley ou les indices d’interaction sont des exemples de tels indicateurs. A titre d’illustration, le concepteur présente un graphe traçant les valeurs de Shapley de chaque critère.
Par définition, la valeur de Shapley de chacun des critères représente l’importance relative du critère par rapport aux autres critères. Sachant une mesure floue m sur un ensemble de critères, la valeur de Shapley du critère i se calcule comme :
L’indice d’interaction, lui, caractérise la force d’une interaction entre deux critères (par sa valeur absolue). Le signe de l’indice d’interaction indique s’il s’agit d’une redondance (négatif) ou d’une synergie (positif). L’indice d’interaction entre les critères i et j s’écrit comme :
Selon un autre exemple, il est utilisé des indicateurs issus de l’apprentissage automatique comme les analyses de sensibilité, les indices de Sobol ou les erreurs en validation croisée.
Les indices de Sobol sont des alternatives aux valeurs de Shapley pour calculer la part de variance exprimée par chacun des critères (une autre manière de définir l’importance de chacun des critères).
La validation croisée est un processus visant à quantifier la performance du système : un réseau est entraîné sur 80% des données, et testé sur les 20% restants (de manière à l’évaluer sur des données qui n’ont pas été vues à l’entraînement). Les erreurs sur ces données (outre leur valeur moyenne, qui est déjà un indicateur de la performance du modèle), apportent des informations sur le modèle. Notamment, si tous les exemples d’une certaine zone de l’espace X sont mal classifiés, cela peut dénoter une faiblesse du modèle dans cette zone précise, ce qui peut illustrer une mauvaise utilité marginale, ou un mauvais choix de fonction d’agrégation.
Avec les éléments fournis par le concepteur, le décideur détermine si le modèle est valable au regard de son expérience de la situation réelle.
Lorsque le décideur considère que le modèle n’est pas valable car certaines sorties du modèle sont erronées, le concepteur détermine comment effectuer les corrections appropriées pour obtenir un modèle valable.
Une telle correction est, selon un premier exemple, une correction manuelle, c’est- à-dire une modification forcée de certaines valeurs de paramètres du réseau de neurones appris.
Selon un deuxième exemple pouvant être mis en œuvre en combinaison avec le premier exemple ou tout seul, il est ajouté des données dans les données d’apprentissage et un apprentissage est mis en œuvre avec les données d’apprentissage ainsi complétées. Un tel exemple de correction permet notamment de réparer d’éventuelles erreurs dues à des données erronées, ou à une zone de l’espace d’entrée sous-représentée dans les données d’apprentissage originelles.
Le processus présenté (évaluation et correction) peut être itéré autant de fois que nécessaire jusqu’à que le décideur soit satisfait du modèle obtenu.
Dans certains cas, la validation comprend l’utilisation d’indicateurs quantitatifs comme l’erreur en validation croisée à la place de la satisfaction du décideur ou en complément de la satisfaction du décideur via une pondération de l’évaluation subjective et quantitative.
Selon un tel premier exemple d’autre mode de réalisation, l’apprentissage comprend la mise en œuvre d’une technique d’apprentissage supervisée.
Selon un deuxième exemple d’autre mode de réalisation, il est réalisé un apprentissage de la hiérarchie des critères. Un tel mode de réalisation est notamment pertinent lorsque le décideur n’est pas disponible.
Pour cela, à titre d’illustration, l’apprentissage comporte un premier apprentissage avec l’ensemble de contraintes de la retranscription permettant d’apprendre un réseau de neurones intermédiaire, un deuxième apprentissage de l’ensemble de contraintes en fixant
le réseau de neurones au réseau de neurones intermédiaire, pour obtenir un ensemble de contraintes appris, et un ajustement du réseau de neurones appris en fonction de l’écart entre l’ensemble de contraintes de la retranscription et l’ensemble de contraintes appris, pour obtenir un réseau de neurones ajusté, le réseau de neurones appris étant le réseau de neurones ajusté.
Quelques implémentations d’un tel exemple sont décrits dans ce qui suit.
Une première technique est d’apprendre une seule couche d’agrégation. Une telle couche est cependant surparamétrée, et présente des risques plus importants de sur apprentissage qu’un modèle conçu avec un expert, mais est la plus susceptible de représenter adéquatement les données.
Une deuxième technique consiste à étudier les données via divers algorithmes d’apprentissage non-supervisé. Par exemple, les interactions peuvent être vues sur des matrices de corrélation/covariance, les sens des utilités sur des graphes de dépendance partielles, les critères artificiels peuvent être les composantes principales d’une transformation de Karhunen-Loève. Des techniques plus avancées, comme des autoencodeurs variationnels, peuvent également être appliquées.
Enfin, une troisième technique consiste en un apprentissage de la hiérarchie via des techniques dites d’apprentissage de structure (plus souvent désignées sous l’appellation anglaise correspondante de « structure learning »). Cela inclut, mais n’est pas restreint à, des techniques évolutionnaires ou génétiques, des techniques d’exploration ou de recherche heuristique (recherche en faisceau par exemple). L’une des techniques préférées, propre aux intégrales de Choquet, consiste à partir d’un modèle « plat », à une seule agrégation et d’apprendre jusqu’à la convergence. Une fois ceci fait, l’observation des valeurs d’interactions entre critères permet de regrouper ensemble les critères qui interagissent de la même manière avec tous les autres critères, générant ainsi un nouvel arbre. Plusieurs arbres candidats sont ainsi créés, et entraînés. Il peut alors n’être gardé qu’un certain nombre de meilleurs candidats (ceux qui ne dégradent pas la performance), et poursuivre l’apprentissage jusqu’à un critère d’arrêt choisi (par exemple, si aucun nouveau candidat n’améliore la performance).
Dans encore un autre mode de réalisation, le procédé de génération comporte l’application d’une technique statistique pour robustifier le modèle implémenté par le réseau de neurones ou des techniques de modifications de caractéristiques (analyse par composante principale, auto-encodeur...).
Selon une autre variante, le réseau de neurones comporte des étages de prétraitements sur les entrées ou de post-traitement sur les sorties.
En variante ou en complément, le réseau de neurones comporte un ou plusieurs sous-réseaux d’apprentissage profond.
En particulier, des réseaux faisant de l’apprentissage de représentation ou de la sélection de caractéristiques permettraient ainsi d’extraire, à partir de données initialement incompatibles avec le modèle (une image par exemple) de nouvelles caractéristiques (ou de nouveaux critères) qui, elles, serviraient de support aux décisions prises par les modèles de décision décrits plus haut. Le ou les premiers sous-réseaux servent dans ce cas de « bloc de sortie » et prennent donc des décisions sur les informations pré-traitées par les réseaux profonds en amont. Un cas particulier est le calcul de fonctions d’utilités marginales qui peuvent être appliquées comme « remise à l’échelle » des critères natifs, dans le cadre de modèles utilitaires, afin d’offrir des variables modifiées plus adaptées aux agrégations qui suivent. On peut ainsi apprendre en parallèle les utilités marginales et les paramètres des fonctions d’agrégation par descente stochastique du gradient. L’homme du métier comprend bien que le procédé de génération peut comprendre une combinaison des caractéristiques précédentes lorsqu’elles sont techniquement compatibles.
Claims
1. Procédé de génération d’un système d’aide à la décision multicritère, le procédé de génération comprenant :
- la fourniture d’un problème initial et de données d’apprentissage résolvant le problème initial pour des cas particuliers, le problème initial étant un problème d’évaluation de la qualité d’un système existant ou à créer, le problème initial est un problème choisi parmi :
- le choix de la meilleure alternative parmi un ensemble d’alternatives,
- la répartition d’alternatives parmi des classes de préférences,
- le rangement d’alternatives par ordre de préférence, et
- la fourniture d’un score d’évaluation d’une alternative,
- la retranscription du problème initial sous forme d’un réseau de neurones et d’un ensemble de contraintes à respecter par le réseau de neurones, pour obtenir un réseau de neurones retranscrit,
- l’apprentissage du réseau de neurones retranscrit à l’aide des données d’apprentissage, pour obtenir un réseau de neurones appris résolvant le problème initial,
- la détermination de la fonction réalisée par le réseau de neurones appris, et
- l’implémentation physique de la fonction déterminée pour obtenir le système d’aide à la décision.
2. Procédé de génération selon la revendication 1 , dans lequel le réseau de neurones retranscrit comporte un ensemble de sous-réseaux de neurones, l’étape de retranscription comportant la formulation de l’ensemble de contraintes à respecter par le réseau de neurones sous forme de sous-contraintes à respecter par chaque sous-réseau de neurones.
3. Procédé de génération selon la revendication 2, dans lequel chaque sous-réseau de neurones comporte des couches cachées, le nombre de couches cachées étant inférieur ou égal à 5, de préférence inférieur ou égal à 3.
4. Procédé de génération selon la revendication 2 ou 3, dans lequel les sous- contraintes à respecter par un sous-réseau de neurones sont choisis parmi la liste constituée de :
- la monotonie de la variation de la sortie du sous-réseau de neurones en fonction des entrées du sous-réseau de neurones,
- la sortie du sous-réseau de neurones est comprise entre une valeur minimale et une valeur maximale, la sortie du sous-réseau de neurones étant égale à la valeur minimale lorsque toutes les entrées du sous-réseau de neurones valent la valeur minimale, et la sortie du sous-réseau de neurones étant égale à la valeur maximale lorsque toutes les entrées du sous-réseau de neurones valent la valeur maximale, et
- chaque sous-réseau est propre à implémenter des poids, une contrainte étant que les poids soient positifs et que la somme des poids soit égale à 1 .
5. Procédé de génération selon l’une quelconque des revendications 1 à 4, dans lequel le réseau de neurones retranscrit comporte un ensemble de sous-réseaux de neurones agencés selon une structure arborescente, chaque sous-réseau de neurones étant un premier sous-réseau de neurones ou un deuxième sous-réseau de neurones, chaque premier sous-réseau de neurones réalisant une fonction d’agrégation respective, la fonction d’agrégation étant, de préférence, une fonction d’agrégation de variables choisie dans la liste constituée de :
- une somme pondérée des variables,
- une intégrale de Choquet,
- une intégrale de Choquet 2-additive,
- une somme pondérée de combinaisons de fonctions min et max entre au plus k variables, pour k au moins égal à 2,
- un modèle multi-linéaire,
- une fonction d’indépendance additive généralisée, et
- la moyenne pondérée ordonnée, et chaque deuxième sous-réseau de neurones réalisant une fonction d’utilité marginale respective, la fonction d’utilité marginale étant, de préférence, une fonction monotone ou une fonction présentant trois parties, une première partie monotone, une deuxième partie qui est constante et une troisième partie monotone, la monotonie de la première partie étant différente de la monotonie de la troisième partie.
6. Procédé de génération selon l’une quelconque des revendications 1 à 5, dans lequel l’apprentissage comporte :
- un premier apprentissage avec l’ensemble de contraintes de la retranscription permettant d’apprendre un réseau de neurones intermédiaire,
- un deuxième apprentissage de l’ensemble de contraintes en fixant le réseau de neurones au réseau de neurones intermédiaire, pour obtenir un ensemble de contraintes appris, et
- un ajustement du réseau de neurones appris en fonction de l’écart entre l’ensemble de contraintes de la retranscription et l’ensemble de contraintes appris, pour obtenir un réseau de neurones ajusté, le réseau de neurones appris étant le réseau de neurones ajusté.
7. Procédé de génération selon l’une quelconque des revendications 1 à 6, dans lequel l’apprentissage comprend l’emploi d’au moins une technique choisie dans la liste constituée d’une descente de gradient par lot, d’une descente de gradient stochastique et d’une descente de gradient par mini-lot.
8. Procédé de génération selon l’une quelconque des revendications 1 à 7, dans lequel l’apprentissage comprend l’emploi d’une somme pondérée de sigmoïdes.
9. Système d’aide à la décision généré par mise en œuvre d’un procédé de génération selon l’une quelconque des revendications 1 à 8.
10. Système d’aide à la décision multicritère comprenant une implémentation physique d’un réseau de neurones comprenant un ensemble de sous-réseaux de neurones agencés selon une structure arborescente, chaque sous-réseau de neurones étant un premier sous-réseau de neurones ou un deuxième sous-réseau de neurones, chaque premier sous-réseau de neurones réalisant une fonction d’agrégation respective, la fonction d’agrégation étant, de préférence, une fonction d’agrégation de variables choisie dans la liste constituée de :
- une somme pondérée des variables,
- une intégrale de Choquet,
- une intégrale de Choquet 2-additive,
- une somme pondérée de combinaisons de fonctions min et max entre au plus k variables, pour k au moins égal à 2,
- un modèle multi-linéaire,
- une fonction d’indépendance additive généralisée, et
- la moyenne pondérée ordonnée, et chaque deuxième sous-réseau de neurones réalisant une fonction d’utilité marginale respective, la fonction d’utilité étant, de préférence, une fonction monotone ou une fonction présentant trois parties, une première partie monotone, une deuxième partie qui est
constante et une troisième partie monotone, la monotonie de la première partie étant différente de la monotonie de la troisième partie.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2005894A FR3111216A1 (fr) | 2020-06-05 | 2020-06-05 | Procédé de génération d'un système d'aide à la décision et systèmes associés |
PCT/EP2021/064992 WO2021245227A1 (fr) | 2020-06-05 | 2021-06-04 | Procédé de génération d'un système d'aide à la décision et systèmes associés |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4162409A1 true EP4162409A1 (fr) | 2023-04-12 |
Family
ID=76355493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP21731114.1A Pending EP4162409A1 (fr) | 2020-06-05 | 2021-06-04 | Procédé de génération d'un système d'aide à la décision et systèmes associés |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230206036A1 (fr) |
EP (1) | EP4162409A1 (fr) |
FR (1) | FR3111216A1 (fr) |
WO (1) | WO2021245227A1 (fr) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210406662A1 (en) * | 2020-06-25 | 2021-12-30 | PolyN Technology Limited | Analog hardware realization of trained neural networks for voice clarity |
US20230360119A1 (en) * | 2022-05-04 | 2023-11-09 | Jpmorgan Chase Bank, N.A. | System and method for generating grouped shapley values |
-
2020
- 2020-06-05 FR FR2005894A patent/FR3111216A1/fr active Pending
-
2021
- 2021-06-04 WO PCT/EP2021/064992 patent/WO2021245227A1/fr active Application Filing
- 2021-06-04 US US18/008,298 patent/US20230206036A1/en active Pending
- 2021-06-04 EP EP21731114.1A patent/EP4162409A1/fr active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2021245227A1 (fr) | 2021-12-09 |
FR3111216A1 (fr) | 2021-12-10 |
US20230206036A1 (en) | 2023-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | Variational knowledge graph reasoning | |
Pandey et al. | Variational methods for conditional multimodal deep learning | |
Savitha et al. | A meta-cognitive learning algorithm for an extreme learning machine classifier | |
CA3061717A1 (fr) | Systeme et procede pour un reseau neuronal convolutif pour la classification multi-label avec annotations partielles | |
US11941493B2 (en) | Discovering and resolving training conflicts in machine learning systems | |
EP4162409A1 (fr) | Procédé de génération d'un système d'aide à la décision et systèmes associés | |
US11823076B2 (en) | Tuning classification hyperparameters | |
US12050971B2 (en) | Transaction composition graph node embedding | |
Luo et al. | Multinomial Bayesian extreme learning machine for sparse and accurate classification model | |
Shivhare et al. | Software effort estimation using machine learning techniques | |
JP7188856B2 (ja) | 動的な画像解像度評価 | |
Chang | Concept-oriented deep learning: Generative concept representations | |
Ismail et al. | Bayesian deep learning methods applied to diabetic retinopathy disease: a review | |
Fakhari et al. | A new restricted boltzmann machine training algorithm for image restoration | |
Thinh | Qos prediction for web services based on Restricted Boltzmann Machines | |
Xiang et al. | Computation of cnn’s sensitivity to input perturbation | |
US11675582B2 (en) | Neural networks to identify source code | |
KR102110316B1 (ko) | 뉴럴 네트워크를 이용한 변분 추론 방법 및 장치 | |
CN113872703B (zh) | 对量子通信网络中多网元数据进行预测的方法及*** | |
CA2709180A1 (fr) | Procedes de mise a jour et d'apprentissage d'une carte auto-organisatrice | |
CN115151917A (zh) | 经由批量归一化统计的域泛化 | |
Maharaj | Generalizing in the Real World with Representation Learning | |
Sathyamurthi | Predicting Major Donor Prospects using Machine Learning | |
US20220374701A1 (en) | Differentiable temporal point processes for spiking neural networks | |
US20240273682A1 (en) | Conditional diffusion model for data-to-data translation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20221202 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) |