Apprendimento federato: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti.
 
(6 versioni intermedie di 5 utenti non mostrate)
Riga 1:
L{{'}}'''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.
Riga 5:
== 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 necessità 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">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]]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 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 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 ==
Riga 130:
 
=== Industria 4.0: sistemi di produzione intelligenti ===
Nell'[[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 141:
==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}}
 
{{Portale|informatica}}
 
[[Categoria:Apprendimento automatico]]