Apprendimento federato: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
m Bot: apostrofo dopo l'articolo indeterminativo e modifiche minori
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(10 versioni intermedie di 8 utenti non mostrate)
Riga 1:
L<nowiki>{{'</nowiki>}}'''apprendimento federato''' (noto anche come '''apprendimento collaborativo''') è una tecnica di [[apprendimento automatico]] che permette di addestrare un algoritmo attraverso l'utilizzo di dispositivi decentralizzati o [[server]] che mantengono i [[dati]], senza la necessità di scambiare i dati stessi. Questo approccio si oppone alle tradizionali tecniche di apprendimento automatico centralizzate dove i dati vengono caricati su un server, o ai più tradizionali metodi decentralizzati che assumono che i dati locali sono [[Variabili indipendenti e identicamente distribuite|distribuiti in modo identico]].
 
L’apprendimento federato permette ai diversi partecipanti di costruire un modello per l’apprendimento automatico comune e robusto, senza lo scambio di qualsiasi dato. L'utilizzo di questa tecnica consente di affrontare problemi critici come la protezione, la sicurezza, e i diritti di accesso ai dati e l’impiego di dati eterogenei. Le principali applicazioni dell’apprendimento federato comprendono vari campi come la difesa, le telecomunicazioni, l’[[IoT]] e la farmaceutica.
 
== Definizione ==
L’apprendimento federato ha lo scopo di fornire metodi per addestrare un modello di apprendimento automatico, per esempio le [[Rete neurale artificiale|reti neurali]] profonde, utilizzando i dati locali che sono distribuiti su più nodi senza la necessitanecessità dello scambio degli stessi. Il principio generale consiste nell'addestrare modelli locali utilizzando i dati disponibili localmente ai nodi e, attraverso lo scambio dei [[Parametro (programmazione)|parametri]] (ad esempio i pesi di una rete neurale profonda) generare un modello globale.
La principale differenza tra l'apprendimento federato e l'apprendimento distribuito risiede nelle ipotesi formulate sulle proprietà dei set di dati locali<ref name=":1">[[arxiv:1511.03575|Federated Optimization: Distributed Optimization Beyond the Datacenter]], Jakub Konecny, H. Brendan McMahan, Daniel Ramage, 2015</ref> poiché l'apprendimento distribuito è nato con l'intento di [[Computer performance|parallelizzare la potenza di calcolo]] mentre l'approccio federato ha come intento l'addestramento dei modelli su [[Omogeneità ed eterogeneità|dati eterogenei]] . Anche se l'approccio distribuito ha come obbiettivoobiettivo l'apprendimento di un singolo modello su server multipli, i dati memorizzati all'interno dei nodi locali vengono considerati identicamente distribuiti e hanno all'incirca le stesse dimensioni per tutti i nodi. Nessuna di queste ipotesi viene fatta per l’apprendimento federato. Infatti, i dati disponibili ai nodi sono generalmente eterogenei ed hanno dimensioni che possono variare anche di molti [[Ordine di grandezza|ordini di grandezza]]. Inoltre, i nodi coinvolti nell'apprendimento federato possono subire delle disconnessioni o dei guasti, dovute principalmente al mezzo di comunicazione utilizzato (per esempio il [[Wi-Fi|Wi-fi]]) o alla batteria (per esempio dispositivi [[Smartphone|smartphonessmartphone]]s o IoT) mentre i nodi considerati nell'addestramento distribuito sono principalmente [[Centro elaborazione dati|centri di elaborazione dati]] con una capacità computazionale molto elevata e possono utilizzare una connessione dedicata ad alta velocità'''.'''<ref name=":0">{{Cita pubblicazione|nome=Peter|cognome=Kairouz|nome2=H. Brendan|cognome2=McMahan|nome3=Brendan|cognome3=Avent|data=2019-12-10|titolo=Advances and Open Problems in Federated Learning|rivista=arXiv:1912.04977 [cs, stat]|accesso=2020-06-25|url=http://arxiv.org/abs/1912.04977}}</ref>
 
=== Apprendimento federato centralizzato ===
Riga 13:
Nei metodi di apprendimento federato decentralizzato, i nodi hanno la capacità di coordinarsi al fine di ottenere il modello globale. Queste tecniche permettono di ovviare al problema degli approcci centralizzati dato che i nodi sono in grado di scambiarsi gli aggiornamenti dei modelli senza il coordinamento di un server centrale. Ciononostante, la specifica configurazione della [[topologia di rete]] può influenzare le prestazioni del processo di apprendimento.<ref name=":0" />
 
[[File:Federated_learning_process_central_case.png|link=https://it.wikipedia.org/wiki/File:Federated_learning_process_central_case.png|alt=Federated learning general process in central orchestrator setup|miniatura|upright=2|Processo generale di apprendimento federato nella configurazione centralizzata]]
 
== Caratteristiche principali ==
Riga 20:
Per garantire una buona esecuzione delle attività al fine di ottenere un modello globale condiviso da tutti i nodi, l’apprendimento federato si basa su un processo iterativo suddiviso in un insieme atomico di interazioni client-server noto come federated round. All'interno di ogni ciclo di questo processo, l’attuale stato del modello viene trasmesso ai nodi partecipanti, i nodi aggiornano il modello utilizzando i dati locali a disposizione e producono una serie di potenziali aggiornamenti del modello. Infine, il modello globale viene aggiornato aggregando gli aggiornamenti pervenuti dai nodi.<ref name=":0" />
 
Nella metodologia seguente, si assume che il processo di apprendimento consideri l’interazione di un server centrale che fornisce i comandi ai nodi sulle operazioni da effettuare. Tuttavia, l’impiego di metodologie che non richiedono l’utilizzo di un’entità centrale, come per esempio gli approcci [[peer-to-peer]], forniscono gli stessi risultati attraverso l'utilizzo di metodologie gossip<ref>Decentralized Collaborative Learning of Personalized Models over Networks Paul Vanhaesebrouck, Aurélien Bellet, Marc Tommasi, 2017</ref> o di consenso.<ref>{{Cita pubblicazione|nome=Stefano|cognome=Savazzi|nome2=Monica|cognome2=Nicoli|nome3=Vittorio|cognome3=Rampa|data=2020-05|titolo=Federated Learning With Cooperating Devices: A Consensus Approach for Massive IoT Networks|rivista=IEEE Internet of Things Journal|volume=7|numero=5|pp=4641–46544641-4654|accesso=2020-06-25|doi=10.1109/JIOT.2020.2964162|url=https://ieeexplore.ieee.org/document/8950073/}}</ref>
 
Assumendo che un federated round sia composto da una iterazione del processo di apprendimento, la procedura per l’addestramento federato può essere descritta come segue:<ref name=":2">{{Cita pubblicazione|nome=Keith|cognome=Bonawitz|nome2=Hubert|cognome2=Eichner|nome3=Wolfgang|cognome3=Grieskamp|data=2019-03-22|titolo=Towards Federated Learning at Scale: System Design|rivista=arXiv:1902.01046 [cs, stat]|accesso=2020-06-25|url=http://arxiv.org/abs/1902.01046}}</ref>
Riga 42:
* '''Sbilanciamento''': le dimensioni dei dati memorizzati ai nodi può variare significativamente.
 
Altri descrittori di dati non i.i.d. tengono conto della variazione dinamica della topologia di rete,<ref>{{Cita pubblicazione|nome=Hubert|cognome=Eichner|nome2=Tomer|cognome2=Koren|nome3=H. Brendan|cognome3=McMahan|data=2019-04-22|titolo=Semi-Cyclic Stochastic Gradient Descent|rivista=arXiv:1904.10120 [cs, stat]|accesso=2020-06-25|url=http://arxiv.org/abs/1904.10120}}</ref> a causa di guasti o ineleggibilità dei nodi locali durante il processo di apprendimento federato, o spostamenti dei set di dati, in cui i nodi che partecipano alla fase di addestramento per l'apprendimento del modello globale potrebbero non essere idonei durante l'inferenza a causa di capacità computazionali insufficienti. Ciò si traduce in una differenza tra le statistiche dei dati di addestramento e di inferenza.<ref name=":0" />
 
== Iperparametri algoritmici ==
Riga 84:
 
=== Federated averaging ===
Il federated averaging (FedAvg)<ref name="ReferenceA">Communication-Efficient Learning of Deep Networks from Decentralized Data, H. Brendan McMahan and al. 2017</ref> è una generalizzazione del FedSGD, che consente ai nodi locali di eseguire più di un aggiornamento sui dati locali e vengono scambiati i pesi aggiornati anziché i gradienti. La logica alla base di questa generalizzazione è che in FedSGD, se tutti i nodi locali iniziano dalla stessa inizializzazione, la media dei gradienti è strettamente equivalente alla media dei pesi stessi. Inoltre, la media dei pesi calibrati provenienti dalla stessa inizializzazione non danneggia necessariamente le prestazioni del modello medio risultante.
 
== Limitazioni tecniche ==
Riga 96:
* Il set di dati di ciascun nodo può richiedere delle cure regolari;
* L'applicazione di meccanismi di oscuramento dei dati utilizzati per l'addestramento potrebbe consentire a degli utenti malevoli di iniettare [[backdoor]] nel modello globale;<ref>{{Cita pubblicazione|nome=Eugene|cognome=Bagdasaryan|nome2=Andreas|cognome2=Veit|nome3=Yiqing|cognome3=Hua|data=2019-08-06|titolo=How To Backdoor Federated Learning|rivista=arXiv:1807.00459 [cs]|accesso=2020-06-25|url=http://arxiv.org/abs/1807.00459}}</ref>
* La mancanza di accesso ai dati globali per l'addestramento rende più difficile identificare deviazioni indesiderate che possono influenzare la fase di apprendimento, per esempio età, genere, [[orientamento sessuale]];
* La perdita parziale o totale degli aggiornamenti del modello a causa di errori dei nodi possono incidere sul modello globale
 
Riga 112:
 
=== Aspetti legali dell'apprendimento federato ===
I quadri giuridici occidentali sottolineano sempre di più la protezione e la tracciabilità dei dati. Il rapporto della [[Casa Bianca]] del 2012<ref>{{Cita pubblicazione|nome=A.|cognome=Anonymous|data=2013-03-01|titolo=Consumer Data Privacy in a Networked World: A Framework for Protecting Privacy and Promoting Innovation in the Global Digital Economy|rivista=Journal of Privacy and Confidentiality|volume=4|numero=2|lingua=en|accesso=2020-06-26|doi=10.29012/jpc.v4i2.623|url=https://journalprivacyconfidentiality.org/index.php/jpc/article/view/623}}</ref> ha raccomandato l'applicazione di un principio di minimizzazione dei dati, che è menzionato nel [[Regolamento generale sulla protezione dei dati|GDPR]] europeo.<ref>Recital 39 of the Regulation (EU) 2016/679 (General Data Protection Regulation)</ref> In alcuni casi, è impossibile trasferire dati da un paese all'altro (ad es. dati genomici), tuttavia a volte i consorzi internazionali sono necessari per i progressi scientifici. In tali casi, l'apprendimento federato offre soluzioni per la formazione di un modello globale nel rispetto dei vincoli di sicurezza.
 
== Temi di ricerca attuali ==
L'apprendimento federato ha iniziato ad emergere come importante argomento di ricerca nel 2015<ref name=":1" /> e nel 2016,<ref name=":4">{{Cita pubblicazione|nome=Jakub|cognome=Konečný|nome2=H. Brendan|cognome2=McMahan|nome3=Daniel|cognome3=Ramage|data=2016-10-08|titolo=Federated Optimization: Distributed Machine Learning for On-Device Intelligence|rivista=arXiv:1610.02527 [cs]|accesso=2020-06-25|url=http://arxiv.org/abs/1610.02527}}</ref> con le prime pubblicazioni sul federated averaging nel campo delle telecomunicazioni. Un altro aspetto importante della ricerca è la riduzione della comunicazione durante il processo di apprendimento federato. Nel 2017 e nel 2018, le pubblicazioni hanno sottolineato lo sviluppo di strategie di allocazione delle risorse, in particolare per ridurre i requisiti<ref name="konecny">{{Cita pubblicazione|nome=Jakub|cognome=Konečný|nome2=H. Brendan|cognome2=McMahan|nome3=Felix X.|cognome3=Yu|data=2017-10-30|titolo=Federated Learning: Strategies for Improving Communication Efficiency|rivista=arXiv:1610.05492 [cs]|accesso=2020-06-25|url=http://arxiv.org/abs/1610.05492}}</ref> di comunicazione<ref name="ReferenceA" /> tra nodi con algoritmi di gossip<ref>{{Cita pubblicazione|nome=Michael|cognome=Blot|nome2=David|cognome2=Picard|nome3=Matthieu|cognome3=Cord|data=2016-11-29|titolo=Gossip training for deep learning|rivista=arXiv:1611.09726 [cs, stat]|accesso=2020-06-25|url=http://arxiv.org/abs/1611.09726}}</ref>, nonché sulla caratterizzazione della robustezza agli attacchi differenziali alla privacy.<ref>{{Cita pubblicazione|nome=Robin C.|cognome=Geyer|nome2=Tassilo|cognome2=Klein|nome3=Moin|cognome3=Nabi|data=2018-03-01|titolo=Differentially Private Federated Learning: A Client Level Perspective|rivista=arXiv:1712.07557 [cs, stat]|accesso=2020-06-25|url=http://arxiv.org/abs/1712.07557}}</ref> Altre attività di ricerca si concentrano sulla riduzione della larghezza di banda durante l'addestramento attraverso metodi<ref>{{Cita pubblicazione|nomename=Jakub|cognome=Konečný|nome2=H."konecny" Brendan|cognome2=McMahan|nome3=Felix X.|cognome3=Yu|data=2017-10-30|titolo=Federated Learning: Strategies for Improving Communication Efficiency|rivista=arXiv:1610.05492 [cs]|accesso=2020-06-25|url=http://arxiv.org/abs/1610.05492}}</ref> di sparsificazione e quantizzazione, in cui i modelli di apprendimento automatico sono sparsificati e/o compressi prima di essere condivisi con altri nodi. Inoltre, alcune tecniche di apprendimento federato stanno iniziando a considerare [[Canale (telecomunicazioni)|canali di propagazione]] reali<ref>{{Cita pubblicazione|nome=Mohammad Mohammadi|cognome=Amiri|nome2=Deniz|cognome2=Gunduz|data=2020-02-10|titolo=Federated Learning over Wireless Fading Channels|rivista=arXiv:1907.09769 [cs, math]|accesso=2020-06-25|url=http://arxiv.org/abs/1907.09769}}</ref> dato che in implementazioni precedenti venivano utilizzati canali ideali.
 
== Applicazioni ==
Riga 130:
 
=== Industria 4.0: sistemi di produzione intelligenti ===
Nell'[[Industria 4.0|'industria 4.0]], è diffusa l'adozione di tecniche di apprendimento automatico<ref>{{Cita pubblicazione|nome=Raffaele|cognome=Cioffi|nome2=Marta|cognome2=Travaglioni|nome3=Giuseppina|cognome3=Piscitelli|data=2020/1|titolo=Artificial Intelligence and Machine Learning Applications in Smart Production: Progress, Trends, and Directions|rivista=Sustainability|volume=12|numero=2|ppp=492|lingua=en|accesso=2020-06-25|doi=10.3390/su12020492|url=https://www.mdpi.com/2071-1050/12/2/492}}</ref> per migliorare l'efficienza e l'efficacia dei processi industriali garantendo un elevato livello di sicurezza. Tuttavia, la riservatezza dei dati sensibili per le industrie e le aziende manifatturiere è di fondamentale importanza. Gli algoritmi di apprendimento federato possono essere applicati per queste applicazioni in quanto consentono di non rivelare alcun dato sensibile.<ref name=":4" />
 
== Strumenti software ==
Riga 137:
* Tensorflow Federated:<ref>{{Cita web|url=https://www.tensorflow.org/federated?hl=it|titolo=TensorFlow Federated|sito=TensorFlow|lingua=en|accesso=2020-06-25}}</ref> è uno strumento software [[open source]] che consente a qualsiasi utente di valutare modelli di apprendimento automatico su dati distribuiti. Fornisce diverse funzionalità [[Application programming interface|API]] per simulare architetture di apprendimento federato e per definire calcoli federati specifici (ad es. diverse varianti di apprendimento federato).
* PySyft:<ref>{{Cita pubblicazione|data=2020-06-25|titolo=OpenMined/PySyft|editore=OpenMined|accesso=2020-06-25|url=https://github.com/OpenMined/PySyft}}</ref> è una libreria Python che fornisce strumenti per simulare i meccanismi di tutela della privacy all'interno delle tecniche di apprendimento federato. Si basa sul noto pacchetto Pytorch e consente di includere negli algoritmi federati sistemi per la Privacy differenziale e altri meccanismi di sicurezza, ad esempio il secure multy-party computation e la crittografia omomorfica.
* Leaf:<ref>{{Cita web|url=https://leaf.cmu.edu/|titolo=LEAF|sito=leaf.cmu.edu|accesso=2020-06-25}}</ref> è un framework utilizzato per l'analisi comparativa dei modelli di apprendimento automatico all'interno degli algoritmi di apprendimento federato. Supporta molte tipologie di apprendimento automatico, ad esempio l'apprendimento multi-task, il meta-learning e l'apprendimento online.<br />
 
==Note==
<references />
* Khademi Nori Milad, Yun Sangseok, Kim Il-Min, Fast Federated Learning by Balancing Communication Trade-Offs (2021). [https://doi.org/10.1109/TCOMM.2021.3083316], [https://arxiv.org/abs/2105.11028].
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
* [{{cita web|url=https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32016R0679 "|titolo=Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016"] at eur-lex.europa.eu. Retrieved October 18, 2019.}}
 
{{Portale|informatica}}
* [https://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32016R0679 "Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016"] at eur-lex.europa.eu. Retrieved October 18, 2019.
 
[[Categoria:Apprendimento automatico]]