Model Inversion
L'inversione del modello è un attacco alla privacy che ricostruisce input sensibili o dati di addestramento a partire dalle predizioni e dalle rappresentazioni interne del modello.
L'inversione del modello consiste nel recuperare informazioni sugli input o sui dati di addestramento di un modello a partire dalle sue predizioni, dai parametri appresi o dalle rappresentazioni interne. In sostanza, esegue la predizione al contrario: le informazioni esposte da un modello di machine learning diventano indizi per ricostruire un volto, stimare un attributo sensibile o recuperare un testo. Un uso non autorizzato costituisce un attacco alla privacy dei dati.
Nel 2014, Matthew Fredrikson, Eric Lantz, Somesh Jha, Simon Lin, David Page e Thomas Ristenpart hanno introdotto il termine di sicurezza con uno studio sull'inversione di modelli personalizzati per il dosaggio del warfarin. Usando un modello, informazioni demografiche e il dosaggio stabile di un paziente, hanno dedotto marcatori genetici associati alla risposta al farmaco. La valutazione si basava sui dati dell'International Warfarin Pharmacogenetics Consortium.
Come funziona l'inversione del modello#
A un aggressore servono un segnale osservabile e un obiettivo di ricostruzione. I punteggi di confidenza di un classificatore rivelano quanto gli input candidati corrispondano a una classe obiettivo. Con accesso white-box, l'aggressore vede anche i pesi del modello e può calcolare i gradienti. L'accesso black-box fornisce predizioni tramite un'interfaccia di interrogazione. Anche gli embedding intermedi, cioè rappresentazioni numeriche degli input, costituiscono un ulteriore obiettivo di ricostruzione.
L'inversione basata sull'ottimizzazione parte da un input candidato e lo modifica ripetutamente per ridurre una funzione di perdita, come uno meno la probabilità della classe obiettivo. La discesa del gradiente aggiorna l'input mantenendo invariato il modello addestrato. Il risultato può essere un esempio rappresentativo riconoscibile della classe; la ricostruzione esatta dipende dalle informazioni conservate nel segnale accessibile.
Ultralytics YOLO espone le rappresentazioni delle immagini tramite model.embed(), supportando i flussi di lavoro di estrazione delle caratteristiche. Condividere questi vettori crea un'interfaccia aggiuntiva da includere nei test di privacy incentrati sull'inversione.
Ricostruzione dei volti e un esempio eseguibile#
Nel 2015 Fredrikson, Jha e Ristenpart hanno introdotto attacchi di inversione basati sulla confidenza e contromisure di base, tra cui MI-Face. I loro esperimenti di riconoscimento facciale hanno usato il database di volti AT&T/ORL, contenente 400 immagini di 40 persone. Ottimizzando i pixel in base all'etichetta dell'identità di una persona, hanno ottenuto ricostruzioni riconoscibili dei volti, esponendo informazioni sull'aspetto associate all'identità.
L'implementazione di MIFace in Adversarial Robustness Toolbox supporta anche i classificatori con caratteristiche continue. Questo esempio la applica alla regressione logistica addestrata sulle cifre scritte a mano incluse in scikit-learn. Installa le dipendenze con 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))
# # Ricostruisci i pixel per la classe della cifra obiettivo.
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 ricostruzione mostrata rappresenta i pixel ottimizzati per la classe della cifra tre usando i gradienti del classificatore addestrato.
Nei sistemi linguistici, l'inversione permette anche di recuperare i prompt. Il metodo Language Model Inversion di John X. Morris e colleghi, del 2024, ricostruiva il testo precedente a partire dalle distribuzioni di probabilità dei token successivi. Nell'inferenza collaborativa, gli attacchi di inversione dei prompt ricostruiscono il testo di input dalle attivazioni intermedie trasmesse tra i partecipanti, esponendo i prompt attraverso il confine di un calcolo distribuito.
Concetti correlati e differenze#
Questi termini descrivono diversi obiettivi dell'aggressore:
- Inferenza di appartenenza determina se un record noto era presente nei dati di addestramento; l'inversione stima contenuti o attributi sconosciuti.
- Inferenza degli attributi ricava un campo sensibile usando altre informazioni su un record. L'attacco originale sul warfarin è sia un'inferenza degli attributi sia un'inversione del modello.
- Gli attacchi avversari includono attacchi di evasione, che modificano un input per indurre una predizione errata. L'inversione mira alla divulgazione di informazioni.
- La modellazione inversa stima in senso ampio cause o parametri a partire da osservazioni. Per esempio, il rendering inverso stima le proprietà di una scena a partire da immagini.
Ridurre l'esposizione#
I controlli di accesso limitano chi può interrogare i modelli o ottenere rappresentazioni interne. Il monitoraggio dei modelli può rilevare schemi di query insoliti, mentre ridurre la precisione dei punteggi di confidenza elimina informazioni sfruttabili dagli attacchi basati sulla confidenza. Le valutazioni della privacy misurano la qualità della ricostruzione in base all'accesso effettivamente concesso.
La privacy differenziale limita l'influenza dei record di addestramento di un individuo tramite casualità calibrata. La sua garanzia di privacy riguarda le informazioni aggiunte dalla partecipazione al dataset. L'inversione può anche sfruttare correlazioni a livello di popolazione, come la relazione tra marcatori genetici e dosaggio dei farmaci.










