聯邦學習(Federated Learning)介紹

參考資料:
Tensorflow官網教程:https://www.tensorflow.org/federated/
聯邦學(federated learning)習生態:https://cn.fedai.org
federated learning/聯邦學習:https://daiwk.github.io/posts/dl-federated-learning.html

Federated Learning的提出

Federated Learning是由Google在2016年提出,16年期間Google有關Federated Learning提出的文章爲以下3個:

Jakub Konecný, H. Brendan McMahan, Daniel Ramage, and Peter Richtárik. 2016. Federated Optimization: Distributed Machine Learning for On-Device Intelligence. CoRR abs/1610.02527 (2016). arXiv:1610.02527 http://arxiv.org/abs/1610. 02527

Jakub Konecný, H. Brendan McMahan, Felix X. Yu, Peter Richtárik, Ananda Theertha Suresh, and Dave Bacon. 2016. Federated Learning: Strategies for Improving Communication Efficiency. CoRR abs/1610.05492 (2016). arXiv:1610.05492 http://arxiv.org/abs/1610.05492

H. Brendan McMahan, Eider Moore, Daniel Ramage, and Blaise Agüera y Arcas. 2016. Federated Learning of Deep Networks using Model Averaging. CoRR abs/1602.05629 (2016). arXiv:1602.05629 http://arxiv.org/abs/1602.05629

Google AI Blog

Federated Learning: Collaborative Machine Learning without Centralized Training Data:https://ai.googleblog.com/2017/04/federated-learning-collaborative.html

標準的機器學習方法要求將訓練數據集中在一臺機器或數據中心中。 Google建立了最安全,最強大的雲基礎架構之一,用於處理這些數據以改善我們的服務。現在,對於普通用戶與移動設備交互就可以進行訓練從而得到的模型,這種方法就是:聯合學習(Federated Learning. )。

大致流程如下,首先一個手機把當前模型下載下來,然後使用本機的數據進行更新,並把這些變化summarize成a small focused update。只有這個update會通過加密上傳到cloud,然後這個用戶的update會和其他用戶的update一起進行平均,拿來更新shared model。所有的訓練數據都存在設備上,不會把個人的update存到cloud去。
在這裏插入圖片描述
聯合學習可在確保隱私的同時,提供更智能的模型,更低的延遲和更低的功耗。這種方法的另一個直接好處是:除了提供對共享模型的更新之外,還可以立即在使用手機上改進的模型,從而爲使用手機的方式提供個性化的體驗。

Google在Android的Google鍵盤上測試Gboard中的聯合學習。當Gboard顯示建議的查詢時,您的手機將在本地存儲有關當前上下文以及是否單擊建議的信息。聯合學習會處理設備上的歷史記錄,以提出對Gboard查詢建議模型下一次迭代的改進建議。
在這裏插入圖片描述
爲了使聯合學習成爲可能,我們必須克服許多算法和技術挑戰。在典型的機器學習系統中,諸如隨機梯度下降(SGD)之類的優化算法在大型數據集上運行,該數據集在雲中的服務器之間均勻地劃分。這種高度迭代的算法需要低延遲,高吞吐量的訓練數據連接。但是在「聯合學習」設置中,數據以高度不均勻的方式分佈在數百萬個設備上。此外,這些設備具有較高的延遲,較低的吞吐量,並且只能間歇地用於訓練。

因此有了Federated Averaging algorithm,也就是Communication-Efficient Learning of Deep Networks from Decentralized Data,能夠使用比naively federated version的sgd少10-100倍的連接來訓練深度網絡。核心思想是使用手機上更強大的處理器,計算比普通的gradient steps更higher quality的update。這樣,因爲用了high quality的update,所以通過更少的迭代就可以得到一個好的模型了,所以需要的連接也更少了。

由於生成高質量模型所需的高質量更新迭代次數較少,因此訓練可以使用更少的連接。由於上傳速度通常比下載速度要慢得多,因此Google還開發了一種新穎的方法,可以通過使用隨機旋轉和量化壓縮更新來將上傳通信成本降低至100倍。雖然這些方法着重於訓練深度網絡,但Google還爲高維稀疏凸模型設計了算法,該算法在點擊率預測等問題上表現出色。

部署需要一個複雜的技術棧,on device training需要一個miniature(小型的)版本的tf。調度需要仔細的設計,保證當設備處於idle、充電中、有wifi等場景下,保證對用戶的體驗沒有影響。
在這裏插入圖片描述
通信與聚合要求是一種secure, efficient, scalable, and fault-tolerant的方式,所以只有包括了這些的infrastructure可以被考慮使用。

參考https://eprint.iacr.org/2017/281,提出了Practical Secure Aggregation for Privacy Preserving Machine Learning,也就是一種Secure Aggregation protocol,一個coordinating server只有當100s或者1000s的用戶參與了,纔會對average update進行解密,因此在average之前,沒有哪個個人手機的update能被觀察(inspected)到。所以coordinating server只需要average update,使得Secure Aggregation能被使用。不過這個協議還沒有實現出來,有希望在near future得以部署。

聯合學習無法解決所有機器學習問題(例如,通過對標記的示例進行訓練來學習識別不同的犬種),並且對於許多其他模型,必要的訓練數據已經存儲在雲中(例如Gmail的培訓垃圾郵件過濾器) )

Federated Learning優勢
(1)數據隔離,數據不會泄露到外部,滿足用戶隱私保護和數據安全的需求;
(2)能夠保證模型質量無損,不會出現負遷移,保證聯邦模型比割裂的獨立模型效果好;
(3)參與者地位對等,能夠實現公平合作;
(4)能夠保證參與各方在保持獨立性的情況下,進行信息與模型參數的加密交換,並同時獲得成長。

目前研究與應用

研究:
A Quasi-Newton Method Based Vertical Federated Learning Framework for Logistic Regression
十二月 13th, 2019

A Communication Efficient Vertical Federated Learning Framework
十二月 13th, 2019

Abnormal Client Behavior Detection in Federated Learning
十月 22nd, 2019

Real-World Image Datasets for Federated Learning
十月 14th, 2019

HHHFL: Hierarchical Heterogeneous Horizontal Federated Learning for Electroencephalography
九月 11th, 2019

Multi-Agent Visualization for Explaining Federated Learning
八月 12th, 2019

Fair and Explainable Dynamic Engagement of Crowd Workers
八月 12th, 2019

A Revenue-Maximizing Bidding Strategy for Demand-Side Platforms
五月 29th, 2019

Federated Machine Learning: Concept and Applications
二月 13th, 2019

SecureBoost: A Lossless Federated Learning Framework
一月 25th, 2019

Federated Reinforcement Learning
一月 25th, 2019

Secure Federated Transfer Learning
十二月 8th, 2018

應用: 1聯邦車險定價 2聯邦信貸風控 3聯邦銷量預測 4聯邦視覺安防 5聯邦輔助診斷 6隱私保護廣告 7聯邦自動駕駛