Simple Science

La science de pointe expliquée simplement

# Informatique# Cryptographie et sécurité# Apprentissage automatique

Avancées dans le traitement des images encryptées avec des CNN

Apprends comment les modèles de deep learning traitent les images chiffrées tout en gardant la vie privée.

― 7 min lire


CNN pour le traitementCNN pour le traitementd'images chiffréesprofond.d'images sécurisée avec l'apprentissageMéthodes efficaces pour une analyse
Table des matières

Récemment, l'apprentissage profond est devenu super populaire pour les tâches liées aux images. Un type de modèle d'apprentissage profond qui se démarque s'appelle les Réseaux de Neurones Convolutionnels (CNNs). Plus précisément, une architecture connue sous le nom de ResNet a été utilisée pour diverses tâches liées aux images comme classer des images, détecter des objets sur des photos et segmenter des parties d'images.

Cet article va discuter de comment on peut utiliser ces CNNs sur des images cryptées, ce qui veut dire qu'on peut protéger la vie privée des données tout en permettant les calculs dessus. C'est particulièrement important dans des domaines où la vie privée est une grosse préoccupation, comme la santé ou le cloud computing.

Qu'est-ce que le cryptage homomorphe ?

Le cryptage homomorphe est une méthode spéciale qui permet de faire des calculs directement sur des données cryptées. Ça veut dire qu'on peut effectuer des tâches sur des données sans avoir besoin de les déchiffrer d'abord, gardant ainsi la sécurité des infos contre ceux qui ne devraient pas les voir. Une méthode de cryptage s'appelle le Cryptage Homomorphe Complet (FHE).

Bien que le FHE ait un potentiel énorme, son utilisation dans des applications réelles a été limitée surtout parce que les calculs peuvent être assez lents. Les travaux précédents dans ce domaine se concentraient souvent sur des CNNs plus simples et des images basse résolution, rendant compliqué le passage à des tâches plus grandes et plus complexes.

Contributions clés

Ce travail décrit plusieurs étapes importantes pour améliorer l'utilisation des CNNs sur des images cryptées.

  1. Algorithmes de convolution et de pooling efficaces : On a développé de meilleurs algorithmes pour effectuer des opérations de convolution et de pooling sur des données cryptées, ce qui nous permet de gérer des entrées larges avec plusieurs canaux plus efficacement.

  2. Construction de modèles ResNet : On a appliqué ces algorithmes pour créer trois versions de réseaux ResNet. Notre approche a atteint une meilleure précision sur des ensembles de données populaires comme CIFAR-10 et ImageNet par rapport aux méthodes précédentes, tout en accélérant le temps nécessaire pour obtenir des résultats.

  3. Techniques d'entraînement : On a introduit de nouvelles méthodes d'entraînement qui aident à réduire la variation des entrées pour les fonctions d'activation dans les CNNs. Ça rend plus facile de calculer comment ces fonctions doivent se comporter quand on les applique à des données cryptées.

Comprendre RNS-CKKS

Le Système de Nombre Résiduel Cheon-Kim-Kim-Song (RNS-CKKS) est un type spécifique de FHE qui permet des opérations arithmétiques sur des données cryptées. Dans ce système, les données sont organisées sous forme de ciphertexts, qui sont comme des contenants sécurisés contenant l'information. Chaque ciphertext peut stocker plusieurs nombres à virgule flottante, ce qui le rend idéal pour traiter des images.

Le système a différents niveaux, indiquant combien de calculs peuvent être effectués avant que les données ne commencent à perdre en précision. Récupérer ces niveaux par un processus appelé bootstrapping peut être lent, donc ça doit être fait avec précaution.

Garder les données en sécurité

Dans notre configuration, on garde les poids du modèle non cryptés tout en cryptant les images d'entrée. Un client envoie les données cryptées à un serveur pour traitement. Le serveur travaille sur ces données cryptées et renvoie les résultats, que seul le client peut déchiffrer. Cette configuration garantit que le serveur ne voit jamais les résultats non cryptés, gardant ainsi les données privées.

Travaux antérieurs

Les tentatives précédentes pour appliquer l'apprentissage automatique sur des données cryptées se concentraient sur des réseaux plus étroits et des images basse résolution, utilisant souvent des fonctions d'activation inhabituelles qui rendaient les calculs plus difficiles. Des études récentes ont commencé à utiliser des réseaux plus larges et des fonctions d'activation standards sur des données cryptées, mais il y avait encore un écart dans la gestion efficace des réseaux larges et profonds.

Notre approche s'appuie sur les méthodes existantes mais va plus loin en permettant à la fois des tailles d'images grandes et des réseaux larges qui n'étaient pas bien pris en charge auparavant.

Comment on traite les images

Quand on travaille avec des images dans le RNS-CKKS, un seul ciphertext peut contenir une quantité limitée de données. Si une image est trop grande, on la divise en plusieurs ciphertexts, qu'on appelle des "shards". Chaque shard stocke une partie des données.

Sharding des images

Le sharding consiste à diviser une image en segments plus petits. Si l'image a beaucoup de canaux et ne rentre pas dans un seul shard, on distribue les canaux sur plusieurs shards. Ces shards sont combinés plus tard pour effectuer des opérations comme la convolution.

Si une image ne remplit pas complètement un shard, on duplique les canaux pour s'assurer que l'information est aussi complète que possible.

Opérations de convolution

La convolution est une opération clé utilisée dans les CNNs pour combiner les données d'image avec certains filtres pour extraire des caractéristiques. On a conçu des algorithmes capables de gérer ces Convolutions sur des images shardées efficacement.

Quand on convole une image, on peut le voir comme déplacer un filtre sur l'image. On décompose ce processus pour gérer chaque partie de l'image dans des shards pour obtenir le résultat final. Ça nous permet de profiter de la manière dont le RNS-CKKS traite les données cryptées.

Opérations de pooling

Le pooling est une autre opération importante dans les CNNs, utilisée pour réduire la taille des données tout en conservant des caractéristiques importantes. Notre implémentation permet aux opérations de pooling de fonctionner sans problème avec des données cryptées, ce qui garantit que les modèles peuvent toujours apprendre efficacement.

Autres couches

Pour d'autres couches dans les CNNs comme la normalisation par lot, on peut les implémenter en utilisant des opérations simples qui s'intègrent dans les calculs homomorphes. Ces couches aident le modèle à mieux apprendre des données, s'assurant qu'il peut s'adapter à diverses tâches.

Résultats et tests

On a testé nos méthodes en utilisant des ensembles de données populaires comme CIFAR-10, CIFAR-100 et ImageNet. On s'est concentré sur la comparaison des performances de nos modèles ResNet avec celles des méthodes conventionnelles.

Améliorations de performance

Nos modèles ont montré des améliorations significatives en termes de précision ainsi que des temps de traitement plus rapides. Les architectures ResNet larges ont démontré de meilleures performances que les modèles multiplexés précédents, atteignant des taux de précision plus élevés tout en gardant un temps d'inférence raisonnable.

On a entraîné nos réseaux dans des conditions strictes, parvenant à les optimiser davantage sans perdre en précision. Cela a montré la faisabilité d'utiliser des CNNs sur des données cryptées sans compromettre les performances.

Conclusion et directions futures

On a développé des méthodes efficaces pour utiliser des CNNs sur des images cryptées, permettant des tâches avancées tout en gardant les données privées. L'introduction de nouvelles techniques d'entraînement et d'algorithmes plus performants signifie qu'on peut traiter des images plus grandes efficacement.

En regardant vers l'avenir, il y a un potentiel pour améliorer encore ces modèles. On peut explorer des tâches comme la détection d'objets et l'analyse de documents sensibles, élargissant les applications de l'apprentissage automatique crypté.

De plus, en adaptant nos méthodes pour fonctionner avec du matériel spécialisé comme des GPU, on peut encore optimiser les performances, ouvrant la voie à des mises en œuvre pratiques dans divers domaines sans compromettre la vie privée des données.

Source originale

Titre: High-Resolution Convolutional Neural Networks on Homomorphically Encrypted Data via Sharding Ciphertexts

Résumé: Recently, Deep Convolutional Neural Networks (DCNNs) including the ResNet-20 architecture have been privately evaluated on encrypted, low-resolution data with the Residue-Number-System Cheon-Kim-Kim-Song (RNS-CKKS) homomorphic encryption scheme. We extend methods for evaluating DCNNs on images with larger dimensions and many channels, beyond what can be stored in single ciphertexts. Additionally, we simplify and improve the efficiency of the recently introduced multiplexed image format, demonstrating that homomorphic evaluation can work with standard, row-major matrix packing and results in encrypted inference time speedups by $4.6-6.5\times$. We also show how existing DCNN models can be regularized during the training process to further improve efficiency and accuracy. These techniques are applied to homomorphically evaluate a DCNN with high accuracy on the high-resolution ImageNet dataset, achieving $80.2\%$ top-1 accuracy. We also achieve an accuracy of homomorphically evaluated CNNs on the CIFAR-10 dataset of $98.3\%$.

Auteurs: Vivian Maloney, Richard F. Obrecht, Vikram Saraph, Prathibha Rama, Kate Tallaksen

Dernière mise à jour: 2024-01-28 00:00:00

Langue: English

Source URL: https://arxiv.org/abs/2306.09189

Source PDF: https://arxiv.org/pdf/2306.09189

Licence: https://creativecommons.org/licenses/by/4.0/

Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.

Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.

Articles similaires