【QA】甚麼是聯邦式學習(Federated Learning)? 聯邦學習(Federated learning)應該被歸納為分散式學習(Distributed learning)的分支,不同的是,聯邦學習通常是一種不得不的分散式學習。 分散式學習透過將資料分配到更多的運算單元,有了更高的平行運算能力。而聯邦學習則是因為個別運算單元(e.g. 手機)中收集到的資料,不允許離開該單元,或者單一單元能收集到的資料有限,不足以訓練複雜的模型,為了追求更好的模型訓練效果與預測能力只好透過分散式學習的方式來進行。 舉例來說,Google為了聯合不同用戶的使用習慣優化智慧輸入法(Gboard),同時不違反歐盟GDPR對用戶隱私的保護,於是透過聯邦學習來進行模型訓練,這個過程中資料能一直保持在本地端,只有梯度會被共享出去,所以是相對安全的選擇。 而聯邦學習應用在經典機器學習問題、例如說訂單預測時,有一種經典的方法是利用GBDT(梯度提升決策樹)來進行,GBDT利用了Bootstrap方法來對母體進行估計,而在這個場景下我們假設3家企業的資料雖然有不同的收集來源,但有相似、相同特徵,並相信他們服從於相同的母體分布(真實值)。 於是我們將分別對家企業的資料抽樣,產出多個基於抽樣資料的決策樹(弱分類器),並將其聚合在一起共同決策;或者產出多個gini table,並共享這些gini table以及估計的殘差。 這種做法會有一個前提是三方企業必須事先溝通,找到各自資料中的共同特徵(by column)或者共同實例(by row),基於特徵或實例來進行聯邦學習的方法由大陸楊強教授定義為橫向或綜向聯邦學習。 共同特徵:舉例來說,時間、日期、產品特性、供應商、某項醫療檢驗數值 共同實例:舉例來說,在醫療紀錄中的某個人、跨電商販售的某個產品 但聯邦學習也並非萬能,除了安全性是否真的可靠的疑慮外,聯邦學習由於是多個企業合作進行,某些情況下每家企業都只擁有一個半模型,你可以想像這是半把(或N分之1)鑰匙,結合所有半模型的系統才能有好的預測能力,但如果某家企業突然不參與,這些半模型都會跟著失效,這也是聯邦學習在應用上經常討論的議題。