Apprendimento federato: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 63:
* Tasso di apprendimento locale: <math>\eta</math>
 
Tali parametri devono essere ottimizzati in base ai vincoli dell'applicazione di apprendimento automatico (ad esempio, potenza di calcolo disponibile, memoria disponibile, [[Banda (informatica)|larghezza di banda]] ). Ad esempio, scegliendo stocasticamente una frazione limitata <math>C</math> di nodi per ciascuna iterazione si possono ridurre i costi di elaborazione e si può impedire l'eccessivo adattamento del modello, allo stesso modo in cui la discesa del gradiente stocastica può ridurre l' [[Overfitting|adattamento eccessivo]].
 
== Metodi per l'apprendimento federato ==
Riga 92:
* L'eterogeneità tra i diversi set di dati locali: ogni nodo può presentare delle deviazioni rispetto alla popolazione generale e la dimensione dei set di dati può variare in modo significativo;
* L'eterogeneità temporale: la distribuzione dei dati memorizzati dai nodi può variare nel tempo;
* L'[[interoperabilità]] del set di dati di ciascun nodo è un prerequisito;
* 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>
Riga 101:
 
=== Privacy by design ===
Il vantaggio principale dell'utilizzo di approcci federati nell'apprendimento automatico consiste nel garantire la [[Privacy|riservatezza]] o la segretezza dei dati. Infatti, nessun dato locale viene caricato esternamente, concatenato o scambiato. Poiché l'intero database è segmentato in bit locali, questo rende più difficile manometterlo.
 
Con l'apprendimento federato, vengono scambiati solo i parametri di apprendimento automatico. Inoltre, tali parametri possono essere criptati prima della condivisione tra i cicli di apprendimento per estendere la privacy e gli schemi di [[crittografia omomorfica]] possono essere utilizzati per effettuare direttamente calcoli sui dati crittografati senza decriptarli in anticipo. Nonostante queste misure protettive, i parametri possono comunque rendere visibile informazioni associate ai dati sottostanti, ad esempio effettuando più query specifiche su set di dati specifici. La capacità di interrogazione dei nodi è quindi un importante punto di attenzione, che può essere affrontato utilizzando la privacy differenziale o l'aggregazione sicura.<ref>{{Cita web|url=https://research.google/pubs/pub47246/|titolo=Practical Secure Aggregation for Privacy-Preserving Machine Learning|autore=Aaron Segal, Antonio Marcedone, Benjamin Kreuter, Daniel Ramage, H. Brendan McMahan, Karn Seth|sito=Google Research|data=2017|lingua=en|accesso=2020-06-25}}</ref>
Riga 108:
Il modello generato durante la fase di apprendimento fornisce una comprensione del modello globale appreso dai nodi. Tuttavia, se un nodo partecipante desidera apprendere da schemi globali ma anche adattare i risultati al suo stato peculiare, la metodologia di apprendimento federato può essere adattata per generare due modelli contemporaneamente in un framework di apprendimento multi-task. Inoltre, le tecniche di [[clustering]]<ref>{{Cita pubblicazione|nome=Felix|cognome=Sattler|nome2=Klaus-Robert|cognome2=Müller|nome3=Wojciech|cognome3=Samek|data=2019-10-04|titolo=Clustered Federated Learning: Model-Agnostic Distributed Multi-Task Optimization under Privacy Constraints|rivista=arXiv:1910.01991 [cs, stat]|accesso=2020-06-25|url=http://arxiv.org/abs/1910.01991}}</ref> possono essere applicate per aggregare nodi che condividono alcune somiglianze dopo il completamento del processo di apprendimento. Ciò consente la generalizzazione dei modelli appresi dai nodi secondo anche i loro dati locali.
 
Nel caso delle reti neurali profonde, è possibile condividere alcuni livelli tra i diversi nodi e mantenerne alcuni su ciascun nodo locale. In genere, i primi livelli che eseguono il [[Riconoscimento di pattern|riconoscimento]] generale del modello sono condivisi e addestrati utilizzando tutti i set di dati. Gli ultimi layer, invece, rimarranno su ciascun nodo locale e verranno addestrati solo sul set di dati del nodo locale.
 
=== Aspetti legali dell'apprendimento federato ===
Riga 120:
 
=== Google Gboard ===
Uno delle prime applicazioni considerate nel campo dell'apprendimento federato è stato il Google Gboard, implementato da [[Google]]<ref name=":2" /><ref>{{Cita web|url=http://ai.googleblog.com/2017/04/federated-learning-collaborative.html|titolo=Federated Learning: Collaborative Machine Learning without Centralized Training Data|sito=Google AI Blog|lingua=en|accesso=2020-06-25}}</ref> per l'utilizzo nelle tastiere predittive. Sotto una forte pressione normativa, è risultato impossibile caricare i messaggi di testo di tutti gli utenti per addestrare l'algoritmo predittivo per predire le parole. Inoltre, un tale processo esporrebbe troppi dati dell'utente ad attacchi di malintenzionati. Nonostante la memoria e la potenza di elaborazione a volte limitate degli smartphone, Google ha realizzato un caso d'uso convincente dalla sua G-board, come presentato durante l'evento [[Google I/O di Google]] nel 2019.<ref>{{Cita web|url=https://www.youtube.com/watch?v=89BGjQYA0uE|titolo=Federated Learning: Machine Learning on Decentralized Data}}</ref>
 
=== Apprendimento federato nell'assistenza sanitaria ===