EP4162409A1 - Method for generating a decision support system and associated systems - Google Patents

Method for generating a decision support system and associated systems

Info

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
Application number
EP21731114.1A
Other languages
German (de)
French (fr)
Inventor
Christophe Labreuche
Roman BRESSON
Martine SEBAG
Johanne COHEN
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Centre National de la Recherche Scientifique CNRS
Thales SA
Universite Paris Saclay
Original Assignee
Centre National de la Recherche Scientifique CNRS
Thales SA
Universite Paris Saclay
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Centre National de la Recherche Scientifique CNRS, Thales SA, Universite Paris Saclay filed Critical Centre National de la Recherche Scientifique CNRS
Publication of EP4162409A1 publication Critical patent/EP4162409A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

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

The present invention relates to a method for generating a multiple-criteria decision support system comprising: - providing a problem and training data solving the problem for specific cases, the problem being a problem of evaluating the quality of a system chosen from: - choosing the best alternative from among alternatives, - distributing alternatives among classes, - storing alternatives in order of preference, and - providing a score of an alternative, - re-transcribing the problem according to a neural network and constraints to be observed - training the re-transcribed neural network using the training data, - determining the function carried out by the trained neural network, and - physically implementing the determined function in order to obtain the support system.

Description

Procédé de génération d’un système d’aide à la décision et systèmes associés Method for generating a decision support system and associated systems
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. 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.
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. 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.
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. One such area consists of the development of models aimed at guiding decision-makers (experts or not) to solve various problems relating to decisions that these decision-makers would have to make, and in particular how to deal with the different alternatives responding to the situation considered.
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) 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)
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. To be effective, 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. In the following, such models are called preference models.
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. It is thus desirable to be able to determine parameters of a preference model using a preference model elicitation step, knowing that this serves to solve a ranking, sorting or choice problem.
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. Usually, the development of preference model parameters requires 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.
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. Such information, which can be of various kinds (preferences between two alternatives, relative importance of two criteria) are used in parallel with the interaction through linear programming or optimization techniques in order to determine the optimal parameters of the model. preferences. However, such an ideal situation is not always possible in practice, in particular because of the limited time available to the decision maker and there are cases where, to determine the preference model, the designer has data.
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). Such data is, for example, derived from a collection of feedback from a system operator on recommendations made to him. One of the problems is that this data can be marred by uncertainty (noise on the data for example), and contain errors (in the label of the data for example).
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. There is therefore a need for a method for generating a decision support system which makes it possible to obtain a decision support system which is of good quality with very limited intervention by the decision maker, ideally only data. learning.
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. To this end, 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.
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 : According to particular embodiments, the generation method comprises one or more of the following characteristics when this is technically 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. - 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.
- 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.- 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.
- 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 . - 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.
- 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. - 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.
- 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é. - 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.
- 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. - 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.
- 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. - learning includes the use of a weighted sum of sigmoids. 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.
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. 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. according to a tree structure, 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 constant and a third monotonic part, the monotonicity of the first part being different from the monotony of the third part.
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 : Other features and advantages of the invention will become apparent on reading the following description of embodiments of the invention, given by way of example only and with reference to the drawings which are:
- 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 1, a schematic representation of a computer and a computer program product suitable for implementing a process for generating a decision support system,
- 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 2, a flowchart of an example of the implementation of a process for generating a decision support system,
- 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 3, a schematic representation of an example of a neural network used in the generation method of 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 4, a schematic representation of an example of a neural subnetwork likely to be used in the generation method of Figure 2, and
- 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.- Figure 5, a schematic representation of another example of a neural subnetwork that can be used in the generation method of 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. 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.
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. Calculator 10 is a desktop computer. As a variant, the computer 10 is a computer mounted on a rack, a laptop computer, a tablet, a personal digital assistant (PDA) or a 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. In this sense, the computer 10 can be seen as a system and can be designated as such hereinafter.
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. In specific embodiments, 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.
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. In the case of FIG. 1, the computer 10 comprises a calculation unit 14, a user interface 16 and a communication device 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. 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.
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. As specific examples, the computing unit 14 includes a single-core or multi-core processor (such as a central processing unit (CPU), a graphics processing unit (GPU), a microcontroller, and a digital signal processor ( DSP)), a programmable logic circuit (such as an application-specific integrated circuit (ASIC), 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.
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. 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.
L'interface utilisateur 16 comprend un dispositif d'entrée 26 et un dispositif de sortie 28. User interface 16 includes an input device 26 and an output device 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. The input device 26 is a device allowing the user of the system 10 to enter information or commands into the system 10.
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. In Figure 1, the input device 26 is a keyboard. Alternatively, 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.
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. In Figure 1, the output device 28 is a display screen allowing a visual presentation of the output. In other embodiments, 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.
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. In a specific embodiment, the input device 26 and the output device 28 are the same component forming human-machine interfaces, such as an interactive screen.
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. The communication device 18 allows one-way or two-way communication between the components of the computer 10. For example, the communication device 18 is a communication system by bus or an input / output interface.
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. The presence of the communication device 18 allows that, in certain embodiments, the components of the computing unit 14 are distant from each other.
Le produit programme informatique 12 comprend un support lisible par ordinateur 32.The computer program product 12 includes a computer readable medium 32.
Le support lisible par ordinateur 32 est un dispositif tangible lisible par le lecteur 24 de l’unité de calcul 14. The computer readable medium 32 is a tangible device readable by the reader 24 of the computing unit 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. In particular, 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.
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. 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.
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. As a non-exhaustive list of more specific examples, 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.
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. Such program instructions, when they are executed by the data processing unit 20, result in the execution of steps of the generation method.
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. For example, 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. Alternatively, the program instructions are microcode, firmware instructions, state definition data, integrated circuit configuration data (eg, VHDL), or object code.
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). 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).
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. Alternatively, the program instructions are downloaded from an external source via a network, as is notably the case for applications. In this case, 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.
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). In each case, 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. According to the embodiments, 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).
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. The operation of the computer 10 is now described with reference to FIG. 2 which 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. .
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. The generation process is a process of creating or manufacturing a decision support system.
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. On the basis of a problem of the multicriteria decision type, 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.
Le système d’aide à la décision est souvent un calculateur 10 ou une partie de celui- ci. The decision support system is often a calculator 10 or part of it.
Un tel système d’aide à la décision est utilisable dans de nombreuses applications industrielles. Such a decision support system can be used in many industrial applications.
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. In particular, the decision support system is a system for evaluating the performance of an existing physical system.
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). For example, the decision support system is a system for evaluating the functioning of an air traffic tracking system. The criteria here 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).
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. According to another example, 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. In the event of a major incident involving delays, 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.
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. In another example, the decision support system is a design system for a physical system to be created.
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. By way of illustration, 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.
Il est supposé, pour la suite, qu’un problème initial à résoudre a été défini. It is assumed, for the following, that an initial problem to be solved has been defined.
Le système d’aide à la décision vise à aider le décideur à trouver la meilleure solution au problème initial. The decision support system aims to help the decision maker find the best solution to the initial problem.
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. Such a solution is called an alternative in the following, so that an alternative is an answer to the original problem.
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. 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.
Par exemple, le problème initial est défini en deux phases. For example, the initial problem is defined in two 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. 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.
Le premier point déterminé est la forme des critères sur lesquels vont être évaluées chacune des alternatives. The first point determined is the form of the criteria on which each of the alternatives will be evaluated.
La forme d’un critère est la variation de la monotonie du modèle par rapport au critère. The form of a criterion is the variation of the monotonicity of the model with respect to the criterion.
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). In this context, monotony is the direction in which the exit evolves from one of the entry criteria, all other things being equal. Let the model be M (a) = M (a1, ..., an), with a1 to an the values of the alternative a on the n criteria. We suppose that M is increasing (respectively decreasing, or increasing then decreasing, or decreasing then increasing) with respect to the criterion 1, then if one fixes to any values the criteria 2 to n, the function F which, to a real x, associates M (x, a2, ..., an) is increasing (respectively decreasing, or increasing then decreasing, or decreasing then increasing).
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). In the example of the design of a radar system, 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).
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. Otherwise formulated, 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.
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. In some cases, the way of representing the criteria is modified in order to have entries compatible with the decision model.
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. 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.
Le deuxième point déterminé est la nature du problème à résoudre. The second point determined is the nature of the problem to be solved.
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. 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.
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. 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.
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. 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. When a scoring problem is solved, it is possible to deal with a ranking problem without needing any additional information, since the calculated score can allow us to rank alternatives from the best to the worst.
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. Similarly, when a scoring problem is solved, it is possible to solve a sorting problem, with additional information on the threshold value. An alternative then belongs to a class when its score is between two thresholds.
Le troisième point est d’obtenir les données d’apprentissage. The third point is to get the training data.
Selon l’exemple décrit, les données d’apprentissage sont des données provenant de capteurs et sont donc des mesures. According to the example described, the training data are data from sensors and are therefore measurements.
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. Learning data is most often heterogeneous in that the learning data comes from several sources (several sensors here) and has different natures.
En particulier, les données d’apprentissage sont représentables sous forme de paires. In particular, the training data can be represented as pairs.
Trois types de paires peuvent être envisagés. Three types of pairs can be considered.
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). According to a first type, 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).
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 »). According to a second type, 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").
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. According to a third type, 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.
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. Because of their heterogeneity, 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.
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. 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.
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. During a second phase, the decision model itself is defined. For example, with the help of the expert, the designer now focuses on defining the model itself. As a specific example, 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.
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. More specifically, in certain cases, 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.
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. Similarly, in some cases, how the criteria are organized hierarchically is fixed in advance by a 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.
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. It will be understood that the generation process does not necessarily need as much information about the initial problem.
Dans certains cas, il suffit de connaître les critères, la nature du problème initial ainsi que les données d’apprentissage. In some cases, it is sufficient to know the criteria, the nature of the initial problem, and the learning data.
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. 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.
Lors de l’étape de fourniture E50, il est fourni le problème initial ainsi que les données d’apprentissage. During the supply step E50, the initial problem is supplied as well as the training data.
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. For this, 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.
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. Furthermore, in the proposed example, it is assumed that, during the supply step E50, the system also receives a hierarchy of criteria.
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. At the end of the provisioning step E50, the system thus knows the initial problem and the hierarchy of criteria while having a set of training data.
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. During the transcription step E52, 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.
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. In the present method, the neural network has a specific architecture of which FIG. 3 illustrates a particular example.
Ainsi, le réseau de neurones retranscrit comporte un ensemble de sous-réseaux de neurones. Thus, the transcribed neural network comprises a set of neural subnetworks.
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. More precisely, 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.
Dans l’exemple proposé, un premier sous-réseau de neurones est un sous-réseau d’agrégation. In the example given, a first neural subnet is an aggregation subnet.
Un premier réseau de neurones est un sous-réseau mettant en œuvre une fonction d’agrégation. A first neural network is a subnetwork implementing an aggregation function.
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. An aggregation function A is a function defined by a utility vector and returning an actual aggregation value.
Soit N = {1,... ,n} l’ensemble des critères (attributs dans le vocabulaire du domaine de l’aide à la décision). Let N = {1, ..., n} be the set of criteria (attributes in the vocabulary of the field of decision support).
X, est le domaine du i-ième critère. X, is the domain of the i-th criterion.
Une alternative est définie comme un élément de X = Xi x .... x Xn. An alternative is defined as an element of X = Xi x .... x X n .
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]A decision model is a function U: X -> [0,1], which is generally called a utility function inducing a total order on X. Utility functions are often represented in a decomposable form, namely U ( x) = A (ui (xi), .... u n (x n )) with u, which is the marginal utility function u, which is a function of X, in the interval [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]· In the present case, this means that the aggregation function A associates with values of the set [0,1] n a value in the set M, and if normalized, in the interval [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] More precisely, the aggregation function is a function defined on a utility vector a = (ai, a n ) which returns an aggregated value in the interval [0,1]
Selon l’exemple proposé, la fonction d’agrégation appartient à la famille des intégrales de Choquet. According to the proposed example, the aggregation function belongs to the Choquet family of integrals.
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. The Choquet integral is a generalization of the weighted sum, which also takes into account interactions between criteria.
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. 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). By definition, 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.
La condition de normalisation est que m(0) = 0 et que m(N) = 1. The normalization condition is that m (0) = 0 and that m (N) = 1.
La condition de monotonie s’exprime selon la relation suivante : The condition of monotony is expressed by the following relation:
A Q B Ç N = m(A) £ m(B ) £ 1 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. Thus, the Choquet integral e m , parameterized by the fuzzy measure m, of a vector of values a, is written: where t is a permutation in the set N satisfying both conditions a t ( £ a T ^ i + 1 ^ eta 0 = 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. In the example described, the aggregation function A is a Choquet integral which is a 2-additive integral.
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é. In such a case, only an interaction between at most two criteria is considered. This makes it possible to obtain a satisfactory representation of reality while limiting the number of free parameters. Limiting the number of free parameters makes learning easier because the risk of overfitting is limited.
Lorsque la fonction d’agrégation A est une intégrale de Choquet 2-additive, la fonction When the aggregation function A is a 2-additive Choquet integral, the function
OÙ : OR :
• Wj désigne le poids de la i-ième fonction d’utilité u • W j denote the weight of the i-th utility function 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 w ij, Min denotes the weight of the minimal interaction between the i-th utility function ut and the j-th utility function u 7 , and
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. w ij, Max denotes the weight of the maximum interaction between the i-th utility function ut and the j-th utility function 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. As can be seen in the example of Figure 4 which corresponds to such a first subnetwork, the first neural subnetwork comprises an n-dimensional input layer then a hidden layer and an output layer.
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 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). A linear regression on the outputs of all these neurons makes it possible to learn the weights
En variante, la fonction d’agrégation A est une somme pondérée des fonctions d’utilités. Alternatively, the aggregation function A is a weighted sum of the utility functions.
Selon encore un autre mode de réalisation, la fonction d’agrégation A est une moyenne pondérée ordonnée. According to yet another embodiment, the aggregation function A is an ordered weighted average.
Une telle opération est souvent désignée sous le sigle OWA qui renvoie à la dénomination anglaise de « Ordered weighted averaging ». Such an operation is often designated by the acronym OWA which refers to the English name of “Ordered weighted averaging”.
En variante, la fonction d’agrégation A est une fonction d’indépendance additive généralisée. Alternatively, the aggregation function A is a generalized additive independence function.
Une telle fonction est souvent dénommée fonction GAI, le sigle GAI renvoyant à la dénomination anglaise de « Generalized Additive Indépendance ». Such a function is often called the GAI function, the acronym GAI referring to the English name of "Generalized Additive Independence".
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. The use of such a function assumes that the problem is modeled as a utility sum over subsets of criteria which may intersect.
En variante, la fonction d’agrégation A est une fonction multi-linéaire. Alternatively, the aggregation function A is a multi-linear function.
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. 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.
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. Note that it is not mandatory that all the first subnets perform the same aggregation function, each aggregation function may be specific to a first subnet.
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. 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.
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. A second sub-network implements a utility function such as those used in the framework of decomposable models in multicriteria decision support.
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.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.
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. In practice, as in the present example, 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.
Cela signifie que le deuxième sous-réseau implémente une fonction d’utilité marginale. This means that the second subnet implements a marginal utility function.
Selon l’exemple décrit, la fonction d’utilité marginale est normalisée entre 0 et 1.According to the example described, the marginal utility function is normalized between 0 and 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. This means that 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.
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] Thus, according to the example described, 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]
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. An example of such a second neural subnetwork is illustrated in FIG. 5 with a hidden layer comprising 3 nodes.
Généralement, les fonctions d’utilité marginale sont de deux formes différentes.Usually, marginal utility functions come in two different forms.
Selon une première forme, la fonction d’utilité marginale est monotone. According to a first form, the marginal utility function is monotonic.
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 ». According to a second form, the marginal utility function is a single-plateau function. This second form is often referred to as a "single-tray".
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. By definition, 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.
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). Concerning the nature of the marginal utility functions according to the second form, it is possible to distinguish between the marginal utility functions comprising a plateau (increasing then decreasing function) and the marginal utility functions comprising a valley (decreasing then increasing function ).
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. As in the case of the first subnetwork, it is not mandatory that all the second neural subnetworks perform the same marginal utility function, each marginal utility function being able to be specific to a second subnetwork of neurons. neurons.
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. 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.
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. According to the example described, 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.
Le réseau de neurones est un assemblage selon une structure spécifique. The neural network is an assembly according to a specific structure.
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. Thus, 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.
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. 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.
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. More specifically, in the case described, 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.
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. With reference to FIG. 3, the neural network comprises as input second subnetworks of neurons followed by a first subnetwork of neurons.
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. 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.
Selon un autre exemple, le réseau de neurones comporte plusieurs premiers sous- réseaux. According to another example, the neural network comprises several first subnetworks.
De manière générale, une telle structure permet que le réseau de neurones représente la hiérarchie des critères. In general, such a structure allows the neural network to represent the hierarchy of criteria.
Il peut être remarqué qu’une telle structure peut être représentée mathématiquement comme suit. It can be seen that such a structure can be represented mathematically as follows.
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. We denote by s (g) the exit of node g. If g is a leaf, then s (g) will be the image by a marginal utility function of the criterion corresponding to the leaf. Otherwise, if g is a non-leaf node, then g has multiple children {g1, g2, ..., gf}. s (g) is at that moment the image by the aggregation function in g (for example a 2-additive Choquet integral) of the vector formed by the outputs of all its children: s (g) = A ( g1, g2, ..., gf) where A is the aggregation function in 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. According to a first example, the structure of the neural network is designed in collaboration with the decision maker. According to a second example, the structure of the neural network is chosen by the designer.
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). To make such a choice, 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).
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. According to a third example, the structure of the neural network is a parameter of the neural network which is learned during the learning step 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. From a functional point of view, 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.
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. 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.
D’autres structures sont envisageables pour le réseau de neurones. Other structures are possible for the neural network.
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. Thus, according to one example, the neural network comprises only a first sub-network. In such a case, the neural network implements a classical shockistic regression model.
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. According to another example, 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.
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). The aggregation functions described above are, for the most part, highly constrained, in particular by monotony. Thus, the Choquet integral is increasing with respect to each of its inputs, and each of its inputs must be between 0 and 1 (symbolically, marginal satisfactions are aggregated into a global satisfaction. It is therefore necessary that, the greater the satisfaction on a given criterion, the higher the overall satisfaction, all other things being equal).
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. Consequently, 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). To take the example of radar again, 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. In On the other hand, after applying such a decreasing function u, which represents the satisfaction with the electrical consumption p, we have the overall satisfaction which is increasing with respect to u (p), all other things being equal.
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]Likewise, 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]
Ainsi, les utilités marginales permettent de rendre les données brutes « compatibles » avec le modèle. Thus, marginal utilities make it possible to make the raw data “compatible” with the model.
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. According to yet another example, the neural network has, as an input, other subnetworks for determining the values of the criteria from the input data.
Dans l’exemple proposé, chaque sous-réseau présente un nombre de couches cachées inférieur ou égal à 3. In the proposed example, each subnet has a number of hidden layers less than or equal to 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. More precisely, 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.
Plus généralement, chaque sous-réseau présente un nombre de couches cachées inférieur ou égal à 5. More generally, each subnet has a number of hidden layers less than or equal to 5.
A titre d’exemple particulier, chaque sous-réseau est un perceptron multi-couches.As a particular example, each subnet is a multi-layered perceptron.
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. In this sense, 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.
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. According to a first example, during the E52 retranscription step, 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.
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. According to a second example, the set of constraints is provided explicitly. By way of illustration, 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.
L’ensemble de contraintes comporte ainsi des contraintes de monotonie, de dérivabilité, d’idempotence et de continuité. The set of constraints thus includes constraints of monotony, derivability, idempotence and continuity.
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. 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.
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 : According to the example described and as will be described more precisely with reference to the learning step E54, the sub-constraints to be respected by a neural subnetwork are chosen from the list consisting of:
- 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, - the monotony of the variation of the output of the neural subnetwork as a function of the inputs of the neural subnetwork,
- 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 - 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
- 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 . - 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.
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. In this sense, with the specific sub-constraint (s), each sub-network forms an autonomous computing unit independent of the other sub-networks.
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. At the end of the E52 transcription step, there is thus obtained 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.
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. In the learning step E54, a learning of the neural network transcribed using the learning data is implemented.
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. Otherwise formulated, 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.
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. According to the proposed example, 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.
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. As indicated previously, in some cases the parameters of the neural network include the structure of the neural network. Anyway, 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.
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. Learning involves using at least one technique from a list of batch gradient descent, stochastic gradient descent, and mini-batch gradient descent.
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. 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.
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. In general, 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.
Plus spécifiquement, la technique de descente par gradient par lot est aussi appelée algorithme de descente de gradient par batch. More specifically, the batch gradient descent technique is also referred to as the batch gradient descent algorithm.
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. 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.
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. 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.
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. The gradient descent by mini-batch, also called 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.
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. In certain cases, the use of the aforementioned techniques leads to learning a neuron network which does not exhibit a coherence property. To avoid the appearance of such inconsistencies, in the example described, 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.
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. The sub-constraints to be respected locally are now presented successively for the first sub-network and the second sub-network according to the two forms of marginal utility function to which it corresponds.
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. With regard to a first sub-network, 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.
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 . According to the proposed example of an aggregation function which is a 2-additive Choquet integral, to learn the fuzzy measure and in particular the monotonicity property, it suffices to guarantee two learning sub-conditions, namely that all the weights W j , w ij Min and w ijMax are positive and that the sum of the set of weights w h w i j, Mi n w i j, M ax is equal to 1.
Cela correspond en réalité au respect de n2 conditions. This actually corresponds to compliance with n 2 conditions.
Par exemple, les deux sous-conditions d’apprentissage sont obtenues en effectuant des renormalisations fréquentes et ce, sans emploi de régularisation. For example, the two learning sub-conditions are obtained by carrying out frequent renormalizations without the use of regularization.
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). Once learned, the first subnetwork formally implements a 2-additive Choquet integral, with all the properties that are expected from it (monotony, idempotence, continuity for example).
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. For a second sub-network and more specifically, a marginal utility function according to the first form, namely a monotonic function, the meaning of monotonicity is known.
Selon l’exemple décrit, le sens de monotonie est fixé par le problème initial, le décideur connaissant un tel sens. According to the example described, the meaning of monotony is fixed by the initial problem, the decision maker knowing such a meaning.
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. According to the example described, 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.
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. Further, the weighted sum is normalized such that the sum of the weights equals 1, and the weights are all positive.
Ceci s’écrit mathématiquement comme : This is written mathematically as:
Avec : • Pi un hyperparamètre fixant le nombre maximum de sigmoïdes impliquées dans la formule précédente, With : • Pi a hyperparameter fixing the maximum number of sigmoids involved in the preceding formula,
• r/ le poids associé à la l-ième sigmoïde, • r / the weight associated with the l-th sigmoid,
• 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 • h \ a first constant associated with the l-th sigmoid, the first constant controlling the precision of the l-th sigmoid, and
• 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. • b · a second constant associated with the l-th sigmoid, the second constant controlling the bias of the l-th sigmoid.
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 . Learning for such a marginal utility function according to the first form 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.
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. For this, for example, 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.
Avec un tel apprentissage, il est garanti que la fonction d’utilité marginale est monotone (soit selon la première forme) et normalisée. With such training, it is ensured that the marginal utility function is monotonic (ie according to the first form) and normalized.
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. For the case of a marginal utility function according to the second form, the nature (plateau or valley) is acquired from the decision maker.
Pour la suite, il est supposé que la fonction d’utilité marginale est une fonction de type plateau. In the following, it is assumed that the marginal utility function is a plateau-type function.
Une transformation est appliquée sur les données d’apprentissage pour n’avoir à apprendre que les plateaux. A transformation is applied to the learning data to only have to learn the plateaus.
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]. 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].
Un tel apprentissage garantit la forme, la normalisation et la continuité de la fonction d’utilité marginale selon la deuxième forme. Such learning guarantees the form, normalization and continuity of the marginal utility function according to the second form.
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. As a variant, 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.
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. Note that 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.
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. 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.
Au final, d’un point de vue global, l’apprentissage comporte, à chaque itération, une phase de propagation et une phase de rétropropagation. Ultimately, from a global point of view, learning involves, at each iteration, a propagation phase and a backpropagation phase.
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. 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.
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. 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. Such a function is a function of the quadratic error which is written L (x, y) = (M (x) -y) 2 with x being an input alternative, M (x) the score given to the alternative x by the model M and y the expected score. The gradient of this function L is then calculated at the output, then propagated through the entire network, up to the leaves. Thus, over time, 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.
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. Note also that the type of 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 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. By way of illustration, in the case of learning by pairs of preferences, 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.
L’étape d’apprentissage E54 permet d’obtenir un réseau de neurones appris résolvant le problème initial. The learning step E54 provides a learned neural network solving the initial problem.
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. The learned neural network performs a function. During the determination step E56, the function performed by the learned neural network is determined.
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). More precisely, 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).
La fonction déterminée est la fonction correspondant à la formule mathématique compacte. The determined function is the function corresponding to the compact mathematical formula.
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. As a particular example, in the case of the 2-additive Choquet integral, 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.
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. 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.
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. During the implementation step E58, the determined function is physically implemented to obtain the decision support system.
Selon un exemple particulier, le réseau de neurones est implémenté sur un FPGA.According to a particular example, the neural network is implemented on an 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. 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.
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). In addition, 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).
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. 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. Such 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.
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. These properties have been demonstrated experimentally by the applicant during tests. Furthermore, 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.
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. In particular, 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.
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. In addition, 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.
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. Thus, 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.
Selon une autre variante, l’étape d’apprentissage E54 est réalisée sur une ferme de calcul. According to another variant, the learning step E54 is carried out on a calculation farm.
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. It follows from the previous elements that 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.
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. 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.
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. Otherwise formulated, 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. .
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. 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. However, the method also provides the possibility of working on noisy or even erroneous data.
Le procédé utilise aussi le fait que le réseau de neurones est divisé en deux types de sous-réseaux. The method also makes use of the fact that the neural network is divided into two types of subnets.
Cela permet d’obtenir un procédé de génération présentant une plus grande simplicité calculatoire. This makes it possible to obtain a generation method exhibiting greater computational simplicity.
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. In fact, 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. In the present method, on the contrary, the gradients are calculated only locally, i.e. aggregation by aggregation.
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. More precisely, during the training step E54, 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. For each sub-network, 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.
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. Such a method offers a facilitated implementation of the constraints. 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.
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). 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).
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. Such a possibility is particularly relevant in the case of a hierarchy of aggregations. In particular, it can thus be assumed that, if a large number of classical aggregation cell classes have been learned, finding the right hierarchy is the only remaining problem to adapt the neural network to the situation. The process also allows simpler validations. Indeed, for each subnetwork of the same type which are of the same class, it suffices to verify that the class meets the necessary conditions exposed in the learning step E54 to validate all the subnetworks of the same class. This results in greater ease of maintenance of the physical implementation of the learned neural network.
D’autres modes de réalisation du présent procédé sont envisageables. Other embodiments of the present method are conceivable.
Selon un premier exemple d’autre mode de réalisation, l’étape d’apprentissage E54 comporte une validation du modèle. According to a first example of another embodiment, the learning step E54 includes validation of the model.
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. More precisely, after implementing a learning technique as proposed above, a model is obtained to be validated, the parameters of which are now determined.
Le concepteur présente alors au décideur le modèle à valider, c’est-à-dire la fonction que le réseau de neurones apprend The designer then presents the model to be validated to the decision-maker, i.e. the function that the neural network learns
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. Such a presentation is, for example, implemented by using indicators used in the field of decision support. Examples of such indicators are Shapley values or interaction indices. By way of illustration, the designer presents a graph plotting the Shapley values of each criterion.
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 : By definition, 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:
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 : 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:
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. In another example, indicators from machine learning such as sensitivity analyzes, Sobol indices or cross-validation errors are used.
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. 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. .
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. With the elements provided by the designer, the decision maker determines whether the model is valid with regard to his experience of the real situation.
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. When the decision maker considers the model to be invalid because some model output is in error, the designer determines how to make the appropriate corrections to obtain a valid model.
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. 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.
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. According to a second example which can be implemented in combination with the first example or on its own, data is added to the training data and training is carried out with the training data thus completed. Such an example of correction makes it possible in particular to repair possible errors due to erroneous data, or to an area of the input space that is under-represented in the original training data.
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. The presented process (evaluation and correction) can be iterated as many times as necessary until the decision maker is satisfied with the model obtained.
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. In some cases, 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.
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. According to such a first example of another embodiment, the training includes performing a supervised training technique.
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. According to a second example of another embodiment, training of the hierarchy of criteria is carried out. Such an embodiment is particularly relevant when the decision maker is not available.
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é. For this, by way of illustration, 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.
Quelques implémentations d’un tel exemple sont décrits dans ce qui suit. Some implementations of such an example are described in the following.
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. 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.
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. 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.
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). Finally, 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"). This includes, but is not limited to, evolutionary or genetic techniques, exploration techniques or heuristic search (eg beam search). 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).
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...). In yet another embodiment, 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. ).
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. According to another variant, the neural network comprises stages of pre-processing on the inputs or post-processing on the outputs. As a variant or in addition, the neural network comprises one or more deep learning subnetworks.
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. In particular, 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. Those skilled in the art will understand that the generation method may include a combination of the above features when they are technically compatible.

Claims

REVENDICATIONS
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 : 1. Method for generating a multi-criteria decision support system, the generation method comprising:
- 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 : - the supply of an initial problem and training data solving the initial problem for particular cases, the initial problem being a problem of evaluating the quality of an existing system or to be created, the initial problem is a problem chosen from:
- le choix de la meilleure alternative parmi un ensemble d’alternatives,- the choice of the best alternative among a set of alternatives,
- la répartition d’alternatives parmi des classes de préférences, - the distribution of alternatives among preference classes,
- le rangement d’alternatives par ordre de préférence, et - the ranking of alternatives in order of preference, and
- la fourniture d’un score d’évaluation d’une alternative, - providing an evaluation score for an 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, - the transcription of the initial problem in the form of a neural network and a set of constraints to be respected by the neural network, to obtain a transcribed neural network,
- 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, - the learning of the neural network transcribed using the learning data, to obtain a learned neural network solving the initial problem,
- la détermination de la fonction réalisée par le réseau de neurones appris, et- the determination of the function performed by the learned neural network, and
- l’implémentation physique de la fonction déterminée pour obtenir le système d’aide à la décision. - the physical implementation of the determined function to obtain the decision support system.
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. 2. The generation method according to claim 1, wherein the retranscribed neural network comprises a set of neural subnetworks, the retranscription step comprising the formulation of the set of constraints to be observed by the neural network in the form of sub-constraints to be respected by each neural sub-network.
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. 3. The generation method according to claim 2, wherein each neural subnetwork comprises hidden layers, the number of hidden layers being less than or equal to 5, preferably less than or equal to 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, 4. Generation method according to claim 2 or 3, in which the sub-constraints to be observed by a neural sub-network are chosen from the list consisting of: - the monotony of the variation of the output of the neural subnetwork as a function of the inputs of the neural subnetwork,
- 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 - 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
- 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 . - 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.
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 : 5. Generation method according to any one of claims 1 to 4, wherein the transcribed neural network comprises a set of neural subnetworks arranged in a tree structure, each neural subnetwork being a first subnetwork. of neurons or a second sub-network of neurons, each first sub-network of neurons performing a respective aggregation function, the aggregation function preferably being an aggregation function of variables chosen from the list consisting of:
- une somme pondérée des variables, - a weighted sum of the variables,
- une intégrale de Choquet, - a Choquet integral,
- une intégrale de Choquet 2-additive, - a 2-additive Choquet integral,
- une somme pondérée de combinaisons de fonctions min et max entre au plus k variables, pour k au moins égal à 2, - a weighted sum of combinations of min and max functions between at most k variables, for k at least equal to 2,
- un modèle multi-linéaire, - a multi-linear model,
- une fonction d’indépendance additive généralisée, et - a generalized additive independence function, and
- 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. 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, a first monotonic part, a second part which is constant and a monotonic third part, the monotony of the first part being different from the monotony of the third part.
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, 6. Generation method according to any one of claims 1 to 5, wherein the learning comprises: - a first training with the set of constraints of the transcription allowing to learn an intermediate neural network,
- 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- a second training of the set of constraints by fixing the neural network to the intermediate neural network, to obtain a learned set of constraints, and
- 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é. - 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 .
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. 7. Generation method according to any one of claims 1 to 6, wherein the learning comprises the use of at least one technique chosen from the list consisting of a gradient descent by batch, a descent of stochastic gradient and a gradient descent by mini-batch.
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. 8. A generation method according to any one of claims 1 to 7, wherein the training comprises employing a weighted sum of sigmoids.
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. 9. A decision support system generated by implementing a generation method according to any one of claims 1 to 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 : 10. Multi-criteria decision support system comprising a physical implementation of a neural network comprising a set of neural subnetworks arranged in a tree structure, 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 preferably being an aggregation function of variables chosen from the list consisting of:
- une somme pondérée des variables, - a weighted sum of the variables,
- une intégrale de Choquet, - a Choquet integral,
- une intégrale de Choquet 2-additive, - a 2-additive Choquet integral,
- une somme pondérée de combinaisons de fonctions min et max entre au plus k variables, pour k au moins égal à 2, - a weighted sum of combinations of min and max functions between at most k variables, for k at least equal to 2,
- un modèle multi-linéaire, - a multi-linear model,
- une fonction d’indépendance additive généralisée, et - a generalized additive independence function, and
- 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. the ordered weighted average, and each second sub-network of neurons performing 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 that is constant and a third part monotonic, the monotony of the first part being different from the monotony of the third part.
EP21731114.1A 2020-06-05 2021-06-04 Method for generating a decision support system and associated systems Pending EP4162409A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2005894A FR3111216A1 (en) 2020-06-05 2020-06-05 Method for generating a decision support system and associated systems
PCT/EP2021/064992 WO2021245227A1 (en) 2020-06-05 2021-06-04 Method for generating a decision support system and associated systems

Publications (1)

Publication Number Publication Date
EP4162409A1 true EP4162409A1 (en) 2023-04-12

Family

ID=76355493

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21731114.1A Pending EP4162409A1 (en) 2020-06-05 2021-06-04 Method for generating a decision support system and associated systems

Country Status (4)

Country Link
US (1) US20230206036A1 (en)
EP (1) EP4162409A1 (en)
FR (1) FR3111216A1 (en)
WO (1) WO2021245227A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
US20230206036A1 (en) 2023-06-29
FR3111216A1 (en) 2021-12-10
WO2021245227A1 (en) 2021-12-09

Similar Documents

Publication Publication Date Title
Chen et al. Variational knowledge graph reasoning
Das et al. Opportunities and challenges in explainable artificial intelligence (xai): A survey
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 (en) System and method for a convolutional neural network for multi-label classification with partial annotations
US11941493B2 (en) Discovering and resolving training conflicts in machine learning systems
US11100406B2 (en) Knowledge network platform
US11823076B2 (en) Tuning classification hyperparameters
US20200265307A1 (en) Apparatus and method with multi-task neural network
Luo et al. Multinomial Bayesian extreme learning machine for sparse and accurate classification model
JP7188856B2 (en) Dynamic image resolution evaluation
Chang Concept-oriented deep learning: Generative concept representations
WO2021245227A1 (en) Method for generating a decision support system and associated systems
Fakhari et al. A new restricted boltzmann machine training algorithm for image restoration
Thinh Qos prediction for web services based on Restricted Boltzmann Machines
US11675582B2 (en) Neural networks to identify source code
KR102110316B1 (en) Method and device for variational interference using neural network
Xiang et al. Computation of cnn’s sensitivity to input perturbation
CN113872703B (en) Method and system for predicting multi-network metadata in quantum communication network
US20220269936A1 (en) Knowledge graphs in machine learning decision optimization
CA2709180A1 (en) Methods for updating and training for a self-organising card
Glüsenkamp Unifying supervised learning and VAEs: coverage, systematics and goodness-of-fit in normalizing-flow based neural network models for astro-particle reconstructions
Sathyamurthi Predicting Major Donor Prospects using Machine Learning
US20220374701A1 (en) Differentiable temporal point processes for spiking neural networks
US12026474B2 (en) Techniques for generating natural language descriptions of neural networks

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)