Model Inversion
L’inversion de modèle est une attaque contre la vie privée qui reconstruit des entrées sensibles ou des données d’entraînement à partir des prédictions et des représentations internes du modèle.
L’inversion de modèle consiste à récupérer des informations sur les entrées ou les données d’entraînement d’un modèle à partir de ses prédictions, de ses paramètres appris ou de ses représentations internes. Intuitivement, elle fait fonctionner la prédiction à l’envers : les informations révélées par un modèle d’apprentissage automatique deviennent des indices permettant de reconstruire un visage, d’estimer un attribut sensible ou de récupérer du texte. Une utilisation non autorisée constitue une attaque contre la confidentialité des données.
Matthew Fredrikson, Eric Lantz, Somesh Jha, Simon Lin, David Page et Thomas Ristenpart ont introduit ce terme de sécurité en 2014 dans le cadre de l’inversion de modèles personnalisés de dosage de la warfarine. À l’aide d’un modèle, d’informations démographiques et de la dose stable d’un patient, ils ont déduit des marqueurs génétiques associés à la réponse au médicament. L’évaluation s’appuyait sur les données de l’International Warfarin Pharmacogenetics Consortium.
Fonctionnement de l’inversion de modèle#
Un attaquant a besoin d’un signal observable et d’un objectif de reconstruction. Les scores de confiance d’un classificateur révèlent dans quelle mesure des entrées candidates correspondent à une classe cible. Avec un accès en boîte blanche, l’attaquant peut également consulter les poids du modèle et calculer les gradients. L’accès en boîte noire fournit les prédictions par l’intermédiaire d’une interface de requête. Les embeddings, représentations numériques des entrées, constituent une autre cible de reconstruction.
Une inversion basée sur l’optimisation commence par une entrée candidate, puis la modifie de façon répétée afin de réduire une fonction de perte, par exemple un moins la probabilité de la classe cible. La descente de gradient met à jour l’entrée tandis que le modèle entraîné reste fixe. Le résultat peut être un représentant reconnaissable de la classe ; la récupération exacte dépend des informations conservées dans le signal accessible.
Ultralytics YOLO expose les représentations d’images par l’intermédiaire de model.embed(), ce qui permet des flux de travail d’extraction de caractéristiques. Le partage de ces vecteurs crée une interface supplémentaire à inclure dans les tests de confidentialité axés sur l’inversion.
Reconstruction de visages et exemple exécutable#
En 2015, Fredrikson, Jha et Ristenpart ont présenté les attaques par inversion basées sur la confiance et des contre-mesures élémentaires, notamment MI-Face. Leurs expériences de reconnaissance faciale utilisaient la base de données de visages AT&T/ORL, qui contient 400 images de 40 personnes. L’optimisation des pixels en fonction de l’étiquette d’identité d’une personne a produit des reconstructions faciales reconnaissables, révélant des informations sur son apparence associées à son identité.
L’implémentation de MIFace dans Adversarial Robustness Toolbox prend également en charge les classificateurs à caractéristiques continues. Cet exemple l’applique à une régression logistique entraînée sur les chiffres manuscrits inclus avec scikit-learn. Installe les dépendances avec pip install adversarial-robustness-toolbox scikit-learn matplotlib.
import matplotlib.pyplot as plt
import numpy as np
from art.attacks.inference.model_inversion import MIFace
from art.estimators.classification import SklearnClassifier
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
images, labels = load_digits(return_X_y=True)
images = images.astype(np.float32) / 16
model = LogisticRegression(max_iter=1000)
model.fit(images, labels)
classifier = SklearnClassifier(model=model, clip_values=(0, 1))
# Reconstruis les pixels pour la classe de chiffres cible.
attack = MIFace(classifier, max_iter=1000, verbose=False)
reconstructions = attack.infer(x=None, y=np.array([3]))
reconstruction = reconstructions[0]
plt.imshow(reconstruction.reshape(8, 8), cmap="gray")
plt.axis("off")
plt.show()La reconstruction affichée montre les pixels optimisés pour la classe du chiffre trois à l’aide des gradients du classificateur ajusté.
Dans les systèmes de traitement du langage, l’inversion permet aussi de récupérer des invites. En 2024, John X. Morris et ses collègues ont présenté une méthode d’inversion de modèle de langage qui reconstitue le texte précédent à partir des distributions de probabilité du jeton suivant. Dans l’inférence collaborative, les attaques par inversion d’invite reconstituent le texte d’entrée à partir des activations intermédiaires transmises entre participants, exposant ainsi les invites à la frontière d’un calcul distribué.
Concepts et distinctions connexes#
Ces termes décrivent différents objectifs d’attaque :
- L’inférence d’appartenance détermine si un enregistrement connu figurait dans les données d’entraînement ; l’inversion estime un contenu ou des attributs inconnus.
- L’inférence d’attributs complète un champ sensible en s’appuyant sur d’autres informations concernant un enregistrement. L’attaque initiale sur la warfarine relève à la fois de l’inférence d’attributs et de l’inversion de modèle.
- Les attaques adversariales comprennent les attaques par évasion, qui modifient une entrée pour provoquer une prédiction erronée. L’inversion vise à divulguer des informations.
- La modélisation inverse consiste, au sens large, à estimer des causes ou des paramètres à partir d’observations. Le rendu inverse, par exemple, permet d’estimer les propriétés d’une scène à partir d’images.
Réduire l’exposition#
Les contrôles d’accès limitent les personnes qui peuvent interroger les modèles ou obtenir des représentations internes. La surveillance des modèles peut détecter des schémas de requêtes inhabituels, tandis que la réduction de la précision des scores de confiance supprime des informations exploitées par les attaques fondées sur la confiance. Les évaluations de la confidentialité mesurent la qualité de la reconstruction selon les accès réellement accordés.
La confidentialité différentielle limite l’influence des données d’entraînement d’une personne grâce à un aléa calibré. Sa garantie de confidentialité porte sur les informations ajoutées par la participation au jeu de données. L’inversion peut aussi exploiter des corrélations à l’échelle de la population, comme la relation entre les marqueurs génétiques et la dose de médicament.










