EP4154189A1 - Procédés d'utilisation sécurisée d'un premier réseau de neurones sur une donnée d'entrée, et d'apprentissage de paramètres d'un deuxième réseau de neurones - Google Patents

Procédés d'utilisation sécurisée d'un premier réseau de neurones sur une donnée d'entrée, et d'apprentissage de paramètres d'un deuxième réseau de neurones

Info

Publication number
EP4154189A1
EP4154189A1 EP21732457.3A EP21732457A EP4154189A1 EP 4154189 A1 EP4154189 A1 EP 4154189A1 EP 21732457 A EP21732457 A EP 21732457A EP 4154189 A1 EP4154189 A1 EP 4154189A1
Authority
EP
European Patent Office
Prior art keywords
neural network
input
approximating
target layer
identity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP21732457.3A
Other languages
German (de)
English (en)
Inventor
Hervé Chabanne
linda GUIGA
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IDEMIA Public Security SAS
Original Assignee
Idemia Identity and Security France SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Idemia Identity and Security France SAS filed Critical Idemia Identity and Security France SAS
Publication of EP4154189A1 publication Critical patent/EP4154189A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0985Hyperparameter optimisation; Meta-learning; Learning-to-learn

Definitions

  • TITLE Methods of secure use of a first neural network on input data, and of learning parameters of a second neural network
  • the present invention relates to the field of artificial intelligence, and in particular to a method of secure use of a first neural network on input data.
  • Neural networks are widely used for the classification of data.
  • a neural network After a phase of machine learning (generally supervised, that is to say on an already classified reference database), a neural network "learns" and becomes on its own capable of applying the same classification to data. unknown. More precisely, the value of the weight and parameters of the NN is gradually modified until the latter is able to carry out the intended task.
  • a phase of machine learning generally supervised, that is to say on an already classified reference database
  • a first way is to increase the size, the number of layers and the number of parameters of the network so as to complicate the task of the attacker. If it works, on the one hand it only slows down the attacker and above all it degrades performance because the neural network is then unnecessarily heavy and difficult to learn.
  • a second avenue is to limit the number of entries that can be submitted to the neural network, or at least to detect suspicious sequences of entries. This is not always applicable, however, since the attacker can legally gain access to the neural network by having paid for unrestricted access, for example.
  • the present invention relates to a method of secure use of a first neural network on an input data item, the method being characterized in that it comprises the implementation by means of data processing of a terminal of steps of:
  • Said convolutional neural network is inserted at the input of a target layer of the first neural network.
  • Said target layer is a layer inside the first neural network.
  • Said convolutional neural network has an output size smaller than an input size of said target layer so as to approximate only certain input channels of this target layer.
  • Step (a) comprises selecting said target layer of the first neural network from among the layers of said first neural network.
  • Step (a) comprises selecting the input channels of said target layer to be approximated from among all the input channels of the target layer.
  • the at least one convolutional neural network approximating the identity function has an output size equal to the product of two integers.
  • the method comprises a preliminary step (aO) of obtaining the parameters of the first neural network and of the at least one convolutional neural network approximating the identity function.
  • Step (aO) includes obtaining the parameters of a convolutional neural network set approximating the identity function.
  • Step (a) comprises selecting from said set of at least one convolutional neural network approximating the identity function to be inserted.
  • Step (a) comprises, for each convolutional neural network approximating the identity function selected, said selection of said target layer of the first neural network from among the layers of said first neural network and / or selection of the input channels of said target layer to be approximated among all the input channels of the target layer.
  • Step (a) further comprises the prior selection of a number of convolutional neural networks approximating the identity function of said set to be selected.
  • Step (aO) is a step, implemented by data processing means of a server, of learning the parameters of the first neural network and of the at least one convolutional neural network approximating the function identity from at least one training database.
  • the first neural network and the convolutional neural network (s) approximating the identity function comprise an alternation of linear layers and activating non-linear layers.
  • Said activation function is the ReLU function.
  • Said target layer is a linear layer of the first neural network.
  • the at least one convolutional neural network approximating the identity function comprises two or three linear layers.
  • the linear layers of the convolutional neural network are filter convolution layers, for example of size 5 ⁇ 5.
  • a method of learning parameters of a second neural network is proposed, the method being characterized in that it comprises the implementation by means of data processing of a server of steps of : (a) construction of the second neural network corresponding to a first neural network into which is inserted at least one convolutional neural network approximating the identity function;
  • a method of secure use of a first neural network on input data comprising the learning of parameters of a second neural network in accordance with the precedent according to the second aspect; and the implementation by data processing means of a terminal of a step (b) of using the second neural network on said input data.
  • the invention relates to a computer program product comprising code instructions for the execution of a method according to the first or the third aspect of secure use of a first neural network on input data, or according to the second aspect of learning parameters of a second neural network; and a storage means readable by a computer equipment on which a computer program product comprises code instructions for the execution of a method according to the first or the third aspect of secure use of a first neural network on an input data item, or according to the second aspect of learning parameters of a second neural network.
  • FIG. 1 is a diagram of an architecture for the implementation of the methods according to the invention.
  • FIG. 2a schematically represents the steps of a first embodiment of a method of secure use of a first neural network on input data according to the invention
  • FIG. 2b schematically represents the steps of a second embodiment of a method of secure use of a first neural network on input data according to the invention
  • FIG. 3 schematically represents an example of the architecture of a second neural network encountered in the implementation of the methods according to the invention.
  • the server 1 is the learning equipment (implementing the second method) and the terminal 2 is a user equipment (implementing the first method. ).
  • Said method of use is implemented on an input datum, and is for example a classification of the input datum among several classes if it is a classification NN (but this task is not necessarily a classification even if it is the most classic).
  • NN classification NN
  • ReLU Rectified Linear Unit
  • each item of equipment 1, 2 is typically remote computer equipment connected to a wide area network 10 such as the Internet network for the exchange of data.
  • a wide area network 10 such as the Internet network for the exchange of data.
  • Each comprises data processing means 11, 21 of processor type, and data storage means 12, 22 such as a computer memory, for example a hard disk.
  • Server 1 stores a learning database, i.e. a set of data for which we already know the associated output, for example already classified (as opposed to the so-called input data that we are trying to process). It can be a high business value learning base that one seeks to keep secret.
  • a learning database i.e. a set of data for which we already know the associated output, for example already classified (as opposed to the so-called input data that we are trying to process). It can be a high business value learning base that one seeks to keep secret.
  • equipment 1 and 2 could be the same equipment, or even the learning base could be a public base.
  • the present method is not limited to a type of NN and therefore not to a particular nature of data, the input or training data may be representative of images, sounds, etc.
  • the 1 st NN can quite be a CNN, even if we will describe later a specialized CNN that we will use in the context of the present process.
  • these are biometric data, the input or training data being typically representative of images or even directly images of biometric features (faces, fingerprints, irises, etc.), or directly. preprocessed data from the biometric features (for example the position of minutiae in the case of fingerprints).
  • the present invention proposes to make the task of attackers more complex without complicating the NN by virtue of artificial hyperplanes.
  • we secure the NN by making it significantly more robust without making it heavier and degrading its performance.
  • first neural network will denote the original NN to be protected and “second neural network” the modified and thus secured NN.
  • securing the 1 st NN can be done a posteriori (once it has been learned), or from the start (ie we directly learn a secure version of the NN) .
  • securing the first network as a second network consists in integrating into its architecture at least one convolutional neural network (CNN) approximating the identity function (the latter will be referred to as “CNN Identity” for convenience).
  • CNN convolutional neural network
  • This “parasitic” CNN does not modify the operation of the NN because its outputs are substantially equal to its inputs. On the other hand, it breaks the original hyperplane structure.
  • FIG. 2a a first embodiment of the method of secure use of the 1 st NN on input data, implemented by the data processing means 21 of the terminal 2.
  • the method advantageously begins with a “preparatory” step (aO) of obtaining the parameters of the 1 st NN and of at least one CNN Identity, preferably a plurality of CNN Identities, in particular of various architectures, of various input sizes and outing, learned on different bases, etc., so as to define an if possible varied set of CNN Identity, we will see this in more detail later.
  • aO a “preparatory” step of obtaining the parameters of the 1 st NN and of at least one CNN Identity, preferably a plurality of CNN Identities, in particular of various architectures, of various input sizes and outing, learned on different bases, etc., so as to define an if possible varied set of CNN Identity, we will see this in more detail later.
  • This step (aO) can be a step of learning each of the networks on a dedicated learning base, in particular of the 1 st NN, preferably implemented by the data processing means 11 of the server 1 for this purpose, but it will be understood that the networks (in particular the CNN Identity) could be pre-existing and taken as is.
  • the CNN Identity (s) can be learned in particular on any public image database, or even on random data (no need for them to be annotated because it is assumed that the entry is also the expected output, possibly up to a noise, see below).
  • An alternative embodiment will be seen later in which there is no this step (aO).
  • step (a) said 2 nd NN corresponding to the 1 st NN in which is inserted at least one convolutional neural network approximating the identity function, in particular one or more selected Identity CNNs, is constructed.
  • step (a) is a step of inserting the CNN Identity (s) into the 1 st NN. If there are more than one CNN Identity selected, they can be inserted one after the other.
  • step (a) advantageously comprises the selection of one or more CNN Identity from said set of CNN Identity, for example randomly.
  • Other “insertion parameters” can be selected, in particular a position in the 1 st NN (target layer) and / or channels of a target layer of the 1 st NN, see below.
  • the set of CNN Identity contains only one CNN so that there is no need for selection, or even that the CNN Identity is learned on the fly.
  • the term “insertion” is understood to mean the addition of the layers of the CNN Identity upstream of the “target” layer of the 1 st NN so that the input of this layer is at least in part the output of the CNN Identity.
  • the CNN Identity "intercepts" all or part of the input of the target layer to replace it with its output. It is understood that since the CNN Identity approximates the identity function, its outputs are substantially identical to its inputs so that the data that the target layer receives are substantially identical to those intercepted.
  • the target layer is preferably a linear layer (and not a non-linear layer with an activation function for example), so the CNN Identity is inserted at the input of a linear layer of the 1 st NN.
  • the target layer is preferably a layer inside the 1 st NN, that is to say a layer other than the first (between the second layer and the last). Particularly preferably, the target layer is thus a linear layer inside the 1 st NN.
  • the CNN Identity has an output size smaller than an input size of said linear layer so as to approximate only certain input channels of this linear layer (i.e. not all).
  • input / output size is meant the number of input / output channels.
  • FIG. 3 represents a 1 st NN with three linear layers (including a central hidden layer), in which a CNN Identity is placed at the input of the second layer.
  • the first layer has eight input channels (size 8), while the identity CNN has only four input / output channels (by definition a CNN approximating the identity function at the same input and output dimensions ).
  • the eight input channels of the first linear layer only four are approximated, and the other four are as is. Affecting only some of the channels (i.e.
  • Step (a) can also comprise, as explained, the selection of the target layer and / or of the input channels of the target layer affected by the CNN Identity (if necessary previously selected). For example, in figure 3 these are channels 1, 2, 3 and 4, but we could have taken any set of four of the eight channels, for example channels 1, 3, 5 and 7. This selection can again be made randomly and dynamically, i.e.
  • new channels are drawn for each new request for use of the 1 st NN, but also according to a sequence, or else according to contextual data, and in particular to the data d 'Entrance.
  • the present invention will not be limited to any way of selecting in particular the target layer / the channels to approximate / the CNN Identity (s), as long as there is an active choice among several possibilities so as to add entropy to make the task ever more complex for a possible attacker .
  • the selection can be made according to the following protocol (each step being optional - each choice can be random or predetermined):
  • a target layer to be assigned ie at the input of which the CNN will be inserted is chosen from among the layers (in particular linear and / or inside) of the 1 st NN;
  • two CNN Identities can be chosen as affecting the same target layer: either the channels concerned are distinct and there is no problem, or at least one channel overlaps and in this case one can either decide that it is not desirable (and one start again the pulling), or accept that one CNN identity is upstream of the other: a channel can thus be approximated twice in a row before to arrive at the input of the target layer.
  • CNN Identity are typically networks working on images, ie two-dimensional objects (“rectangles”), and therefore presenting an equal number of input / output channels. to the product of two integers, ie of the form a * b, where a and b are integers each greater than or equal to two, and even preferably “squares” of dimension a 2 . It is quite possible to imagine using CNNs working on three-dimensional objects and therefore presenting a number of input / output channels equal to the product of three integers, ie of the form a * b * c, etc. In the example of figure 3, we have a CNN Identity working on 2x2 images, and therefore with four input / output channels.
  • step (a) it is assumed that the 2 nd NN has been constructed.
  • this 2 nd NN can be used on said input datum, ie we apply the 2 nN NN to the input datum and we obtain an output datum which can be supplied to the user terminal 2 without any risk of being able to go back to 1 st NN.
  • CNN Identity can include only two or three layers of convolution (although we will not be limited to any architecture).
  • each CNN Identity aims to approximate the identity as well as possible, possibly with a little noise.
  • the Applicant has observed that this works particularly well (see the document A Protection against the Extraction of Neural Network Models, Hervé Chabanne, Vincent DeLite, Linda Guiga, https: // arxiv. Ors / pdf / 2005.12782 df), and in addition it It is also possible to add even more variability in the set of CNN Identity by adding various noises.
  • Tests were carried out by taking as 1 e NN a ReLU NN with three hidden layers of the fully connected network (FCN) type, the hidden layers having respectively 512, 512 and 32 input channels, this FCN being used for handwritten digit recognition (classification of input images of any size).
  • This 1st NN can be trained for the task based learning MNIST (Mixed National Institute of Standards and Technology) and then shows a correct classification rate of 97.9%
  • the CNN Identity evoked before input size 16x16 (256 channels) can be trained on 10,000 random frames, and this gives an average absolute error between input and output of 0.0913%.
  • step (a) of construction of the 2 nd NN from models of the 1 st NN and CNN Identity the case applicable implementing the selections mentioned before to determine the architecture of the 2nd NN, and only then we learn the parameters of the 2nd NN based learning 1 e NN (eg based NIST mentioned above ).
  • step (a) of construction of the 2 nd NN from models of the 1 st NN and CNN Identity, the case applicable implementing the selections mentioned before to determine the architecture of the 2nd NN, and only then we learn the parameters of the 2nd NN based learning 1 e NN (eg based NIST mentioned above ).
  • the invention relates to a method of learning a second neural network, implemented by the data processing means 11 of the server 1, again comprising step (a) of construction of the second neural network corresponding to a first neural network into which is inserted at least one convolutional neural network approximating the identity function; then a step (a1) of learning the parameters of the second neural network from a public learning database.
  • this learning method can be used as part of a method of secure use of a first neural network on input data (like the method according to the first aspect), by adding the same step (b) of using the 2 nd NN to said input data (implemented this time by the data processing means 21 of terminal 1), ie the 2 nd NN is applied to the data input and one obtains an output datum which can be supplied to the user of the terminal 2 without any risk of being able to go back to the 1 st NN.
  • the invention relates to a computer program product comprising code instructions for execution (in particular on the data processing means 11, 21 of the server 1 or of the terminal 2) of a method according to the first or the third aspect of the invention of secure use of a first neural network on input data or a method according to the second aspect of the invention for learning from parameters of a second neural network, as well as storage means readable by computer equipment (a memory 12, 22 of the server 1 or of the terminal 2) on which this computer program product is found.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)

Abstract

La présente invention concerne un procédé d'utilisation sécurisée d'un premier réseau de neurones sur une donnée d'entrée, le procédé étant caractérisé en ce qu'il comprend la mise en œuvre par des moyens de traitement de données (21) d'un terminal (2) d'étapes de: (a) construction d'un deuxième réseau de neurones correspondant au premier réseau de neurones dans lequel est inséré au moins un réseau de neurones à convolution approximant la fonction identité; (b) utilisation du deuxième réseau de neurones sur ladite donnée d'entrée. La présente invention concerne également un procédé d'apprentissage de paramètres du deuxième réseau de neurones

Description

DESCRIPTION
TITRE : Procédés d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée, et d’apprentissage de paramètres d’un deuxième réseau de neurones
DOMAINE TECHNIQUE GENERAL
La présente invention concerne le domaine de l’intelligence artificielle, et en particulier un procédé d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée.
ETAT DE L’ART
Les réseaux de neurones (ou NN, pour neural network) sont massivement utilisés pour la classification de données.
Après une phase d’apprentissage automatique (généralement supervisé, c’est-à-dire sur une base de données de référence déjà classifiées), un réseau de neurones « apprend » et devient tout seul capable d’appliquer la même classification à des données inconnues. Plus précisément, la valeur de poids et paramètres du NN est progressivement modifiée jusqu’à ce que ce dernier soit capable de mettre en œuvre la tâche visée.
Des progrès significatifs ont été réalisés les dernières années, aussi bien sur les architectures des réseaux de neurones, que sur les techniques d’apprentissage (en particulier en apprentissage profond) ou encore sur les bases d’apprentissage (taille et qualité de ces dernières), et des tâches auparavant considérées comme impossibles sont aujourd’hui accomplies par des réseaux de neurones avec une excellente fiabilité.
Tout cela fait que les réseaux de neurones performants et leurs bases d’apprentissage ont aujourd’hui une forte valeur commerciale et sont traités comme des « secrets d’affaire » à protéger. De surcroît, beaucoup de bases de données contiennent des données potentiellement personnelles (par exemple des empreintes digitales) qui doivent rester confidentielles.
Malheureusement, ont été récemment développées des techniques de « reverse engineering » permettant à un attaquant d’extraire les paramètres et le modèle de n’importe quel réseau de neurones dès lors qu’on est capable de lui soumettre suffisamment de requêtes bien choisies, comme décrit dans le document Cryptanalytic Extraction of Neural Network Models, Nicholas Carlini, Matthew Jagielski, llya Mironov https://arxiv. org/pdf/2QQ3.04884v1.pdf. Ainsi, même dans un fonctionnement « boite noire » dans lequel on n'aurait accès qu’aux entrées et aux sorties (par exemple via un client web) on pourrait retrouver l’intérieur du réseau.
L’idée est de constater que dans un réseau de neurones, on trouve une alternance de couches linéaire et couches non-linéaires mettant en œuvre une fonction d’activation telle que ReLU. Cette non-linéarité entraîne des « points critiques » de saut du gradient, et on peut ainsi géométriquement définir pour chaque neurone un hyperplan de l’espace d’entrée du réseau tel que la sortie est à un point critique. Les hyperplans de la deuxième couche sont « pliés » par les hyperplans de la première couche et, ainsi de suite.
L’attaquant peut par exploration retrouver les intersections des hyperplans et progressivement tout le réseau de neurone. Un défi supplémentaire rencontré par les réseaux de neurones est l’existence des « perturbations antagonistes », c’est-à-dire des changements imperceptibles qui lorsque appliqués sur une entrée du réseau de neurone changent significativement la sortie. On voit par exemple dans le document A Simple Explanation for the Existence of Adversarial Examples with Small Hamming Distance par Adi Shamir, Itay Safran, Eyal Ronen, et Orr Dunkelman, https://arxiv. oro/odf/1901.10861v1.pdf comment une perturbation antagoniste appliquée sur une image de chat peut conduire à celle-ci classifiée à tort comme une image de guacamole.
Plus précisément, dès lors qu’un attaquant a réussi à identifier le découpage en hyperplans évoqué avant, il peut déterminer un vecteur permettant, à partir d’un point de l’espace d’entrée, de franchir un hyperplan et donc de modifier la sortie.
On comprend donc qu’il est essentiel de parvenir à sécuriser les réseaux de neurones. Une première piste est d’augmenter la taille, le nombre de couches et le nombre de paramètres du réseau de sorte à compliquer la tâche de l’attaquant. Si cela fonctionne, d’une part cela ne fait que ralentir l’attaquant et surtout cela dégrade les performances car le réseau de neurone est alors inutilement lourd et difficile à apprendre.
Une deuxième piste est de limiter le nombre d’entrées pouvant être soumises au réseau de neurones, ou du moins de détecter les séquences suspectes d’entrées. Cela n’est toutefois pas toujours applicables, puisque l’attaquant peut légalement avoir accès au réseau de neurones en ayant par exemple payé un accès sans restriction.
Ainsi, on pourrait encore améliorer la situation.
PRESENTATION DE L’INVENTION Selon un premier aspect, la présente invention concerne un procédé d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée, le procédé étant caractérisé en ce qu’il comprend la mise en œuvre par des moyens de traitement de données d’un terminal d’étapes de :
(a) construction d’un deuxième réseau de neurones correspondant au premier réseau de neurones dans lequel est inséré au moins un réseau de neurones à convolution approximant la fonction identité ;
(b) utilisation du deuxième réseau de neurones sur ladite donnée d’entrée.
Selon d’autres caractéristiques avantageuses et non limitatives : Ledit réseau de neurones à convolution est inséré en entrée d’une couche cible du premier réseau de neurones.
Ladite couche cible est une couche à l’intérieur du premier réseau de neurones.
Ledit réseau de neurones à convolution présente une taille de sortie inférieure à une taille d’entrée de ladite couche cible de sorte à approximer seulement certains canaux d’entrée de cette couche cible.
L’étape (a) comprend la sélection de ladite couche cible du premier réseau de neurones parmi les couches dudit premier réseau de neurones. L’étape (a) comprend la sélection des canaux d’entrée de ladite couche cible à approximer parmi tous les canaux d’entrée de la couche cible.
L’au moins un réseau de neurones à convolution approximant la fonction identité présente une taille de sortie égale au produit de deux entiers. Le procédé comprend une étape (aO) préalable d’obtention des paramètres du premier réseau de neurones et de l’au moins un réseau de neurones à convolution approximant la fonction identité.
L’étape (aO) comprend l’obtention des paramètres d’un ensemble de réseau de neurones à convolution approximant la fonction identité. L’étape (a) comprend la sélection dans ledit ensemble d’au moins un réseau de neurones à convolution approximant la fonction identité à insérer.
L’étape (a) comprend, pour chaque réseau de neurones à convolution approximant la fonction identité sélectionné, ladite sélection de ladite couche cible du premier réseau de neurones parmi les couches dudit premier réseau de neurones et/ou la sélection des canaux d’entrée de ladite couche cible à approximer parmi tous les canaux d’entrée de la couche cible.
L’étape (a) comprend en outre la sélection préalable d’un nombre de réseaux de neurones à convolution approximant la fonction identité dudit ensemble à sélectionner. L’étape (aO) est une étape, mise en œuvre par des moyens de traitement de données d’un serveur, d’apprentissage des paramètres du premier réseau de neurones et de l’au moins un réseau de neurones à convolution approximant la fonction identité à partir d’au moins une base de données d’apprentissage.
Le premier réseau de neurones et le ou les réseaux de neurones à convolution approximant la fonction identité comprennent une alternance de couches linéaires et de couches non-linéaires à fonction d’activation.
Ladite fonction d’activation est la fonction ReLU.
Ladite couche cible est une couche linéaire du premier réseau de neurones. l’au moins un réseau de neurones à convolution approximant la fonction identité comprend deux ou trois couches linéaires.
Les couches linéaires du réseau de neurones à convolution sont des couches de convolution à filtre par exemple de taille 5x5. Selon un deuxième aspect est proposé un procédé d’apprentissage de paramètres d’un deuxième réseau de neurones, le procédé étant caractérisé en ce qu’il comprend la mise en œuvre par des moyens de traitement de données d’un serveur d’étapes de : (a) construction du deuxième réseau de neurones correspondant à un premier réseau de neurones dans lequel est inséré au moins un réseau de neurones à convolution approximant la fonction identité ;
(a1) apprentissage des paramètres du deuxième réseau de neurones à partir d’une base de données d’apprentissage
Selon un troisième aspect est proposé un procédé d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée, le procédé comprenant l’apprentissage de paramètres d’un deuxième réseau de neurones conformément au précédé selon le deuxième aspect ; et la mise en œuvre par des moyens de traitement de données d’un terminal d’une étape (b) d’utilisation du deuxième réseau de neurones sur ladite donnée d’entrée.
Selon un quatrième et un cinquième aspect, l’invention concerne un produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé selon le premier ou le troisième aspect d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée, ou selon le deuxième aspect d’apprentissage de paramètres d’un deuxième réseau de neurones ; et un moyen de stockage lisible par un équipement informatique sur lequel un produit programme d’ordinateur comprend des instructions de code pour l’exécution d’un procédé selon le premier ou le troisième aspect d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée, ou selon le deuxième aspect d’apprentissage de paramètres d’un deuxième réseau de neurones .
PRESENTATION DES FIGURES
D’autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description qui va suivre d’un mode de réalisation préférentiel. Cette description sera donnée en référence aux dessins annexés dans lesquels : [Fig. 1]la figure 1 est un schéma d’une architecture pour la mise en œuvre des procédés selon l’invention ;
[Fig. 2a]la figure 2a représente schématiquement les étapes d’un premier mode de réalisation d’un procédé d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée selon l’invention ;
[Fig. 2b]la figure 2b représente schématiquement les étapes d’un deuxième mode de réalisation d’un procédé d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée selon l’invention ;
[Fig. 3]la figure 3 représente schématiquement un exemple d’architecture d’un deuxième réseau de neurones rencontré dans la mise en œuvre des procédés selon l’invention.
DESCRIPTION DETAILLEE Architecture
Selon deux aspects complémentaires de l’invention, sont proposés :
- un procédé d’utilisation sécurisée d’un premier réseau de neurones (1e NN) - un procédé d’apprentissage de paramètres d’un deuxième réseau de neurones (2e NN).
Ces deux types de procédés sont mis en œuvre au sein d’une architecture telle que représentée par la [Fig. 1], grâce à au moins un serveur 1 et un terminal 2. Le serveur 1 est l’équipement d’apprentissage (mettant en œuvre le deuxième procédé) et le terminal 2 est un équipement d’utilisation (mettant en œuvre le premier procédé). Ledit procédé d’utilisation est mis en œuvre sur une donnée d’entrée, et est par exemple une classification de la donnée d’entrée parmi plusieurs classes si c’est un NN de classification (mais cette tâche n’est pas nécessairement une classification même si c’est la plus classique). On ne sera limité à aucun type de NN en particulier, même si typiquement il s’agit d’une alternance de couches linéaires et de couches non-linéaire à fonction d’activation ReLU (Rectified Linear Unit, i.e. Unité de Rectification Linéaire) qui est égale à s(c) = max(0, x). On comprend donc que chaque hyperplan correspond à l’ensemble des points de l’espace d’entrée tels qu’une sortie d’une couche linéaire est égale à zéro. On notera « ReLU NN » un tel réseau de neurones.
Dans tous les cas, chaque équipement 1, 2 est typiquement un équipement informatique distant relié à un réseau étendu 10 tel que le réseau internet pour l’échange des données. Chacun comprend des moyens de traitement de données 11, 21 de type processeur, et des moyens de stockage de données 12, 22 telle qu’une mémoire informatique, par exemple un disque dur.
Le serveur 1 stocke une base de données d’apprentissage, i.e. un ensemble de données pour lesquelles on connaît déjà la sortie associée, par exemple déjà classifiées (par opposition aux données dites d’entrée que l’on cherche justement à traiter). Il peut s’agir d’une base d’apprentissage à haute valeur commerciale qu’on cherche à garder secrète.
On comprendra qu’il reste possible que les équipements 1 et 2 puissent être le même équipement, voire la base d’apprentissage être une base publique.
A noter que le présent procédé n’est pas limité à un type de NN et donc pas à une nature particulière de données, les données d’entrée ou d’apprentissage peuvent être représentatives d’images, de sons, etc. Le 1e NN peut tout à fait être un CNN, même si l’on décrira plus loin un CNN spécialisé qu’on va utiliser dans le cadre du présent procédé.
Dans un mode de réalisation préféré il s’agit de données biométriques, les données d’entrée ou d’apprentissage étant typiquement représentatives d’images voire directement des images de traits biométriques (visages, empreintes digitales, iris, etc.), ou directement des données prétraitées issues des traits biométriques (par exemple la position de minuties dans le cas d’empreintes digitales).
Principe
La présente invention propose de complexifier la tâche des attaquants sans complexifier le NN grâce à des hyperplans artificiels. En d’autres termes on sécurise le NN en le rendant nettement plus robuste sans pour autant l’alourdir et dégrader ses performances. Par commodité on nommera « premier réseau de neurones » le NN d’origine à protéger et « deuxième réseau de neurones » le NN modifié et ainsi sécurisé. A noter que, comme l’on verra plus tard, la sécurisation du 1e NN peut être faite a posteriori (une fois qu’il a été appris), ou dès l’origine (i.e. on apprend directement une version sécurisée du NN).
Plus en détails, la sécurisation du premier réseau en deuxième réseau consiste à intégrer dans son architecture au moins un réseau de neurones à convolution (CNN) approximant la fonction identité (on fera référence à ce dernier en tant que « CNN Identité » par commodité). Ce CNN « parasite » ne modifie pas le fonctionnement du NN car ses sorties sont sensiblement égales à ses entrées. Par contre il brise la structure en hyperplans d’origine.
L’idée d’approximer la fonction identité est très originale pour un CNN, car c’est une tâche contre-nature qu’il a du mal à accomplir. Pour reformuler, on cherche toujours à ce qu’un CNN accomplisse des traitements sémantiquement complexes (comme par exemple de la segmentation d’image), et jamais une tâche aussi triviale que de reproduire sa propre entrée.
De surcroît, comme l’on verra plus loin, on peut insérer plusieurs CNN Identité dans le 1e NN, à divers endroits, impliquant certains canaux, le tout choisi le cas échéant de manière dynamique et aléatoire, ce qui ne laisse plus aucune chance à un attaquant (il faudrait un nombre inimaginable de requêtes envoyées au 2e NN pour arriver à retrouver le 1e NN d’origine sous les hyperplans artificiels).
Procédé
Selon un premier aspect, est proposé en référence à la [Fig. 2a] un premier mode de réalisation du procédé d’utilisation sécurisée du 1e NN sur une donnée d’entrée, mis en œuvre par les moyens de traitement de données 21 du terminal 2.
Le procédé commence avantageusement par une étape « préparatoire » (aO) d’obtention des paramètres du 1e NN et d’au moins un CNN Identité, préférentiellement une pluralité de CNN Identité, notamment de diverses architectures, de diverses tailles d’entrée et sortie, appris sur des bases différentes, etc., de sorte à définir un ensemble si possible varié de CNN Identité, on verra cela plus en détail plus loin.
Cette étape (aO) peut être une étape d’apprentissage de chacun des réseaux sur une base d’apprentissage dédiée, en particulier du 1e NN, préférentiellement mise en œuvre par les moyens de traitement de données 11 du serveur 1 à cet effet, mais on comprendra que les réseaux (en particulier les CNN Identité) pourraient être préexistants et pris en l’état. En tout état de cause, le ou les CNN Identité peuvent être appris en particulier sur n’importe quelle base d’images publiques, voire même sur des données aléatoires (pas besoin qu’elles soient annotées car on suppose que l’entrée est aussi la sortie attendue, éventuellement à un bruit près, voir plus loin). On verra plus loin un mode de réalisation alternatif dans lequel il n’y a pas cette étape (aO).
Dans une étape principale (a), on construit ledit 2e NN correspondant au 1e NN dans lequel est inséré au moins un réseau de neurones à convolution approximant la fonction identité, en particulier un ou plusieurs CNN Identité sélectionné(s). En d’autres termes, l’étape (a) est une étape d’insertion du ou des CNN Identité dans le 1e NN. S’il y a plusieurs CNN Identité sélectionnés, ils peuvent être insérés chacun à la suite.
A ce titre, l’étape (a) comprend avantageusement la sélection d’un ou plusieurs CNN Identité dans ledit ensemble de CNN Identité, par exemple aléatoirement. D’autres « paramètres d’insertion » peuvent être sélectionnés, notamment une position dans le 1e NN (couche cible) et/ou des canaux d’une couche cible du 1e NN, voir plus loin. En tout état de cause il reste possible que l’ensemble de CNN Identité ne contienne qu’un seul CNN de sorte qu’il n’y a pas besoin de sélection, voire même que le CNN Identité soit appris à la volée.
Par insertion, on entend l’ajout des couches du CNN Identité en amont de la couche « cible » du 1e NN de sorte que l’entrée de cette couche soit au moins en partie la sortie du CNN Identité. En d’autres termes, le CNN Identité « intercepte » tout ou partie de l’entrée de la couche cible pour la remplacer par sa sortie. On comprend que comme le CNN Identité approxime la fonction identité, ses sorties sont sensiblement identiques à ses entrées de sorte que les données que reçoit la couche cible sont sensiblement identiques à celles interceptées. La couche cible est préférentiellement une couche linéaire (et pas une couche non-linéaire à fonction d’activation par exemple), de sorte le CNN Identité est inséré en entrée d’une couche linéaire du 1e NN.
La couche cible est préférentiellement une couche à l’intérieur du 1e NN, c’est-à-dire une couche autre que la première (entre la deuxième couche et la dernière). De manière particulièrement préférée, la couche cible est ainsi une couche linéaire à l’intérieur du 1e NN.
Avantageusement, le CNN Identité présente une taille de sortie inférieure à une taille d’entrée de ladite couche linéaire de sorte à approximer seulement certains canaux d’entrée de cette couche linéaire (i.e. pas tous). Par taille d’entrée/sortie, on entend le nombre de canaux d’entrée/sortie.
C’est ce que l’on voit dans l’exemple de la [Fig. 3], qui représente un 1e NN à trois couches linéaires (dont une couche cachée centrale), dans lequel un CNN Identité est disposé en entrée de la deuxième couche. On voit que la première couche présente huit canaux d’entrée (taille 8), alors que le CNN identité présente seulement quatre canaux d’entrée/sortie (par définition un CNN approximant la fonction identité à les mêmes dimensions d’entrée et de sortie). Ainsi, sur les huit canaux d’entrée de la première couche linéaire, seuls quatre sont approximés, et les quatre autres sont tel quels. Le fait de n’affecter que certains des canaux (i.e. pas tous les neurones) a trois avantages : le CNN peut être plus petit et donc impliquer moins de calculs lors de l’exécution, le fait d’affecter seulement partiellement une couche génère des perturbations surprenantes pour un attaquant, et on peut même disposer plusieurs CNN sous une couche et donc augmenter encore davantage les perturbations des hyperplans pour un attaquant. L’étape (a) peut également comprendre comme expliqué la sélection de la couche cible et/ou des canaux d’entrée de la couche cible affectés par le CNN Identité (le cas échéant préalablement sélectionné). Par exemple, dans la figure 3 il s’agit des canaux 1 , 2, 3 et 4, mais on aurait pu prendre n’importe quel ensemble de quatre canaux parmi les huit, par exemple les canaux 1 , 3, 5 et 7. Cette sélection peut à nouveau être faite au hasard et dynamiquement, i.e. on tire des nouveaux canaux à chaque nouvelle requête d’utilisation du 1e NN, mais également selon une séquence, ou bien en fonction de données contextuelles, et notamment de la donnée d’entrée. La présente invention ne sera limitée à aucune façon de sélectionner en particulier la couche cible/les canaux à approximer/le ou les CNN Identité, tant qu’il y a un choix actif parmi plusieurs possibilités de sorte à rajouter de l’entropie pour complexifier toujours plus la tâche pour un éventuel attaquant. En pratique la sélection peut être faite selon le protocole suivant (chaque étape étant optionnelle - chaque choix peut être aléatoire ou prédéterminé) :
1. on choisit un nombre de CNN Identité à insérer ;
2. on tire autant de CNN Identité que ce nombre dans l’ensemble des CNN Identité (avec ou sans remise) ; 3. pour chaque CNN Identité tiré on choisit une couche cible à affecter (i.e. en entrée de laquelle le CNN sera inséré) parmi les couches (en particulier linéaires et/ou à l’intérieur) du 1e NN ;
4. pour chaque CNN Identité tiré on choisit autant de canaux d’entrée de la couche cible associée que le nombre de canaux d’entrée/sortie de ce CNN Identité.
En ce qui concerne le point 3., il est à noter que deux CNN Identité peuvent être choisis comme affectant la même couche cible : soit les canaux concernés sont distincts et il n’y a aucun problème, soit au moins un canal se recoupe et dans ce cas-là on peut soit décider que ce n’est pas souhaitable (et on recommencer le tirage), soit accepter qu’un CNN identité soit en amont de l’autre : un canal peut ainsi être approximé deux fois de suite avant d’arriver en entrée de la couche cible.
En ce qui concerne le point 4., il est à noter que les CNN Identité sont typiquement des réseaux travaillant sur des images, i.e. des objets bidimensionnels (des « rectangles »), et donc présentant un nombre de canaux d’entrée/sortie égale au produit de deux entiers, i.e. de la forme a*b, où a et b sont des entiers chacun supérieur ou égal à deux, et même préférentiellement des « carrés » de dimension a2. On peut tout à fait imaginer utiliser des CNN travaillant sur des objets tridimensionnels et donc présentant un nombre de canaux d’entrée/sortie égale au produit de trois entiers, i.e. de la forme a*b*c, etc. Dans l’exemple de la figure 3, on a un CNN Identité travaillant sur des images 2x2, et donc à quatre canaux d’entrée/sortie.
A noter enfin que les actions de sélection et de construction peuvent être partiellement imbriquées (et donc mise en œuvre en même temps) : s’il y a plusieurs CNN identité à insérer, on peut déterminer les paramètres d’insertion pour le premier, l’insérer, déterminer les paramètres d’insertion du deuxième, l’insérer, etc. De plus, comme expliqué la sélection de la couche cible et/ou des canaux peut être faite à la volée dans l’étape (a). A l’issue de l’étape (a) on suppose que le 2e NN est construit. Alors, dans une étape (b) ce 2e NN peut être utilisé sur ladite donnée d’entrée, i.e. on applique le 2e NN à la donnée d’entrée et on obtient une donnée de sortie qui peut être fournie à l’utilisateur du terminal 2 sans aucun risque de pouvoir remonter au 1e NN. CNN Identité
Des CNN de faible taille uniquement constitués d’une alternance de couches de convolution (couches linéaires) et couches non-linéaires à fonction d’activation telle que ReLU donnent de très bons résultats à la fois en qualité d’approximation de l’identité et en complexification des hyperplans sans alourdir le 1e NN pour autant.
Par exemple le CNN Identité peut comprendre seulement deux ou trois couches de convolution (même si on ne sera limité à aucune architecture).
Selon un mode de réalisation particulièrement préféré on peut prendre un CNN Identité d’entrée/sortie carrée de taille jusqu’à 16x16 avec deux ou trois couches de convolution à filtres de taille 5x5.
A noter que chaque CNN Identité vise à approximer au mieux l’identité, éventuellement à un petit bruit près. A ce titre, à l’apprentissage on peut alternativement au fait d’utiliser l’entrée « telle quelle » comme sortie attendue, utiliser l’entrée auquel un bruit a été ajoutée, préférentiellement un bruit Gaussien centré. La Demanderesse a constaté que cela marchait particulièrement bien (voir le document A Protection against the Extraction of Neural Network Models, Hervé Chabanne, Vincent Despiegel, Linda Guiga, https://arxiv. ors/pdf/2005.12782 df) , et en plus il est possible de rajouter également encore plus de variabilité dans l’ensemble des CNN Identité en ajoutant divers bruits.
Bien entendu on pourra dans tout ou partie de l’ensemble des CNN Identité n’ajouter aucun bruit, i.e. approximer au mieux la fonction identité. Tests
Des tests ont été faits en prenant comme 1e NN un ReLU NN à trois couches cachées de type réseau entièrement connecté (FCN, Fully-connected network), les couches cachées ayant respectivement 512, 512 et 32 canaux d’entrée, ce FCN étant utilisé pour la reconnaissance de chiffres manuscrits (classification d’images d’entrée de taille quelconque). Ce 1e NN peut être entraîné pour cette tâche sur la base d’apprentissage MNIST (Mixed National Institute of Standards and Technology) et montre alors un taux de classification correct de 97.9%
Le CNN Identité évoqué avant de taille d’entrée 16x16 (256 canaux) peut être entraîné sur 10000 images aléatoires, et on obtient une erreur absolue moyenne entre l’entrée et la sortie de 0.0913%.
L’insertion de ce CNN Identité sur 256 des 512 canaux d’entrée de la première ou deuxième couche cachée du 1e NN ne montre aucune baisse du taux de classification correct pour le 2e NN.
Apprentissage a posteriori
Alternativement à l’obtention préalable des paramètres du 1e NN et du ou des CNN Identité, on peut directement commencer par l’étape (a) de construction du 2e NN à partir de modèles des 1e NN et CNN Identité, le cas échéant en mettant en œuvre les sélections évoquées avant pour déterminer l’architecture du 2e NN, et ensuite seulement on apprend les paramètres du 2e NN sur la base d’apprentissage du 1e NN (par exemple la base NIST évoquée ci-avant). Il s’agit du mode de réalisation illustré par la [Fig. 2b], on comprend que la construction et l’apprentissage sont cette fois mis en œuvre du côté du serveur 1 .
Cela évite d’avoir à apprendre séparément les paramètres du CNN Identité puisque ses paramètres propres sont automatiquement appris en même temps que ceux du reste du NN.
Les résultats sont équivalents, le seul désagrément est qu’il n’est pas possible de « reconstruire » dynamiquement le 2e NN à chaque requête car ce serait trop long de remettre en œuvre un apprentissage à chaque fois. Ainsi, selon un deuxième aspect, l’invention concerne un procédé d’apprentissage d’un deuxième réseau de neurones, mis en œuvre par les moyens de traitement de données 11 du serveur 1 , comprenant à nouveau l’étape (a) de construction du deuxième réseau de neurones correspondant à un premier réseau de neurones dans lequel est inséré au moins un réseau de neurones à convolution approximant la fonction identité ; puis une étape (a1 ) d’apprentissage des paramètres du deuxième réseau de neurones à partir d’une base de données publique d’apprentissage.
Dans un troisième aspect de l’invention, on peut utiliser ce procédé d’apprentissage comme partie d’un procédé d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée (comme le procédé selon le premier aspect), en rajoutant la même étape (b) d’utilisation du 2e NN sur ladite donnée d’entrée (mise en œuvre cette fois par les moyens de traitement de données 21 du terminal 1 ), i.e. on applique le 2e NN à la donnée d’entrée et on obtient une donnée de sortie qui peut être fournie à l’utilisateur du terminal 2 sans aucun risque de pouvoir remonter au 1e NN.
Produit programme d’ordinateur Selon un quatrième et un cinquième aspects, l’invention concerne un produit programme d’ordinateur comprenant des instructions de code pour l’exécution (en particulier sur les moyens de traitement de données 11 , 21 du serveur 1 ou du terminal 2) d’un procédé selon le premier ou le troisième aspect de l’invention d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée ou un procédé selon le deuxième aspect de l’invention d’apprentissage de paramètres d’un deuxième réseau de neurones, ainsi que des moyens de stockage lisibles par un équipement informatique (une mémoire 12, 22 du serveur 1 ou du terminal 2) sur lequel on trouve ce produit programme d’ordinateur.

Claims

REVENDICATIONS
1. Procédé d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée, le procédé étant caractérisé en ce qu’il comprend la mise en œuvre par des moyens de traitement de données (21 ) d’un terminal (2) d’étapes de :
(a) construction d’un deuxième réseau de neurones correspondant au premier réseau de neurones dans lequel est inséré en entrée d’une couche cible à l’intérieur du premier réseau de neurones au moins un réseau de neurones à convolution approximant la fonction identité ;
(b) utilisation du deuxième réseau de neurones sur ladite donnée d’entrée.
2. Procédé selon la revendication 1 , dans lequel ledit réseau de neurones à convolution présente une taille de sortie inférieure à une taille d’entrée de ladite couche cible de sorte à approximer seulement certains canaux d’entrée de cette couche cible.
3. Procédé selon l’une des revendications 1 et 2, dans lequel l’étape (a) comprend la sélection de ladite couche cible du premier réseau de neurones parmi les couches dudit premier réseau de neurones
4. Procédé selon l’une des revendications 1 à 3, dans lequel l’étape (a) comprend la sélection de canaux d’entrée de ladite couche cible à approximer parmi tous les canaux d’entrée de la couche cible.
5. Procédé selon l’une des revendications 1 à 4, dans lequel l’au moins un réseau de neurones à convolution approximant la fonction identité présente une taille de sortie égale au produit de deux entiers.
6. Procédé selon l’une des revendications 1 à 5, comprenant une étape (aO) préalable d’obtention des paramètres du premier réseau de neurones et de l’au moins un réseau de neurones à convolution approximant la fonction identité.
7. Procédé selon la revendication 6, dans lequel l’étape (aO) comprend l’obtention des paramètres d’un ensemble de réseau de neurones à convolution approximant la fonction identité, l’étape (a) comprenant la sélection dans ledit ensemble d’au moins un réseau de neurones à convolution approximant la fonction identité à insérer.
8. Procédé selon la revendication 7, dans lequel l’étape (a) comprend, pour chaque réseau de neurones à convolution approximant la fonction identité sélectionné, la sélection de ladite couche cible du premier réseau de neurones parmi les couches dudit premier réseau de neurones et/ou la sélection des canaux d’entrée de ladite couche cible à approximer parmi tous les canaux d’entrée de la couche cible.
9. Procédé selon l’une des revendications 7 et 8, dans lequel l’étape (a) comprend en outre la sélection préalable d’un nombre de réseaux de neurones à convolution approximant la fonction identité dudit ensemble à sélectionner.
10. Procédé selon l’une des revendications 6 à 9, dans lequel l’étape (aO) est une étape mise en œuvre par des moyens de traitement de données (11 ) d’un serveur (1) d’apprentissage des paramètres du premier réseau de neurones et de l’au moins un réseau de neurones à convolution approximant la fonction identité à partir d’au moins une base de données d’apprentissage.
11. Procédé selon l’une des revendications 1 à 10, dans lequel le premier réseau de neurones et le ou les réseaux de neurones à convolution approximant la fonction identité comprennent une alternance de couches linéaires et de couches non-linéaires à fonction d’activation telle que la fonction ReLU.
12. Procédé selon la revendication 11 , dans lequel ladite couche cible est une couche linéaire.
13. Procédé selon l’une des revendications 11 et 12, dans lequel l’au moins un réseau de neurones à convolution approximant la fonction identité comprend deux ou trois couches linéaires, qui sont des couches de convolution à filtre par exemple de taille 5x5.
14. Procédé d’apprentissage des paramètres d’un deuxième réseau de neurones, le procédé étant caractérisé en ce qu’il comprend la mise en œuvre par des moyens de traitement de données (11 ) d’un serveur (1 ) d’étapes de :
(a) construction du deuxième réseau de neurones correspondant à un premier réseau de neurones dans lequel est inséré en entrée d’une couche cible à l’intérieur du premier réseau de neurones au moins un réseau de neurones à convolution approximant la fonction identité ; (a1) apprentissage des paramètres du deuxième réseau de neurones à partir d’une base de données d’apprentissage
15. Procédé d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée, le procédé comprenant l’apprentissage de paramètres d’un deuxième réseau de neurones conformément au procédé selon la revendication 14 ; et la mise en œuvre par des moyens de traitement de données (21 ) d’un terminal (2) d’une étape (b) d’utilisation du deuxième réseau de neurones sur ladite donnée d’entrée.
16. Produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé selon l’une des revendications 1 à 15 d’apprentissage de paramètres d’un deuxième réseau de neurones, ou d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée, lorsque ledit programme est exécuté par un ordinateur.
17. Moyen de stockage lisible par un équipement informatique sur lequel un produit programme d’ordinateur comprend des instructions de code pour l’exécution d’un procédé selon l’une des revendications 1 à 15 d’apprentissage de paramètres d’un deuxième réseau de neurones, ou d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée.
EP21732457.3A 2020-05-18 2021-05-14 Procédés d'utilisation sécurisée d'un premier réseau de neurones sur une donnée d'entrée, et d'apprentissage de paramètres d'un deuxième réseau de neurones Pending EP4154189A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2004945A FR3110268B1 (fr) 2020-05-18 2020-05-18 Procédés d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée, et d’apprentissage de paramètres d’un deuxième réseau de neurones
PCT/FR2021/050842 WO2021234252A1 (fr) 2020-05-18 2021-05-14 Procédés d'utilisation sécurisée d'un premier réseau de neurones sur une donnée d'entrée, et d'apprentissage de paramètres d'un deuxième réseau de neurones

Publications (1)

Publication Number Publication Date
EP4154189A1 true EP4154189A1 (fr) 2023-03-29

Family

ID=72644318

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21732457.3A Pending EP4154189A1 (fr) 2020-05-18 2021-05-14 Procédés d'utilisation sécurisée d'un premier réseau de neurones sur une donnée d'entrée, et d'apprentissage de paramètres d'un deuxième réseau de neurones

Country Status (5)

Country Link
US (1) US20230196073A1 (fr)
EP (1) EP4154189A1 (fr)
JP (1) JP7521010B2 (fr)
FR (1) FR3110268B1 (fr)
WO (1) WO2021234252A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3133469B1 (fr) 2022-03-09 2024-11-01 Idemia Identity & Security France Procédé d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017176384A2 (fr) * 2016-02-24 2017-10-12 Sri International Réseaux neuronaux de faible précision utilisant la décomposition en sous-bandes
US10339445B2 (en) * 2016-10-10 2019-07-02 Gyrfalcon Technology Inc. Implementation of ResNet in a CNN based digital integrated circuit
RU2667879C1 (ru) * 2017-05-30 2018-09-24 Общество с ограниченной ответственностью "Аби Продакшн" Обработка и анализ данных на изображениях компьютерной томографии
US10650929B1 (en) * 2017-06-06 2020-05-12 PathAI, Inc. Systems and methods for training a model to predict survival time for a patient
US11023593B2 (en) * 2017-09-25 2021-06-01 International Business Machines Corporation Protecting cognitive systems from model stealing attacks
US10679129B2 (en) * 2017-09-28 2020-06-09 D5Ai Llc Stochastic categorical autoencoder network
US11315570B2 (en) * 2018-05-02 2022-04-26 Facebook Technologies, Llc Machine learning-based speech-to-text transcription cloud intermediary
KR102198817B1 (ko) * 2018-09-12 2021-01-05 주식회사 석영시스템즈 열·공조 시스템에 대한 수요 반응 결정 모델을 생성하는 방법 및 수요 반응을 수행하기 위한 방법
CN109886210B (zh) 2019-02-25 2022-07-19 百度在线网络技术(北京)有限公司 一种交通图像识别方法、装置、计算机设备和介质
US11227187B1 (en) * 2019-05-23 2022-01-18 Augustus Intelligence Inc. Generating artificial intelligence solutions using raw data and simulated data
US11527319B1 (en) * 2019-09-13 2022-12-13 PathAI, Inc. Systems and methods for frame-based validation
EP4038631B1 (fr) * 2019-10-03 2025-07-02 Howmedica Osteonics Corp. Cascade de modèles d'apprentissage machine pour suggérer des composants d'implants à utiliser dans des chirurgies orthopédiques de réparation des articulations

Also Published As

Publication number Publication date
JP2023526809A (ja) 2023-06-23
WO2021234252A1 (fr) 2021-11-25
US20230196073A1 (en) 2023-06-22
FR3110268A1 (fr) 2021-11-19
JP7521010B2 (ja) 2024-07-23
FR3110268B1 (fr) 2022-10-21

Similar Documents

Publication Publication Date Title
EP3707676B1 (fr) Procédé d'estimation de pose d'une caméra dans le référentiel d'une scène tridimensionnelle, dispositif, système de réalite augmentée et programme d'ordinateur associé
EP3736744B1 (fr) Procédé de classification sécurisée d'une donnée d'entrée au moyen d'un réseau de neurones à convolution
FR2884008A1 (fr) Systeme et procede de localisation de points d'interet dans une image d'objet mettant en oeuvre un reseau de neurones
FR3087558A1 (fr) Procede d'extraction de caracteristiques d'une empreinte digitale representee par une image d'entree
FR3079329A1 (fr) Procedes d'apprentissage de parametres d'un reseau de neurones a convolution, et de classification d'une donnee d'entree
FR3069357A1 (fr) Systeme d'apprentissage machine pour diverses applications informatiques
EP2407921A1 (fr) Procédé de compression de données pour un classifieur
EP3633548B1 (fr) Procédé de classification sécurisée d'une donnée d'entrée au moyen d'un réseau de neurones à convolution
CA2727747A1 (fr) Dispositif d'aide a la reconnaissance d'images ameliore
FR3112413A1 (fr) Dispositif électronique et procédé de traitement de données à base de réseaux génératifs inversibles, système électronique de détection et programme d’ordinateur associés
EP3966739B1 (fr) Procédé d'analyse automatique d'images pour reconnaître automatiquement au moins une caractéristique rare
EP4154189A1 (fr) Procédés d'utilisation sécurisée d'un premier réseau de neurones sur une donnée d'entrée, et d'apprentissage de paramètres d'un deuxième réseau de neurones
FR3126529A1 (fr) Procédé de mise en relation d’une image candidate avec une image de référence.
EP3825915A1 (fr) Procede de classification d'une empreinte biometrique representee par une image d'entree
EP4242922B1 (fr) Procédé d'utilisation sécurisée d'un premier réseau de neurones sur une donnée d'entrée
EP2880557B1 (fr) Procédé de traitement de données de connexion d'une plateforme d'un site internet
WO2025141279A1 (fr) Procédé d'apprentissage continu pour réseau de neurones de biométrie par comparaison faciale
EP4163866A1 (fr) Procédé, programme d'ordinateur et dispositif de traitement d'images par extraction de composante(s) principale(s) d'une représentation d'images
FR3133937A1 (fr) Procédé et dispositif d’entraînement d’une structure de neurones artificiels et programme d’ordinateur associé
WO2004021265A2 (fr) SystEme associatif flou de description d'objets multimEdia
EP2880558B1 (fr) Procédé de traitement de données pour analyse situationnelle
EP4607479A1 (fr) Méthode et système d'encodage d'une liste de minuties d'un dactylogramme
FR3138223A1 (fr) Procédé, dispositif et programme d’ordinateur de contrôle d’accès à des services numériques
Tanielian Generative Adversarial Networks: theory and practice
FR3153436A1 (fr) Procédé d’authentification ou d’identification multi-biométrique.

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20221216

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230919

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: IDEMIA PUBLIC SECURITY FRANCE