Differential Privacy è un framework matematico per quantificare la perdita d’informazioni private (sensitive data leakage) di un dataset, riducendone al contempo la possibilità.
La nostra consueta definizione d’introduzione sarà a breve arricchita da maggiori informazioni.
Prima di procedere è doveroso fare un rapido riassunto di quanto fin’ora trattato, in modo da sedimentare le nostre conoscenze.
Dopo aver iniziato il nostro percorso con l’etica nei sistemi di machine learning, Trusting AI Fairness, e averlo continuato attraverso i sistemi di verifica del comportamento, Deep Neural Network Verification, stiamo ora approfondendo il concetto di privacy.
Esiste infatti una libreria utile proprio a questo proposito, PySyft by OpenMined | Privacy Preserving. Per comprenderla appieno dobbiamo avere chiari in testa alcuni termini; il primo è differential privacy.
Definizione Differential Privacy
Torniamo alla nostra definizione, osservandola da un nuovo punto di vista.
In altre parole, potremmo definire differential privacy come ciò che ci aiuta rispondere alla domanda “Qual è la massima quantità d’informazioni private che renderei pubbliche se rivelassi questa osservazione?” offuscando opportunamente i dati in nostro possesso.
Affermiamo di aver garantito la privacy di un’istanza se in seguito a un’analisi, l’analista non è in grado di conoscere alcunché sulle osservazioni del dataset: devono rimanere inosservate.
Prima definizione formale di privacy
Nei sistemi di machine learning questo si riduce a consentire loro di apprendere dai dati senza tuttavia lasciare che imparino alcuna informazione sulle singole osservazioni, informazione che potrebbe rivelarsi sensibile o danneggiarle in qualche misura.
La definizione di privacy deve quindi essere aggiornata alla luce di quanto appena emerso.
Nel 1977 Tode Dalenius diede una definizione formale di privacy:
La privacy Individuale è garantita quando tutto ciò che può essere appreso su un partecipante o rispondente da un database statistico è appreso senza avere accesso al database
Dalenius Ad Omnia Privacy Goal
Data science
In ambito Data Science, la differential privacy conferisce a chiunque alleni un modello di machine learning l’autorità di garantire formalmente (formal guarantee) la quantità d’informazione privata che confluisce nel modello stesso.
Gli approfondimenti ci piacciono: rincariamo la dosa con una nuova definizione.
Cynthia Dwork, ricercatrice di Microsoft, nel libro The Algorithmic Foundations of Differential Privacy pone la questione sotto forma di promessa.
“Differential privacy” descrive allora una promessa fatta dal titolare (data holder) al soggetto dei dati (data subject):
Non sarai influenzato, negativamente o in altro modo, consentendo ai tuoi dati di essere utilizzati in qualsiasi studio o analisi, non importa che ci siano altri studi, set di dati o fonti di informazioni, disponibili
Concedimi di portare l’attenzione sulla parte finale della promessa: la più ingannevole.
Persino assicurandoci di non aver rilasciato informazioni private contenute in un dataset (i. e. anonimizzando i dati), se qualcuno rilasciasse un altro dataset anonimizzato e correlato al primo sarebbe possibile divulgare gli aspetti privati di queste informazioni che cerchiamo di nascondere studiando il rilascio di questi separati insiemi di dati.
Prima di esaminare un esempio concreto di come questo problema possa essere fatale, introduciamo un ultimo concetto. Quello di database parallelo.
Questa definizione misura la privacy garantita da una certa query M. Più nello specifico compara l’esecuzione della query su un database X e sul suo parallelo Y. Un database parallelo è una copia dell’originale avente però un’entità od osservazione rimossa.
Puoi trovare più dettagli a questa pagina.
Differential Privacy & Netflix
Comprendiamo meglio quest’ultimo problema analizzando un case study risalente a una decina di anni fa. Old but gold.
Nel 2009 Netflix annuncio The Netflix Competition (o The Netflix Prize) una competizione per la creazione di un sistema di raccomandazione (recommender system) con in palio 1 milione di dollari.
Come parte della competizione, Netflix rilascio una dataset anonimizzato contenente 100 milioni di recensioni di 500 mila utenti affinché i team fossero in grado di realizzare i modelli.
Più nello specifico i nomi dei film e gli username degli utenti erano stati rimpiazzati da numeri interi unici.
In teoria, il dataset non conteneva informazioni private sugli individui che avessero recensito i film.
Eppure nonostante questo due ricercatori dell’Università del Texas sono stati in grado di de-anonimizzare sia lo username che i nomi dei film usando un’intelligente tecnica statistica.
Prima hanno eseguito uno scraping dei dati presenti su IMDB estraendo le recensioni dei film. Poi, attraverso analisi statistiche sono stati in grado di trovare quali utenti avessero fatto una recensione su entrambe le piattaforme: netflix e IMDB.
Questa operazione permise loro di de-anonimizzare una grande porzione dei dati.
Fenomenale.
La storia è ricca di eventi simili.
Il punto è chiaro: una tecnica apparentemente ricercata come l’anonimizzazione dei dati è semplicemente insufficiente per garantire davvero la privacy dei soggetti di un dataset.
Per concludere questa parentesi, riprendiamo la definizione di Cynthia.
La nozione di “no matter what“, “non importa quali dati siano disponibili altrove” è la chiave di volta per affinché sia davvero garantita la privacy.
White Noise: how differential privacy works
Per comprendere il funzionamento degli algoritmi che si cenalo dietro questo meccanismo possiamo appoggiarci a un esempio efficace, seppur semplificato tratto dal libro The Algorithmic Foundations of Differential Privacy
Immaginiamo di voler condurre un’indagine statistica tale per cui sia necessario porre una domanda con due sole risposte: sì e no.
L’anonimizzazione della risposta è garantita dall’inserimento di un white noise, prima della sua raccolta.
Cosa sia il white noise è presto detto. Supponiamo che un soggetto risponda sì. Prima che l’esito sia raccolto, viene lanciata una monetina:
- testa: registriamo la vera risposta (sì)
- croce: lanciamo un’altra monetina
- testa: registriamo la vera risposta (sì)
- croce: registriamo una risposta falsa (no)
Il lancio della monetina costituisce la chiave di volta dell’intero sistema: è l’elemento randomico.
Abbiamo approfondito questo concetto attraverso il Randomized Response e Plausible Deniability. Dagli un’occhiata.
Questo è essenziale per il corretto funzionamento della differential privacy, poiché non è possibile prescindere da un elemento di casualità affinché sia creta una vera anonimizzazione.
Questo meccanismo lascia emergere un ulteriore problema: il white noise potrebbe ridurre l’attendibilità dell’indagine statistica qualora il numero di dati raccolti fosse in somma inconsistente.
Per il momento trascuriamo queste limitazioni concludendo il nostro discorso con un rapido sunto delle principali tecniche di differential privacy.
Multiple Techniques
Esistono molteplici tecniche per eseguire differential privacy. Tra queste vanno certamente citate quelle standard:
- PATE Framework (te lo spiego qui)
- DP-SGD
- Moments Accountant
- Laplace e Exponential Mechanisms
In generale possiamo però affermare che Differential Privacy richiede sempre una qualche forma di casualità o rumore aggiunto alla query affinché i dati siano protetti da Differencing Attacks.
Spostandoci nell’ambito accademico, troviamo diverse ricerche condotte anche da aziende.
Microsoft ci delizia con 19 pagine, in cui spiega come la differential privacy possa essere applicata alle query per la creazione di grafici analitici.
Nel Differential Private Average Consensus with Optimal Noise Selection di Nozari et. Al troviamo uno studio al privacy-preserving problem nell’average consensus sui sistemi multiagente.
Insomma, problemi di media.
SafePub è poi un algoritmo di data anonymization, con forti garanzie di privacy, presentato con un’accurata dimostrazione matematica.
Infine, ti propongo una soluzione per il training delle reti neurali artificiali mantenendo un privacy budget modesto: Deep Learning with Differential Privacy di Abadi et Al.
Qui una preziosa fonte da cui attingere informazioni interessanti.
Un caldo abbraccio, Andrea.