Ensemble distillation for robust model fusion in federated learning論文筆記

Zoran123456發表於2020-11-20

   本文將整合蒸餾運用在聯邦學習的模型融合中,並且可以通過未標記的資料或者生成器生成的資料(例如gan)來進行進行模型融合。這讓不同客戶端的模型異構的前提下,降低了資料隱私洩露的程度。同時實驗表明,本文提出的方法練速度更快,比任何現有的FL技術所需的通訊輪數更少。


論文地址:ENSEMBLE DISTILLATION FOR ROBUST MODEL FUSION IN FEDERATED LEARNING 2020 NIPS

演算法細節
模型同構的情況下,對於每一輪可以分為兩個步
  第一步:和FedAvg的過程一樣,隨機選擇一些客戶端傳送上一輪的聚合模型引數,客戶端利用本地資料更新引數並將更新後的引數傳送給服務端,服務端將接收到的模型引數取權值平均。
在這裡插入圖片描述  第二步:服務端將接收到的模型引數取權值平均後,再利用未標記的資料或通過生成器生成的資料(例如GAN)進行整合蒸餾得到這一輪的聚合模型引數。
在這裡插入圖片描述
那整合蒸餾是怎樣的呢?
  伺服器需要將 ∣ S t ∣ |S_{t}| St客戶端老師模型的整合蒸餾到一個服務端學生模型。在每一步中,取樣一個batch的未標記的資料或者生成器生成的資料,然後進行蒸餾
在這裡插入圖片描述
  其中 σ \sigma σ表示softmax函式, K L KL KL表示KL散度, f ( a ^ t k ) f( \hat{a}^{k}_{t}) f(a^tk)表示在第 t t t輪中第 k k k個客戶端模型在第 d d d個batch的輸出(注意第9行最後的AVGLOGITS,這表示客戶端模型的輸出還沒經過softmax,是平均後再softmax)

模型異構的情況下,對於每一輪可以分為兩個步:
  第一步:和FedAvg的過程一樣,隨機選擇一些客戶端傳送上一輪的聚合模型引數,客戶端利用本地資料更新引數並將更新後的引數傳送給服務端,服務端將接收到的模型引數取權值平均。
在這裡插入圖片描述
  第二步:與同構模型相比,異構模型主要的不同之處在於第9,10,11這三行。這三行的意思對每一種架構的模型都進行一次整合蒸餾。
在這裡插入圖片描述



實驗結果
在這裡插入圖片描述
  在上圖中 α \alpha α表示non-iid程度, α \alpha α越小表示客戶端的資料越non-iid。第一行是顯示的資料的分佈。第二行顯示的是FedAvg和FedDF效果的比較。
  可以看出本地訓練epoch數量增加對FedDF是有利的,這是因為模型整合的效能在很大程度上依賴於單個模型之間的多樣性。因此本地訓練更多epoch數可以提高單個模型的多樣性和質量,從而獲得更好的融合模型蒸餾結果。並且隨著本地epoch數的增加,訓練中的通訊次數也可以減少。



在這裡插入圖片描述
  上圖顯示了多種演算法在不同的條件下達到目標準確度所需要的通訊輪數。可以看出FedDF在所有條件下都比其它演算法需要更少的通訊輪數,並且隨著non-idd程度的變大,需要增加的通訊輪數也沒有其它演算法那麼多。
  與其它演算法相比,增加每輪客戶端參與的比例對FedDF有更顯著的正面影響,作者將其歸因於這樣一個事實,即有更多合理的好的參與者,從而導致更好的模型融合。


在這裡插入圖片描述
  上圖顯示了FedDF和FEDAVG6在一個具有三種不同體系結構的異構系統中的訓練動態,即ResNet-20、MobileNetV2和SHUFFLEENTV2。在CIFAR-10/100和ImageNet上,FedDF在每個通訊輪的測試準確度上都明顯好於FedAvg,方差也小得多。與整合效能相比,每個融合模型的質量損失很小,這表明來自其他領域的未標記資料集對於模型融合來說是足夠的。此外,當訓練資料集包含比蒸餾資料集更多的類時,融合模型與整合模型之間的差距會擴大。


在這裡插入圖片描述  圖6(a)說明,一般而言,蒸餾資料的多樣性不會顯著影響整體蒸餾的效能,儘管當兩個資料具有相似數量的類別時,可以獲得最佳效能。圖6(b)顯示了FedDF對蒸餾資料集的大小沒有要求:即使1%的資料(約為48%的本地訓練資料集)也能產生相當好的融合效能。圖6(c)描述了蒸餾的步數對聚合模型能的影響,其中FedDF與適量的蒸餾步數能夠接近最佳效能。例如,圖6(c)中的100個蒸餾步數對應於CIFAR-100的5個本地epoch(由20個客戶端劃分),足以產生令人滿意的效能。

相關文章