聯邦學習上的Non-IID問題

王柏鈞
機器學習歷程
Published in
5 min readDec 1, 2021

關於FL應用時關於Non-IID問題的討論

1. Different types of Non-IID problems in FL

以 IRIS鳶尾花資料為例,我們假設每個client是個別獨立進行調查的科學家。

(1) label distribution skew; (label的偏差,不同client之間 label(y)的分布有差異 (label imbalance)
舉例來說,某個client對 3種品種各觀察了100株,另一個 client所在的位置setosa較多,300筆資料幾乎都是setosa)
(2) feature distribution skew;(x的偏差,不同client之間 x的分布有差異
舉例來說,某些client在雨林裡觀察 IRIS的特徵,某些是在空曠的荒原。這些地點的特徵受日照影響而
無關品種的有所不同)
(3) same label but different features; (Label相同,卻有不同定義(特徵)
舉例來說,同樣是同地區(擁有相同氣候)的
setosa Iris(特定品種),因為地形差異,不同client採集到的各項特徵會有不同)
(4)same features but different labels; (相同特徵但不同 label
舉例來說,比較小顆的 versicolor和比較大顆的setosa在sepal length上會相近)
(5) quantity skew (Unbalance) (不同client在數量上有差異,
舉例來說,某些client很認真,收集了3000筆資料,某些client卻只有30筆)
ref:
[1] Sec.4

2. FL如何解決Non-IID問題?

承上,Non-IID問題可能導致Client Overfitting並在聚合時使整體表現下降。我將所知範圍內的方法做統整,分為三種形式
a .基於重抽法則(Bagging/ Boosting)或蒙地卡羅方法逼近母體分布,簡單理解就是大量且重複的隨機抽樣,藉此降低單一Client端的資料影響,保證整體決策的泛化性,ex: tree-based FL (SecureBoost
[2] etc.), FedAvg familily.
b. 約束/懲罰發生overfitting的client端模型梯度/參數。ex: EASGD
[3], FedProx[4]
c. 在聚合時保證Client端某種程度的差異化,並保留差異化部分不進行聚合。ex: FedBN
[5]

3. How to evaluate Global model performance(整體表現)?

Global Server通常不保有資料與使用模型,也許可以單純的總和各個Client的ACC,並依據資料數量進行加權平均。使其數值最小化則代表整體表現上升。
另外延伸兩種想法:
a. Global model應該能夠良好的被遷移到任何Client上,我們可以基於Global model在Client上進行訓練時權重的變化梯度,判斷他是否容易被遷移。(類似Few-shot方法)

但實際上,梯度的變動並沒有一個公平的基準能夠評價好或壞,當梯度容易被遷移也可能同時表示模型不夠穩定(robust),容易被擾動(perturbed)。

b. 收集client的一部分資料,利用同態加密後上傳到第三方伺服器,並在第三方伺服器估計誤差,判斷整體的表現。[6][7]

大陸以tree-based為基準發展的model大多會用到同態加密技術。不過關於將加密過的資料交給第三方,並確保資料安全無虞可能會需要更多討論。

c. 關於 loss surface是否有潛力實現需要進一步討論研究,但也許會是一個公正的選擇。簡單評估在client端的訓練軌跡(or 2-Norm of model difference)就能純以client端的角度判斷Fine-tune時global model能帶來的效果

ref:
[1]: Federated Learning on Non-IID Data Silos: An Experimental Study, Q-Li et.al, 2021
[2]: SecureBoost: A Lossless Federated Learning Framework, K Cheng et.al, 2019
[3]: Deep learning with Elastic Averaging SGD, Yann LeCun et.al, 2014
[4]: Federated Optimization in Heterogeneous Networks, T Li et.al. 2018
[5]: FedBN: Federated Learning on Non-IID Features via Local Batch Normalization. X Li. et.al, 2021
[6]: 聯邦學習白皮書V2.0. Webank AI-Fab et.al, 2020
[7]: Federated Learning with Homomorphic Encryption, Nvidia blog, 2021

--

--