Proteggere i Dati nel Machine Learning: il Federated Learning
Da quando il concetto di intelligenza artificiale (IA) è stato introdotto nel 1956, questa tecnologia ha trasformato progressivamente la nostra vita quotidiana. L’evoluzione dell’IA è stata guidata da continui progressi in aree come i modelli algoritmici, la potenza di calcolo e le prestazioni hardware. Tuttavia, per abilitare una diffusione su larga scala e ottenere la fiducia degli utenti, la sicurezza dei dati e la tutela della privacy sono diventate priorità imprescindibili.
In questo contesto, è nato il Federated Learning (FL), un approccio che mira a proteggere i dati sensibili. Introdotto per la prima volta da Google nel 2016, il Federated Learning è stato concepito principalmente per consentire agli utenti Android di aggiornare i modelli di IA localmente, senza condividere informazioni personali con server centralizzati. Oggi, il Federated Learning rappresenta una delle tecnologie più innovative nel campo del privacy computing. Grazie alla sua efficienza tecnologica e alla flessibilità di implementazione, è diventato la soluzione di riferimento in molti scenari in cui la protezione dei dati è fondamentale.
> Sfoglia il catalogo corsi dedicato all’AI e al Machine Learning
Che cos’è Il Federated Learning
Il Federated Learning (FL) è un approccio di Machine Learning decentralizzato e collaborativo, che consente a dispositivi o organizzazioni (client) di addestrare insieme un modello, senza condividere direttamente i propri dati privati.
La particolarità di questo metodo è che i dati di addestramento rimangono sui dispositivi locali e solo gli aggiornamenti del modello, come i parametri o i gradienti, vengono inviati a un server centrale o scambiati tra i vari peer.
A differenza dei tradizionali metodi di machine learning, dove i dati vengono raccolti e centralizzati per addestrare un modello, il Federated Learning protegge la privacy e garantisce la sicurezza, permettendo la collaborazione tra più dispositivi senza trasferire informazioni sensibili.
> Leggi anche: Princìpi e sfide dell’etica applicata all’Intelligenza Artificiale
Come funziona il Federated Learning?
Ecco i passaggi generali coinvolti in un tipico processo di Federated Learning:
- Selezione del client/campionamento: Il server sceglie casualmente un sottoinsieme di dispositivi (client) da un pool di partecipanti disponibili, utilizzando algoritmi che tengono conto di vari fattori, come la qualità dei dati, la durata della batteria o la potenza di elaborazione dei dispositivi. Questa fase è necessaria per gestire l’eterogeneità del sistema e per garantire che i client selezionati abbiano le risorse necessarie per contribuire efficacemente all’addestramento del modello.
- Trasmissione dei parametri: il server invia i parametri del modello globale ai client selezionati. Questi parametri rappresentano la conoscenza collettiva appresa dai dati aggregati di tutti i client partecipanti.
Addestramento del modello locale: Ogni client utilizza i propri dati locali e i parametri ricevuti per addestrare il modello in parallelo. La natura specifica del processo di addestramento dipende dal tipo di modello di FL e di Machine Learning impiegato. Nel Federated Learning orizzontale (HFL), i client addestrano un modello comune utilizzando i propri dati locali; nel Federated Learning verticale (VFL), i client collaborano per addestrare un modello su set di dati che condividono spazi di esempio ma hanno caratteristiche diverse. - Aggregazione del modello: i client inviano i loro parametri del modello locale al server. Questi aggiornamenti del modello sono in genere versioni aggregate e compresse delle informazioni apprese dai dati locali, progettate per preservare la privacy dei dati e ridurre i costi di comunicazione.
- Aggregazione dei parametri: Il server aggrega gli aggiornamenti ricevuti dai client, solitamente tramite una media ponderata, per aggiornare il modello globale. I pesi utilizzati possono dipendere da vari fattori, come la dimensione del set di dati locale o la qualità del modello di ciascun client.
- Iterazione: i passaggi da 2 a 5 vengono ripetuti in modo iterativo per un numero specificato di round o fino a quando il modello non converge. La frequenza di queste iterazioni e i criteri di convergenza influenzano l’efficienza della comunicazione e le prestazioni complessive del modello FL.
Durante l’intero processo iterativo di addestramento e aggregazione, i dati grezzi rimangono sempre sui dispositivi locali, garantendo così un altro livello di privacy e di sicurezza.
> Leggi anche: Tipologie e Algoritmi di Machine Learning
Tipi Comuni di Federated Learning e loro Differenze
Esistono tre principali tipologie di Federated Learning (FL), che si distinguono in base al modo in cui i dati sono distribuiti tra i partecipanti: Vertical Federated Learning (VFL), Horizontal Federated Learning (HFL) e Federated Transfer Learning (FTL).
Vertical Federated Learning (VFL)
Viene utilizzato quando i partecipanti possiedono dati sullo stesso insieme di campioni, ma con spazi di caratteristiche diversi. Ad esempio, una banca e un’azienda di e-commerce potrebbero voler collaborare per creare un modello di apprendimento automatico. Entrambe le entità hanno dati sugli stessi clienti, ma la banca ha informazioni finanziarie e l’azienda di e-commerce ha la cronologia degli acquisti.
Il VFL sfrutta protocolli come il Private Set Intersection (PSI) per identificare gli ID dei campioni comuni tra i partecipanti senza condividere altre informazioni. Questo approccio è vantaggioso per organizzazioni che desiderano combinare informazioni complementari per creare un modello più accurato rispetto a uno basato su un solo set di dati.
Horizontal Federated Learning (HFL)
Viene utilizzato quando i partecipanti hanno lo stesso spazio di caratteristiche, ma diversi insiemi di campioni. Un esempio tipico è la collaborazione tra diversi ospedali per costruire un modello di diagnosi medica. Sebbene i pazienti siano diversi per ciascun ospedale, i dati clinici raccolti (come temperatura corporea e pressione sanguigna) sono omogenei.
In questo scenario, l’obiettivo è addestrare un modello globale condiviso, capace di catturare le informazioni comuni tra i vari set di dati.
Federated Transfer Learning (FTL)
Viene utilizzato quando i partecipanti hanno sia spazi di caratteristiche, sia insiemi di campioni diversi. Ad esempio, due aziende che utilizzano telecamere con risoluzioni diverse per acquisire immagini industriali possono impiegare l’FTL per costruire un modello di riconoscimento di oggetti.
Questo tipo di FL sfrutta le somiglianze tra i dati o i modelli dei partecipanti per trasferire la conoscenza da un dominio o compito a un altro, migliorando l’efficacia dell’apprendimento in nuovi scenari.
Oltre a queste tre categorie principali, il Federated Learning può essere ulteriormente classificato in base al grado di partecipazione (Cross-Silo o Cross-Device) e alla topologia di rete (centralizzata, peer-to-peer, ad anello o ibrida). Queste classificazioni mettono in evidenza la versatilità del Federated Learning nell’affrontare le specifiche esigenze applicative e vincoli di sistema.
Il Federated Learning e le Sfide della Privacy dei Dati
Abbiamo scoperto che il Federated Learning (FL) mantiene i dati privati decentralizzati e condividendo solo aggiornamenti del modello, come parametri o gradienti, invece dei dati grezzi. Questo approccio è progettato per proteggere la privacy degli utenti, permettendo ai dispositivi di collaborare nell’addestramento di un modello globale senza rivelare informazioni sensibili. Tuttavia, nonostante i vantaggi, il FL deve affrontare sfide significative legate alla privacy e richiede robuste misure di sicurezza per mitigare eventuali vulnerabilità.
- Decentralizzazione dei Dati: i dati di addestramento rimangono sui dispositivi degli utenti (i client), invece di essere centralizzati in un server. Questa decentralizzazione riduce il rischio di violazioni della privacy, poiché i dati non vengono mai aggregati o condivisi direttamente con altre entità.
- Condivisione di Informazioni Limitata: invece di condividere i dati grezzi, il Federated Learning condivide solo parametri o gradienti del modello tra i client e il server centrale. Questi aggiornamenti del modello sono versioni aggregate e compresse delle informazioni apprese dai dati locali e, idealmente, non espongono direttamente i dati originali.
- Tecniche di Miglioramento della Privacy: per rafforzare ulteriormente la privacy nel FL, possono essere impiegate diverse tecniche di miglioramento della privacy in congiunzione con l’approccio di base:
- Calcolo Multipartitico Sicuro (SMPC). SMPC consente ai client di calcolare congiuntamente una funzione sui propri dati senza rivelarli agli altri. Nel contesto del FL, lo SMPC può essere utilizzato per aggregare in sicurezza gli aggiornamenti del modello, garantendo che neanche il server centrale possa dedurre informazioni dai contributi individuali. Tuttavia, l’implementazione dello SMPC può comportare un elevato costo di comunicazione e complessità computazionale, specialmente con un gran numero di client o set di dati di grandi dimensioni.
- Crittografia Omomorfica: La crittografia omomorfica permette di eseguire calcoli su dati crittografati senza la necessità di decrittografarli. Applicando la crittografia omomorfica nel Federeate Learning, gli aggiornamenti del modello possono essere crittografati prima di essere inviati al server, mantenendo così la riservatezza durante tutto il processo di addestramento. Tuttavia, la crittografia omomorfica può introdurre un notevole sovraccarico computazionale, rendendola non sempre adatta per tutti i modelli o scenari di dati.
- Privacy Differenziale . La privacy differenziale introduce rumore negli aggiornamenti del modello per preservare la privacy garantendo che la presenza o l’assenza di un singolo punto dati abbia un impatto minimo sul modello addestrato. Dato che l’aggiunta di rumore può influire sull’accuratezza del modello, si sconsiglia di utilizzare questa tecnica con set di dati piccoli o complessi.
Il pieno potenziale del federated learning è però ancora frenato da alcune sfide significative, tra cui la gestione della comunicazione su larga scala, l’ottimizzazione delle risorse computazionali e la mitigazione dei rischi di attacchi alle informazioni.
Il federated learning troverà in ogni caso larga adozione in settori regolamentati, come la sanità e la finanza, dove la privacy dei dati è di primaria importanza. Inoltre, lo sviluppo di algoritmi più efficienti e tecniche di ottimizzazione della comunicazione potrebbe rendere il Federated Learning una soluzione standard per le organizzazioni che desiderano sfruttare grandi quantità di dati senza comprometterne la riservatezza.
Fonti:
Federated Learning. (n.d.). European Data Protection Supervisor. Retrieved September 23, 2024, from https://www.edps.europa.eu/press-publications/publications/techsonar/federated-learning_en
Guendouzi, B. S., Ouchani, S., Assaad, H. E., & Zaher, M. E. (2023). A systematic review of federated learning: Challenges, aggregation methods, and development tools. Journal of Network and Computer Applications, 103714.
Huang, W., Li, T., Wang, D., Du, S., Zhang, J., & Huang, T. (2022). Fairness and accuracy in horizontal federated learning. Information Sciences, 589, 170-185.
Mammen, P. M. (2021). Federated learning: Opportunities and challenges. arXiv preprint arXiv:2101.05428.
Martineau, K. (2021, February 9). What is federated learning? IBM Research Blog. https://research.ibm.com/blog/what-is-federated-learning
Ye, M., Fang, X., Du, B., Yuen, P. C., & Tao, D. (2023). Heterogeneous federated learning: State-of-the-art and research challenges. ACM Computing Surveys, 56(3), 1-44.
Wei, K., Li, J., Ma, C., Ding, M., Wei, S., Wu, F., … & Ranbaduge, T. (2022). Vertical federated learning: Challenges, methodologies and experiments. arXiv preprint arXiv:2202.04309.
Wen, J., Zhang, Z., Lan, Y., Cui, Z., Cai, J., & Zhang, W. (2023). A survey on federated learning: challenges and applications. International Journal of Machine Learning and Cybernetics, 14(2), 513-535.