Privacy e big data: a che punto siamo

Technology


Privacy e big data: a che punto siamo

L'uso dell'intelligenza artificiale ha suscitato la preoccupazione di molti utenti riguardo all’utilizzo dei propri dati sensibili. Differential Privacy e Federated Learning sono la soluzione proposta a questo problema da aziende come Google ed Apple.

Ogni giorno vengono raccolti in forme diverse dati sensibili che concernono vari tipi di privacy (rapporti ospedalieri, attività su telefoni cellulari, etc.). Una volta raccolti, i dati vengono processati per diventare completamente anonimi ed in fine resi disponibili alle aziende ed alle comunità di ricerca.

Rendere anonimi i dati serve a prevenire che tramite la cosiddetta reverse engineering si possa risalire ai dati sensibili del singolo.

D’altro canto, i dati contenuti in una banca dati possono essere disponibili in diverse forme sul web, per questo motivo risalire al dato originale tramite la reverse engineering può diventare più semplice confrontando diverse fonti dello stesso dato tramite metodi matematici statistici. In questa maniera la privacy degli utenti potrebbe risultare compromessa.

Ad esempio, nel 2007 Netflix rilasciò una banca dati contenente gli indici di gradimento dei diversi prodotti in catalogo per una pubblica competizione. La banca dati è stata totalmente resa anonima prima dell’inizio della competizione in modo da non contenere alcuna informazione privata. Successive ricerche hanno provato a testare la sicurezza di tale banca dati in termini di privacy e sono riusciti a recuperare il 99% dei dati sensibili eliminati. Ciò è potuto accadere confrontando le informazioni contenute nella banca dati di Netflix con altre informazioni disponibili pubblicamente su IMDb. L’utilizzo di pratiche come la Differential Privacy ed il Federated Learning possono ridurre drasticamente rischi del genere.

DIfferential Privacy

La Differential Privacy consiste nell’aggiungere “rumore” o casualità ai dati tramite processi noti come meccanismi di privacy in modo che i singoli dati non risultino identificabili. La privacy dei singoli utenti viene pertanto mantenuta con un effetto limitato sull’accuratezza dei dati.

I dati presenti nella banca dati rimangono sempre “puliti” e ad ogni richiesta di fornitura dati che viene inviata, questi vengono copiati. Le copie vengono poi processate tramite i meccanismi di privacy ed inviate. Così facendo i dati conservati in locale rimarranno inalterati mentre l’azienda potrà usufruirne (se pur con un’accuratezza limitata) senza invadere la privacy di nessuno.

Volendo essere più precisi, possiamo distinguere due livelli di Differential Privacy:

  • Locale: il rumore è aggiunto ad ogni singolo dato nella banca dati.
  • Globale: il rumore è aggiunto direttamente una volta che i dati sono stati processati, ma l’elaborazione avviene sui dati “puliti”.

In genere un modello di Differential Privacy globale porta a dei risultati più accurati rispetto ad uno locale, mantenendo lo stesso livello di privacy. Anche se la tutela della privacy deve essere l’obiettivo prioritario, esiste un compromesso per quanto riguarda l’usabilità e l’affidabilità dei dati.

Generalmente si utilizza un parametro chiamato Ɛ (epsilon), esso è un numero reale positivo e rappresenta una misura di quanto rischio c’è per la privacy di chi partecipa allo studio. Un basso valore di Ɛ vuol dire un’elevata sicurezza ma anche una più bassa accuratezza dei dati.

Il concetto è che più rumore viene introdotto e più è difficile risalire alle informazioni del singolo individuo, allo stesso modo però più rumore viene introdotto e più informazioni possono essere perse. Serve quindi trovare un compromesso per garantire la privacy degli utenti pur mantenendo un livello di accuratezza dei dati tale per cui questi possano essere considerati utili ai fini dell’azienda.

Il rumore viene introdotto secondo delle distribuzioni matematiche, generalmente la distribuzione Normale/Gaussiana o Laplaciana. I parametri che definiscono queste distribuzioni dipendono da Ɛ.

Combinando le informazioni contenute in due o più report, se queste si completano adeguatamente, si può in teoria risalire all’informazione sul singolo individuo. L’obiettivo della Differential Privacy è evitare che ciò accada. Parlando di dati aggregati la cosa più semplice da pensare, soprattutto quando si parla di numeri, è di perturbare i risultati ottenuti, mostrando così un dato inesatto ma molto vicino alla realtà. Così facendo, anche riuscendo a trovare dei dati che si completano adeguatamente, sorgeranno delle incongruenze che renderanno impossibile risalire al singolo.

Federated Learning

In passato, aziende come Google e Apple erano solite prendere le attività di registrazione dei dati degli utenti dei loro dispositivi mobili e poi memorizzarle nei loro servizi cloud per creare un modello di Machine Learning centralizzato in grado di migliorare le prestazioni dei loro servizi mobili. Al giorno d’oggi, queste grandi aziende si stanno muovendo invece verso l’utilizzo di un modello di approccio decentralizzato chiamato Federated Learning. Utilizzando il Federated Learning, il modello di Machine Learning viene addestrato sul dispositivo dell’utente e il risultato viene quindi spostato nel cloud per ulteriori analisi. Ciò significa che aziende come Google e Apple non hanno più bisogno di accedere ai dati dei propri utenti per migliorare i propri servizi, ma possono invece semplicemente utilizzare il risultato del modello di Machine Learning addestrato localmente (senza invadere la privacy dell’utente). Inoltre, poiché questi modelli sono addestrati localmente, possono offrire all’utente un’esperienza più personalizzata. Alcuni esempi di Federated Learning in azione sui dispositivi smartphone possono essere: suggerimenti di parole personalizzate utilizzando Gboard su Android, Gmail e il motore di ricerca Google.

Il Federated Learning ha quindi la particolarità di sfruttare più macchine simultaneamente, usando un approccio decentralizzato. In questo tipo di approccio le banche dati locali contengono dati diversi tra di loro e sono distribuiti su più nodi senza la necessità di scambio degli stessi, l’idea è di permettere ad ogni macchina di apprendere in autonomia ed utilizzare poi i dati raccolti da tutti per formulare un modello generale. La principale differenza tra questa tecnica e quella di apprendimento distribuito (che sfrutta anch’esso più macchine ma con una medesima banca dati) è in primo luogo una differenza concettuale: l’obiettivo di un apprendimento distribuito è parallelizzare la potenza di calcolo, mentre l’approccio tramite Federated Learning ha come intento l’addestramento dei modelli su dati eterogenei.

Il Federated Learning si basa su un processo iterativo suddiviso in un insieme di interazioni client-server noto come federated round. Ad ogni ciclo di questo processo, lo stato corrente del modello viene trasmesso ai nodi partecipanti, i nodi utilizzano quindi i dati locali per elaborare ulteriormente il modello ed aggiornarlo. Ad ogni ciclo, otteniamo quindi una serie di possibili aggiornamenti, questi vengono aggregati generando un modello unico, che verrà quindi nuovamente distribuito tra i nodi per riprendere il ciclo.

La coordinazione può avvenire sia ad opera di un server centralizzato, sia con tecniche peer-to-peer. Questo secondo approccio in genere offre prestazioni migliori.

Possiamo riassumere il processo nei seguenti punti:

  • Inizializzazione: in base agli input forniti viene scelto un modello di apprendimento automatico e viene inizializzato.
  • Selezione nodi: parte dei nodi vengono scelti per eseguire il modello precedentemente selezionato, i nodi acquisiscono inoltre il modello corrente.
  • Configurazione: i nodi si coordinano per dare il via all’apprendimento sui dati locali tramite un metodo predefinito.
  • Comunicazione: terminato l’apprendimento sui dati locali, i nodi si scambiano i modelli ottenuti (o li inviano al server centrale) perché vengano aggregati.
  • Terminazione: le 3 fasi centrali vengono iterate fino al raggiungimento di una condizione di terminazione (generalmente il raggiungimento di risultato ritenuto accettabile, o il raggiungimento del numero massimo di iterazioni definito a priori). A questo punto il modello generato nell’ultima iterazione, cioè il più aggiornato e quindi accurato, viene preso come modello definitivo.

Al di là dei vantaggi o degli svantaggi strettamente tecnici, uno dei vantaggi più grandi riguarda la privacy. L’impiego di questa tecnica, come già illustrato, non prevede la condivisione esterna dei dati locali. Tutti i dati vengono sfruttati per calcolare il nostro modello di interesse ma esso è l’unica cosa ad essere esportata, garantendo così la riservatezza dei da​ti.

Come detto, gli unici dati scambiati sono i parametri di Federated Learning. Per maggiore sicurezza, questi dati sono spesso criptati e grazie a degli schemi di crittografia omorfica possono essere utilizzati senza essere prima decriptati. Nonostante queste misure protettive, i parametri possono comunque rendere visibili informazioni associate ai dati sottostanti, per questo è necessario associare a questa pratica anche quelle di Differential Privacy. 

Data Scientist e MSc in Intelligenza Artificiale laureato presso l'Università di Southampton. Ha un forte interesse per i progressi dell'IA e le applicazioni di apprendimento automatico. Al di fuori del suo lavoro, è uno scrittore per Towards Data Science e Freelancer​.