Blog.

Cross-Silo Federated Learning


Autore
Andrea Provino
Data
Tempo di lettura
5 minuti
Categoria
machine-learning, Privacy Preserving

cross-silo-federated-learning-guida-italiano-machine-learning-italia

Il Cross-Silo Federated Learning è la soluzione ottimale laddove diverse organizzazioni o aziende abbiano l’obiettivo comune di allenare un modello di machine learning, non potendo però condividere dati per motivi legali o confidenziali.

Pensiamo ad esempio al caso in cui alcuni istituti bancari intendano sviluppare un modello di credit scoring.

I vantaggi di questa tecnologia non terminano qui.

Considera infatti che la configurazione cross-silo non riguarda solo le relazioni interaziendali, e può essere applicata anche all’interno della stessa azienda (i.e. dati intra-aziendali) quando ad esempio non è possibile centralizzare i dati di differenti aree geografiche o giurisdizioni.

Con la proliferazione delle regolamentazioni in materia di tutela dei dati personali sono necessari nuovi strumenti.

Ecco le ragioni per cui il Cross-Silo Federated Learning acquisisce un’importanza sempre maggiore!

La spedizione esplorativa è pronta: carichiamo le utile provviste, e partiamo alla scoperta di questa affascinante configurazione!

Prima però, ripassiamo insieme cosa sia il Federaded Learning.

Perfetto!

Cross-Silo Federated Learning

Quando parliamo di Cross-Silo Federated Learning, dobbiamo considerare 4 elementi fondamentali:

  • Partizionamento dei dati
  • Meccanismi d’incentivazione
  • Privacy Differenziale (sempre presente)
  • Fattorizzazione dei tensori

Ora che ho perso la tua attenzione con questi termini così complessi e faticosi da digerire, procediamo!

Devi sapere una cosa fondamentale.

Grazie a queste considerazioni saremo in grado d’identificare propriamente lo scenario, il problema da risolvere, attuando dunque la strategia ottimale.

Sono dunque importanti nozioni da tenere a mente.

Non temere, ti accompagno io in questo viaggio: esploreremo ogni elemento con semplicità, allontanando il tedio se necessario.

Data Partitioning

In una configurazione Cross-Silo i dati possono essere partizionati per campione (i.e. User) o per caratteristica (i.e. Feature).

L’esempio più comune è a quello di due aziende con business differenti e dati identici o sovrapponibili, come una banca e un’azienda di vendita al dettaglio in una stessa città.

Sappi poi un’altra cosa, utile per sembrare ancora più colti al tuo gruppo di amici del Pub.

Questa distinzione è spesso identificata da una nomenclatura elaborata da Yang et Al che prevede il riconoscimento di:

  • dati partizionati orizzontalmente (per campione, sample-based)
  • dati partizionati verticalmente (per caratteristica, feature-based)

Approfondiremo le differenze le loro differenze in un prossimo articolo.

Per il momento è sufficiente sapere che esistano.

Chiudiamo ora il cerchio, e comprendiamo il motivo per cui è stato necessario considerare la loro esistenza.

In base alla conformazione dei dati cambiano infatti le accortezze da tenere a mente.

Dati verticali

Applicando il Cross-Silo Federated Learning a dati partizionati verticalmente potrebbe essere necessario definire un server centrale neutro.

Inoltre, in base alla tipologia di algoritmo di training designato, le informazioni scambiate potrebbero limitarsi a specifici risultati intermedi anziché completi parametri del modello.

In queste circostanze l’ausilio della Secure Multi-Parti Computation o della Homomorphic Encryption è necessario per assicurare opportune garanzie di sicurezza.

Dati orizzontali

Quando un’azienda non può centralizzare i dati per motivi legali (i.e. differenti giurisdizioni, come molteplici aree geografiche) o più compagnie con un obiettivo comune decidano di collaborare per migliorare il proprio modello, dobbiamo considerare questo scenario.

Un esempio concreto? Subito!

Possiamo pensare a diverse banche che decidano di allenare un modello di fraud detection o anomaly detection, oppure ancora ospedali che vogliano creare modelli diagnostici di qualità superiore.

Federated Transfer Learning

Questo approccio è utile negli scenari in cui esiste solo una parziale sovrapposizione dei dati condivisi delle parti.

Tuttavia, le soluzioni oggi esistenti si limitano alla casistica con due clients.

Passiamo al secondo grande elemento per chiarire un problema di Cross-Silo Fedearated Learning.

Incentive mechanisms

I meccanismi d’incentivazione rappresentano un concetto molto importante.

Perché mai le diverse parti dovrebbero partecipare nella risoluzione del problema, mettendo in compartecipazione i propri dati?

Per poter vendere delle soluzioni di cross-silo federated learning a diverse aziende, anche in competizione (i.e. Business competitors), è necessario che siano spronate a partecipare attivamente.

A ogni problema, una soluzione. Soluzione che in questo caso si chiama: incentive mechanisms

Occorre dunque trovare degli incentivi che spingano le parti a rimanere nel gioco per lungo tempo, invece d’interrompere la collaborazione.

Quando il modello è rilasciato in produzione, possono essere misurate le perfomance e registrate su supporti dati permanenti, ad esempio la Blockchain*.

In questo modo, le aziende che forniranno maggiori dati potranno beneficiare maggiormente del modello, poiché come sappiamo l’efficacia dipende dalla mole di dati su cui è allenato.

Quello che potresti non sapere è che l’efficacia stessa del modello è distribuita alle parti attraverso meccanismi federati, ergo per cui questo sistema riuscirebbe a motivare le parti a rimanere e convincerne di nuove a entrare nel loop.

Differential Privacy

Definire l’architettura di allenamento del modello è solo uno dei molteplici nodi da risolvere: occorre anche assicurare la privacy dei dati.

La privacy differenziale si rivela dunque ottimale per questo scopo.

Infine, l’elemento apparentemente più ostico.

Tensor factorization

Qualora i dati fossero orizzontalmente partizionati, con molteplici dataset contenenti dati con le stesse caratteristiche partizionati per campione, la fattorizzazione dei tensori permette di condividere con il server centrale meno informazioni.

Più nel dettaglio, solo i fattori intermedi vengono condivisi, tenendo i dati di ogni sito privati.

Mi rendo conto che si tratti di elementi un po’ astratti, ma avremo modo di capirne sempre di più.

Continua a seguirmi, e ti consiglio di attivare le notifiche con il grosso bottone rosso che trovi in basso a sinistra della pagina home!

Qualora volessi approfondire, ti rimando a questa pubblicazione ricca d’informazioni aggiuntive.

Per il momento è tutto.

Per aspera, ad astra.

Un caldo abbraccio, Andrea.

Taggedfederated learningmachine learningprivacy preserving machine learning


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum