Brevet FR3133469A1 — publié le 20230915

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é en entrée d’une couche cible du premier réseau de neurones au moins un réseau de neurones de type auto-encodeur entrainé pour ajouter un bruit parasitique à son entrée ; (b) utilisation du deuxième réseau de neurones sur ladite donnée d’entrée. Figure pour l’abrège : Fig. 1 Procédé d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée 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é. Un défi rencontré par les réseaux de neurones est l’existence des « perturbations antagonistes » (ou « attaques adversariales », ce qui est la traduction littérale de l’anglais adversarial attacks), 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.org/pdf/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. L’idée est de constater que dans un réseau de neurones, on trouve une alternance de couches linéaires 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. 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 neurones 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. La Demanderesse a par ailleurs proposé dans la demande FR3110268 une technique consistant à insérer dans le réseau à sécuriser au moins un réseau de neurones à convolution approximant la fonction identité, dit CNN Identité. Cette technique s’avère efficace contre les perturbations antagonistes mais elle a été principalement développée pour lutter contre les 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, ou d’observer grâce à un canal auxiliaire (type électromagnétisme) des informations supplémentaires, de sorte qu’on pourrait encore améliorer la situation en ce qui concerne spécifiquement la problématique des perturbations antagonistes. 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é en entrée d’une couche cible du premier réseau de neurones au moins un réseau de neurones de type auto-encodeur entrainé pour ajouter un bruit parasitique à son entrée ; (b) utilisation du deuxième réseau de neurones sur ladite donnée d’entrée. Selon des caractéristiques avantageuses et non limitatives Ledit bruit parasitique ajouté à son entrée par l’auto-encodeur est fonction de ladite entrée. Ladite couche cible est à l’intérieur du premier réseau du neurones. 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. Le procédé comprend une étape (a0) préalable d’obtention des paramètres dudit auto-encodeur et du premier réseau de neurones. Pour une base d’apprentissage de couples d’une donnée de référence et d’une version bruitée de la donnée de référence égale à la somme de la donnée de référence et d’un bruit parasitique possible, l’auto-encodeur est entraîné à prédire ladite version bruitée d’une donnée de référence à partir de la donnée de référence correspondante. L’étape (a0) comprend, pour chacune d’une pluralité de données de référence, le calcul du bruit parasitique possible pour ladite donnée de référence en fonction de la donnée de référence, de sorte à constituer ladite base d’apprentissage. Ledit bruit parasitique possible pour la donnée de référence est entièrement déterminé par une empreinte cryptographique de ladite donnée de référence pour une fonction de hachage donnée. L’étape (a0) comprend l’obtention des paramètres d’un ensemble de réseau de neurones de type auto-encodeur entrainés pour ajouter un bruit parasitique à leur entrée, l’étape (a) comprenant la sélection dans ledit ensemble d’au moins un auto-encodeur à insérer. l’étape (a) comprend en outre la sélection préalable d’un nombre d’auto-encodeurs dudit ensemble à sélectionner. L’étape (a0) est une étape mise en œuvre par des moyens de traitement de données d’un serveur d’apprentissage. Selon un deuxième et un troisiè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 aspect d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée ; 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 aspect d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée. 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 : la est un schéma d’une architecture pour la mise en œuvre du procédé d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée selon l’invention ; la représente schématiquement les étapes d’un mode de réalisation du procédé d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée selon l’invention ; 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 du premier réseau de neurones au moins un réseau de neurones de type auto-encodeur entrainé pour ajouter un bruit parasitique à son entrée ; (b) utilisation du deuxième réseau de neurones sur ladite donnée d’entrée. Procédé selon la revendication 1, dans lequel ledit bruit parasitique ajouté à son entrée par l’auto-encodeur est fonction de ladite entrée. Procédé selon l’une des revendications 1 et 2, dans lequel ladite couche cible est à l’intérieur du premier réseau du neurones. Procédé selon l’une des revendications 1 à 3, 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 Procédé selon l’une des revendications 1 à 4, comprenant une étape (a0) préalable d’obtention des paramètres dudit auto-encodeur et du premier réseau de neurones Procédé selon la revendication 5, dans lequel, pour une base d’apprentissage de couples d’une donnée de référence et d’une version bruitée de la donnée de référence égale à la somme de la donnée de référence et d’un bruit parasitique possible, l’auto-encodeur est entraîné à prédire ladite version bruitée d’une donnée de référence à partir de la donnée de référence correspondante. Procédé selon les revendications 2 et 6 en combinaison, dans lequel l’étape (a0) comprend, pour chacune d’une pluralité de données de référence, le calcul du bruit parasitique possible pour ladite donnée de référence en fonction de la donnée de référence, de sorte à constituer ladite base d’apprentissage. Procédé selon la revendication 7, ledit bruit parasitique possible pour la donnée de référence est entièrement déterminé par une empreinte cryptographique de ladite donnée de référence pour une fonction de hachage donnée. Procédé selon l’une des revendications 5 à 8, dans lequel l’étape (a0) comprend l’obtention des paramètres d’un ensemble de réseau de neurones de type auto-encodeur entrainés pour ajouter un bruit parasitique à leur entrée, l’étape (a) comprenant la sélection dans ledit ensemble d’au moins un auto-encodeur à insérer. Procédé selon la revendication 9, dans lequel l’étape (a) comprend en outre la sélection préalable d’un nombre d’auto-encodeurs dudit ensemble à sélectionner. Procédé selon l’une des revendications 5 à 10, dans lequel l’étape (a0) est une étape mise en œuvre par des moyens de traitement de données (11) d’un serveur (1) d’apprentissage. Produit programme d’ordinateur comprenant des instructions de code pour l’exécution d’un procédé selon l’une des revendications 1 à 11 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. 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 à 11 d’utilisation sécurisée d’un premier réseau de neurones sur une donnée d’entrée.