EP4179469A1 - Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d'ordinateur associés - Google Patents

Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d'ordinateur associés

Info

Publication number
EP4179469A1
EP4179469A1 EP21742808.5A EP21742808A EP4179469A1 EP 4179469 A1 EP4179469 A1 EP 4179469A1 EP 21742808 A EP21742808 A EP 21742808A EP 4179469 A1 EP4179469 A1 EP 4179469A1
Authority
EP
European Patent Office
Prior art keywords
component
task
data
module
vector
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
EP21742808.5A
Other languages
German (de)
English (en)
Inventor
Johannes Christian Thiele
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.)
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Original Assignee
Commissariat a lEnergie Atomique CEA
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
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 Commissariat a lEnergie Atomique CEA, Commissariat a lEnergie Atomique et aux Energies Alternatives CEA filed Critical Commissariat a lEnergie Atomique CEA
Publication of EP4179469A1 publication Critical patent/EP4179469A1/fr
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/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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
    • 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/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • the present invention relates to an electronic data processing device, as well as a data processing method implemented by such an electronic processing device.
  • the invention also relates to an electronic system for detecting object(s), comprising a sensor, such as an image sensor(s), and such an electronic processing device, each datum to be processed being an object detected in a respective image.
  • the invention also relates to a computer program comprising software instructions which, when executed by a computer, implement such a processing method.
  • the invention therefore relates to the field of machine learning, in particular that of continuous learning based on generative neural networks, in particular for data processing, such as data classification and learning of latent features.
  • neural network we mean an artificial neural network known in itself.
  • the invention offers various applications, such as the classification or identification of objects previously detected by an object detector, making it possible, for example, to learn the identities of people whose faces have been detected by a face detector.
  • Another application is an unsupervised, automatic feature learning system, for example a system which is autonomously and continuously trained on human voice data around it, and the learned features are then used to pre-process data for a specialized learning system on the voice of a certain person.
  • a neural network for data processing and in particular for classification
  • a task also called a class when used for data classification, such as a first task, or first class
  • another task namely a second task, or second class
  • the neural network will forget the information learned about the first task and then be unable to perform the task again.
  • first task phenomenon is also known as catastrophic forgetting.
  • neural networks for data processing and in particular for classification, are then trained simultaneously on a plurality of tasks, or classes, examples representing these different tasks then having to be distributed homogeneously in a set training data.
  • these neural networks are typically trained on a number of tasks which is fixed at the start of their learning.
  • EWC Elastic Weight Consolidation
  • SI English Synaptic Intelligence
  • Generative models aim to represent an input space X in an output space Y, by defining for example a joint probability law or bijective functions for all possible variables, i.e. for the variables of l output space Y, also called output variables and corresponding to the data to be predicted; for the variables of the input space X, also called input variables and corresponding to the data received as input from the generative model; and for the variables of an unobserved space, also called latent space H, also denoted Z, these unobserved auxiliary variables then also being called latent or hidden variables. These latent variables then correspond to vectors of the latent space H, also called latent vectors.
  • the output space Y corresponds to the task space, and the output variables then represent identifiers, or labels (from l 'English task label), of tasks associated with the input data.
  • Such methods are often considered as implementing an approach called generative replay (or pseudo-rehearsal).
  • the artificial data produced are used in combination with the data of a new task to train the neural network or networks implemented for the processing of data, and in particular for the classification of these data.
  • the paper “Continuai Unsupervised Representation Learning” by Rao et al, 33rd Conference on Neural Information Processing Systems (NeurIPS 2019) describes an example of such a generative retraining process.
  • the object of the invention is therefore to propose an electronic data processing device, and an associated processing method, making it possible to offer a better solution to the phenomenon of catastrophic forgetting by better representing the tasks, or classes, and then d 'learn characteristics that are more discriminating.
  • an electronic data processing device comprising:
  • an acquisition module configured to acquire a set of data(s) to be processed
  • a calculation module including a plurality of components, each associated with a respective task, each component being configured to implement an invertible neural network to calculate a vector in a latent space, called a latent vector, from the set of data) ;
  • a determination module configured to determine a task for each datum, by:
  • the electronic processing device offers continuous learning based on generative neural networks, the networks of the calculation module further being invertible neural networks (normalizing flow) which then each learn a bijective function between the input space X and the latent space H.
  • the latent space H is then distributed according to a probabilistic distribution function of the same dimension than that of the input space X, each probabilistic distribution function being for example a multidimensional Gaussian.
  • the possibility of inverting the neural network of each component then makes it possible to express the likelihood function of the data of the input space X more easily according to the values of the vectors of the space latent h.
  • Invertible networks also allow an exact calculation of the likelihood score of the data of the input space X according to the probabilistic distribution function px of the input space X. Also, if the likelihood score of a sample is inconsistent for the component associated with the assigned task, for example if the likelihood score deviates too much from the mean score observed during the learning of said component, this sample is considered to be of unknown task.
  • the electronic processing device then makes it possible to additionally carry out a detection of unknown task(s), or unknown class(es).
  • an invertible neural network for each component of the calculation module makes it possible to use the same and unique neural network for encoding from the input space X to the latent space H, and for the decoding from the latent space H to the input space X, this decoding typically making it possible to create artificial examples of data, for the subsequent retraining of the neural networks of the components.
  • invertible networks Another advantage of invertible networks is the possibility of implementing the gradient back-propagation algorithm with less memory resources, since the activations of each neuron are reconstructable from the exit from the network. This makes it possible to recalculate the activations in parallel during a back-propagation phase, which avoids having to save the activations of each neuron during an inference phase.
  • the invention is then particularly suitable for the implementation of a continuous learning system with fewer memory resources, such as an embedded system.
  • the parameters of the neural network of each component are capable of being optimized using a maximum likelihood estimation method on the data of the input space X.
  • the neural network of each component is learned using a back-propagation algorithm for calculating the gradient of each parameter of the network according to a cost function, the cost function typically comprising a likelihood term, such as a logarithmic likelihood term.
  • the electronic processing device comprises one or more of the following characteristics, taken in isolation or in all technically possible combinations:
  • the device further comprises a feedback module configured to store in a buffer memory each unknown task datum, and to trigger the creation of a new task if the number of data stored in the buffer memory is greater than a predefined number; the calculation module then being configured to include a new component associated with the new task, the learning of the new component being carried out from said data stored in the buffer memory;
  • the invertible neural network of each component includes parameters, such as weights; said parameters being optimized via a maximum likelihood method; the learning of said network being preferably carried out via a back-propagation algorithm for calculating the gradient of each parameter; the learning of said network preferably still being continuous, in particular carried out after each processing of data(s);
  • the device further comprises a feature extraction module connected between the acquisition module and the calculation module, the extraction module being configured to implement at least one neural network to convert the data set (s) in a simplified representation, by extracting one or more characteristics common to the plurality of tasks; each neural network of the extraction module preferably being invertible; the extraction module preferably further comprising a first extractor configured to implement a neural network with fixed weights following training of said network and a second extractor configured to implement a neural network with trainable weights via continuous learning, such as learning carried out after each processing of data(s), in particular via a reverse propagation algorithm;
  • the determination module is further configured to generate a vector of random or pseudo-random number(s) corresponding to the distribution of the latent space of one of the components, then to propagate said vector of inversely via the corresponding invertible neural network, in order to create an artificial example of data(s), a task identifier associated with this artificial example being an identifier of said component; said vector preferably being propagated in an inverse manner towards the calculation module or else towards a retraining module distinct from the calculation module;
  • the device further comprises a retraining module configured to receive the vector generated by the determination module and to supply at least one artificial example of data(s) and its identifier to the component(s) of the associated calculation module (s) to the same identifier, said component(s) being to be trained again, the retraining module comprising a copy of each component to be trained again;
  • the retraining module further comprises a copy of the second extractor, the retraining module then being further configured to provide at least one artificial example of data(s) to the second extractor of the extraction module;
  • the device is configured to perform unsupervised learning of tasks, each component of the calculation module being configured to calculate a vector in the latent space for each new datum, the latent space then comprising latent vectors for this new datum , an identifier of the component also being associated with each calculated latent vector;
  • the determination module is further configured to modify the identifiers of components from a batch of identified examples, a respective identifier being associated with each example, by assigning for each example its identifier to the component presenting the likelihood score the higher, the component(s) not having an identifier assigned after taking into account all the examples of the batch being ignored;
  • the likelihood score is a logarithmic score; the likelihood score preferably comprising the following logarithmic term: l°g [PH (i (*))].
  • H represents a space of latent vectors, also called latent space
  • PH represents a probabilistic distribution function of the latent space H
  • k is an integer index representing each component, k being typically between 1 and P, with P representing the number of components, P 3 2,
  • the assessed likelihood score is inconsistent for the component associated with the assigned task if the difference between the assessed likelihood score and an average likelihood score for said component is greater than a threshold; said threshold preferably being a predefined value for each component, or even a percentage of an average value observed for each component; a so-called out-of-distribution detection method is applied as a variant to the likelihood scores evaluated for the detection of unknown sample(s);
  • the determination module is further configured to transmit the latent vectors to another electronic data processing device, such as a k-NN classifier or another neural network;
  • the acquisition module is further configured to carry out a normalization of the set of data(s) and/or an enrichment of the set of data(s), for example via one or more random angle rotations.
  • the invention also relates to an electronic system for detecting object(s), the system comprising a sensor, such as an image(s) sensor, a sound sensor or even an object detection sensor, and an electronic data processing device connected to the sensor, the electronic processing device being as defined above, and each data to be processed is an object detected in an image.
  • a sensor such as an image(s) sensor, a sound sensor or even an object detection sensor
  • an electronic data processing device connected to the sensor, the electronic processing device being as defined above, and each data to be processed is an object detected in an image.
  • the invention also relates to a data processing method, implemented by an electronic processing device and comprising the following steps:
  • the invention also relates to a computer program comprising software instructions which, when executed by a computer, implement a processing method, as defined above.
  • FIG. 1 is a schematic representation of an electronic system for detecting objects according to the invention, comprising a sensor and an electronic data processing device, connected to the sensor;
  • FIG. 2 is a more detailed schematic representation of the electronic processing device of Figure 1, comprising in particular a calculation module including a plurality of components, each being associated with a respective task and configured to implement an invertible neural network to calculate a vector in a latent space from a set of data(s) to be processed, according to a first embodiment;
  • a calculation module including a plurality of components, each being associated with a respective task and configured to implement an invertible neural network to calculate a vector in a latent space from a set of data(s) to be processed, according to a first embodiment
  • FIG. 3 is a schematic representation of an example of implementation of the invertible neural networks of the components of the calculation module of Figure 2, these invertible neural networks also being optionally connected to the invertible neural network of a module feature extraction included in the electronic processing device of FIGS. 1 and 2, in addition to the calculation module;
  • FIG. 4 is a view similar to that of Figure 2, according to a second embodiment of the invention, in which the electronic processing device further comprises a retraining module configured to supply from a latent vector , at least one artificial example and its identifier, to the component(s) of the calculation module associated with the same identifier as that of the artificial example, said component(s) being to be trained again, and the module retraining comprising a copy of each component to be retrained; and
  • FIG. 5 is a flowchart of a data processing method according to the invention, the method being implemented by the electronic processing device of Figure 1.
  • task or even class, we mean a grouping of similar data, or of the same type, and each task is associated with an identifier, or label, task label.
  • identifier or label
  • task label means a grouping of similar data, or of the same type, and each task is associated with an identifier, or label, task label.
  • task and class are considered to be synonymous within the meaning of the present invention.
  • object is meant a concrete realization of a class or task, for example a physical object, a person, and more generally an element present in a scene captured by a sensor, in particular of the type described below.
  • the scene is then typically represented in the form of images or videos in the case of an image(s) sensor or an infrared sensor, in sound form in the case of a sound sensor, or even in the form cloud(s) of points in the case of a lidar or radar sensor.
  • an electronic detection system 10 is configured to detect one or more objects, not shown, and comprises a sensor 12 and an electronic processing device 14, connected to the sensor 12.
  • the electronic detection system 10 forms, for example, a face detector able to recognize the faces of previously identified persons and/or to detect the faces of unknown persons, that is to say faces of persons who have not been previously identified.
  • the electronic processing device 14 then makes it possible to learn the identities of the people detected, and also to identify unknown people.
  • the sensor 12 is known per se, and is for example an image sensor (s) configured to take one or more images of a scene, and transmit them to the electronic processing device 14.
  • the senor 12 is a sound sensor, an object detection sensor, such as a lidar sensor, a radar sensor, an infrared sensor, a capacitive proximity sensor, an inductive proximity sensor, a proximity sensor Hall effect or even a presence sensor, configured to acquire a characteristic signal depending on the presence or absence of object(s), then to transmit it to the electronic processing device 14.
  • an object detection sensor such as a lidar sensor, a radar sensor, an infrared sensor, a capacitive proximity sensor, an inductive proximity sensor, a proximity sensor Hall effect or even a presence sensor, configured to acquire a characteristic signal depending on the presence or absence of object(s), then to transmit it to the electronic processing device 14.
  • the electronic processing device 14 is configured to process a set of data(s), the set of data(s) typically corresponding to one or more signals picked up by the sensor 12.
  • the electronic processing device 14 is then typically configured to interpret a scene captured by the sensor 12, that is to say to identify and/or to recognize a type of one or more elements - such as people or physical objects - present in the captured scene and corresponding to the signal or to the signals picked up by the sensor 12.
  • the electronic processing device 14 comprises a module 16 for acquiring the set of data(s) to be processed; a calculation module 18 including a plurality of components 20, visible in Figures 2 to 4, each associated with a respective task, each component 20 being capable of calculating a vector in a latent space H, called latent vector h k , from the set of data(s) ; and a module 22 for determining a task for each datum, from the calculated latent vector h k.
  • the electronic processing device 14 further comprises a feedback module 24 configured to store in a buffer memory 26, visible in FIG. 2, each unknown task datum and to trigger, if necessary, the creation of a new task.
  • the electronic processing device 14 further comprises a feature extractor module 28, connected between the acquisition module 16 and the calculation module 18, the extraction 28 being capable of extracting one or more characteristics common to several tasks in order to transform the set of data(s) into a simplified representation.
  • the electronic processing device 14 further comprises a retraining module 30 configured to generate, from a vector of random or pseudo-random number(s) corresponding to the distribution in the latent space of one of the components, at least one artificial example of data(s) and its identifier, and then provide them to the component(s) 20 associated with the same identifier, said component(s) 20 being to be trained again, the retraining module 30 comprising a copy of each component 20 to be trained again.
  • the electronic processing device 14 comprises an information processing unit 40 formed for example of a memory 42 and a processor 44 associated with the memory 42.
  • the acquisition module 16, the calculation module 18 and the determination module 22, as well as optionally the feedback module 24, the extraction module 28 and/or the retraining module 30, are each produced in the form of software, or a software brick, executable by the processor 44.
  • the memory 42 of the electronic processing device 14 is then capable of storing software for acquiring the set of data(s) to be processed, software for calculating the latent vector for each component from the set of data(s) and software for determining a task for each data from the calculated latent vectors.
  • the memory 42 of the electronic processing device 14 is capable of storing feedback software capable of storing in the buffer memory 26 each unknown task datum and of triggering, if necessary, the creation of a new task, a software extraction of characteristics common to several tasks in order to convert the set of data(s) into a simplified representation, and retraining software capable of providing, from a random or pseudo-random vector corresponding to the distribution of the latent space of one of the components, at least one artificial example of data(s) and its identifier, this to the component(s) with the same identifier as that of the generated artificial example.
  • the processor 44 is then capable of executing each of the software programs among the acquisition software, the calculation software and the determination software, as well as, as an optional complement, the feedback software, the extraction software and/or the retraining.
  • the acquisition module 16, the calculation module 18 and the determination module 22, as well as in optional addition the feedback module 24, the extraction module 28 and/or the retraining module 30, are each made in the form of a programmable logic component, such as an FPGA (English Field Programmable GateArray), or in the form of a dedicated integrated circuit, such as an ASIC (English Application Specifies Integrated Circuit).
  • a programmable logic component such as an FPGA (English Field Programmable GateArray)
  • ASIC American Application Specifies Integrated Circuit
  • the electronic processing device 14 When the electronic processing device 14 is produced in the form of one or more software, that is to say in the form of a computer program, it is also capable of being recorded on a medium, not shown, computer readable.
  • the computer-readable medium is, for example, a medium capable of storing electronic instructions and of being coupled to a bus of a computer system.
  • the readable medium is an optical disc, a magneto-optical disc, a ROM memory, a RAM memory, any type of non-volatile memory (for example EPROM, EEPROM, FLASH, NVRAM), a magnetic card or an optical card.
  • EPROM EPROM
  • EEPROM electrically erasable programmable read-only memory
  • FLASH erasable programmable read-only memory
  • NVRAM any type of non-volatile memory
  • the acquisition module 16 is configured to acquire the set of data(s) to be processed.
  • the data space to which this set of data(s) belongs is denoted X
  • each set of data(s) acquired is denoted x, and is for example in the form of a vector comprising the or the input data, also called the input vector x.
  • the acquisition module 16 is also configured to perform a pre-processing of the acquired data, such as a normalization of the acquired data.
  • the acquisition module 16 is further configured to carry out an enrichment of the acquired data, for example by applying one or more random angle rotations to the acquired data in order to generate additional data.
  • Compute module 18 includes the plurality of components 20, each associated with a single respective task.
  • each component 20 is configured to implement an invertible neural network to calculate from the set of data, such as from the input vector x, a vector in latent space H, also called latent vector h k .
  • each component 20 is also then denoted C k , where k is an integer index with a value between 1 and P.
  • Each component C k is then configured to calculate the latent vector h k exponent k, as represented in FIG. 2 where the latent vectors h 1 , h 2 , ... h p are then calculated by the calculation module 18 for each input vector x, and more particularly by the respective components Ci, C 2 , ..., Cp.
  • Each invertible neural network is configured to learn a one-to-one function between the input data space X and the latent space H, and the latent space H is then constrained to be distributed according to a probabilistic distribution function of dimension equal to that of the input space X.
  • the probabilistic distribution function according to which the latent space H is distributed is for example a multidimensional Gaussian, as is that according to which the input space X is distributed.
  • Each invertible neural network comprises one or more invertible blocks 32 (coupling layer), where each invertible block 32 represents a one-to-one transform between its input and its output.
  • each component 20 of the calculation module 18 comprises an invertible block with four input/output dimensions
  • each invertible neural network of a component 20 also includes a scale adaptation layer 34, and the parameters of this adaptation layer 34 can also be trained.
  • FIG. 3 also illustrates the connection of several invertible neural networks to a common invertible neural network, when the extraction module 28 comprises one or more invertible neural networks connected one after the other, the last invertible network of this succession then being connected to each of the invertible neural networks associated with the components 20 arranged in parallel.
  • the output node of the last common invertible network is connected to the input node of the same dimension of each of the input invertible neural networks of the components 20, as shown in Figure 3.
  • the common invertible neural network or networks (represented on the left part of the figure) then play the role of extractor of characteristic(s) common to the plurality of tasks for all the neural networks reversible components 20 (shown on the right side of the figure), which are arranged in parallel to each other and specific to each task.
  • the determination module 22 is configured to determine a task for each datum by evaluating, for each component 20, denoted C k , a likelihood score from the corresponding latent vector h k; and by assigning, to said datum, the task with identifier k associated with the component 20 with the highest likelihood score among the plurality of likelihood scores evaluated; and if the assessed likelihood score is inconsistent for the component 20 associated with the assigned task, changing the assigned task to an unknown task.
  • Each likelihood score evaluated by the determination module 22 is for example a logarithmic score and each likelihood score then preferably comprises the following logarithmic term (7) where PH represents a probabilistic distribution function of the latent space H, k is an integer index representing each component, k being typically between 1 and P, with P representing the number of components, P 3 2,
  • PHW Yld PH d (hd) (8)
  • d represents the number of dimensions of the input space X and of the latent space H which is identical for the two spaces, due to the use of networks of reversible neurons.
  • the probabilistic distribution function of the input space X satisfies the following equation: dF k (x ) det dx (9) dF k (x ) where the term det dx represents the Jacobian determinant of the transformation function F k (x)
  • the logarithmic likelihood score according to equation (10) then includes the logarithmic term of the previous equation (7).
  • the invertible neural network of each component 20 comprises parameters Q, the parameters of each component C k then being denoted 0 k , and said parameters are preferably optimized via a maximum likelihood method.
  • the learning of the invertible neural network(s) of each component is then preferably carried out via a back-propagation algorithm for calculating the gradient of each parameter Q.
  • the training of each network is preferably still continuous, and in particular carried out after each data processing.
  • the determination module 22 is then configured to determine the task for each datum, by assigning to said datum the task with index k which is associated with the component with the highest likelihood score among the plurality of scores evaluated, and the identifier, or label, of said task then typically verifies the following equation:
  • the identifier of said task is determined according to the following equation:
  • the determination of said identifier according to the preceding equation (13) uses a simplified logarithmic likelihood score based only on the latent term of the likelihood score, that is to say on the term logp ⁇ (F fe (x)), and not taking into account the term corresponding to the logarithm of the dF k (x ) Jacobian determinant of the transformation function, i.e. the term log
  • the inventors have indeed observed that the use of the single term latent logp # (F fe (x)) makes it possible to obtain better results when the determination of tasks is used for data classification and/or for detection of class boundaries, whereas the use of the full logarithmic likelihood score according to the previous equation (12) is preferable for the optimization of each invertible neural network. They estimate that this is probably due to the fact that the term of the logarithmic likelihood score corresponding to the logarithm of the Jacobian determinant, that is to say the term dF k (x) log
  • the probabilistic distribution function PH of the latent space H is generally a factorized standard normal distribution function, such as the distribution function verifying for example the following equation: where ma, and respectively s, represent the mean, and respectively the standard deviation, of the d-dimensional probabilistic distribution function, such as the multidimensional Gaussian.
  • the determination module 22 is configured to determine that the assessed likelihood score is inconsistent for the component 20 associated with the assigned task if the difference between the assessed likelihood score and an average likelihood score for said component 20 is greater than a threshold.
  • This threshold is for example a predefined value for each component 20, or even a percentage of an average value observed for each component 20.
  • the determination module 22 is configured to detect that the assessed likelihood score is inconsistent, and that the assigned task must then be modified into an unknown task by applying a so-called out-of-distribution detection method, also denoted OOD (from the 'English Out-Of-Distribution), with the assessed likelihood score.
  • OOD out-of-distribution detection method
  • the determination module 22 is further configured to transmit the calculated latent vectors h k to another electronic data processing device, such as a k-NN (K-Nearest Neighbors) classifier, i.e. a classifier (c/ass/7/er) implementing the k nearest neighbors algorithm, or another machine learning algorithm, such as one or more artificial neural networks.
  • a k-NN K-Nearest Neighbors
  • c/ass/7/er implementing the k nearest neighbors algorithm
  • another machine learning algorithm such as one or more artificial neural networks.
  • the determination module 22 is further configured to generate a vector of random number(s) or pseudo-random number(s) corresponding to the distribution of the latent space H of one of the components 20, then to propagate said random or pseudo-random vector inversely via the corresponding invertible neural network, that is to say via the invertible neural network of the component corresponding to the distribution of the latent space taken into account, in order to creating an artificial example 52 of data(s), a task identifier associated with this artificial example 52 then being the identifier of said component via which the reverse propagation was carried out.
  • the creation of the artificial example 52 is illustrated for the component C 5 , and the reverse propagation of the random or pseudo-random vector is represented by the random vector h s 5 generated by the module of determination 22 destined for component C 5 , then propagated inversely in the direction of the input space X, as represented by the arrows G1, G2 and G3.
  • the random or pseudo-random vector that is to say the vector h s 5 in the example of FIG. 2, or even the vector h s 2 in the example of FIG. 4, is propagated inversely to the calculation module 18 as in the example of Figure 2, or to the retraining module 30 separate from the calculation module 20 as in the example of Figure 4.
  • the electronic processing device 14 then makes it possible, in other words, to generate samples x s of the learned distribution rc(c,q*) by drawing a random sample from the distribution function of the latent space, and by transferring this random sample to the input space by reverse propagation, i.e. by applying the inverse function F 1 , to the random sample of the function of distribution of the latent space H.
  • the preceding equations (15) and (16) correspond to the case where the distribution function of the latent space is a factorized standard equation.
  • the feedback module 24 is configured to store in the buffer memory 26 each unknown task datum, that is to say each task datum whose assessed likelihood score is inconsistent, and to trigger the creation of a new task. if applicable.
  • the feedback module 24 is for example configured to trigger the creation of a new task if the number of data stored in the buffer memory 26 is greater than a predefined number.
  • the calculation module 18 is then configured to include a new component 20 associated with the new task created by the feedback module 24, as represented by the arrow R1 in the examples of figures 2 and 4, and the training of the new component 20 is then performed from said data stored in the buffer memory 26.
  • the extraction module 28, connected between the acquisition module 16 and the calculation module 18, is configured to implement at least one neural network to convert the set of data(s), such than the acquired data vector X, in a simplified representation, by then extracting one or more characteristics common to the plurality of tasks.
  • Each neural network of the extraction module 28 is preferably an invertible neural network.
  • the extraction module 28 advantageously consists of a first extractor 60 configured to implement a neural network with fixed weights following the learning of said network and a second extractor 62 configured to implement a neural network with trainable weights via continuous learning, such as learning performed after each data processing, in particular via a reverse propagation algorithm when the first and second extractors 60, 62 each comprise invertible neural networks.
  • the architecture of the electronic processing device 14 is particular in that it comprises two parts, namely a part agnostic to the tasks corresponding to the extraction module 28, and in particular to the first feature extractor 60 and to the second feature extractor 62, and a task-specific part comprising several independent invertible blocks, namely the components 20, which are all connected in parallel to the task-agnostic part.
  • This two-part architecture with an agnostic part and a specific part then makes it possible to offer better continuous learning.
  • the part specific to the tasks corresponds to high-level components of the distribution to be modeled, and given that their weight are independent, they are not subject to the phenomenon of catastrophic forgetting.
  • the task-agnostic part allows it to play the role of extractor of characteristics common to all the components 20, but is however subject to the phenomenon of catastrophic forgetting if the tasks are learned in a sequential manner.
  • the task-agnostic part makes it possible to use far fewer parameters, since the task-agnostic features are usable simultaneously by all 20 components that are task-specific.
  • each additional task is learned more quickly and with a lower number of examples, being based on characteristics agnostic to existing tasks.
  • the characteristics common to the plurality of tasks are symbolized by the functions fo to ÎN-I for the first extractor 60, then by the functions fn to ⁇ MI for the second extractor 62, and the characteristics specific to each task are then symbolized by the functions f M k fwi + A to fi_ k where k represents the identifier of the task.
  • the first extractor 60 is configured to implement a composite of the functions fo to ⁇ NI in the sense of inference or learning, that is to say from space of data X towards the latent space H, as represented by the arrows IL1 , IL2 and IL3, and conversely to implement the composition of function f 0 1 to fn 1 in the opposite direction, for example for the generation of examples artificial 52 from the latent space H to the data space X, as represented by the arrows G1 to G3.
  • the second extractor 62 is configured to implement a composite of the functions ⁇ N to ⁇ MI in the direction of inference or learning from the data space X to the latent space H, and conversely to implement a composite of the inverse functions Î N 1 to ⁇ M 1 in the direction of generating artificial examples from the latent space H to the data space X.
  • each component C k is configured to implement a composite of the specific functions f M k àfi_ k in the direction of inference and learning from the data space X to the latent space H , and conversely only the component associated with the generated random vector, such as the component C 5 in the example of FIG. 2 or even the component C 2 in the example of FIG. 4, is configured to implement in the direction inverts a composite inverse function, such as the composite of inverse functions (f M 5 ) 1 to (fi_ 5 ) 1 in the example of FIG. 2, or such as the composite of inverse functions (f M 2 ) 1 to (fi_ 2 ) 1 in the example of figure 4.
  • each latent vector h k verifies the following equation in these examples of FIGS. 2 and 4:
  • the composite of the functions fo to ⁇ MI corresponds to the task-agnostic part, that is to say to the optional extraction module 28, and the composition of the functions f M k to fi_ k corresponds to the part specific to the tasks, in this case to the part specific to the task with identifier k, that is to say to the component C k .
  • the composite of the inverse functions fo 1 to ⁇ M 1 corresponds to the task-agnostic part, i.e. to the optional extraction module 28, and the composite of the inverse functions (f M k ) 1 to (fi_ k ) 1 corresponds to the task-specific part, in particular to the inverse implementation of the component C k .
  • the electronic processing device 14 further comprises the extraction module 28 connected between the acquisition module 16 and the calculation module 18, in particular further comprises the second extractor 62
  • the feedback module 24 is configured to transmit new data stored in the buffer memory 26 at the same time to the calculation module 18 for the inclusion of a new component 20 associated with the new task according to the arrow R1; and also to the extraction module 28, in particular to the second extractor 62 whose neural network or networks include trainable weights, the second extractor 62 then also being trained with these data coming from the feedback module 24, as represented by the arrow R2.
  • the electronic processing device 14 then offers different applications.
  • a first application is the classification of data, and the task or class predicted for each datum to be processed is then determined by searching for the component 20 presenting the highest likelihood score among the plurality of scores evaluated for the different components 20, the determined task then being the one associated with the component having the highest likelihood score.
  • the label t of the determined task then verifies for example equation (12), or even preferably equation (13) which does not take into account the volume term, ie which does not take into account the logarithm of the determinant Jacobien, and then provides better results.
  • a second application of the electronic processing device 14 according to the invention is the labeling of components, or even the identification of components, such labeling being for example obtained via supervised learning, which then means that the task label t is provided with the datum x, and the calculation module 18 then comprises a single component 20 for each task.
  • this labeling of components is carried out in an unsupervised manner, and the processing device 14 is then configured to carry out an unsupervised learning of tasks, each component 20 of the calculation module 18 then being configured to calculate a vector in the latent space H for each new datum, the latent space H then comprising latent vectors h k for this new datum, and an identifier of the component 20 being further associated with each calculated latent vector h k.
  • the determination module 22 is for example further configured to modify the component identifiers 20 from a batch of identified examples, a respective identifier being associated with each example; this by assigning for each example its identifier to the component 20 having the highest likelihood score, the component(s) having no assigned identifier after taking into account all the examples of the batch then being ignored.
  • the determination module 22 is for example further configured to modify the component identifiers 20 from a batch of identified examples, a respective identifier being associated with each example; this by assigning for each example its identifier to the component 20 having the highest likelihood score, the component(s) having no assigned identifier after taking into account all the examples of the batch then being ignored.
  • several components 20 of the calculation module 18 are likely to represent the same task.
  • a third application of the electronic processing device 14 is the detection of off-distribution data for the classification and/or for the detection of task boundaries.
  • This third application preferably corresponds to unsupervised learning without a previously assigned task label.
  • the detection of unknown task(s) or class(es) also allows, when the processing device 14, and in particular its neural networks, are in pure inference mode, and no new component is added, calculating an estimate of a response certainty of the neural network(s).
  • the detection of unknown task(s) according to this third application is then carried out, as described above, by detecting that a likelihood score evaluated by the determination module 22 is inconsistent for the component 20 associated with the assigned task, such an inconsistency typically corresponding to a difference between the assessed likelihood score and the average likelihood score for said component greater than a threshold.
  • this unknown task(s) detection application is likely to be implemented only after the implementation of a start-up phase during which a certain number of Iterations are performed for each component 20, this until it converges towards the distribution of a respective task, and during this start-up phase no unknown task is likely to be detected.
  • the threshold used to detect new task(s), via an inconsistency in the assessed likelihood score is for example a predefined value for each component or else a percentage of an average value observed for each component. In in the latter case, the assessed likelihood score is then considered inconsistent from the moment it deviates from said percentage with respect to the average likelihood score observed for said component.
  • the samples which are considered to be unknown are then added to the buffer memory 36, and when the number of unknown samples is greater than the aforementioned predefined number, the determination module 22 considers that the task has changed, and a learning is then performed for the new task, as represented by the arrows R1, R2 and described previously.
  • the feedback module 24 is configured to regularly erase the buffer memory 26, for example if after a small number of unknown samples a large number of known examples are encountered again, that is to say associated to already known tasks. Such a regular clearing of the buffer memory 26 by the feedback module 24 then makes it possible to avoid the addition of a new task which would be based on disparate unknown examples obtained over time until the number of data unknowns exceeds the predefined number of triggering the creation of a new task.
  • a fourth application of the electronic processing device 14 according to the invention is the autonomous and dynamic addition of components 20 within the calculation module 18. Indeed, as described above, when a new task has been detected, a new component 20 is initialized within the calculation module 18, this for example with random weights, or even with the weights of the component 20 (among those already existing) having the highest likelihood score for the data stored in the buffer memory 26 .
  • This new component 20, and if applicable the second extractor 62, is then trained for the number of iterations corresponding to the start-up phase, described previously, for example via an optimization based on the gradients from the data stored in the buffer memory 26, which then allows the new component 20 to converge on the distribution of the new task.
  • the start-up phase for learning the new component 20 is carried out until a convergence criterion is reached. checked.
  • the electronic processing device 14 also comprises the retraining module 30, the latter being separate from the calculation module 18, and if necessary from the extraction module 28.
  • the retraining module 30 is configured to receive the random or pseudo-random vector h s k (such as the vector h s 2 in the example of FIG. 4), generated by the determination module 22 for the component of index k which is to be trained again, and the retraining module 30 is then configured to supply at least one artificial example 52 of data(s) and its identifier, this to the component 20 of the calculation module 18 which is associated with the same identifier k, such as the identifier of value 2 in the example of figure 4.
  • the random or pseudo-random vector h s k such as the vector h s 2 in the example of FIG. 4
  • the retraining module 30 then comprises a copy of each component 20 which is to be trained again.
  • the retraining module 30 further comprises a copy of the second extractor 62, and the retraining module 30 is then further configured to supply each artificial example 52 of data to the extraction module 28, and in particular to its second extractor 62, for a new learning thereof, as represented by the arrow G'4.
  • the retraining module 30 is configured to create each artificial example 52 of data by carrying out an inverse propagation of the random or pseudo-random vector through the component 20 considered which is a copy of the component 20 of the calculation module 18 which is to be trained again, as illustrated by the arrow G '1 in Figure 4; and if necessary through the second extractor 62 whose neural network or networks are then invertible, as illustrated by the arrow G'2 in FIG. 4, the second extractor 62 contained in the retraining module 30 being a copy of the second extractor 62 of the extraction module 28.
  • the copy is performed each time before a new component 20 is added.
  • the copy is performed before the component 20, and if necessary the second extractor 62, are trained with the data from the buffer memory 26.
  • FIG. 5 representing a flowchart of the processing method according to the invention, the latter being implemented by the processing device 14.
  • the processing device 14 acquires, via its acquisition module 16, the set of data to be processed, the latter being typically in the form of a data vector x.
  • the acquisition module 16 optionally performs a normalization of the set of data(s) and/or an enrichment of the set of data(s), for example via one or multiple random angle rotations.
  • the processing device 14 When, as an optional complement, the processing device 14 includes the extraction module 28, it extracts, during a next optional step 110 and via its extraction module 28, one or more characteristics common to several tasks in order to convert the set of data acquired in a simplified representation, which then makes it possible to then implement the part specific to each task more quickly, via the calculation module 18.
  • This optional step 110 in fact corresponds to a task-agnostic step, which is implemented by the extraction module 28 and which corresponds to the part of the architecture of the processing device 14 which is agnostic to the tasks, as explained above.
  • the processing device 14 calculates, during the following step 120 and via its calculation 18, a latent vector h k for each component 20 included in the calculation module 18 and from the set of data(s), that is to say either from data vector x acquired during the acquisition step 100 or from the simplified representation obtained at the end of the extraction step 110.
  • each component 20 associated with a respective task and calculating the latent vector h k is configured to implement an invertible neural network, and this possibility of inverting the neural network of each component 20 then makes it possible to express the likelihood function of the input data easily as a function of the values of the latent space H, that is to say easily as a function of the latent vector h k , during the next step 130.
  • the processing device 14 indeed determines, during step 130 and via its determination module 22, a task for each datum by evaluating the score likelihood for each component, this from the latent vector h k calculated for each component 20.
  • the determined task is then that associated with the component 20 presenting the highest likelihood score, and the label t of the given task verifies for example equation (12) or even equation (13).
  • the processing device 14 further comprises the feedback module 24, the processing device 14 performs during the next step 140 and via said feedback module 24, a storage in the buffer memory 26 of each unknown task datum, that is to say each datum for which the assessed likelihood score is inconsistent for the component associated with the assigned task, which is then considered as unknown.
  • the feedback module 24 also triggers the creation of a new task if necessary, for example if the number of data stored in the buffer memory 26 is greater than the predefined number. If necessary, the calculation module 18 is preferably configured to then include a new component 20 associated with the new task, and the learning of the new component 20 is carried out from the data stored in the buffer memory 26, as described above.
  • the processing device 14 optionally performs, during the next step 150, and via its calculation module 18 in reverse propagation according to the first embodiment of FIG. embodiment of FIG. 4, the creation of at least one artificial example 52 of data from the random or pseudo-random vector h s k generated by the determination module 22.
  • the random or pseudo-random vector h s k is generated by the determination module 22 to correspond to the distribution of the latent space of the component C k which is to be trained again, and this vector h s k is then propagated in reverse from the latent space H towards the input space X via the invertible neural network of the component C k to be trained again in the example of figure 2, or alternatively via the invertible neural network of the copy of the component C k to be trained again which is included in the module d e retraining 30 in the example of FIG. 4.
  • the artificial example, as well as its identifier, thus created are then supplied to the component C k of the calculation module 18 which is associated with the same identifier k.
  • the processing device 14 also includes the extraction module 28, the latter then being composed of invertible neural networks, the random or pseudo-random vector h s k is also propagated through said extraction 28 in the opposite way, as shown in Figure 2 by the arrows G1 and G2.
  • the retraining module 30 also includes a copy of said second extractor 62, the random or pseudo-random vector h s k is then propagated in an inverse manner also through the copy of said second extractor 62, then the artificial example 52 thus created by the retraining module 30 is then provided also to the second extractor 62 of the extraction module 28.
  • the second extractor 62 is driveable, it is, like the component C k , driven again on the artificial example, by back-propagation of the gradient of the component Ck.
  • the processing device 14 according to the invention then makes it possible to perform continuous learning based on generative neural networks, these neural networks also being invertible, which then makes it possible to express the likelihood function of the data of the input space X more easily depending on the values of the vectors of the latent space H.
  • processing device 14 makes it possible to perform both unsupervised type learning and supervised type learning, as explained previously through the first, second, third and fourth applications described.
  • Invertible networks also allow an exact calculation of the likelihood score of the data of the input space X according to the probabilistic distribution function of this input space, and to then determine if necessary if the likelihood score of a sample is inconsistent for the component associated with the assigned task, which then makes it possible to detect an unknown task in unsupervised learning.
  • the use of invertible neural networks for each component 20 of the calculation module 18 makes it possible to use a single neural network at a time for the encoding from the input space X to latent space H and for decoding from said latent space H to said input space X, this decoding then making it possible to create artificial examples 52 for subsequent retraining of the neural networks of the components 20.
  • the complementary aspect corresponding to the second embodiment of FIG. 4 where the processing device 14 also comprises the retraining module 30 distinct from the calculation module 18 then allows the generation of artificial examples 52 by the retraining module 30 in at the same time that the calculation module 18 continues to carry out the learning of tasks, which makes it possible to more easily and more regularly create artificial examples 52 for the subsequent retraining of the neural networks of the corresponding components 20.
  • the invertible neural networks of the components 20 of the calculation module 18 and, where applicable, the invertible neural network of the second extractor 62 make it possible to implement the backpropagation algorithm. of the gradient with a lower amount of memory resources since the activations of each neuron can be reconstructed from the output of the corresponding network. This then makes it possible to recalculate the activations in parallel during the retro- propagation of the gradient, without having to save the activations of each neuron during an inference phase, and this reduced use of memory resources is then particularly suitable when the processing device 14 according to the invention is implemented in an embedded system. It is thus conceivable that the electronic processing device 14, and the associated processing method, according to the invention make it possible to offer a better solution to the phenomenon of catastrophic forgetting by better representing the tasks and then learning characteristics which are more discriminating. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Image Analysis (AREA)
  • Information Transfer Systems (AREA)

Abstract

Ce dispositif électronique de traitement de donnée(s) comprend: - un module (16) d'acquisition d'un ensemble de donnée(s) à traiter; - un module de calcul (18) incluant une pluralité de composants (20, Ck), chacun associé à une tâche respective, chaque composant étant configuré pour mettre en œuvre un réseau de neurones inversible pour calculer un vecteur dans un espace latent, dit vecteur latent (hk), à partir de l'ensemble de donnée(s); - un module (22) de détermination d'une tâche pour chaque donnée, en : + évaluant, pour chaque composant, un score de vraisemblance à partir du vecteur latent correspondant; + attribuant, à ladite donnée, la tâche associée au composant avec le score de vraisemblance le plus élevé parmi la pluralité de scores évalués; et + si le score de vraisemblance évalué est incohérent pour le composant associé à la tâche attribuée, modifiant la tâche attribuée en tâche inconnue.

Description

Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d’ordinateur associés
La présente invention concerne un dispositif électronique de traitement de données, ainsi qu’un procédé de traitement de données mis en œuvre par un tel dispositif électronique de traitement.
L’invention concerne aussi un système électronique de détection d’objet(s), comprenant un capteur, tel qu’un capteur d’image(s), et un tel dispositif électronique de traitement, chaque donnée à traiter étant un objet détecté dans une image respective.
L’invention concerne également un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un tel procédé de traitement.
L’invention concerne alors le domaine de l’apprentissage automatique (de l’anglais machine learning), en particulier celui de l’apprentissage continu à base des réseaux génératifs de neurones, notamment pour le traitement de données, tel que la classification de données et l’apprentissage de caractéristiques latentes.
Par réseau de neurones, on entend un réseau de neurones artificiels (de l’anglais artificial neural network) connu en soi.
L’invention offre alors diverses applications, telles que la classification ou l’identification d’objets préalablement détectés par un détecteur d’objets, permettant par exemple d’apprendre les identités de personnes dont le visage a été détecté par un détecteur de visages. Une autre application est un système d’apprentissage automatique et non-supervisé des caractéristiques, par exemple un système qui est entraîné d’une manière autonome et continue sur des données de voix humaines autour de lui, et les caractéristiques apprises sont ensuite utilisées pour prétraiter des données pour un système d’apprentissage spécialisé sur la voix d’une certaine personne.
Lorsqu’un réseau de neurones pour le traitement de données, et en particulier pour la classification, est entraîné pour une tâche (de l’anglais task), également appelée classe dans le cas d’un usage pour la classification des données, telle qu’une première tâche, ou première classe, et est ensuite entraîné pour une autre tâche, à savoir une deuxième tâche, ou deuxième classe, le réseau de neurones oubliera les informations apprises sur la première tâche et sera ensuite incapable d’exécuter à nouveau la première tâche, ce phénomène étant aussi connu sous le nom d’oubli catastrophique (de l’anglais catastrophic forgetting).
De manière connue, les réseaux de neurones pour le traitement de données, et en particulier pour la classification, sont alors entraînés simultanément sur une pluralité de tâches, ou classes, des exemples représentant ces différentes tâches devant alors être répartis de manière homogène dans un jeu de données d’apprentissage. En outre, ces réseaux de neurones sont typiquement entraînés sur un nombre de tâches qui est fixé au début de leur apprentissage.
Pour chercher à remédier à ce phénomène d’oubli catastrophique, on connaît également des procédés, tels qu’un procédé de consolidation du poids élastique, aussi noté EWC (de l’anglais Elastic Weight Consolidation), ou un procédé d’intelligence synaptique, aussi noté SI (de l’anglais Synaptic Intelligence), consistant à trouver une métrique assignant une importance à chaque paramètre utilisé pour l’exécution d’une certaine tâche, après l’avoir appris. Si un paramètre est important pour l’exécution d’une tâche, il est alors plus difficile à modifier lors de l’apprentissage de tâches subséquentes.
Toutefois, de tels procédés nécessitent de sauvegarder des variables supplémentaires, et le calcul de l’importance de chaque paramètre pour chaque tâche s’avère alors souvent coûteux en ressources informatiques et/ou en temps de calcul. Aussi, de tels procédés sont généralement utilisés seulement pour des cas où les tâches ne diffèrent pas trop les unes des autres.
D’autres procédés cherchant à apporter une solution au phénomène d’oubli catastrophique utilisent des modèles génératifs pour produire des données artificielles qui ressemblent aux données des tâches déjà apprises.
Les modèles génératifs visent à représenter un espace d’entrée X dans un espace de sortie Y, en définissant par exemple une loi de probabilité jointe ou des fonctions bijectives pour toutes les variables possibles, c’est-à-dire pour les variables de l’espace de sortie Y, aussi appelées variables de sortie et correspondant aux données à prédire ; pour les variables de l’espace d’entrée X, aussi appelées variables d’entrée et correspondant aux données reçues en entrée du modèle génératif ; et pour les variables d’un espace non- observé, également appelé espace latent H, aussi noté Z, ces variables annexes non- observées étant alors également appelées variables latentes ou cachées. Ces variables latentes correspondent alors à des vecteurs de l’espace latent H, également appelés vecteurs latents. Lorsque les modèles génératifs sont utilisés pour le traitement de données, et en particulier pour la classification de données, l’espace de sortie Y correspond à l’espace des tâches, et les variables de sortie représentent alors des identifiants, ou étiquettes (de l’anglais task label), de tâches associées aux données d’entrée. De tels procédés sont souvent considérés comme mettant en œuvre une approche dite de réentrainement génératif (de l’anglais generative replay, ou encore pseudo- rehearsal). Avec ces procédés, les données artificielles produites sont utilisées en combinaison avec les données d’une nouvelle tâche pour entraîner le ou les réseaux de neurones mis en œuvre pour le traitement de données, et en particulier pour la classification de ces données. L’article « Continuai Unsupervised Représentation Learning » de Rao et al, 33rd Conférence on Neural Information Processing Systems (NeurIPS 2019), décrit un exemple d’un tel procédé de réentrainement génératif.
Cependant, avec de tels procédés de réentrainement génératif, il est nécessaire d’avoir un modèle génératif de très bonne qualité qui est capable de générer des bonnes représentations des tâches déjà apprises.
Le but de l’invention est alors de proposer un dispositif électronique de traitement de données, et un procédé de traitement associé, permettant d’offrir une meilleure solution au phénomène d’oubli catastrophique en représentant mieux les tâches, ou classes, et alors d’apprendre des caractéristiques qui sont plus discriminantes.
A cet effet, l’invention a pour objet un dispositif électronique de traitement de données, comprenant:
- un module d’acquisition configuré pour acquérir un ensemble de donnée(s) à traiter ;
- un module de calcul incluant une pluralité de composants, chacun associé à une tâche respective, chaque composant étant configuré pour mettre en œuvre un réseau de neurones inversible pour calculer un vecteur dans un espace latent, dit vecteur latent, à partir de l’ensemble de donnée(s) ;
- un module de détermination configuré pour déterminer une tâche pour chaque donnée, en :
+ évaluant, pour chaque composant, un score de vraisemblance à partir du vecteur latent correspondant ; et
+ attribuant, à ladite donnée, la tâche associée au composant avec le score de vraisemblance le plus élevé parmi la pluralité de scores évalués ; et
+ si le score de vraisemblance évalué est incohérent pour le composant associé à la tâche attribuée, modifiant la tâche attribuée en tâche inconnue.
Ainsi, le dispositif électronique de traitement selon l’invention offre un apprentissage continu à base de réseaux génératifs de neurones, les réseaux du module de calcul étant en outre des réseaux de neurones inversibles (de l’anglais normalizing flow) qui apprennent alors chacun une fonction bijective entre l’espace d’entrée X et l’espace latent H. L’espace latent H est alors distribué selon une fonction de distribution probabiliste de la même dimension que celle de l’espace d’entrée X, chaque fonction de distribution probabiliste étant par exemple une Gaussienne multidimensionnelle. La possibilité d’inverser le réseau de neurones de chaque composant permet alors d’exprimer la fonction de vraisemblance (de l’anglais likelihood) des données de l’espace d’entrée X plus facilement en fonction des valeurs des vecteurs de l’espace latent H.
Les réseaux inversibles permettent aussi de faire un calcul exact du score de la vraisemblance des données de l’espace d’entrée X suivant la fonction de distribution probabiliste px de l’espace d’entrée X. Aussi, si le score de vraisemblance d’un échantillon (de l’anglais sample ) est incohérent pour le composant associé à la tâche attribuée, par exemple si le score de vraisemblance dévie trop du score moyen observé pendant l’apprentissage dudit composant, cet échantillon est considéré comme étant de tâche inconnue. Le dispositif électronique de traitement selon l’invention permet alors d’effectuer en outre une détection de tâche(s) inconnue(s), ou classe(s) inconnue(s).
En outre, l’utilisation d’un réseau de neurones inversible pour chaque composant du module de calcul permet d’utiliser un même et unique réseau de neurones pour l’encodage depuis l’espace d’entrée X vers l’espace latent H, et pour le décodage depuis l’espace latent H vers l’espace d’entrée X, ce décodage permettant typiquement de créer des exemples artificiels de données, pour le réentrainement ultérieur des réseaux de neurones des composants.
Un autre avantage des réseaux inversibles est la possibilité d’implémenter l’algorithme de la rétro-propagation du gradient (de l’anglais back-propagation) avec moins des ressources de mémoire, car les activations de chaque neurone sont reconstructibles à partir de la sortie du réseau. Cela permet de recalculer les activations en parallèle pendant une phase de rétro-propagation, ce qui évite de devoir sauvegarder les activations de chaque neurone pendant une phase d’inférence. L’invention est alors particulièrement adaptée pour l’implémentation d’un système d’apprentissage continu avec des ressources mémoire moindres, tel qu’un système embarqué.
De préférence, les paramètres du réseau de neurones de chaque composant sont aptes à être optimisés en utilisant une méthode de vraisemblance maximale (de l’anglais maximum likelihood estimation) sur les données de l’espace d’entrée X.
De préférence encore, le réseau de neurones de chaque composant est appris en utilisant un algorithme de rétro-propagation pour le calcul du gradient de chaque paramètre du réseau suivant une fonction de coût, la fonction de coût comportant typiquement un terme de vraisemblance, tel qu’un terme logarithmique de vraisemblance. Suivant d’autres aspects avantageux de l’invention, le dispositif électronique de traitement comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :
- le dispositif comprend en outre un module de rétroaction configuré pour stocker dans une mémoire tampon chaque donnée de tâche inconnue, et pour déclencher la création d’une nouvelle tâche si le nombre de données stockées dans la mémoire tampon est supérieur à un nombre prédéfini ; le module de calcul étant alors configuré pour inclure un nouveau composant associé à la nouvelle tâche, l’apprentissage du nouveau composant étant effectué à partir desdites données stockées dans la mémoire tampon ;
- le réseau de neurones inversible de chaque composant comporte des paramètres, tels que des poids ; lesdits paramètres étant optimisés via une méthode de vraisemblance maximale ; l’apprentissage dudit réseau étant de préférence effectué via un algorithme de rétro- propagation pour le calcul du gradient de chaque paramètre ; l’apprentissage dudit réseau étant de préférence encore continu, notamment effectué après chaque traitement de donnée(s) ;
- le dispositif comprend en outre un module d’extraction de caractéristiques connecté entre le module d’acquisition et le module de calcul, le module d’extraction étant configuré pour mettre en œuvre au moins un réseau de neurones pour convertir l’ensemble de donnée(s) en une représentation simplifiée, en extrayant une ou plusieurs caractéristiques communes à la pluralité de tâches ; chaque réseau de neurones du module d’extraction étant de préférence inversible ; le module d’extraction comportant de préférence encore un premier extracteur configuré pour mettre en œuvre un réseau de neurones avec des poids figés suite à l’apprentissage dudit réseau et un deuxième extracteur configuré pour mettre en œuvre un réseau de neurones avec des poids entrainables via un apprentissage continu, tel qu’un apprentissage effectué après chaque traitement de donnée(s), notamment via un algorithme de propagation inverse ;
- le module de détermination est configuré en outre pour générer un vecteur de nombre(s) aléatoire(s) ou pseudo-aléatoire(s) correspondant à la distribution de l’espace latent d’un des composants, puis pour propager ledit vecteur de manière inverse via le réseau de neurones inversible correspondant, afin de créer un exemple artificiel de donnée(s), un identifiant de tâche associé à cet exemple artificiel étant un identifiant dudit composant ; ledit vecteur étant de préférence propagé de manière inverse vers le module de calcul ou bien vers un module de réentrainement distinct du module de calcul ;
- le dispositif comprend en outre un module de réentrainement configuré pour recevoir le vecteur généré par le module de détermination et pour fournir au moins un exemple artificiel de donnée(s) et son identifiant au(x) composant(s) du module de calcul associé(s) au même identifiant, le(s)dit(s) composant(s) étant à entraîner à nouveau, le module de réentrainement comportant une copie de chaque composant à entraîner à nouveau ;
- lorsque le module d’extraction comporte le premier extracteur et le deuxième extracteur, le module de réentrainement comporte en outre une copie du deuxième extracteur, le module de réentrainement étant alors configuré en outre pour fournir au moins un exemple artificiel de donnée(s) au deuxième extracteur du module d’extraction ;
- le dispositif est configuré pour effectuer un apprentissage non-supervisé de tâches, chaque composant du module de calcul étant configuré pour calculer un vecteur dans l’espace latent pour chaque nouvelle donnée, l’espace latent comportant alors des vecteurs latents pour cette nouvelle donnée, un identifiant du composant étant en outre associé à chaque vecteur latent calculé ;
- le module de détermination est configuré en outre pour modifier les identifiants de composants à partir d’un lot d’exemples identifiés, un identifiant respectif étant associé à chaque exemple, en attribuant pour chaque exemple son identifiant au composant présentant le score de vraisemblance le plus élevé, le ou les composants n’ayant pas d’identifiant attribué après prise en compte de tous les exemples du lot étant ignorés ;
- le score de vraisemblance est un score logarithmique ; le score de vraisemblance comportant de préférence le terme logarithmique suivant : l°g [PH (i (*))]. où H représente un espace des vecteurs latents, également appelé espace latent,
PH représente une fonction de distribution probabiliste de l’espace latent H, k est un indice entier représentant chaque composant, k étant typiquement compris entre 1 et P, avec P représentant le nombre de composants, P ³ 2,
Fk est une fonction inversible, ou bijective, reliant un vecteur latent hk à l’ensemble x de donnée(s) : hk = Fk(x ) ;
- le score de vraisemblance évalué est incohérent pour le composant associé à la tâche attribuée si l’écart entre le score de vraisemblance évalué et un score de vraisemblance moyen pour ledit composant est supérieur à un seuil ; ledit seuil étant de préférence une valeur prédéfinie pour chaque composant, ou encore un pourcentage d’une valeur moyenne observée pour chaque composant ; une méthode dite de détection hors-distribution (de l’anglais out-of-distribution détection) est appliquée en variante aux scores de vraisemblance évalués pour la détection d’échantillon(s) inconnu(s) ;
- le module de détermination est configuré en outre pour transmettre les vecteurs latents à un autre dispositif électronique de traitement de données, tel qu’un classificateur k-NN ou un autre réseau de neurones ;
- le module d’acquisition est configuré en outre pour effectuer une normalisation de l’ensemble de donnée(s) et/ou un enrichissement de l’ensemble de donnée(s), par exemple via une ou plusieurs rotations d’angle aléatoire.
L’invention a également pour objet un système électronique de détection d’objet(s), le système comprenant un capteur, tel qu’un capteur d’image(s), un capteur sonore ou encore un capteur de détection d’objets, et un dispositif électronique de traitement de donnée(s) relié au capteur, le dispositif électronique de traitement étant tel que défini ci- dessus, et chaque donnée à traiter est un objet détecté dans une image.
L’invention a aussi pour objet un procédé de traitement de données, mis en œuvre par un dispositif électronique de traitement et comprenant les étapes suivantes :
- acquérir un ensemble de donnée(s) à traiter ;
- calculer, via la mise en œuvre d’un réseau de neurones inversible pour chaque composant d’une pluralité de composants, un vecteur dans un espace latent, dit vecteur latent, pour chaque composant et à partir de l’ensemble de donnée(s), chaque composant étant associé à une tâche respective ;
- déterminer une tâche pour chaque donnée, en :
+ évaluant, pour chaque composant, un score de vraisemblance à partir du vecteur latent correspondant ; et
+ attribuant, à ladite donnée, la tâche associée au composant avec le score de vraisemblance le plus élevé parmi la pluralité de scores évalués ; et
+ si le score de vraisemblance évalué est incohérent pour le composant associé à la tâche attribuée, modifiant la tâche attribuée en tâche inconnue.
L’invention a également pour objet un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un procédé de traitement, tel que défini ci-dessus.
Ces caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels : - la figure 1 est une représentation schématique d’un système électronique de détection d’objets selon l’invention, comprenant un capteur et un dispositif électronique de traitement de données, relié au capteur ;
- la figure 2 est une représentation schématique plus détaillée du dispositif électronique de traitement de la figure 1 , comportant notamment un module de calcul incluant une pluralité de composants, chacun étant associé à une tâche respective et configuré pour mettre en œuvre un réseau de neurones inversible pour calculer un vecteur dans un espace latent à partir d’un ensemble de donnée(s) à traiter, selon un premier mode de réalisation ;
- la figure 3 est une représentation schématique d’un exemple d’implémentation des réseaux de neurones inversibles des composants du module de calcul de la figure 2, ces réseaux de neurones inversible étant en outre optionnellement connectés au réseau de neurones inversibles d’un module d’extraction de caractéristiques inclus dans le dispositif électronique de traitement des figures 1 et 2, en complément du module de calcul ;
- la figure 4 est une vue analogue à celle de la figure 2, selon un deuxième mode de réalisation de l’invention, dans lequel le dispositif électronique de traitement comprend en outre un module de réentrainement configuré pour fournir à partir d’un vecteur latent, au moins un exemple artificiel et son identifiant, au(x) composant(s) du module de calcul associé(s) au même identifiant que celui de l’exemple artificiel, ledit ou lesdits composants étant à entraîner à nouveau, et le module de réentrainement comportant une copie de chaque composant à entraîner à nouveau ; et
- la figure 5 est un organigramme d’un procédé de traitement de données selon l’invention, le procédé étant mis en œuvre par le dispositif électronique de traitement de la figure 1.
Dans la présente description, sauf indication contraire, lorsqu’il est fait référence à deux éléments connectés entre eux, cela signifie qu’ils sont connectés directement entre eux, sans élément intermédiaire entre eux autre que des conducteurs de liaison ; et lorsqu’il est fait référence à deux éléments couplés ou reliés entre eux, cela signifie que ces deux éléments sont soit connectés entre eux, ou bien couplés ou reliés entre eux par l’intermédiaire d’un ou plusieurs autres éléments.
Dans la présente description, sauf autre précision, les expressions « sensiblement », « environ », « approximativement » et « de l’ordre de » définissent une relation d’égalité à plus ou moins 10%, de préférence à plus ou moins 5%.
On entend par tâche, ou encore classe, un regroupement de données semblables, ou de même type, et à chaque tâche (de l’anglais task) est associé un identifiant, ou label, de tâche (de l’anglais task label). Les termes « tâche » et « classe » sont considérés comme synonymes au sens de la présente invention.
On entend par objet une réalisation concrète d’une classe ou tâche, par exemple un objet physique, une personne, et plus généralement un élément présent dans une scène captée par un capteur, notamment du type décrit ci-après. La scène est alors typiquement représentée sous forme d’images ou de vidéos dans le cas d’un capteur d’image(s) ou d’un capteur infrarouge, sous forme sonore dans le cas d’un capteur sonore, ou encore sous forme de nuage(s) de points dans le cas d’un capteur lidar ou radar.
Sur la figure 1 , un système électronique de détection 10 est configuré pour détecter un ou plusieurs objets, non représentés, et comprend un capteur 12 et un dispositif électronique de traitement 14, relié au capteur 12.
Le système électronique de détection 10 forme par exemple un détecteur de visages apte à reconnaître les visages de personnes préalablement identifiées et/ou à détecter des visages de personnes inconnues, c’est-à-dire des visages de personnes qui n’ont pas été préalablement identifiées. Le dispositif électronique de traitement 14 permet alors d’apprendre les identités des personnes détectées, et aussi d’identifier des personnes inconnues.
Le capteur 12 est connu en soi, et est par exemple un capteur d’image(s) configuré pour prendre une ou plusieurs images d’une scène, et les transmettre au dispositif électronique de traitement 14.
En variante, le capteur 12 est un capteur sonore, un capteur de détection d’objets, tel qu’un capteur lidar, un capteur radar, un capteur infrarouge, un capteur de proximité capacitif, un capteur de proximité inductif, un capteur de proximité à effet Hall ou encore un capteur de présence, configuré pour acquérir un signal caractéristique en fonction de la présence ou de l’absence d’objet(s), puis pour le transmettre au dispositif électronique de traitement 14.
Le dispositif électronique de traitement 14 est configuré pour traiter un ensemble de donnée(s), l’ensemble de donnée(s) correspondant typiquement à un ou plusieurs signaux captés par le capteur 12. Le dispositif électronique de traitement 14 est alors typiquement configuré pour interpréter une scène captée par le capteur 12, c’est-à-dire pour identifier et/ou pour reconnaître un type d’un ou plusieurs éléments - tels que personnes ou objets physiques - présents dans la scène captée et correspondants au signal ou aux signaux captés par la capteur 12.
Le dispositif électronique de traitement 14 comprend un module 16 d’acquisition de l’ensemble de donnée(s) à traiter ; un modul de calcul 18 incluant une pluralité de composants 20, visibles sur les figures 2 à 4, chacun associé à une tâche respective, chaque composant 20 étant apte à calculer un vecteur dans un espace latent H, dit vecteur latent hk, à partir de l’ensemble de donnée(s) ; et un module 22 de déterminration d’une tâche pour chaque donnée, à partir du vecteur latent hk calculé.
En complément facultatif, le dispositif électronique de traitement 14 comprend en outre un module de rétroaction 24 configuré pour stocker dans une mémoire tampon 26, visible sur la figure 2, chaque donnée de tâche inconnue et pour déclencher le cas échéant la création d’une nouvelle tâche.
En complément facultatif encore, le dispositif électronique de traitement 14 comprend en outre un module 28 d’extration de caractéristiques (de l’anglais features extractor), connecté entre le module d’acquisition 16 et le module de calcul 18, le module d’extraction 28 étant apte à extraire une ou plusieurs caractéristiques communes à plusieurs tâches afin de transformer l’ensemble de donnée(s) en une représentation simplifiée.
En complément facultatif encore, et comme cela sera décrit plus en détail par la suite en regard du mode de réalisation de la figure 4, le dispositif électronique de traitement 14 comprend en outre un module de réentrainement 30 configuré pour générer, à partir d’un vecteur de nombre(s) aléatoire(s) ou pseudo-aléatoire(s) correspondant à la distribution dans l’espace latent d’un des composants, au moins un exemple artificiel de donnée(s) et son identifiant, et les fournir ensuite au(x) composant(s) 20 associé(s) au même identifiant, ledit ou lesdits composants 20 étant à entraîner à nouveau, le module de réentrainement 30 comportant une copie de chaque composant 20 à entraîner à nouveau.
Dans l’exemple de la figure 1, le dispositif électronique de traitement 14 comprend une unité de traitement d’informations 40 formée par exemple d’une mémoire 42 et d’un processeur 44 associé à la mémoire 42.
Dans l’exemple de la figure 1 , le module d’acquisition 16, le module de calcul 18 et le module de détermination 22, ainsi qu’en complément facultatif le module de rétroaction 24, le module d’extraction 28 et/ou le module de réentrainement 30, sont réalisés chacun sous forme d’un logiciel, ou d’une brique logicielle, exécutable par le processeur 44. La mémoire 42 du dispositif électronique de traitement 14 est alors apte à stocker un logiciel d’acquisition de l’ensemble de donnée(s) à traiter, un logiciel de calcul du vecteur latent pour chaque composant à partir de l’ensemble de donnée(s) et un logiciel de détermination d’une tâche pour chaque donnée à partir des vecteurs latents calculés. En complément facultatif, la mémoire 42 du dispositif électronique de traitement 14 est apte à stocker un logiciel de rétroaction apte à stocker dans la mémoire tampon 26 chaque donnée de tâche inconnue et à déclencher le cas échéant la création d’une nouvelle tâche, un logiciel d’extaction de caractéristiques communes à plusieurs tâches afin de convertir l’ensemble de donnée(s) en une représentation simplifiée, et un logiciel de réentrainement apte à fournir, à partir d’un vecteur aléatoire ou pseudo-aléatoire correspondant à la distribution de l’espace latent d’un des composants, au moins un exemple artificiel de donnée(s) et son identifiant, ceci au(x) composant(s) de même identifiant que celui de l’exemple artificiel généré. Le processeur 44 est alors apte à exécuter chacun des logiciels parmi le logiciel d’acquisition, le logiciel de calcul et le logiciel de détermination, ainsi qu’en complément facultatif le logiciel de rétroaction, le logiciel d’extraction et/ou le logiciel de réentrainement.
En variante, non représentée, le module d’acquisition 16, le module de calcul 18 et le module de détermination 22, ainsi qu’en complément facultatif le module de rétroaction 24, le module d’extraction 28 et/ou le module de réentrainement 30, sont réalisés chacun sous forme d’un composant logique programmable, tel qu’un FPGA (de l’anglais Field Programmable GateArraÿ), ou encore sous forme d’un circuit intégré dédié, tel qu’un ASIC (de l’anglais Application Spécifie Integrated Circuit).
Lorsque le dispositif électronique de traitement 14 est réalisé sous forme d’un ou plusieurs logiciels, c’est-à-dire sous forme d’un programme d’ordinateur, il est en outre apte à être enregistré sur un support, non représenté, lisible par ordinateur. Le support lisible par ordinateur est par exemple un médium apte à mémoriser des instructions électroniques et à être couplé à un bus d’un système informatique. A titre d’exemple, le support lisible est un disque optique, un disque magnéto-optique, une mémoire ROM, une mémoire RAM, tout type de mémoire non volatile (par exemple EPROM, EEPROM, FLASH, NVRAM), une carte magnétique ou une carte optique. Sur le support lisible est alors mémorisé un programme d’ordinateur comprenant des instructions logicielles.
Le module d’acquisition 16 est configuré pour acquérir l’ensemble de donnée(s) à traiter. Dans la suite de la description, l’espace des données auquel appartient cet ensemble de donnée(s) est noté X, et chaque ensemble de donnée(s) acquis est noté x, et est par exemple en forme d’un vecteur comportant la ou les données d’entrée, également appelé vecteur d’entrée x.
En complément, le module d’acquisition 16 est également configuré pour effectuer un prétraitement des données acquises, tel qu’une normalisation des données acquises. En variante ou en complément encore, le module d’acquisition 16 est configuré en outre pour effectuer un enrichissement des données acquises, par exemple en appliquant une ou plusieurs rotations d’angle aléatoire aux données acquises afin de générer des données supplémentaires.
Le module de calcul 18 inclut la pluralité de composants 20, chacun étant associé à une unique tâche respective. Selon l’invention, chaque composant 20 est configuré pour mettre en œuvre un réseau de neurones inversible pour calculer à partir de l’ensemble de donnée(s), tel qu’à partir du vecteur d’entrée x, un vecteur dans l’espace latent H, également appelé vecteur latent hk.
Dans l’exemple de la figure 2, le nombre de composants 20 est égal à P, et chaque composant 20 est également alors noté Ck, où k est un indice entier de valeur comprise entre 1 et P. Chaque composant Ck est alors configuré pour calculer le vecteur latent hk exposant k, comme représenté sur la figure 2 où les vecteurs latents h1, h2, ... hp sont alors calculés par le module de calcul 18 pour chaque vecteur d’entrée x, et plus particulièrement par les composants respectifs Ci, C2, ... , Cp.
Chaque réseau de neurones inversible est configuré pour apprendre une fonction bijective entre l’espace des données d’entrée X et l’espace latent H, et l’espace latent H est alors contraint d’être distribué selon une fonction de distribution probabiliste de dimension égale à celle de l’espace d’entrée X. La fonction de distribution probabiliste selon laquelle est distribué l’espace latent H est par exemple une Gaussienne multidimensionnelle, de même que celle selon laquelle est distribué l’espace d’entrée X.
Chaque réseau de neurones inversibles comporte un ou plusieurs blocs inversibles 32 (de l’anglais coupling layer), où chaque bloc inversible 32 représente une transformée bijective entre son entrée et sa sortie. Dans l’exemple de la figure 3, chaque composant 20 du module de calcul 18 comporte un bloc inversible avec quatre dimensions d’entrée/sortie, et la transformée bijective associée au bloc inversible 32 du composant Ci est par exemple la fonction g, et les équations suivantes sont par exemple vérifiées dans l’exemple de ce bloc inversible du composant Ci : y = g(x ) (1 ) yi = #i0¾) + *1 (2)
*2 = y2 - flf2(yi) (5)
*1 = yi - s,i0¾) (6)
Dans l’exemple de la figure 3, chaque réseau de neurones inversible d’un composant 20 comporte en outre une couche 34 d’adaptation d’échelle, et les paramètres de cette couche d’adaptation 34 sont également entrainables.
L’homme du métier notera bien entendu que le réseau de neurones inversible d’un composant 20 est susceptible de comporter plusieurs blocs inversibles 32, où les blocs inversibles 32 sont alors connectés les uns à la suite des autres, afin de toujours préserver la même dimension d’espace entre l’entrée et la sortie, comme illustré sur la figure 3 pour les blocs inversibles 32 du réseau de neurones inversible inclus dans le module d’extraction 28. La figure 3 illustre également la connexion de plusieurs réseaux de neurones inversibles à un réseau de neurones inversible commun, lorsque le module d’extraction 28 comporte un ou plusieurs réseaux de neurones inversibles connectés les uns à la suite des autres, le dernier réseau inversible de cette succession étant alors connecté à chacun des réseaux de neurones inversibles associés aux composants 20 agencés en parallèle. En particulier, pour chaque dimension, le nœud de sortie du dernier réseau inversible commun est connecté au nœud d’entrée de la même dimension de chacun des réseaux de neurones inversibles en entrée des composants 20, comme représenté sur la figure 3.
Sur la figure 3, le ou les réseaux de neurones inversibles communs (représentés sur la partie gauche de la figure) jouent alors le rôle d’extracteur de caractéristique(s) commune(s) à la pluralité de tâches pour tous les réseaux de neurones inversibles des composants 20 (représentés sur la partie droite de la figure), qui sont agencés en parallèle les uns des autres et spécifiques à chaque tâche.
Le module de détermination 22 est configuré pour déterminer une tâche pour chaque donnée en évaluant, pour chaque composant 20, noté Ck, un score de vraisemblance à partir du vecteur latent hk correspondant ; et en attribuant, à ladite donnée, la tâche d’identifiant k associée au composant 20 avec le score de vraisemblance le plus élevé parmi la pluralité de scores de vraisemblance évalués ; et si le score de vraisemblance évalué est incohérent pour le composant 20 associé à la tâche attribuée, en modifiant la tâche attribuée en tâche inconnue.
Chaque score de vraisemblance évalué par le module de détermination 22 est par exemple un score logarithmique et chaque score de vraisemblance comporte alors de préférence le terme logarithmique suivant (7) où PH représente une fonction de distribution probabiliste de l’espace latent H, k est un indice entier représentant chaque composant, k étant typiquement compris entre 1 et P, avec P représentant le nombre de composants, P ³ 2,
Fk est une fonction inversible, ou bijective, reliant un vecteur latent hk au vecteur donnée x : hk = Fk(x ) ;
Chaque fonction de distribution probabiliste de l’espace latent H vérifie par exemple l’équation suivante :
PHW = Yld PHd(hd) (8) où d représente le nombre de dimensions de l’espace d’entrée X et de l’espace latent H qui est identique pour les deux espaces, du fait de l’utilisation de réseaux de neurones inversibles. L’homme du métier observera alors que dans l’équation (8) les composants hd sont indépendants les uns des autres, de sorte que l’espace latent H se factorise.
En outre, étant donné que la fonction F est inversible, la fonction de distribution probabiliste de l’espace d’entrée X vérifie l’équation suivante : dFk(x ) det dx (9) dFk(x ) où le terme det dx représente le déterminant Jacobien de la fonction de transformation Fk(x)
Lorsque la fonction de distribution probabiliste de l’espace d’entrée X vérifie l’équation (9) précédente, le score de vraisemblance logarithmique s’écrit typiquement sous la forme suivante : l°gp (x) = log p (ffe(x)) + log |det^^ (10)
Le score de vraisemblance logarithmique selon l’équation (10) comporte alors le terme logarithmique de l’équation (7) précédente.
Le réseau de neurones inversible de chaque composant 20 comporte des paramètres Q, les paramètres de chaque composant Ck étant alors notés 0k, et lesdits paramètres sont optimisés de préférence via une méthode de vraisemblance maximale.
L’apprentissage du ou des réseaux de neurones inversibles de chaque composant est alors de préférence effectué via un algorithme de rétro-propagation pour le calcul du gradient de chaque paramètre Q.
L’apprentissage de chaque réseau est de préférence encore continu, et notamment effectué après chaque traitement de données.
Les paramètres optimisés 9 du ou des réseaux de neurones inversibles de chaque composant Ck vérifient alors par exemple l’équation suivante :
L’homme du métier observera alors que l’estimation de vraisemblance maximale est effectuée indépendamment, c’est-à-dire séparément, pour chaque composant Ck, i.e. indépendamment pour chaque valeur de l’indice k.
Le module de détermination 22 est alors configuré pour déterminer la tâche pour chaque donnée, en attribuant à ladite donnée la tâche d’indice k qui est associée au composant avec le score de vraisemblance le plus élevé parmi la pluralité de scores évalués, et l’identifiant, ou label, de ladite tâche vérifie alors typiquement l’équation suivante :
En variante, l’identifiant de ladite tâche est déterminé selon l’équation suivante : L’homme du métier remarquera alors que la détermination dudit identifiant selon l’équation (13) précédente utilise un score de vraisemblance logarithmique simplifié basé seulement sur le terme latent du score de vraisemblance, c’est-à-dire sur le terme logp^(Ffe(x)), et ne prenant pas en compte le terme correspondant au logarithme du dFk(x ) déterminant Jacobien de la fonction de transformation, c’est-à-dire le terme log |det dx
Les inventeurs ont en effet observé que l’utilisation du seul terme latent logp# (Ffe(x)) permet d’obtenir de meilleurs résultats lorsque la détermination de tâches est utilisée pour de la classification de données et/ou pour de la détection de frontières de classes, alors que l’utilisation du score de vraisemblance logarithmique complet selon l’équation (12) précédente est préférable pour l’optimisation de chaque réseau de neurones inversibles. Ils estiment que ceci est probablement dû au fait que le terme du score de vraisemblance logarithmique correspondant au logarithme du déterminant Jacobien, c’est-à-dire le terme dFk(x) log | det , est susceptible de contracter, ou au contraire de détendre, le volume de dx l’espace latent, ce qui est alors susceptible de conduire à des différences assez sensibles de scores de vraisemblance d’une tâche à l’autre. Si ce terme log |det^^| est ignoré, le volume de l’espace latent H de chaque composant Ck est alors équivalent à celui de l’espace d’entrée X, ce qui permet une meilleure liaison entre les différents composants Ck. Toutefois, la qualité d’exemple(s) artificiel(s) généré(s) en utilisant une propagation inverse de vecteur(s) aléatoire(s) ou pseudo-aléatoire(s), ainsi que cela sera décrit plus en détail par la suite, est bien meilleure, notamment moins bruitée, lorsque la propagation inverse est effectuée depuis l’espace latent H vers l’espace d’entrée X à travers des couches des réseaux de neurones inverses qui ont été entraînés et optimisés en utilisant le score de vraisemblance complet selon l’équation (10), c’est-à-dire en déterminant l’identifiant de chaque tâche selon l’équation (12) lors de cette phase d’optimisation.
La fonction PH de distribution probabiliste de l’espace latent H est généralement une fonction de distribution normale standard factorisée, telle que la fonction de distribution vérifiant par exemple l’équation suivante : où ma, et respectivement s , représentent la moyenne, et respectivement l’écart type, de la fonction de distribution probabiliste de dimension d, telle que la Gaussienne multidimensionnelle.
Le module de détermination 22 est configuré pour déterminer que le score de vraisemblance évalué est incohérent pour le composant 20 associé à la tâche attribuée si l’écart entre le score de vraisemblance évalué et un score de vraisemblance moyen pour ledit composant 20 est supérieur à un seuil. Ce seuil est par exemple une valeur prédéfinie pour chaque composant 20, ou encore un pourcentage d’une valeur moyenne observée pour chaque composant 20.
En variante, le module de détermination 22 est configuré pour détecter que le score de vraisemblance évalué est incohérent, et que la tâche attribuée doit alors être modifiée en tâche inconnue en appliquant une méthode dite de détection hors-distribution, également notée OOD (de l’anglais Out-Of-Distribution), au score de vraisemblance évalué.
En complément facultatif, le module de détermination 22 est configuré en outre pour transmettre les vecteurs latents hk calculés à un autre dispositif électronique de traitement de données, tel qu’un classificateur k-NN (de l’anglais K-Nearest Neighbours), c’est-à-dire un classificateur (de l’anglais c/ass/7/er) mettant en œuvre l’algorithme des k plus proches voisins, ou un autre algorithme de l’apprentissage automatique, tel qu’un ou des réseaux de neurones artificiels.
En complément, le module de détermination 22 est configuré en outre pour générer un vecteur de nombre(s) aléatoire(s) ou pseudo-aléatoire(s) correspondant à la distribution de l’espace latent H d’un des composants 20, puis pour propager ledit vecteur aléatoire ou pseudo-aléatoire de manière inverse via le réseau de neurones inversibles correspondant, c’est-à-dire via le réseau de neurones inversibles du composant correspondant à la distribution de l’espace latent prise en compte, afin de créer un exemple artificiel 52 de donnée(s), un identifiant de tâche associée à cet exemple artificiel 52 étant alors l’identifiant dudit composant via lequel a été effectuée la propagation inverse.
Dans l’exemple de la figure 2, la création de l’exemple artificiel 52 est illustrée pour le composant C5, et la propagation inverse du vecteur aléatoire ou pseudo-aléatoire est représentée par le vecteur aléatoire hs 5 généré par le module de détermination 22 à destination du composant C5, puis propagé de manière inverse en direction de l’espace d’entrée X, comme représenté par les flèches G1, G2 et G3.
Selon ce complément, le vecteur aléatoire ou pseudo-aléatoire, c’est-à-dire le vecteur hs 5dans l’exemple de la figure 2, ou encore le vecteur hs 2 dans l’exemple de la figure 4, est propagé de manière inverse vers le module de calcul 18 comme dans l’exemple de la figure 2, ou encore vers le module de réentraînement 30 distinct du module de calcul 20 comme dans l’exemple de la figure 4.
Le vecteur aléatoire hs k vérifie alors l’équation suivante : hs ~ PH (15) et l’exemple artificiel 52 ainsi créé via cette propagation inverse, également noté xs(k) vérifie alors l’équation suivante : xs(k) = F-1k(hs k, ek*) (16)
Selon ce complément, le dispositif électronique de traitement 14 permet alors, en d’autres termes, de générer des échantillons xs de la distribution apprise rc(c,q*) en effectuant un tirage d’un échantillon au sort à partir de la fonction de distribution de l’espace latent, et en transférant cet échantillon aléatoire vers l’espace d’entrée par propagation inverse, c’est-à-dire en appliquant la fonction inverse F 1, à l’échantillon aléatoire de la fonction de distribution de l’espace latent H. Les équations (15) et (16) précédentes correspondent au cas où la fonction de distribution de l’espace latent est une équation standard factorisée. L’homme du métier observera en outre que la complexité de calculs associés à la génération d’un tel échantillon est alors équivalente à celle mise en œuvre pour optimiser les paramètres des réseaux de neurones des composants 20 du module de calcul 18 via la méthode de vraisemblance maximale, dans le sens de l’inférence, c’est-à- dire depuis l’espace d’entrée X vers l’espace latent H.
Le module de rétroaction 24 est configuré pour stocker dans la mémoire tampon 26 chaque donnée de tâche inconnue, c’est-à-dire chaque donnée de tâche dont le score de vraisemblance évalué est incohérent, et pour déclencher la création d’une nouvelle tâche le cas échéant.
Le module de rétroaction 24 est par exemple configuré pour déclencher la création d’une nouvelle tâche si le nombre de données stockées dans la mémoire tampon 26 est supérieur à un nombre prédéfini. Le module de calcul 18 est alors configuré pour inclure un nouveau composant 20 associé à la nouvelle tâche créée par le module de rétroaction 24, comme représenté par la flèche R1 dans les exemples des figures 2 et 4, et l’apprentissage du nouveau composant 20 est alors effectué à partir desdites données stockées dans la mémoire tampon 26.
En complément facultatif, le module d’extraction 28, connecté entre le module d’acquisition 16 et le module de calcul 18, est configuré pour mettre en œuvre au moins un réseau de neurones pour convertir l’ensemble de donnée(s), tels que le vecteur de données X acquis, en une représentation simplifiée, en extrayant alors une ou plusieurs caractéristiques communes à la pluralité de tâches. Chaque réseau de neurones du module d’extraction 28 est de préférence un réseau de neurones inversibles.
Dans l’exemple des figures 2 et 4, le module d’extraction 28 est avantageusement constitué d’un premier extracteur 60 configuré pour mettre en œuvre un réseau de neurones avec des poids figés suite à l’apprentissage dudit réseau et d’un deuxième extracteur 62 configuré pour mettre en œuvre un réseau de neurones avec des poids entraînables via un apprentissage continu, tel qu’un apprentissage effectué après chaque traitement de données, notamment via un algorithme de propagation inverse lorsque les premier et deuxième extracteurs 60, 62 comportent chacun des réseaux de neurones inversibles.
L’homme du métier comprendra alors que l’architecture du dispositif électronique de traitement 14 selon ce complément facultatif est particulière en ce qu’elle comporte deux parties, à savoir une partie agnostique aux tâches correspondant au module d’extraction 28, et en particulier au premier extracteur de caractéristiques 60 et au deuxième extracteur de caractéristiques 62, et une partie spécifique aux tâches comportant plusieurs blocs inversibles indépendants, à savoir les composants 20, qui sont tous connectés en parallèle à la partie agnostique aux tâches. Cette architecture en deux parties avec une partie agnostique et une partie spécifique permet alors d’offrir un meilleur apprentissage en continu.
En particulier, la partie spécifique aux tâches, c’est-à-dire le module de calcul 18 comportant les composants 20 indépendants les uns des autres, correspond à des composants de niveau élevé de la distribution à modéliser, et étant donné que leur poids sont indépendants, ils ne sont pas sujets au phénomène de l’oubli catastrophique. La partie agnostique aux tâches permet quant à elle de jouer le rôle d’extracteur de caractéristiques communes à tous les composants 20, mais est toutefois sujette au phénomène d’oubli catastrophique si les tâches sont apprises d’une manière séquentielle. La partie agnostique aux tâches permet toutefois d’utiliser beaucoup moins de paramètres, étant donné que les caractéristiques agnostiques aux tâches sont utilisables simultanément par tous les composants 20 qui sont spécifiques aux tâches. En outre, si les caractéristiques bas niveau de toutes les tâches sont similaires, ce qui est généralement le cas si l’apprentissage est effectué sur un ensemble de données spécifiques, chaque tâche additionnelle est alors apprise plus rapidement et avec un plus faible nombre d’exemples, en étant basée sur les caractéristiques agnostiques aux tâches déjà existantes.
Dans l’exemple des figures 2 et 4, les caractéristiques communes à la pluralité de tâches sont symbolisées par les fonctions fo à ÎN-I pour le premier extracteur 60, puis par les fonctions fn à †M-I pour le deuxième extracteur 62, et les caractéristiques spécifiques à chaque tâche sont ensuite symbolisées par les fonctions fM k fwi+A à fi_k où k représente l’identifiant de la tâche.
L’homme du métier comprendra alors que le premier extracteur 60 est configuré pour mettre en œuvre une composée des fonctions fo à †N-I dans le sens de l’inférence ou de l’apprentissage, c’est-à-dire depuis l’espace de données X vers l’espace latent H, comme représenté par les flèches IL1 , IL2 et IL3, et inversement pour mettre en œuvre la composée de fonction f0 1 à fn 1 dans le sens inverse, par exemple pour la génération d’exemples artificiels 52 depuis l’espace latent H vers l’espace de données X, comme représenté par les flèches G1 à G3.
De manière analogue, le deuxième extracteur 62 est configuré pour mettre en œuvre une composée des fonctions †N à †M-I dans le sens de l’inférence ou de l’apprentissage depuis l’espace de données X vers l’espace latent H, et inversement pour mettre en œuvre une composée des fonctions inverses ÎN 1 à †M 1 dans le sens de la génération d’exemples artificiels depuis l’espace latent H vers l’espace de données X.
De manière analogue encore, chaque composant Ck est configuré pour mettre en œuvre une composée des fonctions spécifiques fM k àfi_k dans le sens de l’inférence et de l’apprentissage depuis l’espace de données X vers l’espace latent H, et inversement seul le composant associé au vecteur aléatoire généré, tel que le composant C5 dans l’exemple de la figure 2 ou encore le composant C2 dans l’exemple de la figure 4, est configuré pour mettre en œuvre dans le sens inverse une composée fonction inverse, telle que la composée des fonctions inverses (fM 5) 1 à (fi_5) 1 dans l’exemple de la figure 2, ou encore telle que la composée des fonctions inverses (fM 2) 1 à (fi_2) 1 dans l’exemple de la figure 4.
L’homme du métier comprendra alors que chaque vecteur latent hk vérifie l’équation suivante dans ces exemples des figures 2 et 4 :
De manière analogue, chaque exemple artificiel x généré en utilisant le composant Ck en inverse vérifie l’équation suivante : avec la convention de notation suivante : (/ ) 1 = fe
L’homme du métier comprendra en outre que, dans l’équation (17), la composée des fonctions fo à †M-I correspond à la partie agnostique aux tâches, c’est-à-dire au module d’extraction 28 optionnel, et la composée des fonctions fM k à fi_k correspond à la partie spécifique aux tâches, en l’occurrence à la partie spécifique à la tâche d’identifiant k, c’est- à-dire au composant Ck.
De manière analogue, dans l’équation (18), la composée des fonctions inverses fo 1 à †M 1 correspond à la partie agnostique aux tâches, c’est-à-dire au module d’extraction 28 optionnel, et la composée des fonctions inverses (fM k) 1 à (fi_k) 1 correspond à la partie spécifique aux tâches, en particulier à la mise en œuvre inverse du composant Ck.
Lorsqu’en complément facultatif, le dispositif électronique de traitement 14 comprend en outre le module d’extraction 28 connecté entre le module d’acquisition 16 et le module de calcul 18, en particulier comporte en outre le deuxième extracteur 62, le module de rétroaction 24 est configuré pour transmettre les nouvelles données stockées dans la mémoire tampon 26 à la fois au module de calcul 18 pour l’inclusion d’un nouveau composant 20 associé à la nouvelle tâche selon la flèche R1 ; et également au module d’extraction 28, en particulier au deuxième extracteur 62 dont le ou les réseaux de neurones comportent des poids entraînables, le deuxième extracteur 62 étant alors également entraîné avec ces données issues du module de rétroaction 24, comme représenté par la flèche R2.
Le dispositif électronique de traitement 14 selon l’invention offre alors différentes applications. Une première application est la classification de données, et la tâche ou classe, prédite pour chaque donnée à traiter est alors déterminée en recherchant le composant 20 présentant le score de vraisemblance le plus élevé parmi la pluralité de scores évalués pour les différents composants 20, la tâche déterminée étant alors celle associée au composant présentant le score de vraisemblance le plus élevé. Le label t de la tâche déterminée vérifie alors par exemple l’équation (12), ou encore de préférence l’équation (13) qui ne prend pas en compte le terme de volume, i.e. qui ne prend pas en compte le logarithme du déterminant Jacobien, et fournit alors de meilleurs résultats.
L’homme du métier observera que plusieurs identifiants k de composants peuvent être assignés à un même label, ou identifiant, de tâche t.
Une deuxième application du dispositif électronique de traitement 14 selon l’invention est la labellisation de composants, ou encore l’identification de composants, une telle labellisation étant par exemple obtenue via un apprentissage supervisé, ce qui signifie alors que le label de tâches t est fourni avec la donnée x, et le module de calcul 18 comporte alors un unique composant 20 pour chaque tâche.
En variante, cette labellisation de composants est effectuée de manière non supervisée, et le dispositif de traitement 14 est alors configuré pour effectuer un apprentissage non-supervisé de tâches, chaque composant 20 du module de calcul 18 étant alors configuré pour calculer un vecteur dans l’espace latent H pour chaque nouvelle donnée, l’espace latent H comportant alors des vecteurs latents hk pour cette nouvelle donnée, et un identifiant du composant 20 étant en outre associé à chaque vecteur latent hk calculé.
Pour cet apprentissage non-supervisé, selon une première alternative, le module de détermination 22 est par exemple configuré en outre pour modifier les identifiants de composant 20 à partir d’un lot d’exemples identifiés, un identifiant respectif étant associé à chaque exemple ; ceci en attribuant pour chaque exemple son identifiant au composant 20 présentant le score de vraisemblance le plus élevé, le ou les composants n’ayant aucun identifiant attribué après prise en compte de tous les exemples du lot étant alors ignoré(s). Selon cette variante, en apprentissage non-supervisé, plusieurs composants 20 du module de calcul 18 sont susceptibles de représenter une même tâche.
Pour cet apprentissage non-supervisé, selon une deuxième alternative correspondant à une labellisation autonome, les labels de tâches sont déjà assignés durant l’apprentissage en utilisant un processus de labellisation continu. Selon cette deuxième alternative, chaque fois que le dispositif de traitement 14 détecte une nouvelle tâche, le label de tâche courant est alors incrémenté, et tous les exemples subséquents sont traités comme correspondant à ce label jusqu’à ce qu’une nouvelle tâche soit détectée par le dispositif de traitement 14, en particulier par le module de détermination 22. Lorsqu’un nouveau composant est ajouté au module de calcul 18, suite à la détection d’une nouvelle tâche, ce composant est alors assigné avec le label de la nouvelle tâche. L’homme du métier observera que la labellisation selon cette deuxième alternative d’apprentissage non-supervisé est alors basée sur l’interprétation du dispositif de traitement 14, et en particulier de ses réseaux de neurones, et les tâches ainsi identifiées ne correspondent alors pas nécessairement à des tâches réelles de l’environnement.
Une troisième application du dispositif électronique de traitement 14 est la détection de données hors-distribution pour la classification et/ou pour la détection de frontières de tâches. Cette troisième application correspond de préférence à un apprentissage non- supervisé sans label de tâche préalablement assigné. L’homme du métier notera toutefois que la détection de tâche(s) ou classe(s) inconnue(s) permet aussi, lorsque le dispositif de traitement 14, et en particulier ses réseaux de neurones, sont en mode d’inférence pure, et qu’aucun nouveau composant n’est ajouté, de calculer une estimation d’une certitude de réponse du ou des réseaux de neurones. La détection de tâche(s) inconnue(s) selon cette troisième application est alors effectuée, comme décrit précédemment, en détectant qu’un score de vraisemblance évalué par le module de détermination 22 est incohérent pour le composant 20 associé à la tâche attribuée, une telle incohérence correspondant typiquement à un écart entre le score de vraisemblance évalué et le score de vraisemblance moyen pour ledit composant supérieur à un seuil. L’homme du métier comprendra alors que cette application de détection de tâche(s) inconnue(s) est susceptible d’être mise en œuvre seulement après la mise en œuvre d’une phase de mise en route lors de laquelle un certain nombre d’itérations est effectué pour chaque composant 20, ceci jusqu’à ce qu’il converge vers la distribution d’une tâche respective, et lors de cette phase de mise en route aucune tâche inconnue n’est susceptible d’être détectée.
Le seuil utilisé pour détecter de nouvelle(s) tâche(s), via une incohérence du score de vraisemblance évalué, est par exemple une valeur prédéfinie pour chaque composant ou encore un pourcentage d’une valeur moyenne observée pour chaque composant. Dans ce dernier cas, le score de vraisemblance évalué est alors considéré comme incohérent à partir du moment où il dévie dudit pourcentage par rapport au score de vraisemblance moyen observé pour ledit composant.
Selon cette troisième application, les échantillons qui sont considérés comme inconnus sont alors ajoutés dans la mémoire tampon 36, et lorsque le nombre d’échantillons inconnus est supérieur au nombre prédéfini précité, le module de détermination 22 considère que la tâche a changé, et un apprentissage est alors effectué pour la nouvelle tâche, comme représenté par les flèches R1 , R2 et décrit précédemment.
En complément encore, le module de rétroaction 24 est configuré pour effacer régulièrement la mémoire tampon 26, par exemple si après un petit nombre d’échantillons inconnus est rencontré à nouveau un grand nombre d’exemples connus, c’est-à-dire associés à des tâches déjà connues. Un tel effacement régulier de la mémoire tampon 26 par le module de rétroaction 24 permet alors d’éviter l’ajout d’une nouvelle tâche qui serait basée sur des exemples inconnus disparates obtenus au fil du temps jusqu’à ce que le nombre de données inconnues dépasse le nombre prédéfini de déclenchement de la création d’une nouvelle tâche.
Une quatrième application du dispositif électronique de traitement 14 selon l’invention est l’addition autonome et dynamique de composants 20 au sein du module de calcul 18. En effet, comme décrit précédemment, lorsqu’une nouvelle tâche a été détectée, un nouveau composant 20 est initialisé au sein du module de calcul 18, ceci par exemple avec des poids aléatoires, ou encore avec les poids du composant 20 (parmi ceux déjà existants) ayant le score de vraisemblance le plus élevé pour les données stockées dans la mémoire tampon 26.
Ce nouveau composant 20, et le cas échéant le deuxième extracteur 62, est alors entraîné pour le nombre d’itérations correspondant à la phase de mise en route, décrite précédemment, par exemple via une optimisation basée sur les gradients à partir des données stockées dans la mémoire tampon 26, ce qui permet alors au nouveau composant 20 de converger vers la distribution de la nouvelle tâche. En variante, au lieu d’utiliser un nombre défini d’itérations lors de cette phase de mise en route, la phase de mise en route pour l’apprentissage du nouveau composant 20 est effectuée jusqu’à ce qu’un critère de convergence soit vérifié.
Le nouveau composant 20 ainsi ajouté au module de calcul 18 représente alors la distribution de la nouvelle tâche, et la mémoire tampon 26 est alors effacée. L’apprentissage est ensuite poursuivi avec les nouvelles données acquises, qui sont alors assignées au nouveau composant, jusqu’à ce qu’une prochaine nouvelle tâche soit détectée. Selon un aspect complémentaire correspondant au deuxième mode de réalisation de la figure 4, le dispositif électronique de traitement 14 selon l’invention comprend en outre le module de réentraînement 30, celui-ci étant distinct du module de calcul 18, et le cas échéant du module d’extraction 28.
Selon cet aspect complémentaire, le module de réentraînement 30 est configuré pour recevoir le vecteur aléatoire ou pseudo-aléatoire hs k (tel que le vecteur hs 2 dans l’exemple de la figure 4), généré par le module de détermination 22 pour le composant d’indice k qui est à entraîner à nouveau, et le module de réentraînement 30 est alors configuré pour fournir au moins un exemple artificiel 52 de donnée(s) et son identifiant, ceci au composant 20 du module de calcul 18 qui est associé au même identifiant k, tel que l’identifiant de valeur 2 dans l’exemple de la figure 4.
Selon cet aspect complémentaire, le module de réentraînement 30 comporte alors une copie de chaque composant 20 qui est à entraîner à nouveau.
Lorsque le dispositif électronique de traitement 14 comprend en complément facultatif le module d’extraction 28 comportant notamment le deuxième extracteur 62, le module de réentraînement 30 comporte en outre une copie du deuxième extracteur 62, et le module de réentraînement 30 est alors configuré en outre pour fournir chaque exemple artificiel 52 de données au module d’extraction 28, et en particulier à son deuxième extracteur 62, pour un nouvel apprentissage de celui-ci, comme représenté par la flèche G’4.
L’homme du métier comprendra en outre que - de manière analogue à ce qui a été expliqué pour la génération d’exemples artificiels 52 selon le premier mode de réalisation au vu de la figure 2 - le module de réentraînement 30 est configuré pour créer chaque exemple artificiel 52 de données en effectuant une propagation de manière inverse du vecteur aléatoire ou pseudo-aléatoire à travers le composant 20 considéré qui est une copie du composant 20 du module de calcul 18 qui est à entraîner à nouveau, comme illustré par la flèche G’1 à la figure 4 ; et le cas échéant à travers le deuxième extracteur 62 dont le ou les réseaux de neurones sont alors inversibles, comme illustré par la flèche G’2 à la figure 4, le deuxième extracteur 62 contenu dans le module de réentraînement 30 étant une copie du deuxième extracteur 62 du module d’extraction 28.
La copie est effectuée à chaque fois avant qu’un nouveau composant 20 est ajouté. Dans les cas d’apprentissage non-supervisé avec détection automatique de tâches via la mémoire tampon 26, la copie est effectuée avant que le composant 20, et le cas échéant le deuxième extracteur 62, soient entraînés avec les données de la mémoire tampon 26.
Le fonctionnement du dispositif électronique de traitement 14 selon l’invention va être à présent décrit en regard de la figure 5 représentant un organigramme du procédé de traitement selon l’invention, celui-ci étant mis en œuvre par le dispositif de traitement 14. Lors d’une étape initiale 100, le dispositif de traitement 14 acquiert, via son module d’acquisition 16, l’ensemble de données à traiter, celui-ci étant typiquement en forme d’un vecteur de données x.
Lors de cette étape d’acquisition 100, le module d’acquisition 16 effectue en complément facultatif une normalisation de l’ensemble de donnée(s) et/ou un enrichissement de l’ensemble de donnée(s), par exemple via une ou plusieurs rotations d’angle aléatoire.
Lorsqu’en complément facultatif, le dispositif de traitement 14 comporte le module d’extraction 28, il extrait, lors d’une étape suivante optionnelle 110 et via son module d’extraction 28, une ou plusieurs caractéristiques communes à plusieurs tâches afin de convertir l’ensemble de données acquis en une représentation simplifiée, ce qui permet alors de mettre ensuite en œuvre plus rapidement la partie spécifique à chaque tâche, via le module de calcul 18. Cette étape optionnelle 110 correspond en effet à une étape agnostique aux tâches, qui est mise en œuvre par le module d’extraction 28 et qui correspond à la partie de l’architecture du dispositif de traitement 14 qui est agnostique aux tâches, comme expliqué précédemment.
A l’issue de l’étape 100 d’acquisition, ou le cas échéant à l’issue de l’étape optionnelle 110 d’extraction, le dispositif de traitement 14 calcule, lors de l’étape suivante 120 et via son module de calcul 18, un vecteur latent hk pour chaque composant 20 inclus dans le module de calcul 18 et à partir de l’ensemble de donnée(s), c’est-à-dire soit à partir de vecteur de données x acquis lors de l’étape d’acquisition 100 ou bien à partir de la représentation simplifiée obtenue à l’issue de l’étape d’extraction 110.
Selon l’invention, chaque composant 20 associé à une tâche respective et calculant le vecteur latent hk est configuré pour mettre en œuvre un réseau de neurones inversible, et cette possibilité d’inverser le réseau de neurones de chaque composant 20 permet alors d’exprimer la fonction de vraisemblance des données d’entrée facilement en fonction des valeurs de l’espace latent H, c’est-à-dire facilement en fonction du vecteur latent hk, lors de l’étape suivante 130.
A l’issue de l’étape 120 de calcul de chaque vecteur latent hk, le dispositif de traitement 14 détermine en effet, lors de l’étape 130 et via son module de détermination 22, une tâche pour chaque donnée en évaluant le score de vraisemblance pour chaque composant, ceci à partir du vecteur latent hk calculé pour chaque composant 20. Lors de cette étape de détermination 130, la tâche déterminée est alors celle associée au composant 20 présentant le score de vraisemblance le plus élevé, et le label t de la tâche déterminée vérifie par exemple l’équation (12) ou encore l’équation (13). Lorsqu’en complément facultatif, le dispositif de traitement 14 comprend en outre le module de rétroaction 24, le dispositif de traitement 14 effectue lors de l’étape suivante 140 et via ledit module de rétroaction 24, un stockage dans la mémoire tampon 26 de chaque donnée de tâche inconnue, c’est-à-dire de chaque donnée pour laquelle le score de vraisemblance évalué est incohérent pour le composant associé à la tâche attribuée, qui est alors considérée comme inconnue.
Lors de cette étape optionnelle de rétroaction 140, le module de rétroaction 24 déclenche en outre la création d’une nouvelle tâche si nécessaire, par exemple si le nombre de données stockées dans la mémoire tampon 26 est supérieur au nombre prédéfini. Le cas échéant, le module de calcul 18 est préférentiellement configuré pour inclure alors un nouveau composant 20 associé à la nouvelle tâche, et l’apprentissage du nouveau composant 20 est effectué à partir des données stockées dans la mémoire tampon 26, comme décrit précédemment.
Enfin; le dispositif de traitement 14 effectue optionnellement, lors de l’étape suivante 150, et via son module de calcul 18 en propagation inverse selon le premier mode de réalisation de la figure 2, ou encore via son module de réentraînement 30 selon le deuxième mode de réalisation de la figure 4, la création d’au moins un exemple artificiel 52 de données à partir du vecteur aléatoire ou pseudo-aléatoire hs k généré par le module de détermination 22. Plus précisément, le vecteur aléatoire ou pseudo-aléatoire hs k est généré par le module de détermination 22 pour correspondre à la distribution de l’espace latent du composant Ck qui est à entraîner à nouveau, et ce vecteur hs k est alors propagé en inverse depuis l’espace latent H vers l’espace d’entrée X via le réseau de neurones inversibles du composant Ck à entraîner à nouveau dans l’exemple de la figure 2, ou bien via le réseau de neurones inversibles de la copie du composant Ck à entraîner à nouveau qui est incluse dans le module de réentraînement 30 dans l’exemple de la figure 4. L’exemple artificiel, ainsi que son identifiant, ainsi créés sont alors fournis au composant Ck du module de calcul 18 qui est associé au même identifiant k.
Lorsqu’en complément facultatif le dispositif de traitement 14 comporte également le module d’extraction 28, celui-ci étant alors composé de réseaux de neurones inversibles, le vecteur aléatoire ou pseudo-aléatoire hs k est aussi propagé à travers ledit module d’extraction 28 de manière inverse, comme représenté sur la figure 2 par les flèches G1 et G2. Dans l’exemple de la figure 4 correspondant au deuxième mode de réalisation, lorsqu’en complément facultatif le module de réentraînement 30 comporte aussi une copie dudit deuxième extracteur 62, le vecteur aléatoire ou pseudo-aléatoire hs k est alors propagé de manière inverse également à travers la copie dudit deuxième extracteur 62, puis l’exemple artificiel 52 ainsi créé par le module de réentraînement 30 est alors fourni également au deuxième extracteur 62 du module d’extraction 28. Dans ce cas, si le deuxième extracteur 62 est entrainable, il est, comme le composant Ck , entraîné à nouveau sur l’exemple artificiel, par rétro-propagation du gradient du composant Ck. Le dispositif de traitement 14 selon l’invention permet alors d’effectuer un apprentissage continu à base de réseaux génératifs de neurones, ces réseaux de neurones étant en outre inversibles, ce qui permet alors d’exprimer la fonction de vraisemblance des données de l’espace d’entrée X plus facilement en fonction des valeurs des vecteurs de l’espace latent H.
L’homme du métier observera que le dispositif de traitement 14 selon l’invention permet d’effectuer à la fois des apprentissages de type non-supervisé et des apprentissages de type supervisé, comme expliqué précédemment à travers les première, deuxième, troisième et quatrième applications décrites.
Les réseaux inversibles permettent également un calcul exact du score de la vraisemblance des données de l’espace d’entrée X suivant la fonction de distribution probabiliste de cet espace d’entrée, et de déterminer alors le cas échéant si le score de vraisemblance d’un échantillon est incohérent pour le composant associé à la tâche attribuée, ce qui permet alors de détecter une tâche inconnue en apprentissage non- supervisé.
En outre, selon le premier mode de réalisation de la figure 2, l’utilisation de réseaux de neurones inversibles pour chaque composant 20 du module de calcul 18 permet d’utiliser un unique réseau de neurones à la fois pour l’encodage depuis l’espace d’entrée X vers l’espace latent H et pour le décodage depuis ledit espace latent H vers ledit espace d’entrée X, ce décodage permettant alors de créer des exemples artificiels 52 pour le réentraînement ultérieur des réseaux de neurones des composants 20.
L’aspect complémentaire correspondant au deuxième mode de réalisation de la figure 4 où le dispositif de traitement 14 comporte en outre le module de réentraînement 30 distinct du module de calcul 18 permet alors la génération d’exemples artificiels 52 par le module de réentraînement 30 en même temps que le module de calcul 18 continue d’effectuer l’apprentissage de tâches, ce qui permet de créer plus facilement et plus régulièrement des exemples artificiels 52 pour le réentraînement ultérieur des réseaux de neurones des composants 20 correspondants.
En outre, quel que soit le mode de réalisation, les réseaux de neurones inversibles des composants 20 du module de calcul 18 et, le cas échéant le réseau de neurones inversible du deuxième extracteur 62, permettent d’implémenter l’algorithme de rétro- propagation du gradient avec une moindre quantité de ressources mémoires étant donné que les activations de chaque neurone sont reconstructibles à partir de la sortie du réseau correspondant. Cela permet alors de recalculer les activations en parallèle pendant la rétro- propagation du gradient, sans avoir à sauvegarder les activations de chaque neurone pendant une phase d’inférence, et cette moindre utilisation des ressources mémoires est alors particulièrement adaptée lorsque le dispositif de traitement 14 selon l’invention est mis en œuvre dans un système embarqué. On conçoit ainsi que le dispositif électronique de traitement 14, et le procédé de traitement associé, selon l’invention permettent d’offrir une meilleure solution au phénomène d’oubli catastrophique en représentant mieux les tâches et en apprenant alors des caractéristiques qui sont plus discriminantes.

Claims

REVENDICATIONS
1. Dispositif électronique (14) de traitement de donnée(s) configuré pour traiter un ensemble de donnée(s), l’ensemble de donnée(s) correspondant à un ou plusieurs signaux captés par un capteur (12), le dispositif (14) comprenant:
- un module d’acquisition (16) configuré pour acquérir l’ensemble (x) de donnée(s) à traiter ;
- un module de calcul (18) incluant une pluralité de composants (20, Ck), chacun associé à une tâche respective, chaque composant (20, Ck) étant configuré pour mettre en œuvre un réseau de neurones inversible pour calculer un vecteur dans un espace latent, dit vecteur latent (hk), à partir de l’ensemble (x) de donnée(s) ;
- un module de détermination (22) configuré pour déterminer une tâche pour chaque donnée, en :
+ évaluant, pour chaque composant (20, Ck), un score de vraisemblance à partir du vecteur latent (hk) correspondant ; et
+ attribuant, à ladite donnée, la tâche (k) associée au composant (20, Ck) avec le score de vraisemblance le plus élevé parmi la pluralité de scores évalués ; et
+ si le score de vraisemblance évalué est incohérent pour le composant (20, Ck) associé à la tâche attribuée, modifiant la tâche attribuée en tâche inconnue.
2. Dispositif (14) selon la revendication 1 , dans lequel le dispositif (14) comprend en outre un module de rétroaction (24) configuré pour stocker dans une mémoire tampon (26) chaque donnée de tâche inconnue, et pour déclencher la création d’une nouvelle tâche si le nombre de données stockées dans la mémoire tampon (26) est supérieur à un nombre prédéfini ; le module de calcul (18) étant alors configuré pour inclure un nouveau composant (20, Ck) associé à la nouvelle tâche, l’apprentissage du nouveau composant (20, Ck) étant effectué à partir desdites données stockées dans la mémoire tampon (26).
3. Dispositif (14) selon la revendication 1 ou 2, dans lequel le réseau de neurones inversible de chaque composant (20, Ck) comporte des paramètres (Q), tels que des poids ; lesdits paramètres (Q) étant optimisés via une méthode de vraisemblance maximale ; l’apprentissage dudit réseau étant de préférence effectué via un algorithme de rétro- propagation pour le calcul du gradient de chaque paramètre ; l’apprentissage dudit réseau étant de préférence encore continu, notamment effectué après chaque traitement de donnée(s).
4. Dispositif (14) selon l’une quelconque des revendications précédentes, dans lequel le dispositif (14) comprend en outre un module d’extraction de caractéristiques (28) connecté entre le module d’acquisition (16) et le module de calcul (18), le module d’extraction (28) étant configuré pour mettre en œuvre au moins un réseau de neurones pour convertir l’ensemble (x) de donnée(s) en une représentation simplifiée, en extrayant une ou plusieurs caractéristiques communes à la pluralité de tâches ; chaque réseau de neurones du module d’extraction (28) étant de préférence inversible ; le module d’extraction (28) comportant de préférence encore un premier extracteur (60) configuré pour mettre en œuvre un réseau de neurones avec des poids figés suite à l’apprentissage dudit réseau et un deuxième extracteur (62) configuré pour mettre en œuvre un réseau de neurones avec des poids entrainables via un apprentissage continu, tel qu’un apprentissage effectué après chaque traitement de donnée(s), notamment via un algorithme de propagation inverse.
5. Dispositif (14) selon l’une quelconque des revendications précédentes, dans lequel le module de détermination (22) est configuré en outre pour générer un vecteur (hs k) de nombre(s) aléatoire(s) ou pseudo-aléatoire(s) correspondant à la distribution de l’espace latent d’un des composants (20, Ck), puis pour propager ledit vecteur (hs k) de manière inverse via le réseau de neurones inversible correspondant, afin de créer un exemple artificiel (52) de donnée(s), un identifiant de tâche associé à cet exemple artificiel (52) étant un identifiant dudit composant (20, Ck) ; ledit vecteur (hs k) étant de préférence propagé de manière inverse vers le module de calcul (18) ou bien vers un module de réentrainement (30) distinct du module de calcul (18).
6. Dispositif (14) selon la revendication 5, dans lequel le dispositif (14) comprend en outre un module de réentrainement (30) configuré pour recevoir le vecteur (hs k) généré par le module de détermination (22) et pour fournir au moins un exemple artificiel de donnée(s) et son identifiant au(x) composant(s) (20, Ck) du module de calcul (18) associé(s) au même identifiant, le(s)dit(s) composant(s) (20, Ck) étant à entraîner à nouveau, le module de réentrainement (30) comportant une copie de chaque composant (20, Ck) à entraîner à nouveau.
7. Dispositif (14) selon les revendication 4 et 6, dans lequel lorsque le module d’extraction (28) comporte le premier extracteur (60) et le deuxième extracteur (62), le module de réentrainement (30) comporte en outre une copie du deuxième extracteur (62), le module de réentrainement (30) étant alors configuré en outre pour fournir au moins un exemple artificiel (52) de donnée(s) au deuxième extracteur (62) du module d’extraction (28).
8. Dispositif (14) selon l’une quelconque des revendications précédentes, dans lequel le dispositif (14) est configuré pour effectuer un apprentissage non-supervisé de tâches, chaque composant (20, Ck) du module de calcul (18) étant configuré pour calculer un vecteur (hk) dans l’espace latent pour chaque nouvelle donnée, l’espace latent (H) comportant alors des vecteurs latents (hk) pour cette nouvelle donnée, un identifiant du composant étant en outre associé à chaque vecteur latent (hk) calculé.
9. Dispositif (14) selon la revendication 8, dans lequel le module de détermination (22) est configuré en outre pour modifier les identifiants de composants (20, Ck) à partir d’un lot d’exemples identifiés, un identifiant respectif étant associé à chaque exemple, en attribuant pour chaque exemple son identifiant au composant (20, Ck) présentant le score de vraisemblance le plus élevé, le ou les composants n’ayant pas d’identifiant attribué après prise en compte de tous les exemples du lot étant ignorés.
10. Système électronique (10) de détection d’objet(s), le système (10) comprenant un capteur (12), tel qu’un capteur d’image(s), un capteur sonore ou encore un capteur de détection d’objets, et un dispositif électronique (14) de traitement de donnée(s) relié au capteur (12), caractérisé en ce que le dispositif électronique de traitement (14) est selon l’une quelconque des revendications précédentes, et chaque donnée à traiter est un élément présent dans une scène captée par le capteur, tel qu’un objet détecté dans une image.
11. Procédé de traitement d’un ensemble de donnée(s), l’ensemble de donnée(s) correspondant à un ou plusieurs signaux captés par un capteur (12), le procédé étant mis en œuvre par un dispositif électronique de traitement (14) et comprenant les étapes suivantes :
- acquérir (100) l’ensemble (x) de donnée(s) à traiter ;
- calculer (120), via la mise en œuvre d’un réseau de neurones inversible pour chaque composant (20, Ck) d’une pluralité de composants, un vecteur dans un espace latent, dit vecteur latent (hk), pour chaque composant et à partir de l’ensemble (x) de donnée(s), chaque composant étant associé à une tâche respective ; - déterminer (130) une tâche pour chaque donnée, en :
+ évaluant, pour chaque composant (20, Ck), un score de vraisemblance à partir du vecteur latent (hk) correspondant ; et
+ attribuant, à ladite donnée, la tâche (k) associée au composant (20, Ck) avec le score de vraisemblance le plus élevé parmi la pluralité de scores évalués ; et
+ si le score de vraisemblance évalué est incohérent pour le composant (20, Ck) associé à la tâche attribuée, modifiant la tâche attribuée en tâche inconnue.
12. Programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en œuvre un procédé selon la revendication précédente.
EP21742808.5A 2020-07-09 2021-07-07 Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d'ordinateur associés Pending EP4179469A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2007287A FR3112413B1 (fr) 2020-07-09 2020-07-09 Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d’ordinateur associés
PCT/EP2021/068861 WO2022008605A1 (fr) 2020-07-09 2021-07-07 Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d'ordinateur associés

Publications (1)

Publication Number Publication Date
EP4179469A1 true EP4179469A1 (fr) 2023-05-17

Family

ID=73497865

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21742808.5A Pending EP4179469A1 (fr) 2020-07-09 2021-07-07 Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d'ordinateur associés

Country Status (4)

Country Link
US (1) US20230252271A1 (fr)
EP (1) EP4179469A1 (fr)
FR (1) FR3112413B1 (fr)
WO (1) WO2022008605A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230196033A1 (en) * 2021-12-20 2023-06-22 Rovi Guides, Inc. Methods and systems for responding to a natural language query
FR3138718A1 (fr) * 2022-08-08 2024-02-09 Commissariat à l'énergie atomique et aux énergies alternatives Dispositif électronique et procédé de traitement de données comportant au moins un modèle d’intelligence artificielle auto-adaptatif avec apprentissage local, système électronique et programme d’ordinateur associés

Also Published As

Publication number Publication date
FR3112413A1 (fr) 2022-01-14
FR3112413B1 (fr) 2023-02-24
WO2022008605A1 (fr) 2022-01-13
US20230252271A1 (en) 2023-08-10

Similar Documents

Publication Publication Date Title
EP3707676B1 (fr) Procédé d'estimation de pose d'une caméra dans le référentiel d'une scène tridimensionnelle, dispositif, système de réalite augmentée et programme d'ordinateur associé
EP3138079B1 (fr) Procédé de suivi de forme dans une scène observée par un capteur asynchrone de lumière
FR2884008A1 (fr) Systeme et procede de localisation de points d'interet dans une image d'objet mettant en oeuvre un reseau de neurones
WO2022008605A1 (fr) Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d'ordinateur associés
FR3088467A1 (fr) Procede de classification d'une image d'entree representative d'un trait biometrique au moyen d'un reseau de neurones a convolution
WO2020083880A1 (fr) Retro-propagation d'erreurs sous forme impulsionnelle dans un reseau de neurones impulsionnels
EP3620970A1 (fr) Procédé d'extraction de caractéristiques d'une empreinte digitale représentée par une image d'entrée
EP3582141A1 (fr) Procédé d'apprentissage de paramètres d'un réseau de neurones à convolution
EP3633552A1 (fr) Procédés d'apprentissage de paramètres d'un réseau de neurones à convolution et de détection d'éléments d'intérêt visibles dans une image
US20220405574A1 (en) Model-aware data transfer and storage
EP0681270A1 (fr) Procédé de trajectographie d'objets et dispositif de mise en oeuvre de ce procédé
EP0447306B1 (fr) Dispositif de reconnaissance de séquences dans un signal multidimensionnel
EP4315170A1 (fr) Autoencodeur multimodal a fusion de donnees latente amelioree
EP3918576A1 (fr) Procédé dynamique d'imagerie tridimensionnelle
FR3109002A1 (fr) Dispositif et procédé pour le transfert de connaissance d’un réseau neuronal artificiel
FR3138718A1 (fr) Dispositif électronique et procédé de traitement de données comportant au moins un modèle d’intelligence artificielle auto-adaptatif avec apprentissage local, système électronique et programme d’ordinateur associés
FR3104291A1 (fr) Procédé et système de configuration d’un dispositif d’imagerie d’un véhicule automobile comportant N capteurs et N réseaux de neurones encodeurs dédiés
FR3118503A1 (fr) Procédé et dispositif de détection d'anormalité de données
EP4150574B1 (fr) Procédé de traitement d'images
FR3130061A1 (fr) Procédé de localisation et cartographie simultanées intégrant un masquage temporel auto-supervisé et modèle d’apprentissage automatique pour générer un tel masquage.
EP4012619A1 (fr) Méthode de compression d'un réseau de neurones artificiel
FR3128015A1 (fr) Système d’aide à la navigation d’un véhicule.
FR3134207A1 (fr) Procédé et dispositif électronique de traitement de donnée(s) par réseau(x) de neurones avec résistance améliorée aux attaques adverses par approximation du gradient, programme d’ordinateur et système électronique de traitement d’objet(s) associés
FR3117223A1 (fr) Système et procédé de contrôle de véhicule à base d’apprentissage machine
CN118212589A (zh) 对象识别方法、装置、计算机设备和存储介质

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

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)