Une nouvelle méthode de cryptage conçue par les chercheurs du MIT sécurise les données utilisées dans les réseaux de neurones en ligne, sans ralentir considérablement leurs temps d'exécution, qui est prometteur pour l'analyse d'images médicales à l'aide de réseaux de neurones basés sur le cloud et d'autres applications. Crédit :Chelsea Turner
Une nouvelle méthode de cryptage conçue par les chercheurs du MIT sécurise les données utilisées dans les réseaux de neurones en ligne, sans ralentir considérablement leur temps d'exécution. Cette approche est prometteuse pour l'utilisation de réseaux de neurones basés sur le cloud pour l'analyse d'images médicales et d'autres applications qui utilisent des données sensibles.
L'externalisation de l'apprentissage automatique est une tendance à la hausse dans l'industrie. Les grandes entreprises technologiques ont lancé des plates-formes cloud qui effectuent des tâches de calcul lourdes, tel que, dire, exécuter des données à travers un réseau de neurones convolutifs (CNN) pour la classification d'images. Les petites entreprises à court de ressources et les autres utilisateurs peuvent télécharger des données vers ces services moyennant des frais et obtenir des résultats en plusieurs heures.
Mais que se passe-t-il s'il y a des fuites de données privées ? Dans les années récentes, les chercheurs ont exploré diverses techniques de calcul sécurisé pour protéger ces données sensibles. Mais ces méthodes présentent des inconvénients en termes de performances qui rendent l'évaluation des réseaux neuronaux (tests et validation) lente, parfois jusqu'à un million de fois plus lente, ce qui limite leur adoption à plus grande échelle.
Dans un article présenté à la conférence USENIX sur la sécurité de cette semaine, Les chercheurs du MIT décrivent un système qui combine deux techniques conventionnelles - le cryptage homomorphe et les circuits brouillés - d'une manière qui aide les réseaux à exécuter des ordres de grandeur plus rapidement qu'avec les approches conventionnelles.
Les chercheurs ont testé le système, appelé GAZELLE, sur des tâches de classification d'images bipartites. Un utilisateur envoie des données d'image cryptées à un serveur en ligne évaluant un CNN exécuté sur GAZELLE. Après ça, les deux parties partagent des informations cryptées dans les deux sens afin de classer l'image de l'utilisateur. Tout au long du processus, le système garantit que le serveur n'apprend jamais aucune donnée téléchargée, tandis que l'utilisateur n'apprend jamais rien sur les paramètres du réseau. Par rapport aux systèmes traditionnels, cependant, GAZELLE courait 20 à 30 fois plus vite que les modèles dernier cri, tout en réduisant la bande passante réseau requise d'un ordre de grandeur.
Une application prometteuse du système est la formation des CNN au diagnostic des maladies. Les hôpitaux pourraient, par exemple, former un CNN pour apprendre les caractéristiques de certaines conditions médicales à partir d'images par résonance magnétique (IRM) et identifier ces caractéristiques dans les IRM téléchargées. L'hôpital pourrait rendre le modèle disponible dans le cloud pour d'autres hôpitaux. Mais le modèle est formé sur, et s'appuie en outre sur, données privées des patients. Parce qu'il n'y a pas de modèles de chiffrement efficaces, cette application n'est pas tout à fait prête pour les heures de grande écoute.
"Dans ce travail, nous montrons comment faire efficacement ce type de communication sécurisée à deux en combinant ces deux techniques de manière intelligente, " dit le premier auteur Chiraag Juvekar, un doctorat étudiant au Département de génie électrique et informatique (EECS). "La prochaine étape est de prendre de vraies données médicales et de montrer que, même lorsque nous l'évoluons pour des applications auxquelles les vrais utilisateurs se soucient, il offre toujours des performances acceptables."
Les co-auteurs de l'article sont Vinod Vaikuntanathan, professeur agrégé à l'EECS et membre du Laboratoire d'informatique et d'intelligence artificielle, et Anantha Chandrakasan, doyen de la School of Engineering et professeur Vannevar Bush de génie électrique et d'informatique.
Maximiser les performances
Les CNN traitent les données d'image à travers plusieurs couches de calcul linéaires et non linéaires. Les couches linéaires font les calculs complexes, appelée algèbre linéaire, et attribuer des valeurs aux données. A un certain seuil, les données sont sorties vers des couches non linéaires qui effectuent des calculs plus simples, prendre des décisions (telles que l'identification des caractéristiques de l'image), et envoyer les données à la couche linéaire suivante. Le résultat final est une image avec une classe assignée, comme un véhicule, animal, personne, ou caractéristique anatomique.
Les approches récentes de la sécurisation des CNN ont consisté à appliquer un cryptage homomorphe ou des circuits tronqués pour traiter les données sur l'ensemble d'un réseau. Ces techniques sont efficaces pour sécuriser les données. "Sur papier, ça a l'air de résoudre le problème, " dit Juvekar. Mais ils rendent les réseaux neuronaux complexes inefficaces, « donc vous ne les utiliseriez pas pour une application dans le monde réel. »
Cryptage homomorphe, utilisé dans le cloud computing, reçoit et exécute le calcul tout en données cryptées, appelé texte chiffré, et génère un résultat chiffré qui peut ensuite être déchiffré par un utilisateur. Appliqué aux réseaux de neurones, cette technique est particulièrement rapide et efficace pour le calcul de l'algèbre linéaire. Cependant, il doit introduire un peu de bruit dans les données à chaque couche. Sur plusieurs couches, le bruit s'accumule, et le calcul nécessaire pour filtrer ce bruit devient de plus en plus complexe, ralentissement des vitesses de calcul.
Les circuits brouillés sont une forme de calcul bipartite sécurisé. La technique prend une contribution des deux parties, fait des calculs, et envoie deux entrées distinctes à chaque partie. De cette façon, les parties s'échangent des données, mais ils ne voient jamais les données de l'autre partie, seulement la sortie pertinente de leur côté. La bande passante nécessaire pour communiquer les données entre les parties, cependant, échelles avec complexité de calcul, pas avec la taille de l'entrée. Dans un réseau de neurones en ligne, cette technique fonctionne bien dans les couches non linéaires, où le calcul est minimal, mais la bande passante devient lourde dans les couches linéaires lourdes en mathématiques.
Les chercheurs du MIT, au lieu, combiné les deux techniques d'une manière qui contourne leurs inefficacités.
Dans leur système, un utilisateur téléchargera le texte chiffré sur un CNN basé sur le cloud. L'utilisateur doit disposer de la technique des circuits déformés fonctionnant sur son propre ordinateur. Le CNN fait tout le calcul dans la couche linéaire, envoie ensuite les données à la couche non linéaire. À ce moment, le CNN et l'utilisateur partagent les données. L'utilisateur fait des calculs sur des circuits brouillés, et renvoie les données au CNN. En divisant et en partageant la charge de travail, le système limite le cryptage homomorphe à l'exécution de calculs complexes, une couche à la fois, afin que les données ne deviennent pas trop bruyantes. Il limite également la communication des circuits brouillés aux seules couches non linéaires, où il fonctionne de manière optimale.
"Nous n'utilisons les techniques que là où elles sont les plus efficaces, " dit Juvekar.
Partage secret
La dernière étape consistait à s'assurer que les couches de circuit homomorphes et brouillées maintenaient un schéma de randomisation commun, appelé "partage secret". Dans ce schéma, les données sont divisées en parties distinctes qui sont remises à des parties distinctes. Toutes les parties synchronisent leurs parties pour reconstruire les données complètes.
Dans GAZELLE, lorsqu'un utilisateur envoie des données chiffrées au service basé sur le cloud, il est partagé entre les deux parties. A chaque partage s'ajoute une clé secrète (nombres aléatoires) que seul le propriétaire connaît. Tout au long du calcul, chaque partie aura toujours une partie des données, plus des nombres aléatoires, il apparaît donc complètement aléatoire. A la fin du calcul, les deux parties synchronisent leurs données. Ce n'est qu'alors que l'utilisateur demande au service basé sur le cloud sa clé secrète. L'utilisateur peut alors soustraire la clé secrète de toutes les données pour obtenir le résultat.
« A la fin du calcul, nous voulons que la première partie obtienne les résultats du classement et la seconde partie n'obtienne absolument rien, " dit Juvekar. De plus, "la première partie n'apprend rien sur les paramètres du modèle."
Cette histoire est republiée avec l'aimable autorisation de MIT News (web.mit.edu/newsoffice/), un site populaire qui couvre l'actualité de la recherche du MIT, innovation et enseignement.