聯邦學習到底是什麼

聯邦學習

看了很多聯邦學習相關的論文,今天從頭到尾順一遍。先把之前看過的大致的總結一下,方便寫論文的時候參考,後面再補充。

聯邦學習的思想

在各個客戶端保留本地數據的前提下共同訓練一個模型。
分類:橫向聯邦、縱向聯邦、遷移學習
橫向聯邦:適用於數據特徵重合度大的客戶端。例如不同地區的銀行,他們所擁有的共同客戶數量較少,但是客戶的屬性大部分一致。
縱向聯邦:適用於用戶重疊部分較多的客戶端。例如同一地區的銀行和超市,他們所擁有的客戶大多都爲本地的用戶,重合度較大。
遷移學習:以上兩種都不滿足。用戶和用戶屬性重合度都不大。

除了上述分類方法,還可以按有無第三方中心服務器。
有第三方中心服務器參與即中心化:
1.服務器初始化模型;
2.各個客戶端從服務器端下載模型初始化參數
3.利用本地數據進行訓練,將訓練的結果即模型梯度上傳到服務器;
4.服務器等待所有客戶端將結果上傳之後,對這些參數進行平均。
5.客戶端從服務器端下載平均後的參數。
6.重複3到5步驟直至模型收斂。

沒有第三方服務器即去中心化。
客戶端在本地進行訓練,並將模型梯度發給其他客戶端,同時接收其他客戶端的參數。

隱私保護
已有論文證明模型反演攻擊,可以通過對模型梯度的分析獲取數據中的敏感信息。
M. Fredrikson, S. Jha, T. Ristenpart, Model inversion attacks that exploit confidence infor-
mation and basic countermeasures, in: Proceedings of the 22nd ACM SIGSAC Conference on
Computer and Communications Security, 2015, pp. 1322–1333.

所以在傳輸時應對模型參數進行加密,聯邦學習中提到了差分隱私、同態加密、安全多方計算(不經意傳輸、祕密共享)。

問題

1.雲服務器與客戶端之間的通信開銷大
2.參數加密後對模型性能存在影響

通信改進

  1. FedAVG:客戶端在本地經過多次迭代訓練達到收斂之後,再將結果上傳服務器;
    每次只選取部分客戶端參與訓練。
    Mcmahan H B , Moore E , Ramage D , et al. Communication-Efficient Learning of Deep Networks from Decentralized Data[J]. 2016.
  2. 提出上篇論文中的方法會影響模型的準確率,並提出通過共享5%的數據即可大大提高準確率。
    Liu L , Zhang J , Song S H , et al. Client-Edge-Cloud Hierarchical Federated Learning[J]. 2019.
    採用異步通信方式
    服務器不用等待所有的客戶端數據上傳後再平均,即收到一個計算一個。
    ->---------------------------->引出新問題
    即收到的梯度參數時有延遲的會影響整體的訓練結果。
  3. 利用延遲函數改變梯度參數的權重,延遲度大的梯度權重小,延遲度小的梯度權重大。
    Xie, Cong, Koyejo, Sanmi, Gupta, Indranil. Asynchronous Federated Optimization[J].
    https://blog.csdn.net/GJ_007/article/details/105121452
  4. 論文對ASGD算法進行了改進,對具有延遲的梯度設計了新的更新規則。
    Asynchronous Stochastic Gradient Descent with Delay Compensation
    https://blog.csdn.net/GJ_007/article/details/105595359
  5. 根據客戶端用的資源,對其資源進行評估,選擇資源適合訓練任務的客戶端參與訓練。使用MEC框架,邊緣計算。
    Nishio T , Yonetani R . Client Selection for Federated Learning with Heterogeneous Resources in Mobile Edge[J]. 2018.
  6. 也是根據客戶端的異構性進行分配選擇。
    Fair Resource Allocation in Federated Learning
    https://blog.csdn.net/GJ_007/article/details/106114134
    引入邊緣計算
  7. 加入邊緣服務器使用三層雲-邊緣服務器-邊緣設備結構。
    Client-Edge-Cloud Hierarchical Federated Learning
    https://blog.csdn.net/GJ_007/article/details/104943759
  8. 針對預測類問題提出的方法,同樣是採用MEC框架。客戶端將計算任務發送到最近的NE,如有滿足條件應用程序則進行計算,若沒有則轉發給附近的NE,若還沒有則發送給雲端。
    Federated learning framework for mobile edge computing networks
    https://blog.csdn.net/GJ_007/article/details/105447321
  9. 加入剪枝策略。聯邦剪枝和一次性剪枝。分別爲每一個或多個聯合後進行剪枝、只在服務器進行初始剪枝。初始剪枝根據服務器是否有樣本再分爲基於樣本的剪枝和無樣本剪枝。
    Jiang Y , Wang S , Ko B J , et al. Model Pruning Enables Efficient Federated Learning on Edge Devices[J]. 2019.
    https://blog.csdn.net/GJ_007/article/details/105595239

加密改進

  1. 具有自適應梯度下降的差分私有卷積神經網絡(DPAGD-CNN)[10]算法,用於每個用戶參數的更新。可以根據梯度下降方向自適應地添加噪聲(實現差分隱私),以便更好的模型性能。----對模型精度影響小。
    DP-FL: a novel differentially private federated learning framework for the unbalaned data
  2. 基於ELGamal加密和Diffie-Hellman密鑰交換設計的雙密鑰機制的ELGamal加密。—減少計算,減小傳輸的密文大小
    Highly efficient federated learning with strong privacy preservation in cloud computing

擴展

  1. 去中心化分佈式結構
    Asynchronous Decentralized Parallel Stochastic Gradient Descent
  2. 聯邦學習在入侵檢測方面的應用
    https://blog.csdn.net/GJ_007/article/details/106244502
    3.NO-IID數據集介紹
    https://blog.csdn.net/GJ_007/article/details/104768415
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章