WO2024110586A1 - Procédé de robustification des réseaux de neurones multicouches par hybridation avec la commande prédictive mpc vis-à-vis d'une attaque antagoniste - Google Patents

Procédé de robustification des réseaux de neurones multicouches par hybridation avec la commande prédictive mpc vis-à-vis d'une attaque antagoniste Download PDF

Info

Publication number
WO2024110586A1
WO2024110586A1 PCT/EP2023/082862 EP2023082862W WO2024110586A1 WO 2024110586 A1 WO2024110586 A1 WO 2024110586A1 EP 2023082862 W EP2023082862 W EP 2023082862W WO 2024110586 A1 WO2024110586 A1 WO 2024110586A1
Authority
WO
WIPO (PCT)
Prior art keywords
layers
neural network
layer
signature
data
Prior art date
Application number
PCT/EP2023/082862
Other languages
English (en)
Inventor
Franck AIMÉ
Jean-Marc GUAUS
Original Assignee
Thales
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 Thales filed Critical Thales
Publication of WO2024110586A1 publication Critical patent/WO2024110586A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • 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/094Adversarial learning
    • 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/084Backpropagation, e.g. using gradient descent

Definitions

  • the present invention relates to a method and a system for constructing a reference database from a multilayer neural network, as well as to a method and a system for improving the robustness of a multi-layer neural network against an antagonistic attack.
  • Aircraft avionics offer several geolocation equipment. The most common are those using satellite positioning signals (GPS) or even equipment for monitoring the variation of the inertia of the vehicle referring to a particular geographical location then proposing a geographical position by integrating variations in the inertia of the vehicle. vehicle.
  • GPS satellite positioning signals
  • Image comparison is envisaged by the use of automatic learning of shape classes and by correlation between the classes of georeferenced images.
  • Machine learning uses artificial neural networks and in particular convolutional networks (CNN).
  • each aerial shot is classified in order to assign it terrestrial coordinates.
  • a new photograph is taken, and the neural network assigns a class to the new photograph, which allows the image to be georeferenced.
  • the acquisition of a same area from different viewing angles then makes it possible to determine the position of the aircraft, according to a technique well known to those skilled in the art.
  • neural networks can be subject to malicious attacks, in particular using a so-called antagonistic technique.
  • An adversarial or adversarial attack is a method of making small changes to objects such that the machine learning model begins to misclassify them.
  • Neural networks are known to be vulnerable to such attacks.
  • the search for adversarial methods historically began in the field of image recognition. It has been shown that minor changes in images, such as the addition of insignificant noise, can lead to consequential changes in classifier predictions and even completely confuse models.
  • the dazzling of a camera by a laser, a bird in the background of the acquired image, a defect in the camera (iridescence for example), snow or even rain can seriously disrupt the predictions of the classifier.
  • the invention aims to overcome the aforementioned drawbacks.
  • An object of the invention is therefore a method and a system for constructing a reference database, as well as a method and a system for improving the robustness of a neural network, such as as defined in the claims.
  • Figure 1 represents a diagram of an example of an artificial neural network.
  • Figure 2 illustrates the different stages of the method according to the invention for improving the robustness of a multilayer neural network with respect to an antagonistic attack.
  • Figure 3 illustrates a flowchart of the different stages of the process according to the invention.
  • Figure 4 illustrates the different stages of the method according to the invention for constructing a reference database.
  • Figure 5 illustrates another embodiment of calculating the reference signature and the current signature.
  • Figure 6 illustrates an embodiment for determining the conformity score between the reference signature associated with the predicted class and the current signature.
  • Figure 7 illustrates an embodiment of correction of the inference data.
  • Figure 1 represents a general diagram of an artificial neural network 100, for example a completely connected neural network also called a dense network.
  • each intermediate layer of a network can be totally or partially connected to another layer.
  • a neural network is conventionally composed of several layers (125, 126, 127, 128) of interconnected neurons.
  • the network comprises at least one input layer 125 and one output layer 128 and several intermediate layers (126, 127) also called hidden layers.
  • the neurons 129 of the input layer 125 receive input data.
  • the input data may be of different nature depending on the intended application.
  • the input data is pixels of an image.
  • a neural network has the general function of learning to solve a given problem, for example a classification or regression problem.
  • a neural network is, for example, used in the field of image classification or image recognition or more generally the recognition of characteristics which can be visual, audio, textual.
  • Each neuron of a layer is connected, by its input and/or its output, to a few neurons of the previous or following layer for convolutional neural networks or convolution layers (hereinafter called CNN for "Convolution”).
  • CNN convolutional neural networks or convolution layers
  • Neural Network or even to all the neurons of the preceding or following layer (for dense or “fully connected” neural networks, in this case we speak of dense layers).
  • the connections between two neurons 129-130 of two successive layers are made through artificial synapses 131.
  • the neuron is just a function which makes the weighted sum of its inputs then applies a simple activation function (for example example forces the result to zero if it is negative, and leaves it as is if it is positive). This result then serves as input for other neurons.
  • the synapse is therefore a weight, a coefficient applied to each input.
  • the synapse coefficients are optimized using a neural network learning mechanism.
  • the learning mechanism aims to train the neural network to solve a defined problem. This mechanism comprises two distinct phases, a first phase of data propagation from the input layer to the output layer and a second phase of back-propagation of errors from the output layer to the input layer with, for each layer, an update of the synapse weights.
  • training data for example reference images or image sequences
  • Each neuron implements, during this first phase, an integration function of the data received which consists of calculating a sum of the data received weighted by the coefficients of the synapses.
  • convolution is defined as the movement of a filter (matrix of coefficients, the “synapses”) “above” a given layer (matrix).
  • each neuron produces a matrix product between the filter and the area of the previous layer (sub-matrix of neurons) located under the filter.
  • Each neuron then propagates this result to the neurons of the next layer via further convolutions.
  • the integration function it performs may vary.
  • the error between the output value of the neurons 132 and an expected value or a target value which corresponds to the final state of the neurons of the output layer which we wish to obtain in relation to the input data learning and the problem to be solved by the network is calculated. For example, if the network needs to solve a classification problem, the expected final state of a neuron corresponds to the class it is expected to identify in the input data.
  • An objective of the error backpropagation phase is to search for network parameters that minimize the error.
  • the objective function depends on the coefficients of the neural network.
  • the error is calculated from the neurons of the output layer 128; this error is a function of the weights (coefficients) of all layers of the model. Then this error is recalculated locally for each layer taking into account the coefficients specific to each layer (error backpropagation). Then, the coefficients of each layer (and each neuron) are updated so as to reduce the final overall error.
  • the network input data can be organized in the form of matrices.
  • the network can be configured to output a score or a classification information or any other type of output adapted according to the problem to be solved.
  • a neural network can be configured to recognize the objects extracted from the images and classify them according to different classes or predefined categories.
  • the problem solved by the network is then a classification problem.
  • Figures 2 and 3 schematically illustrate the main stages of the method for improving the robustness of a multilayer neural network with respect to an antagonistic attack in accordance with the invention.
  • Inference data 102 is injected into the neural network 100.
  • the inference data can be any type of signal for which the neural network can be trained, in particular a 2D image, a 3D image, a audio file.
  • the neural network includes convolutional layers (CNN network) as well as dense layers (DNN network).
  • An additional layer 133 can be added to the output of the neural network, in particular for an image search application for geolocation purposes, for example the NetVLAD layer, inspired by the "Vector of Locally” image representation. Aggregated Descriptors" commonly used in image search.
  • An extraction of a plurality of activation layers 101 is carried out for the inference data, so as to obtain a current signature 109 corresponding to the inference data (step S40).
  • a class 104 is predicted at the output of the neural network 133 (step S30).
  • the output of the neural network 133 is not strictly speaking a class, but a vector produced by the additional layer 133 (NetVLAD). Indeed, for the output to be a class, it is necessary to search, in the georeferenced base of VLAD vectors (which is another database, which does not appear in the figures), the VLAD vector “most similar” to vector 104, then retrieve the latitude/longitude (or place name) associated with this vector. In the rest of the document, for reasons of simplicity, it is considered that the output of the neural network 133 is a predicted class (reference 104).
  • the prediction of the class 104 and the determination of the current signature 109 can be carried out concomitantly, or one after the other, without the order being important.
  • the current signature 109 is then compared to a reference signature 103 which corresponds to the predicted class 104 (step S50).
  • the comparison is carried out by a module for measuring a conformity score 1 17.
  • All the reference signatures 103 are stored in a reference database 105.
  • the current signature models the trajectory followed by the information along the layers of the network corresponding to the current data.
  • the reference signatures model average trajectories along the layers of the network corresponding to a given class.
  • a conformity score 1 19 is measured between the current signature 109 and the reference signature 103 (step S60).
  • the predicted class is validated, or the inference data is corrected.
  • the correction of the inference data can be carried out directly at the input of the neural network 100, or directly in the layers 101 of the neural network. The process is implemented for each new inference data injected into the neural network.
  • the correction directly in the layers 101 of the neural network can be carried out by subtracting the average difference between the current signature 109 and the reference signature 103 propagated forward (feedforward) towards the additional layer 133. It is also possible to back-propagate (feedback) the correction between layers 101; in this case, the Shannon entropy function can be used to choose the most appropriate local reference signature 103 by substitution at the network input.
  • Figure 4 illustrates the process for creating the reference database 105, also illustrated by the flowchart of Figure 2.
  • Training data 102 is injected into the neural network 100.
  • the training data 102 are 2D images.
  • a characteristic vector is extracted from layers 101 of the neural network (CNN and DNN layers) using an extraction module 114 (step S10).
  • the feature vector is composed of a plurality of feature values, with a single feature value associated with each layer of the neural network.
  • the characteristic vectors 134 of the verified training data are then integrated into the reference database 105.
  • the verified training data corresponds to correctly predicted data.
  • the dimension of the 2D matrices can be reduced by using a local sensitive hash as described in particular in the article “Near-optimal hashing algorithms for approximate nearest neighbor in high dimensions” (A. Andoni and P. Indyk, Foundations of Computer Science, 2006. FOCS'06.
  • each layer representation can be either a 2D matrix or a vector.
  • the reference signature for each class is calculated and stored in the reference database (step S20).
  • the final prediction of the neural network is not composed of a single prediction but rather of a vector comprising a probability (or score) for each class.
  • the final prediction of the neural network is usually the class with the highest probability.
  • only the correctly predicted training data 102 are selected, that is to say those for which the maximum probability is associated with the correct expected class. Once all the correct data has been obtained, it is sorted according to its maximum probabilities in descending order, i.e. from “best prediction” to “worst prediction”. It can then be defined to only construct the base with a predefined percentage of the total number of training data 102, from the aforementioned sorting, in descending order.
  • Figure 5 illustrates an example of extraction of each layer of the neural network.
  • each layer includes several feature maps 11 1.
  • the number of feature maps 1 11 is equal to the number of filters used to filter the previous layer, regardless of the number of feature maps of the previous layer.
  • the characteristic value of each activation layer 101 is obtained by calculating a statistical matrix combination between the characteristic maps 1 11 of the layer.
  • matrix combination we mean a combination of cells in depth (i.e. for several feature maps) and in at least one of the two defined horizontal or vertical directions corresponding to the rows and columns of the map. characteristic.
  • the matrix statistical combination comprises the calculation of a median matrix between the cells 1 12 of the same row and the same column (depth calculation along direction A, Figure 5), and the calculation of 'a maximum value among all the medians (calculation according to the directions horizontal B and vertical C).
  • the median matrix is therefore a matrix whose rank i and column j contains the median of the cells (112) of rank i and column j over depth k of the layer.
  • the matrix 118 is composed of the median values of the cells of the same row and the same column, for the different characteristic maps 111 which constitute the layer.
  • the reference signature 103 therefore comprises an average vector obtained by calculating, for all the reference vectors (DNA 17-1, DNA 17-2, ..., DNA 17-N in Figure 5) corresponding to a same class, the average of the values for each layer.
  • a matrix norm such as the Froebenius norm of the matrix 118 including all the median values of the layer can be calculated.
  • the Froebenius norm of a matrix is the square root of the sum of all elements of the matrix, with each element squared before being added.
  • a reference vector is then obtained with all the characteristic values corresponding to the Froebenius norms, for all layers of the neural network, and for each training data.
  • the characteristic value of each layer can be obtained by calculating a single statistic for all of the characteristic maps 111, for example an average between all the cells of the characteristic maps 111 for each layer.
  • the reference database 105 thus associates a reference signature for each class.
  • This reference signature consists of an average vector for each class and a variance/covariance matrix for each class.
  • the size of the reference database 105 is a few megabytes, which makes it very light and embedding, in particular with regard to the remaining memory space once the VLAD vector base (typically of 10 GB) is installed.
  • State-of-the-art processes use all neuron outputs, which makes them very heavy in terms of calculation time.
  • the neural network predicts a class 104 (step S30).
  • the current signature 109 of the inference data 108 is then determined (step S40).
  • the current signature 109 reflects the trajectory of the inference data (108) injected along the layers of the network (that is to say from the first layers to the last). For this, several convolution layers 101 and dense layers are extracted from the neural network, according to one of the embodiments described previously for the extraction of layers for the training data.
  • a conformity score 119 is measured between the current signature 109 and the reference signature 103, the reference signature 103 being determined using the predefined reference database 105.
  • There reference signature 103 used is that which corresponds to the class predicted for the inference data 108.
  • the conformity score 119 quantifies an instability of the trajectory of the inference data (108).
  • the inference data 108 and the associated class 104 are validated, or the inference data 108 is corrected (step S60).
  • At least one of the layers 101 of the neural network is corrected by substituting the data 106 or even the average between the data 106 and data 103.
  • the inference data 108 is corrected at the input by filtering the defects, and at least one of the layers 101 of the neural network is corrected by substitution of the characteristic value or even of the average between the value characteristic and reference signature 103.
  • the method according to the invention does not add more calculation time than that necessary to compare the reference signature and the current signature produced in real time.
  • the vector extraction time can be made negligible by using graphics processing units having a parallel processing architecture (GPU).
  • Figure 6 illustrates a preferred embodiment of the method according to the invention for improving the robustness of a multilayer neural network with respect to an antagonistic attack.
  • Inference data 108 in this case a terrain image acquired by a camera, is injected into the neural network 100.
  • a class 104 is predicted by the neural network 100.
  • the neural network 100 can be a convolutional neural network 100 combined with a NetVLAD layer 133.
  • the predicted class corresponds in this case to a pair of latitude/longitude coordinates (of the VLAD vector) or to a place name ( if it is unique).
  • a reading module 116 receives the predicted class 104 as input, and retrieves the reference signature corresponding to the class in the reference database 105.
  • an extraction module 114 extracts a plurality of layers 101 from the multilayer neural network, so as to obtain the current signature 109 for the inference data 108.
  • the extraction of each layer can be carried out in particular by calculating a matrix statistical combination between the feature maps of the layer.
  • a module for measuring a conformity score 117 measures a conformity score between the current signature 109 and the reference signature 103.
  • the conformity score is determined by calculating a Mahalanobis distance between the current signature and the reference signature.
  • the Mahalanobis distance makes it possible to determine the consistency between data received (current signature) and that provided by a model (reference signature).
  • the Mahalanobis distance uses an inverse covariance matrix (i.e. the inverse of the covariance matrix) for each class.
  • the covariance matrix is calculated from the reference vectors extracted for the training data corresponding to the same class.
  • the inverse covariance matrix is stored, for each class, in the reference database.
  • the Mahalanobis distance D is calculated by a subset 120 of the conformity score measurement module 117, with the following formula:
  • a chi-square test is then applied to the Mahalanobis distance for the inference data.
  • the chi-square test can be carried out because a Gaussian hypothesis is made on the distribution of the Mahalanobis distance over all the training data for the same class, which is an hypothesis accepted in the state of the 'art.
  • the chi-square test makes it possible to test the adequacy between a sample of a series of observed values (here the square of the Mahalanobis distance) and a probability law (for example normal or Gaussian law).
  • a subset 121 of the conformity score measurement module 117 performs the chi-square test, and provides a p-value, also called degree of significance.
  • the p-value is compared to a predetermined threshold.
  • the p-value is applied to the Mahalanobis distance corresponding to the distance between the current signature and the distribution of reference signatures associated with the predicted class, the distribution being modeled in the reference database 105 by the average vector and the covariance matrix associated with the predicted class.
  • the predetermined threshold is calculated offline on a test set for a target application of the classification, in particular as a function of the false positive rate and the true positive rate defined previously.
  • a threshold equal to 4% can be used.
  • the conformity score measurement module 117 compares the p-value in relation to the threshold. If the p-value is greater than or equal to the threshold, the inference data 108 is validated with the class 104 which was predicted. On the contrary, if the p-value is lower than the threshold, the inference data is considered to be an outlier observation, and in this case a correction is made to the inference data.
  • Figure 7 illustrates an embodiment of correction of the inference data. If the conformity score measurement module 117 determines that the inference data is aberrant, an improvement system 115 corrects the inference data 108.
  • the improvement system 115 takes the inference data as input 108, and provides corrected inference data 123.
  • the improvement system 115 can advantageously use filters 122, for example one of the filters from the group comprising: median filter, average filter, Gaussian filter, Wiener filter, edge detection filter, Laplacian filter, “Non Local means” type filter.
  • the filter can advantageously use one or more previous versions 124 of the corrected inference data.
  • the filtering correction step can be performed as many times as necessary, until the compliance score reaches a predefined threshold.
  • the filters are placed at the entrance to the layer to be corrected.
  • the correction of the inference data 108 comprises a reconstruction of the input of each layer 101 by an inverse reconstruction technique, and a measurement of the reconstruction error.
  • the inverse reconstruction technique consists of reconstructing a layer i from layer i+1 (next layer in the direction of propagation of the data injected into the neural network), measuring the reconstruction error, and carrying out a or several correction iterations until the reconstruction error is less than a threshold.
  • the number of extracted layers 101 for the training data and for the inference data can be defined as a function of a residual error rate associated with the conformity score 119.
  • the signature word includes L elements corresponding to the number of layers extracted.
  • the signature word represents 2 L possible values.
  • the identity reference word is an L-bit word with a value of 1.
  • the error word represents the number of correlated erroneous values which represents 2 X possible values.
  • TS is the error rate of the signature, which quantifies the reliability of the entire correlation system.
  • the distance is a criterion for valuing each bit of the error rate TS by calculation: each bit of the vector is valued at one when the distance between the reference signature and the current signature is zero or at zero when the distance is infinite ( or greater than a threshold).
  • the number of layers extracted indicates which level of criticality (or DAL for “Development Assurance Level”) the system is closest to.
  • the Eurocae ED-12 standards (equivalent to the RTCA DO-178 standard) and Eurocae ED-80 (equivalent to the RTCA DO-254 standard) set the safety conditions applicable respectively to critical avionics software and electronic equipment. avionics.
  • the standards include four levels of criticality (classified from A to D), defined as follows:
  • Level A A defect in the system or subsystem studied can cause a catastrophic problem - Flight safety or compromised landing - Airplane crash (residual error rate less than 10'9) .
  • Level B A defect in the system or subsystem studied can cause a dangerous problem leading to serious damage or even the death of some occupants (residual error rate less than 10'7 ) .
  • Level C A defect in the system or subsystem studied can cause a major problem leading to a malfunction of the vital equipment of the device (residual error rate less than 10'5 ) .
  • Level D A defect in the system or subsystem studied can cause a minor problem with no effect on flight safety (residual error rate less than 10'3 ) .
  • the number of layers to extract can be adapted to the complexity of the system using the neural network, which allows adjustment of the computational effort and the consumption of associated resources depending on the context of use of the solution (embedded or not).
  • the layers 101 that are the least correlated with each other, among all the layers of the multilayer neural network are extracted. This makes it possible to only use layers that are likely to vary greatly from one training data to another.
  • the invention has been described for 2D image type input data. It can extend to any type of input data, for example voice, text, any image, or any type of data for which a class must be predicted by a neural network structured in layers.
  • the invention can be implemented as a computer program comprising instructions for its execution.
  • the computer program may be recorded on a processor-readable recording medium.
  • the computing means or resources can in particular be distributed (“Cloud computing”), possibly using peer-to-peer technologies.
  • the software code may be executed on any suitable processor (e.g., microprocessor) or processor core or set of processors, whether provided in a single computing device or distributed across multiple computing devices (e.g. example as possibly accessible in the environment of the device).
  • the executable code of each program allowing the programmable device to implement the processes according to the invention can be stored, for example, in the hard disk or in read-only memory.
  • the program(s) can be loaded into one of the storage means of the device before being executed.
  • the central unit can control and direct the execution of the instructions or portions of software code of the program(s) according to the invention, instructions which are stored in the hard disk or in the read-only memory or in the other aforementioned storage elements.
  • the invention can be implemented on a calculation device based, for example, on an on-board processor.
  • the processor can be a generic processor, a specific processor, an application-specific integrated circuit (also known as ASIC for “Application-Specific Integrated Circuit”) or an array of in situ programmable gates (also known as the English name of FPGA for “Field-Programmable Gate Array”).
  • the computing device may use one or more dedicated electronic circuits or a general purpose circuit.
  • the technique of the invention can be carried out on a reprogrammable calculation machine (a processor or a microcontroller for example) executing a program comprising a sequence of instructions, or on a calculation machine dedicated (for example a set of logic gates such as an FPGA or an ASIC, or any other hardware module).
  • a reprogrammable calculation machine a processor or a microcontroller for example
  • a program comprising a sequence of instructions
  • a calculation machine dedicated for example a set of logic gates such as an FPGA or an ASIC, or any other hardware module.
  • the invention can also be implemented in a localization system embedded in a mobile carrier further comprising one or more image acquisition devices.
  • the position of the mobile carrier calculated by the invention can be returned to a user via a man-machine interface.

Landscapes

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

Abstract

L'invention se rapporte à un procédé d'amélioration de la robustesse d'un réseau de neurones multicouches vis-à-vis d'une attaque antagoniste, comprenant, en phase d'inférence et pour une donnée d'inférence injectée dans le réseau de neurones : S30) une prédiction de la classe (104) pour la donnée d'inférence; S40) une détermination d'une signature courante (109) par une extraction d'une pluralité de couches (101) du réseau de neurones pour la donnée d'inférence; S50) une mesure d'un score de conformité (119) entre la signature courante (109) et la signature de référence (103) correspondant à la classe prédite, la signature de référence (103) étant déterminée en utilisant une base de données de référence (105); S60) en fonction du score de conformité (119), une validation de la donnée d'inférence et de la classe associée (104), ou une correction de la donnée d'inférence et/ou dans au moins une des couches (101) du réseau de neurones.

Description

DESCRIPTION
Titre de l’invention : Procédé de robustification des réseaux de neurones multicouches par hybridation avec la commande prédictive MPC vis-à-vis d’une attaque antagoniste
[0001] Domaine technique
[0002] La présente invention se rapporte à un procédé et un système de construction d’une base de données de référence à partir d’un réseau de neurones multicouches, ainsi qu’à un procédé et un système d’amélioration de la robustesse d’un réseau de neurones multicouches vis-à-vis d’une attaque antagoniste.
[0003] L’avionique des aéronefs propose plusieurs équipements de géolocalisation. Les plus courants sont ceux utilisant les signaux satellite de positionnement (GPS) ou encore les équipements de suivi de la variation de l’inertie du véhicule se référençant à un lieu géographique particulier puis proposant une position géographique par intégration des variations de l’inertie du véhicule.
[0004] Dans le cas des très petits aéronefs comme des drones, ces équipements sont trop encombrants pour être cumulés lors de la mission. L’avionique privilégie donc les équipements de type GPS pour mettre à disposition la position du drone.
[0005] En revanche, la fiabilité des équipements GPS ne suffit pas à assurer le niveau de sûreté de fonctionnement global, et pour l’atteindre, il est connu d’ajouter un équipement de reconnaissance de position par capture et analyse d’image géographique en la comparant à un ensemble d’image dont le géo-référencement est connu.
[0006] La comparaison d’image s’envisage par l’utilisation de l’apprentissage automatique de classe de forme et par corrélation entre les classes des images géoréférencées. L’apprentissage automatique utilise des réseaux de neurones artificiels et en particulier les réseaux à convolution (CNN).
[0007] Lors d’une phase d’apprentissage, chaque prise de vue aérienne est classée afin de lui attribuer des coordonnées terrestres. Lors de la phase d’inférence, une nouvelle photographie est prise, et le réseau de neurones attribue une classe à la nouvelle photographie, ce qui permet de géoréférencer l’image. L’acquisition d’une même zone sous différents angles de prise de vue permet ensuite de déterminer la position de l’aéronef, selon une technique bien connue de l’homme du métier.
[0008] Cependant, les réseaux de neurones peuvent faire l’objet d’attaques malveillantes, en particulier selon une technique dit antagoniste. Une attaque antagoniste ou adverseriale est une méthode consistant à apporter de petites modifications aux objets de telle sorte que le modèle d'apprentissage automatique commence à les classer de manière erronée. Les réseaux de neurones sont connus pour être vulnérables à de telles attaques. La recherche de méthodes contradictoires a historiquement commencé dans le domaine de la reconnaissance d'images. Il a été démontré que des changements mineurs dans les images, tels que l'ajout d'un bruit insignifiant, peuvent entraîner des changements conséquents dans les prédictions des classificateurs et même complètement confondre les modèles.
[0009] Les documents « Rule-Based Runtime Mitigation Agaisnt Poison Attacks on Neural Networks » (Usman et al.), « LanCe : A Comprehensive and Lightweight CNN Defense Methodology against Physical Adversarial Attacks on Embedded Multimedia Applications » (Xu et al.) et « Increasing the Confidence of Deep Neurla Networks by Coverage Analysis » (Rossolini et al.) décrivent des procédés pour resister aux attaques adverseriales.
[0010] Par exemple, l’éblouissement d’une caméra par un laser, un oiseau dans le fond de l’image acquise, un défaut de la caméra (irisation par exemple), de la neige ou encore de la pluie peuvent fortement perturber les prédictions du classificateur.
[0011] Ainsi, l’utilisation de réseaux de neurones pour effectuer de la géolocalisation n’est pas satisfaisante car elle ne permet pas de produire le niveau de confiance équivalent à celui nécessaire au domaine aéronautique.
[0012] L’invention vise à surmonter les inconvénients précités.
[0013] Résumé de l’invention
[0014] Un objet de l’invention est donc un procédé et un système de construction d’une base de données de référence, ainsi qu’à un procédé et un système d’amélioration de la robustesse d’un réseau de neurones, tels que définis dans les revendications.
[0015] Description des figures [0016] D’autres caractéristiques, détails et avantages de l’invention ressortiront à la lecture de la description faite en référence aux dessins annexés donnés à titre d’exemple.
[0017] La figure 1 représente un schéma d’un exemple de réseau de neurones artificiel.
[0018] La figure 2 illustre les différentes étapes du procédé selon l’invention d’amélioration de la robustesse d’un réseau de neurones multicouches vis-à-vis d’une attaque antagoniste.
[0019] La figure 3 illustre un ordinogramme des différentes étapes du procédé selon l’invention.
[0020] La figure 4 illustre les différentes étapes du procédé selon l’invention de construction d’une base de données de référence.
[0021] La figure 5 illustre un autre mode de réalisation de calcul de la signature de référence et de la signature courante.
[0022] La figure 6 illustre un mode de réalisation de détermination du score de conformité entre la signature de référence associée à la classe prédite et la signature courante.
[0023] La figure 7 illustre un mode de réalisation de correction de la donnée d’inférence.
[0024] La figure 1 représente un schéma général d’un réseau de neurones artificiels 100, par exemple un réseau de neurones complètement connecté encore appelé réseau dense.
[0025] De façon générale, chaque couche intermédiaire d’un réseau peut être connectée totalement ou partiellement à une autre couche.
[0026] Un réseau de neurones est classiquement composé de plusieurs couches (125, 126, 127, 128) de neurones interconnectés. Le réseau comporte au moins une couche d’entrée 125 et une couche de sortie 128 et plusieurs couches intermédiaires (126, 127) encore appelées couches cachées. Les neurones 129 de la couche d’entrée 125 reçoivent des données d’entrée. Les données d’entrée peuvent être de natures différentes selon l’application visée. Par exemple, les données d’entrée sont des pixels d’une image. [0027] Un réseau de neurones a pour fonction générale d’apprendre à résoudre un problème donné, par exemple un problème de classification ou de régression. Un réseau de neurones est, par exemple, utilisé dans le domaine de la classification d’image ou de la reconnaissance d’image ou plus généralement la reconnaissance de caractéristiques qui peuvent être visuelles, audio, textuelles.
[0028] Chaque neurone d’une couche est connecté, par son entrée et/ou sa sortie, à quelques neurones de la couche précédente ou suivante pour les réseaux de neurones convolutifs ou à couches de convolution (appelés par la suite CNN pour « Convolution Neural Network »), voire à tous les neurones de la couche précédente ou suivante (pour les réseaux de neurones denses ou « fully connected >>, on parle dans ce cas de couches denses).
[0029] Les connexions entre deux neurones 129-130 de deux couches successives se font à travers des synapses artificielles 131. Ainsi, le neurone est juste une fonction qui fait la somme pondérée de ses entrées puis applique une fonction d’activation simple (par exemple force le résultat à zéro s’il est négatif, et le laisse en l’état s’il est positif). Ce résultat sert ensuite d’entrée pour d’autres neurones. Le synapse est donc un poids, un coefficient appliqué à chaque entrée. De façon alternative, il est possible d’implémenter le réseau de neurones de façon matérielle, par exemple via des dispositifs memristifs.
[0030] Les coefficients des synapses sont optimisés grâce à un mécanisme d’apprentissage du réseau de neurones. Le mécanisme d’apprentissage a pour objectif l’entrainement du réseau de neurones à résoudre un problème défini. Ce mécanisme comporte deux phases distinctes, une première phase de propagation de données de la couche d’entrée vers la couche de sortie et une seconde phase de rétro-propagation d’erreurs de la couche de sortie vers la couche d’entrée avec, pour chaque couche, une mise à jour des poids des synapses.
[0031] Les erreurs calculées à partir des neurones de sortie à l’issue de la phase de propagation de données sont liées au problème à résoudre. Il s’agit, de manière générale, de déterminer une valeur appelée logit (une prédiction).
[0032] Lors de la première phase de propagation de données, des données d’apprentissage, par exemple des images ou séquences d’images de référence, sont fournies en entrée des neurones de la couche d’entrée et propagées dans le réseau. Chaque neurone met en oeuvre, pendant cette première phase, une fonction d’intégration des données reçues qui consiste à calculer une somme des données reçues pondérées par les coefficients des synapses.
[0033] Dans le cas d’un CNN, on définit la convolution comme étant le déplacement d’un filtre (matrice de coefficients, les « synapses ») « au-dessus >> d’une couche donnée (matrice). Ainsi chaque neurone réalise un produit matriciel entre le filtre et la zone de la couche précédente (sous-matrice de neurones) située sous le filtre. Chaque neurone propage ensuite ce résultat vers les neurones de la couche suivante via d’autres convolutions. Selon les modèles de neurones choisis, la fonction d’intégration qu’il réalise peut varier.
[0034] L’erreur entre la valeur de sortie des neurones 132 et une valeur attendue ou une valeur cible qui correspond à l’état final des neurones de la couche de sortie que l’on souhaite obtenir en relation avec les données d’entrée d’apprentissage et le problème à résoudre par le réseau est calculée. Par exemple, si le réseau doit résoudre un problème de classification, l’état final attendu d’un neurone correspond à la classe qu’il est censé identifier dans les données d’entrée.
[0035] Plus généralement, à chaque problème particulier à résoudre (classification, régression) on associe une ou plusieurs fonction(s) de coût ou fonction objective à optimiser (par minimisation ou maximisation). Un objectif de la phase de rétro- propagation d’erreurs est de rechercher les paramètres du réseau qui minimisent l’erreur.
[0036] La fonction objective dépend des coefficients du réseau de neurones.
[0037] Lors de la seconde phase de rétro-propagation d’erreurs, on calcule l’erreur à partir des neurones de la couche de sortie 128 ; cette erreur est une fonction des poids (coefficients) de toutes les couches du modèle. Puis cette erreur est recalculée localement pour chaque couche en tenant compte des coefficients propres à chaque couche (rétropropagation d’erreur). Ensuite, les coefficients de chaque couche (et de chaque neurone) sont mis à jour de sorte à réduire l’erreur globale finale.
[0038] Le processus se poursuit pour chaque couche de neurones jusqu’à la dernière couche.
[0039] Les données d’entrée du réseau peuvent être organisées sous la forme de matrices. Le réseau peut être configuré pour générer en sortie un score ou une information de classification ou tout autre type de sortie adaptée selon le problème à résoudre.
[0040] Par exemple, si les données d’entrée sont des images ou des caractéristiques extraites d’images ou de séquences d’images, un réseau de neurone peut être configuré pour reconnaître les objets extraits des images et les classifier selon différentes classes ou catégories prédéfinies. Le problème résolu par le réseau est alors un problème de classification.
[0041] Les figures 2 et 3 illustrent de façon schématique les principales étapes du procédé d’amélioration de la robustesse d’un réseau de neurones multicouches vis- à-vis d’une attaque antagoniste conforme à l’invention.
[0042] Une donnée d’inférence 102 est injectée dans le réseau de neurones 100. La donnée d’inférence peut être tout type de signal pour lequel le réseau de neurones peut être entraîné, en particulier une image 2D, une image 3D, un fichier audio.
[0043] Il est essentiel que le réseau de neurones comprenne plusieurs couches. Le réseau de neurones comprend des couches de convolution (réseau CNN) ainsi que des couches denses (réseau DNN).
[0044] L’apprentissage se fait de façon supervisée, c’est-à-dire qu’il apprend à partir de données étiquetées.
[0045] Une couche supplémentaire 133 peut être ajoutée en sortie du réseau de neurones, en particulier pour une application de recherche d'images à des fins de géolocalisation, par exemple la couche NetVLAD, inspirée de la représentation d'image "Vector of Locally Aggregated Descriptors" couramment utilisée dans la recherche d'images.
[0046] Une extraction d’une pluralité de couches d’activation 101 est effectuée pour la donnée d’inférence, de façon à obtenir une signature courante 109 correspondant à la donnée d’inférence (étape S40).
[0047] Une classe 104 est prédite en sortie du réseau de neurones 133 (étape S30). La sortie du réseau de neurones 133 n’est pas à proprement parler une classe, mais un vecteur produit par la couche supplémentaire 133 (NetVLAD). En effet, pour que la sortie soit une classe, il faut rechercher, dans la base géoréférencée de vecteurs VLAD (qui est une autre base de données, qui n’apparait pas dans les figures), le vecteur VLAD « le plus similaire >> au vecteur 104, puis récupérer la latitude/longitude (ou le nom du lieu) associée à ce vecteur. Dans la suite du document, pour raisons de simplicité, il est considéré que la sortie du réseau de neurones 133 est une classe prédite (référence 104).
[0048] La prédiction de la classe 104 et la détermination de la signature courante 109 peuvent être effectuées de façon concomitante, ou l’une après l’autre, sans que l’ordre n’ait d’importance.
[0049] La signature courante 109 est ensuite comparée à une signature de référence 103 qui correspond à la classe prédite 104 (étape S50). La comparaison est effectuée par un module de mesure d’un score de conformité 1 17. Toutes les signatures de référence 103 sont stockées dans une base de données de référence 105. La signature courante modélise la trajectoire suivie par l’information le long des couches du réseau correspondant à la donnée courante.
[0050] Les signatures de référence modélisent des trajectoires moyennes le long des couches du réseau correspondant à une classe donnée.
[0051 ] Un score de conformité 1 19 est mesuré entre la signature courante 109 et la signature de référence 103 (étape S60). En fonction du score de conformité 119, la classe prédite est validée, ou la donnée d’inférence est corrigée. La correction de la donnée d’inférence peut être effectuée directement à l’entrée du réseau de neurones 100, ou dans directement dans les couches 101 du réseau de neurones. Le procédé est mis en oeuvre pour chaque nouvelle donnée d’inférence injectée dans le réseau de neurones.
[0052] La correction directement dans les couches 101 du réseau de neurones peut être effectuée par une soustraction de la différence moyenne entre la signature courante 109 et la signature de référence 103 propagée en avant (feedforward) vers la couche supplémentaire 133. Il est également possible de rétro-propager (feedback) la correction entre les couches 101 ; dans ce cas, la fonction d'entropie de Shannon peut être utilisée afin de choisir la signature de référence 103 locale la plus appropriée par substitution à l'entrée du réseau.
[0053] Ainsi, une modification de la structure prenant en compte la convergence par contrôle prédictif (MPC pour Model based Predictive Control) permet de stabiliser le comportement des réseaux de neurones multicouches, ce qui résout le problème des attaques antagonistes. Le procédé selon l’invention permet non seulement de détecter une potentielle attaque intentionnelle de la donnée d’inférence mais aussi de la corriger.
[0054] En effet, en détectant, sur n'importe quelle couche, ou sur l’ensemble des couches, qu’une statistique dépasse un seuil donné, alors il est possible de détecter des attaques antagonistes, et d’avoir à contrario des garanties de robustesse.
[0055] La figure 4 illustre le procédé de création de la base de données de références 105, également illustrée par l’ordinogramme de la figure 2.
[0056] Des données d’entraînement 102 sont injectées dans le réseau de neurones 100. Dans une application de géolocalisation, les données d’entraînement 102 sont des images 2D.
[0057] Pour chaque donnée d’entraînement, un vecteur caractéristique est extrait des couches 101 du réseau de neurones (couches CNN et DNN) en utilisant un module d’extraction 114 (étape S10). Le vecteur caractéristique est composé d’une pluralité de valeurs caractéristiques, une seule valeur caractéristique étant associée à chaque couche du réseau de neurones.
[0058] Avantageusement, seuls les vecteurs caractéristiques 134 des données d’entraînement vérifiées sont ensuite intégrés dans la base de données de référence 105. Les données d’entraînement vérifiées correspondent à des données correctement prédites.
[0059] La dimension des matrices 2D peut être réduite en utilisant un hachage sensible local tel que décrit notamment dans l’article « Near-optimal hashing algorithms for approximate nearest neighbor in high dimensions >> (A. Andoni and P. Indyk, Foundations of Computer Science, 2006. FOCS’06. 47th Annual IEEE Symposium on. IEEE, 2006, pp. 459-468).
[0060] Ainsi, chaque représentation de couche peut être soit une matrice 2D, soit un vecteur.
[0061] Une fois que toutes les représentations de couches sont enregistrées pour chaque donnée d’entraînement, la signature de référence pour chaque classe est calculée et stockée dans la base de données de référence (étape S20). [0062] Il peut être noté que la prédiction finale du réseau de neurones n’est pas composée d’une seule et unique prédiction mais plutôt d’un vecteur comprenant une probabilité (ou score) pour chaque classe. La prédiction finale du réseau de neurones est généralement la classe ayant la probabilité la plus élevée.
[0063] Selon un mode de réalisation avantageux, seules les données d’entraînement 102 correctement prédites sont sélectionnées, c’est-à-dire celles pour lesquelles la probabilité maximale est associée à la bonne classe attendue. Une fois que toutes les données correctes ont été obtenues, elles sont triées selon leurs probabilités maximales dans l’ordre décroissant, c’est-à-dire de la « meilleure prédiction >> à la « moins bonne ». Il peut ensuite être défini de ne construire la base qu’avec un pourcentage prédéfini du nombre total de données d’entraînement 102, à partir du tri précité, selon l’ordre décroissant.
[0064] Cela permet de construire la base de données de référence avec des données très fiables.
[0065] La figure 5 illustre un exemple d’extraction de chaque couche du réseau de neurones. Dans ce mode de réalisation il y a une signature de référence pour chaque classe du jeu d’entrainement correct.
[0066] Dans un CNN ; chaque couche comprend plusieurs cartes de caractéristiques 11 1. Dans un réseau de neurones convolutif, dans chaque couche, le nombre de cartes de caractéristiques 1 11 est égal au nombre de filtres utilisés pour filtrer la couche précédente, indépendamment du nombre de cartes de caractéristiques de la couche précédente.
[0067] Avantageusement, la valeur caractéristique de chaque couche d’activation 101 est obtenue en calculant une combinaison statistique matricielle entre les cartes de caractéristiques 1 11 de la couche. Par « combinaison matricielle >>, on entend une combinaison des cellules en profondeur (c’est-à-dire pour plusieurs cartes de caractéristiques) et dans au moins une des deux directions horizontale ou verticale définies correspondant aux lignes et aux colonnes de la carte de caractéristique.
[0068] Selon un mode de réalisation avantageux, la combinaison statistique matricielle comprend le calcul d’une matrice médiane entre les cellules 1 12 de même rang et de même colonne (calcul en profondeur selon direction A, figure 5), et le calcul d’une valeur maximale parmi toutes les médianes (calcul selon les directions horizontale B et verticale C). La matrice médiane est donc une matrice dont le rang i et la colonne j contient la médiane des cellules (112) de rang i et de colonne j sur la profondeur k de la couche. Sur la figure 5, la matrice 118 est composée des valeurs médianes des cellules de même rang et de même colonne, pour les différentes cartes de caractéristiques 111 qui constituent la couche.
[0069] Sur la figure 5, il y a donc autant de matrices 118 qu’il y a de couches à extraire pour constituer un vecteur de référence pour la donnée d’entraînement.
[0070] La signature de référence 103 comprend donc un vecteur moyen obtenu en calculant, pour tous les vecteurs de référence (ADN 17-1 , ADN 17-2, ..., ADN 17-N sur la figure 5) correspondant à une même classe, la moyenne des valeurs pour chaque couche.
[0071] D’autres modes de réalisation peuvent être envisagés pour effectuer la combinaison statistique matricielle. En particulier, une fois que les valeurs médianes ont été calculées pour les cellules de même rang et de même colonne, une norme matricielle telle que la norme de Froebenius de la matrice 118 comprenant toutes les valeurs médianes de la couche peut être calculée. La norme de Froebenius d’une matrice correspond à la racine carrée de la somme de tous les éléments de la matrice, chaque élément étant mis au carré avant d'être additionné.
[0072] Un vecteur de référence est ensuite obtenu avec toutes les valeurs caractéristiques correspondant aux normes de Froebenius, pour toutes les couches du réseau de neurones, et pour chaque donnée d’entraînement.
[0073] . Une moyenne est ensuite calculée entre les différents vecteurs de référence d’une même classe, pour obtenir la signature de référence correspondant à la classe.
[0074] En variante, la valeur caractéristique de chaque couche peut être obtenue en calculant une unique statistique pour l’ensemble des cartes de caractéristiques 111 , par exemple une moyenne entre toutes les cellules des cartes de caractéristiques 111 pour chaque couche.
[0075] D’autres combinaisons matricielles peuvent être envisagées. Au lieu de combiner valeur maximale parmi toutes les médianes, il est aussi envisageable de combiner médiane parmi toutes les valeurs maximales, médiane parmi toutes les moyennes, moyenne parmi toutes les médianes, valeur maximale parmi toutes les normes de Froebenius, norme de Froebenius parmi toutes les valeurs maximales etc. [0076] En cherchant à maximiser le taux de vrais positifs (nombre d’exemples identifiés comme étant anormaux parmi les exemples antagonistes/nombre d’exemples antagonistes) et à minimiser le taux de faux positifs (nombre d’exemples identifiés comme étant anormaux parmi les exemples corrects/nombre d’exemples corrects), il a été déterminé que les meilleurs résultats sont obtenus avec le couple statistique médiane/maximum des médianes.
[0077] La base de données de référence 105 associe ainsi une signature de référence pour chaque classe. Cette signature de référence est constituée d’un vecteur moyen pour chaque classe et d’une matrice de variances/covariances pour chaque classe. Pour une application de reconnaissance de lieu, la taille de la base de données de référence 105 fait quelques mégaoctets, ce qui la rend très légère et embarquable, en particulier en regard de la place mémoire restante une fois que la base de vecteurs VLAD (typiquement de 10 Go) est installée. Les procédés de l’état de l’art utilisent toutes les sorties de neurones, qui les rend très lourds en terme de temps de calcul.
[0078] Les étapes suivantes sont mises en oeuvre en phase d’inférence et pour une donnée d’inférence 108 injectée dans le réseau de neurones. Ces étapes visent à améliorer la robustesse d’un réseau de neurones multicouches vis-à-vis d’une attaque antagoniste.
[0079] Pour chaque nouvelle donnée d’inférence, par exemple pour chaque nouvelle image de terrain acquise par l’aéronef, le réseau de neurones prédit une classe 104 (étape S30).
[0080] La signature courante 109 de la donnée d’inférence 108 est ensuite déterminée (étape S40). La signature courante 109 reflète la trajectoire de la donnée d’inférence (108) injectée le long des couches du réseau (c’est-à-dire des premières couches aux dernières). Pour cela, plusieurs couches 101 de convolution et de couches denses sont extraites du réseau de neurones, selon un des modes de réalisation décrits précédemment pour l’extraction des couches pour les données d’entraînement.
[0081] Dans une étape S50, un score de conformité 119 est mesuré entre la signature courante 109 et la signature de référence 103, la signature de référence 103 étant déterminée en utilisant la base de données de référence 105 prédéfinie. La signature de référence 103 utilisée est celle qui correspond à la classe prédite pour la donnée d’inférence 108. Le score de conformité 119 quantifie une instabilité de la trajectoire de la donnée d’inférence (108).
[0082] En fonction du score de conformité 119, la donnée d’inférence 108 et la classe associée 104 sont validées, ou la donnée d’inférence 108 est corrigée (étape S60).
[0083] En variante, au lieu de corriger la donnée d’inférence 108 à l’entrée du réseau de neurones, au moins une des couches 101 du réseau de neurones est corrigée par substitution de la donnée 106 ou encore de la moyenne entre la donnée 106 et la donnée 103.
[0084] Selon une autre variante, la donnée d’inférence 108 est corrigée en entrée par filtrage des défauts, et au moins une des couches 101 du réseau de neurones est corrigée par substitution de la valeur caractéristique ou encore de la moyenne entre la valeur caractéristique et la signature de référence 103.
[0085] Le procédé selon l’invention n’ajoute pas plus de temps de calcul que celui nécessaire pour comparer la signature de référence et la signature courante produite en temps réel. Le temps d’extraction du vecteur peut être rendu négligeable par utilisation d’unités de traitement graphiques ayant une architecture de traitement en parallèle (GPU).
[0086] La figure 6 illustre un mode de réalisation préférentiel du procédé conforme à l’invention d’amélioration de la robustesse d’un réseau de neurones multicouches vis-à-vis d’une attaque antagoniste.
[0087] Une donnée d’inférence 108, dans le cas présent une image de terrain acquise par une caméra, est injectée dans le réseau de neurones 100. Une classe 104 est prédite par le réseau de neurones 100. Pour une application de reconnaissance de lieu, le réseau de neurones 100 peut être un réseau de neurones convolutif 100 combiné à une couche NetVLAD 133. La classe prédite correspond dans ce cas à-un couple de coordonnées latitude/longitude (du vecteur VLAD) ou à un nom de lieu (si celui-ci est unique). Un module de lecture 116 reçoit en entrée la classe prédite 104, et récupère la signature de référence correspondant à la classe dans la base de données de référence 105.
[0088] Par ailleurs, un module d’extraction 114 extrait une pluralité de couches 101 du réseau de neurones multicouches, de façon à obtenir la signature courante 109 pour la donnée d’inférence 108. L’extraction de chaque couche peut être effectuée en particulier en calculant une combinaison statistique matricielle entre les cartes de caractéristiques de la couche.
[0089] Au-delà d’un certain nombre de couches, l’augmentation du nombre de couches extraites n’améliore pas les performances de détection. En effet, dans un CNN, certaines couches sont très corrélées entre elles (les neurones des couches de convolution sont majoritairement remplies de 0 dans les couches du milieu, d’où cette forte corrélation)
[0090] Un module de mesure d’un score de conformité 117 mesure un score de conformité entre la signature courante 109 et la signature de référence 103.
[0091] Selon un mode de réalisation avantageux, le score de conformité est déterminé en calculant une distance de Mahalanobis entre la signature courante et la signature de référence. La distance de Mahalanobis permet de déterminer la cohérence entre des données reçues (signature courante) et celles fournies par un modèle (signature de référence).
[0092] La distance de Mahalanobis utilise une matrice inverse de covariance (c’est à dire l’inverse de la matrice de covariance) pour chaque classe. La matrice de covariance est calculée à partir des vecteurs de référence extraits pour les données d’entraînement correspondant à une même classe. La matrice inverse de covariance est stockée, pour chaque classe, dans la base de données de référence.
[0093] La distance de Mahalanobis D est calculée par un sous-ensemble 120 du module de mesure d’un score de conformité 117, avec la formule suivante :
[0094] D = (Xcour - Xrefys~ Xcour - Xref)
[0095] Xcour correspond à la signature courante (sous forme de vecteur), Xref correspond à la signature de référence correspondant à la moyenne des signatures de référence (vecteur moyen), et S la matrice de covariance.
[0096] Un test du khi-deux est ensuite appliqué à la distance de Mahalanobis pour la donnée d’inférence. Le test du khi-deux peut être est effectué car une hypothèse gaussienne est faite sur la distribution de la distance de Mahalanobis sur l’ensemble des données d’entrainement pour une même classe, ce qui est une hypothèse admise dans l’état de l’art. Le test du khi-deux permet de tester l’adéquation entre un échantillon d’une série de valeurs observées (ici le carré de la distance de Mahalanobis) et une loi de probabilité (par exemple loi normale ou gaussienne).
[0097] Un sous-ensemble 121 du module de mesure d’un score de conformité 117 effectue le test du khi-deux, et fournit une p-value, également appelée degré de signification. La p-value est comparée à un seuil prédéterminé. La p-valeur est appliquée à la distance de Mahalanobis correspondant à la distance entre la signature courante et la distribution des signatures de référence associées à la classe prédite, la distribution étant modélisée dans la base de données de référence 105 par le vecteur moyen et la matrice de covariance associées à la classe prédite.
[0098] Avantageusement, le seuil prédéterminé est calculé hors ligne sur un jeu de test pour une application cible de la classification, en particulier en fonction du taux de faux positifs et du taux de vrais positifs définis précédemment. Pour des applications de reconnaissance de lieu, un seuil égal à 4% peut être utilisé.
[0099] Le module de mesure d’un score de conformité 117 compare la p-value par rapport au seuil. Si la p-value est supérieure ou égale au seuil, la donnée d’inférence 108 est validée avec la classe 104 qui a été prédite. Au contraire, si la p-value est inférieure au seuil, la donnée d’inférence est considérée comme étant une observation aberrante, et dans ce cas une correction est apportée à la donnée d’inférence.
[0100] D’autres distances mathématiques permettant de déterminer la similarité entre une série de données connues (les données d’entrainement) et inconnues (la donnée d’inférence) peuvent être utilisées, par exemple la distance L1 , la distance L2 ou la similarité cosinus.
[0101] La figure 7 illustre un mode de réalisation de correction de la donnée d’inférence. Si le module de mesure d’un score de conformité 117 détermine que la donnée d’inférence est aberrante, un système d’amélioration 115 corrige la donnée d’inférence 108. Le système d’amélioration 115 prend en entrée la donnée d’inférence 108, et fournit une donnée d’inférence corrigée 123. Le système d’amélioration 115 peut avantageusement utiliser des filtres 122, par exemple l’un des filtres parmi le groupe comprenant : filtre médian, filtre moyenneur, filtre gaussien, filtre de Wiener, filtre de détection de bords, filtre Laplacien, filtre de type « Non Local means >>. [0102] Le filtre peut avantageusement utiliser une ou plusieurs versions précédentes 124 de la donnée d’inférence corrigée. L’étape de correction par filtrage peut être effectuée autant de fois que nécessaire, jusqu’à ce que le score de conformité atteigne un seuil prédéfini.
[0103] Selon une variante, il est possible de ne corriger que certaines des couches du réseau de neurones. Dans ce cas, les filtres sont disposés à l’entrée de la couche à corriger.
[0104] Selon une autre variante de l’invention, la correction de la donnée d’inférence 108 comprend une reconstruction de l’entrée de chaque couche 101 par une technique de reconstruction inverse, et une mesure de l’erreur de reconstruction. La technique de reconstruction inverse consiste à reconstruire une couche i à partir de la couche i+1 (couche suivante dans le sens de propagation de la donnée injectée dans le réseau de neurones), à mesurer l’erreur de reconstruction, et à effectuer une ou plusieurs itérations de correction jusqu’à ce que l’erreur de reconstruction soit inférieure à un seuil.
[0105] Le nombre de couches extraites 101 pour les données d’entrainement et pour les données d’inférence peut être défini en fonction d’un taux d’erreurs résiduelles associé au score de conformité 119.
[0106] En effet, il est possible de définir un mot de signature élaboré par corrélation entre la signature courante et la signature de référence correspondant à la classe prédite pour la donnée d’inférence, qui correspond à la distance entre la signature courante 109 et la signature de référence 103. Le mot de signature comprend L éléments correspondant au nombre de couches extraites.
[0107] Dans le cas où, pour chaque couche, la corrélation avec la signature de référence vaut soit zéro soit un, le mot de signature représente 2L valeurs possibles. Par convention, le mot de référence d’identité est un mot de L bits de valeur 1 . Ainsi, le mot d’erreur représente le nombre de valeurs erronées corrélées qui représente 2X valeurs possibles.
[0108] TS est défini ainsi : TS = nombre d’erreurs/nombre total de valeurs = 2X/2L
[0109] Dans l’hypothèse d’une similarité (aucun bit du mot à zéro, 0 erreurs, x=0) et en relation avec la taille du réseau :
Figure imgf000018_0001
[0110] TS est le taux d'erreur de la signature, qui quantifie la fiabilité de l'ensemble du système de corrélation. La distance est un critère de valorisation de chaque bit du taux d'erreur TS par calcul : chaque bit du vecteur est valorisé à un quand la distance entre la signature de référence et la signature courante est nulle ou à zéro quand la distance est infinie (ou supérieur à un seuil).
[0111] Ainsi, dix couches sont extraites pour un taux d’erreurs résiduelles inférieur à 10'3. Dix-sept couches sont extraites pour un taux d’erreurs résiduelles inférieur à 10'5. Vingt-quatre couches sont extraites pour un taux d’erreurs résiduelles inférieur à I O’7 . Trente-trois couches sont extraites pour un taux d’erreurs résiduelles inférieur à 10’9 .
[0112] Lors du développement d’un système utilisant des réseaux de neurones, le nombre de couches extraites indique de quel niveau de criticité (ou DAL pour « Development Assurance Level ») le système est le plus proche. En effet, les standards Eurocae ED-12 (équivalent au standard RTCA DO-178) et Eurocae ED-80 (équivalent au standard RTCA DO-254) fixent les conditions de sécurité applicables respectivement aux logiciels critiques de l'avionique et aux équipements électroniques d'avionique.
[0113] Les standards comprennent quatre niveaux de criticité (classés de A à D), définis de la façon suivante :
[0114] Niveau A : Un défaut du système ou sous-système étudié peut provoquer un problème catastrophique - Sécurité du vol ou atterrissage compromis - Crash de l'avion (taux d’erreurs résiduelles inférieur à 10'9 ).
[0115] Niveau B : Un défaut du système ou sous-système étudié peut provoquer un problème dangereux entraînant des dégâts sérieux voire la mort de quelques occupants (taux d’erreurs résiduelles inférieur à 10'7 ). [0116] Niveau C : Un défaut du système ou sous-système étudié peut provoquer un problème majeur entraînant un dysfonctionnement des équipements vitaux de l'appareil (taux d’erreurs résiduelles inférieur à 10'5 ).
[0117] Niveau D : Un défaut du système ou sous-système étudié peut provoquer un problème mineur sans effet sur la sécurité du vol (taux d’erreurs résiduelles inférieur à 10’3 ).
[0118] Ainsi, il est possible de définir un nombre de couches à extraire en fonction du niveau de criticité attendu. Par ailleurs le nombre de couches à extraire peut être adapté à la complexité du système utilisant le réseau de neurones, ce qui permet un ajustement de l’effort de calcul et la consommation des ressources associées selon le contexte d’utilisation de la solution (embarqué ou non).
[0119] Selon un mode de réalisation, seules les couches 101 les moins corrélées entre elles, parmi l’ensemble des couches du réseau de neurones multicouches, sont extraites. Cela permet de n’utiliser que les couches qui susceptibles de fortement varier d’une donnée d’entraînement à l’autre.
[0120] Le fait de disposer d’un niveau de confiance vérifiable pour la reconnaissance des formes dans une image permet de relier les informations géographiques de cette image à la position de l’aéronef avec un niveau de confiance quantifiable, de façon similaire à celui proposé par les systèmes de navigation par signaux satellite (GPS).
[0121] Il est donc envisageable de contrôler la position de l’aéronef à partir d’images, ou de succession d’images, prises directement en opération et en cohérence avec la dynamique de l’aéronef.
[0122] L’invention a été décrite pour des données d’entrée de type images 2D. Elle peut s’étendre à tout type de donnée d’entrée, par exemple de la voix, du texte, une image quelconque, ou tout type de donnée pour laquelle une classe doit être prédite par un réseau de neurones structuré en couches.
[0123] L’invention peut être mise en oeuvre en tant que programme d’ordinateur comportant des instructions pour son exécution. Le programme d’ordinateur peut être enregistré sur un support d’enregistrement lisible par un processeur.
[0124] La référence à un programme d'ordinateur qui, lorsqu'il est exécuté, effectue l'une quelconque des fonctions décrites précédemment, ne se limite pas à un programme d'application s'exécutant sur un ordinateur hôte unique. Au contraire, les termes programme d'ordinateur et logiciel sont utilisés ici dans un sens général pour faire référence à tout type de code informatique (par exemple, un logiciel d'application, un micro logiciel, un microcode, ou toute autre forme d'instruction d'ordinateur) qui peut être utilisé pour programmer un ou plusieurs processeurs pour mettre en oeuvre des aspects des techniques décrites ici.
[0125] Les moyens ou ressources informatiques peuvent notamment être distribués ("Cloud computing"), éventuellement selon des technologies de pair-à-pair. Le code logiciel peut être exécuté sur n'importe quel processeur approprié (par exemple, un microprocesseur) ou cœur de processeur ou un ensemble de processeurs, qu'ils soient prévus dans un dispositif de calcul unique ou répartis entre plusieurs dispositifs de calcul (par exemple tels qu’éventuellement accessibles dans l’environnement du dispositif).
[0126] Le code exécutable de chaque programme permettant au dispositif programmable de mettre en œuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur ou en mémoire morte. De manière générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif avant d'être exécutés. L'unité centrale peut commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur ou dans la mémoire morte ou bien dans les autres éléments de stockage précités.
[0127] L’invention peut être implémentée sur un dispositif de calcul basé, par exemple, sur un processeur embarqué. Le processeur peut être un processeur générique, un processeur spécifique, un circuit intégré propre à une application (connu aussi sous le nom anglais d’ASIC pour « Application-Specific Integrated Circuit ») ou un réseau de portes programmables in situ (connu aussi sous le nom anglais de FPGA pour « Field-Programmable Gate Array »). Le dispositif de calcul peut utiliser un ou plusieurs circuits électroniques dédiés ou un circuit à usage général.
[0128] La technique de l'invention peut se réaliser sur une machine de calcul reprogrammable (un processeur ou un micro-contrôleur par exemple) exécutant un programme comprenant une séquence d'instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel).
[0129] L’invention peut aussi être implémentée dans un système de localisation embarqué dans un porteur mobile comprenant en outre un ou plusieurs dispositifs d’acquisition d’image.
[0130] La position du porteur mobile calculée par l’invention peut être restituée à un utilisateur via une interface homme machine.

Claims

REVENDICATIONS
1. Procédé non-supervisé de construction d’une base de données de référence à partir d’un réseau de neurones multicouches composé de couches de convolution et de couches denses, comprenant :
S10) une étape d’extraction d’une pluralité de couches de convolutions (101 ) et de la couche dense du réseau de neurones multicouches (100) pour différentes données d’entraînement (102) injectées dans le réseau de neurones, comprenant une extraction d’une seule valeur caractéristique (106) par couche (101 ) pour chaque donnée d’entraînement (102) ,
S20) une étape de détermination d’une pluralité de signatures de référence (103), chaque signature de référence (103) étant obtenue à partir des valeurs caractéristiques (106) respectives des couches (101 ) du réseau de neurones pour les données d’entraînement (102) correspondant à une même classe prédite (104), la base de données de référence (105) associant chaque classe prédite (104) avec la signature de référence (103) correspondante.
2. Procédé selon la revendication 1 , dans lequel l’étape S10) comprend un calcul d’une valeur caractéristique (106) par couche (101 ) pour chaque donnée d’entraînement (102) ; dans lequel, dans l’étape S20), chaque signature de référence (103) est obtenue en calculant la moyenne, pour toutes les données d’entraînement (102) correspondant à une même classe (104), de chaque valeur caractéristique (106) couche par couche (101 ).
3. Procédé selon l’une des revendications précédentes, dans lequel, dans l’étape S10), les données d’entraînement (102) sont issues d’un sous-ensemble de données d’entraînement (102) correctement prédites par le réseau de neurones (100), les données d’entraînement (102) dudit sous-ensemble étant ensuite triées en fonction de leur probabilité d’appartenir à une des classes (104), et sélectionnées en prenant une proportion prédéfinie du sous-ensemble trié.
4. Procédé non-supervisé d’amélioration de la robustesse d’un réseau de neurones multicouches composé de couches de convolution et de couches denses vis-à-vis d’une attaque antagoniste, comprenant, en phase d’inférence et pour une donnée d’inférence (108) injectée dans le réseau de neurones :
S30) une prédiction de la classe (104) pour la donnée d’inférence (108) ;
S40) une détermination d’une signature courante (109) reflétant la trajectoire de la donnée d’inférence (108) injectée le long des couches du réseau par une extraction d’une pluralité de couches (101 ) du réseau de neurones pour la donnée d’inférence (108) ;
S50) une mesure d’un score de conformité (1 19) entre la signature courante (109) et la signature de référence (103) correspondant à la classe prédite, la signature de référence (103) étant déterminée en utilisant la base de données de référence (105) obtenue par le procédé de construction d’une base de données de référence selon l’une des revendications 1 à 3, le score de conformité (119) quantifiant une instabilité de la trajectoire de la donnée d’inférence (108) ;
S60) en fonction du score de conformité (119), une validation de la donnée d’inférence (108) et de la classe associée (104).
5. Procédé selon la revendication 4, dans lequel, dans l’étape S40), la signature courante (109) comprend une pluralité de valeurs caractéristiques, chaque valeur caractéristique étant obtenue par extraction réalisée sur une des couches (101 ) du réseau de neurones pour la donnée d’inférence (108), dans lequel l’étape S50) comprend :
- le calcul d’une distance entre la signature courante (109) et la signature de référence (103) ;
- le calcul d’une valeur statistique appliquée à la distance ;
- la donnée d’inférence (108) étant validée si la valeur statistique est supérieure à un seuil prédéterminé.
6. Procédé selon la revendication 5, dans lequel le seuil prédéterminé est calculé hors ligne sur un jeu de test pour une application cible de la classification.
7. Procédé selon l’une des revendications 5 ou 6 prise en combinaison avec l’une des revendications 1 à 3, dans lequel chaque signature de référence (103) comprend un vecteur moyen et une matrice de covariance associées à la classe prédite, et dans lequel, dans l’étape S50) : - la distance est une distance de Mahalanobis, la distance de Mahalanobis étant calculée en tenant compte de la matrice inverse de covariance ;
- la valeur statistique est une p-valeur d’un test du khi-deux appliqué à la distance de Mahalanobis correspondant à la distance entre la signature courante et la distribution des signatures de référence associées à la classe prédite, la distribution étant modélisée dans la base de données de référence (105) par le vecteur moyen et la matrice de covariance associées à la classe prédite.
8. Procédé selon l’une des revendications 2 ou 5 à 7, dans lequel la valeur caractéristique (106) de chaque couche de convolution (101 ) est obtenue en calculant une combinaison statistique matricielle entre des cartes de caractéristiques (111 ) qui constituent la couche.
9. Procédé selon la revendication 8, dans lequel la combinaison statistique matricielle comprend le calcul d’une matrice médiane dont le rang i et la colonne j contient la médiane des cellules (112) de rang i et de colonne j sur la profondeur k de la couche, suivi du calcul de la valeur maximale de la matrice médiane.
10. Procédé selon la revendication 8, dans lequel la combinaison statistique matricielle comprend le calcul d’une matrice médiane dont le rang i et la colonne j contient la médiane des cellules (112) de rang i et de colonne j sur la profondeur k de la couche, suivi du calcul d’une norme de Froebenius de la matrice médiane (118).
11. Procédé selon l’une des revendications 2 ou 5 à 7, dans lequel la valeur caractéristique (106) de chaque couche de convolution (101 ) est obtenue en calculant une unique statistique pour toutes les cartes de caractéristiques (111 ) qui constituent la couche.
12. Procédé selon la revendication 11 , dans lequel l’unique statistique correspond à une moyenne entre toutes les cellules (112) des cartes de caractéristiques (111 ).
13. Procédé selon l’une des revendications 8 à 12, dans lequel la signature de référence (103) et/ou la signature courante (109) comprennent une valeur caractéristique de la dernière couche dense qui est une statistique de cette couche, la statistique étant la valeur max de la couche.
14. Procédé selon l’une des revendications 4 à 13, dans lequel la correction de la donnée d’inférence (108) comprend une étape de filtrage du signal injecté et/ou des couches du réseau de neurones.
15. Procédé selon l’une des revendications 4 à 13, dans lequel la correction de la donnée d’inférence (108) comprend une reconstruction de l’entrée de chaque couche (101 ) par une technique de reconstruction inverse, et une mesure de l’erreur de reconstruction.
16. Procédé selon l’une des revendications 5 à 13, dans lequel au moins une des couches (101 ) du réseau de neurones est corrigée par substitution de la valeur caractéristique ou de la moyenne entre la valeur caractéristique et la signature de référence (103).
17. Procédé selon l’une des revendications précédentes, dans lequel le nombre de couches extraites (101 ) est défini en fonction d’un taux d’erreurs résiduelles de la signature courante.
18. Procédé selon la revendication 17, dans lequel le nombre L de couches extraites correspond à la longueur d’un mot de signature qui comprend L bits, le taux d’erreur TS étant défini par la formule TS = 1/2L, et dans lequel :
- 10 couches (101 ) sont extraites pour un taux d’erreurs résiduelles inférieur à 10'3 ;
- 17 couches (101 ) sont extraites pour un taux d’erreurs résiduelles inférieur à 10'5 ;
- 24 couches (101 ) sont extraites pour un taux d’erreurs résiduelles inférieur à 10'7 ;
- 33 couches (101 ) sont extraites pour un taux d’erreurs résiduelles inférieur à 10'9 .
19. Procédé selon l’une des revendications 4 à 18, dans lequel les données d’entraînement (102) sont des images géoréférencées, et dans lequel la donnée d’inférence (108) est une image, la classe prédite (104) correspondant à un géoréférencement de ladite image.
20. Procédé selon l’une des revendications précédentes, comprenant l’extraction des couches (101 ) les moins corrélées entre elles du réseau de neurones multicouches, parmi l’ensemble des couches du réseau de neurones multicouches.
21 . Procédé selon l’une des revendications précédentes, dans lequel les étapes S30), S40) et S50) sont répétées après la correction de la donnée d’inférence (108) et/ou des couches (101 ) du réseau de neurones, jusqu’à ce que le score de conformité (109) remplisse une condition prédéterminée.
22. Produit programme d’ordinateur comprenant des instructions de code pour la mise en oeuvre du procédé selon l’une des revendications 1 à 21 lorsqu’il est exécuté par un ordinateur.
23. Support de stockage lisible par ordinateur stockant des instructions qui, lorsqu’elles sont exécutées par un ordinateur, impliquent que l’ordinateur mette en oeuvre le procédé selon l’une des revendications 1 à 21 .
24. Système (113) non-supervisé de construction d‘une base de données de référence à partir d’un réseau de neurones multicouches composé de couches de convolution et de couches denses, comprenant
- un module d’extraction (114) d’une pluralité de couches de convolutions (101 ) et de la couche dense du réseau de neurones multicouches pour différentes données d’entraînement (102) injectées dans le réseau de neurones, comprenant une extraction d’une seule valeur caractéristique (106) par couche (101 ) pour chaque donnée d’entraînement (102) ;
- un module de détermination d’une pluralité de signatures de référence, chaque signature de référence (103) étant obtenue à partir des valeurs caractéristiques (106) respectives des couches (101 ) du réseau de neurones pour les données d’entraînement (102) correspondant à une même classe prédite (104) ;
- une base de données de référence (105) associant chaque classe prédite (104) par le réseau de neurones avec une signature de référence correspondante (103)
25. Système non-supervisé d’amélioration de la robustesse d’un réseau de neurones multicouches composé de couches de convolution et de couches denses (115) vis-à- vis d’une attaque antagoniste, comprenant :
- un module de prédiction de la classe (115) pour chaque donnée d’inférence (108) ;
- un module d’extraction (114) d’une pluralité de couches du réseau de neurones multicouches, de façon à obtenir une signature courante (109) reflétant la trajectoire de la donnée d’inférence (108) injectée le long des couches du réseau pour la donnée d’inférence (108) ;
- un module de lecture (116) de la base de données de référence (105) obtenue par le système de construction (113) d‘une base de données de référence selon la revendication 23 ;
- un module de mesure d’un score de conformité (117) entre la signature courante (109) et la signature de référence (103) correspondant à la classe prédite, la signature de référence (103) étant déterminée en utilisant la base de données de référence (105), le score de conformité (119) quantifiant une instabilité de la trajectoire de la donnée d’inférence (108) ; le système d’amélioration (115) étant configuré pour valider la donnée d’inférence (108) et la classe associée (104).
26. Système de détermination de la position d’un aéronef (117), comprenant le système d’amélioration de la robustesse (115) selon la revendication 25, les données d’entraînement (102) étant des images géoréférencées, et dans lequel la longueur de la signature de référence (103) et la longueur de la signature courante (109) sont associés à un taux d’erreurs résiduelles du système de détermination de la position d’un aéronef.
PCT/EP2023/082862 2022-11-24 2023-11-23 Procédé de robustification des réseaux de neurones multicouches par hybridation avec la commande prédictive mpc vis-à-vis d'une attaque antagoniste WO2024110586A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FRFR2212271 2022-11-24
FR2212271A FR3142582A1 (fr) 2022-11-24 2022-11-24 Procédé de robustification des réseaux de neuronnes multicouches par hybridation avec la commande prédictive MPC vis-à-vis d'une attaque antagoniste

Publications (1)

Publication Number Publication Date
WO2024110586A1 true WO2024110586A1 (fr) 2024-05-30

Family

ID=86942681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/082862 WO2024110586A1 (fr) 2022-11-24 2023-11-23 Procédé de robustification des réseaux de neurones multicouches par hybridation avec la commande prédictive mpc vis-à-vis d'une attaque antagoniste

Country Status (2)

Country Link
FR (1) FR3142582A1 (fr)
WO (1) WO2024110586A1 (fr)

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
A. ANDONIP. INDYK: "Foundations of Computer Science", 2006, IEEE, article "Near-optimal hashing algorithms for approximate nearest neighbor in high dimensions", pages: 459 - 468
G. ROSSOLINI ET COLL.: "Increasing the Confidence of Deep Neural Networks by Coverage Analysis", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 5 January 2022 (2022-01-05), XP091126020 *
H. GOFORTH AND S. LUCEY: "GPS-Denied UAV Localization using Pre-existing Satellite Imagery", 2019 INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA), IEEE, 20 May 2019 (2019-05-20), pages 2974 - 2980, XP033593521, DOI: 10.1109/ICRA.2019.8793558 *
N. DAS ET COLL.: "Bluff: Interactively Deciphering Adversarial Attacks on Deep Neural Networks", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 8 September 2020 (2020-09-08), XP081757524 *
QUINTANILHA IGOR M. ET AL: "Detecting Out-Of-Distribution Samples Using Low-Order Deep Features Statistics", 28 September 2018 (2018-09-28), pages 1 - 17, XP093132277, Retrieved from the Internet <URL:https://openreview.net/references/pdf?id=rkD2Li5Fm> [retrieved on 20240216] *
ROSSOLINI, INCREASING THE CONFIDENCE OF DEEP NEURLA NETWORKS BY COVERAGE ANALYSIS
USMAN, RULE-BASED RUNTIME MITIGATION AGAISNT POISON ATTACKS ON NEURAL NETWORKS
XU, LANCE : A COMPREHENSIVE AND LIGHTWEIGHT CNN DEFENSE METHODOLOGY AGAINST PHYSICAL ADVERSARIAL ATTACKS ON EMBEDDED MULTIMEDIA APPLICATIONS
Z. XU ET COLL.: "LanCe: A Comprehensive and Lightweight CNN Defense Methodology against Physical Adversarial Attacks on Embedded Multimedia Applications", 25TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE, ASP-DAC 2020, IEEE, 13 January 2020 (2020-01-13), pages 470 - 475, XP033746295, DOI: 10.1109/ASP-DAC47756.2020.9045584 *

Also Published As

Publication number Publication date
FR3142582A1 (fr) 2024-05-31

Similar Documents

Publication Publication Date Title
EP2599021B1 (fr) Procede de determination optimale des caracteristiques et de la disposition d&#39;un ensemble de senseurs de surveillance d&#39;une zone
EP3953662A1 (fr) Procede de definition d&#39;un chemin
CA2377029C (fr) Systeme d&#39;intelligence artificielle pour la classification d&#39;evenements, d&#39;objets ou de situations a partir de signaux et de parametres discriminants issus de modeles
EP1792278B1 (fr) Procede de detection et de pistage de cibles ponctuelles, dans un systeme de surveillance optronique
EP2821893A2 (fr) Procédé de reconnaissance d&#39;un geste et d&#39;un contexte, dispositif, terminal d&#39;utilisateur et programme d&#39;ordinateur associés
FR3062733A1 (fr) Procede de surveillance d&#39;un equipement de type actionneur electromecanique
EP4027269A1 (fr) Procédé de construction et d&#39;entraînement d&#39;un détecteur de la présence d&#39;anomalies dans un signal temporel, dispositifs et procédé associés
EP4179469A1 (fr) Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d&#39;ordinateur associés
WO2024110586A1 (fr) Procédé de robustification des réseaux de neurones multicouches par hybridation avec la commande prédictive mpc vis-à-vis d&#39;une attaque antagoniste
EP4099228A1 (fr) Apprentissage automatique sans annotation ameliore par regroupements adaptatifs en ensemble ouvert de classes
US11875554B2 (en) Method for generating image label, and device
EP4078409A1 (fr) Procédé et dispositif de supervision d&#39;un système de pistage
FR3117647A1 (fr) Méthode d’apprentissage automatique par transfert
EP4322061A1 (fr) Dispositif électronique et procédé de traitement de données comportant au moins un modèle d&#39;intelligence artificielle auto-adaptatif avec apprentissage local, système électronique et programme d&#39;ordinateur associés
EP4165519A1 (fr) Procede et systeme de fusion d&#39;informations
FR3139212A1 (fr) Système et procédé de construction de structures adaptatives de partitionnement de données en flux
FR3131038A1 (fr) Procédé de détermination d’hyper-paramètres de configuration d’un modèle d’apprentissage automatique, système et programme d’ordinateur associés
FR3111217A1 (fr) Méthode de réduction de la taille d’un réseau de neurones artificiel
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
FR3117646A1 (fr) Méthode de compression d’un réseau de neurones artificiel
FR3133683A1 (fr) Procédé de pronostic du temps de vie restant d’au moins un système mécanique et dispositif associé
FR3133255A1 (fr) Dispositif de suivi d&#39;une évolution d&#39;au moins un aéronef dans un espace aérien, système de surveillance et procédé de suivi associés
FR3131041A1 (fr) Procede de mise au point d un dispositif de prediction, procede et systeme associes.
FR3132586A1 (fr) Procédé d’entrainement non supervisé pour la détection de motifs récurrents
WO2023111345A1 (fr) Procédé d&#39;analyse d&#39;une donnée numérique