• 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
  • 🏡 Home
  • 🚨 GDPR Compliant
  • ⚡️ Data Science
  • 📌 Machine Learning
  • 🔒 Privacy Preserving
AI, machine-learning, Privacy Preserving

Federated Learning

Federated Learning

Il Federated Learning è una nuova tecnica di machine learning training che consente lo sviluppo di un modello su di un dataset distribuito.

Convenzionalmente un modello di AI è allenato su un singolo dataset dislocato su un una singola macchina (leggasi server o cluster, inteso come sistema informatico e non il risultato del, ad esempio, DBSCAN).

Questo approccio richiede dunque che i dati siano aggregati.

Il problema?

Non è sempre che detto che la centralizzazione dei dati sia fattibile.

Perché?

Le ragioni possono essere diverse: da quelle legali, a quelle confidenziali (e.g. Un’azienda non intende compromettere la propria Proprietà Intellettuale.)

Ecco che entra in gioco il Federated Learning: invece di prelevare tutti i dati dai proprietari (owner) e inviarli al sistema centralizzato per l’allenamento (centralized learning), prevede che siano i modelli stessi a essere portati laddove i dati risiedano (i.e. in tutte le locazioni sulle infrastrutture possedute dai data owner).

Per un approccio più pacioccoso e coccoloso, Google offre dei disegni comico-illustrativi a riguardo.

Federated Learning Case Study

Immaginiamo il seguente scenario reale.

Dobbiamo creare una piattaforma che faciliti la ricerca e analisi condotta su una serie di dati privati e distribuiti garantendone la privacy. (privacy-preserving research)

Un tale sistema consentirebbe ai ricercatori di compiere analisi innovative (groundbreaking) senza richiedere l’accesso ai dati studiati, o a una copia di essi.

Questo renderebbe finalmente disponibili una moltitudine di dati legati ad esempio al settore medico e finanziario, prima congelati a causa di rischi dovuti alla possibile diffusione di informazioni private.

Magnifico! Come possiamo allora realizzare un simile progetto?

Ecco la chiave di volta: consentire ai data owner di partecipare alla ricerca mettendo a disposizione i propri dati senza tuttavia doverli caricare o trasferire, su una struttura terza centralizzata.

Si tratta di un requisito spesso bloccante per ricerche richiedenti l’accesso a dati privati.

Un blocco che conduce rapidamente a un difficile trade-off: mantenere i dati privati (sull’hardware proprietario, sicuro e affidabile) o fornirli a un ricercatore nella speranza che possano contribuire alla soluzione di questioni eticamente rilevanti? (e.g curare il cancro)

Risolvere questo compromesso richiede un cambiamento di prospettiva e la creazione di nuove premesse.

Il federated learning e la differential privacy sono due efficaci strumenti per pavimentare la strada a nuove future conquiste nel settore data science e machine learning.

Silo vs Device schemes

Possiamo classificare due schemi di applicazione del federated learning:

  • Cross-silo
  • Cross-device

Lo schema cross-silo prevede che i dati siano presenti all’interno di più database, contenenti quindi le informazioni di una moltitudine di utenti, e partizionati per feature.

Possiamo approfondire questo schema nell’articolo accademico di Feng et Al.

L’esempio pratico è quello che coinvolga differenti istituti di credito e la necessità di creare un sistema che analizzi i loan repayment records dei vari clienti.

Siamo così in grado di prevedere la probabilità che un soggetto vada in default, e accordare di conseguenza i termini del prestito. Visivamente:

Lo schema cross-device fa invece riferimento allo scenario in cui i dati siano presenti su differenti devices. Questo richiede un partizionamento per campioni.

Il nostro pigro cervello sarà agevolato a comprendere il concetto da questa immagine:

open-mined-federated-learning-cross-devices-schema-example-guida-italiano

Un esempio significativo è il servizio di previsione della parola successiva offerto dall’App GBoard di Google.

Studiamone il funzionamento!

Federated Learning on GBoard

Google nel 2017 sperimentò con successo l’uso del federated learning applicandolo al servizio GBoard.

In questo caso il testo scritto dall’utente veniva analizzato e qualora una query proposta fosse stata cliccata dall’utente, i dati raccolti sarebbero stati immagazzinati e successivamente inviati in cloud per il training.

Immagino che il sistema sia tuttora in funzione! Fantastico.

Gli ostacoli da superare nello sviluppo di un sistema di federated learning sono molteplici:

  • dati presenti su milioni di dispositivi in un highly uneven fashion
  • alta latenza
  • bassa velocità di connessione per l’invio dei dati
  • dati a disponibilità intermittente per l’allenamento.

Tecniche comuni quali l’ausilio di un Stochastic Gradient Descent (SGD) come algoritmo di ottimizzazione non possono essere utilizzati, perché facenti affidamento a dataset partizionati in modo omogeneo su server in cloud

Queste soluzioni altamente iterative richiederebbero bassa latenza e alta velocità di connessione ai dati. Premesse assenti nel federated learning.

La soluzione?

Nuovi algoritmi!

Data Partitions

Continuando il nostro studio teorico, dobbiamo sottolineare un altro aspetto.

Il Federated Learning supporta tre tipologie di partizioni dati: orizzontale, verticale e una denominata di federated transfer learning.

Nome partizioneDescrizione Partizione
HFL: Horizontal partitioned FLI dati sono distribuiti in diversi silos contenenti lo stesso feature space* e diversi samples
VFL: Vertically partitioned FLI dati sono distribuiti su diversi silos conteneti diversi feature space* e gli stessi samples
FTL: Federated transfer learningI dati sono distribuiti su differenti silos conteneti diversi features space* e diversi samples

*Il feature space fa riferimento alle spazio n-dimensionale in cui le feature di un dataset (senza la label dunque) giacciono. Puoi trovare maggiori dettagli in questa risposta di stackexchange.

Abbandonando la teoria astratta per qualcosa di più concreto, un esempio di problema di apprendimento su partizione orizzontale con schema cross-silo può coinvolgere dati tipo:

  • Strutturato: dati generati da software aziendali, installati su più istituzioni e / o divisi in molteplici stati, in ottemperanza ai requisiti di data localization (maggiori dettagli qui)
  • Non strutturato: nell’hleatcare, documentazione clinica, tomografie e simili

In questo articolo accademico sull’applicazione del FL all’Healtcare per l’analisi degli elettroencefalogrammi, dal titolo HHHFL: Hierarchical Heterogeneous Horizontal Federated Learning for Electroencephalography di Gao et Al., troviamo un esempio di HFL.

Non finisce qui.

Prima di salutarti facciamo un accenno all’implementazione pratica del federated learning.

Federated Learning Python

Ok. Teoria fatta.

Lato tecnico pratico: cosa ci offre il mondo python open source?

Google gestisce il federated learning attraverso Tensorflow, e con l’aiuto di una sezione dedicata nella documentazione è possibile sviluppare dei sistemi che preservino la privacy.

Invece, qualora la nostra rete neurale fosse realizzata con PyTorch dovremmo ricorrere ad altre librerie.

Consideriamo ad esempio PyGrid e PySyft di OpenMined per implementare soluzioni di federated learning.

In attesa di novità e aggiornamenti, una buona giornata!

Un caldo abbraccio, Andrea.

Written by Andrea Provino - Febbraio 10, 2020
Tags | deep learning, machine learning, neural network, privacy

You Might Also Like

apheris-ai-machine-learning-deep-leaniing-data-science-deep-learning-differential-privacy-distributed-analysis-federated-learning

Apheris AI: analisi su dati distribuiti e tutela della privacy

Maggio 23, 2020
logistic-regression-data-science-machine-learning-linear-regression-guida-italiano-regressione-logistica-formula-matematica-italiano-scaled

Logistic Regression

Dicembre 6, 2019
privacy-enhancing-technologies-techniques-machine-learning-data-science-pets-guida-italiano-spiegazione-semplice

Cosa sono le Privacy-enhancing technologies o techniques (PETs)

Febbraio 7, 2021

5 Comments

  • Applied Federated Learning & Predictive Maintenance | Code Example Febbraio 24, 2020 at 21:11

    […] Federated Learning […]

    Reply
  • Apheris AI: analisi su dati distribuiti e tutela della privacy - AI Companies Agosto 28, 2020 at 05:31

    […] Federated Machine Learning […]

    Reply
  • Cross-Silo Federated Learning - Privacy Enhancing Technologies Ottobre 12, 2020 at 05:50

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

    Reply
  • Project MELLODDY: 18 mln per il machine learning - Privacy Use Cases Ottobre 12, 2020 at 19:20

    […] abbiamo chiarito cosa sia il Cross-Silo Federated Learning mentre qua abbiamo presentato il federated […]

    Reply
  • Horizontal vs Vertical vs Transfer Federated Learning - Privacy Preserving Ottobre 17, 2020 at 10:19

    […] Non temere, ho trascritto le comunicazioni e puoi trovarle qui. […]

    Reply
  • Please Post Your Comments & Reviews
    Annulla risposta

    Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

    Next Post
    Previous Post

    Una pubblicità che non vedi se usi AdBlock

    EXPAND YOUR KNOWLEDGE

    • Blockchain

      Patricia Merkle Trie

      Maggio 30, 2023
    • Artistic representation of a tree Blockchain

      Tree Data Structure: cos’è un Merkle Tree

      Maggio 26, 2023
    • Cover image for Bitcoin UTXO explanation post Blockchain

      UTXO: come funziona il modello Unspent Transaction Outputs

      Maggio 23, 2023
    • Blockchain

      Cos’è Ethereum

      Maggio 15, 2023
    • Blockchain Developer

      Circuito aritmetico

      Novembre 1, 2022
    • machine-learning

      Un nuovo inizio

      Settembre 4, 2021
    • Zero Knwoledge Proof Article Privacy Preserving

      Zero Knowledge Proof: zk-SNARK e zk-STARK | Prova a conoscenza zero

      Luglio 8, 2021
    • oblivious-transfer-spiegazione-italiano-ot-explanation Privacy Preserving

      Oblivious Transfer (OT)

      Luglio 6, 2021
    • Aleo Studio Website Preview machine-learning

      Aleo Studio: un IDE per Zero-Knowledge Proofs Applications

      Luglio 1, 2021
    • privacy-enhancing-technologies-data-machine-learning-data-science Privacy Preserving

      Perché il Privacy Tech è un vantaggio competitivo micidiale

      Giugno 17, 2021

    Quello che Google pensa ti possa piacere

    Prodotti che i Cookie dicono potresti trovare interessanti

    AI Blog - © 2019-2021 Andrea Provino