漫談聯盟式學習 (Federated Learning)

漫談聯盟式學習 (Federated Learning)

聯盟式學習 (Federated Learning) 為何而生?

近十數年來,AI 人工智慧、機器學習以及深度學習推動各產業創新的爆炸性發展,AI 相關應用和大數據庫的價值也日益受重視。在 AI 發展的過程中,如何處理資料 一直是一個很實際且困難的問題,為了建構更完善且高效的機器學習或深度學習模型,人們必須面對並處理數量非常龐大的資料;此外,近年陸續通過了許多關於數據資料的規範,例如 GDPR (General Data Protection Regulation)、HIPAA (The Health Insurance Portability & Accountability Act)、PCI DSS (Payment Card Industry Data Security Standard) 以及 CCPA (California Consumer Privacy Act),資料隱私 以及 資料保護 的議題因而開始被高度重視。傳統機器學習演算法通常採用了資料集中化的處理方式,這會造成演算法無法達到這些數據資料規範的要求,為了解決這個問題,聯盟式學習應運而生。

與傳統機器學習不同,聯盟式學習的概念是 如何在不同地點訓練並統合機器學習模型特徵且不移動資料,這會成為企業們在面對以上提到的數據資料規範時非常重要的技術。聯盟式學習最早在 2017 年由 Google AI 提出 (Federated Learning: Collaborative Machine Learning without Centralized Training Data),自此之後,這個嶄新的機器學習概念開始被研究學者們更深入廣泛研究發展並被各產業大量運用,尤其是注重病患個資隱私安全的醫療產業更能處處見到聯盟式學習的技術應用。

那麼,就讓我們來了解聯盟式學習吧!

僅演算法旅行,資料無需移動!

傳統機器學習演算法多半使用一個核心來訓練並存放訓練好的模型,相對於此種作法,聯盟式學習 (Federated Learning, FL) 另闢蹊徑,機器學習的訓練過程可以在用戶端使用私人所擁有的資料進行運算,之後 僅需移動模型的參數、權重及梯度等特徵,無需將資料移動集中,此種作法保證了機器學習在建構出符合各用戶端的統合性模型時也能確保資料安全。

Google 曾經舉了智慧型手機為例來介紹聯盟式學習是如何運作的:

It works like this: your device downloads the current model, improves it by learning from data on your phone, and then summarizes the changes as a small focused update. Only this update to the model is sent to the cloud, using encrypted communication, where it is immediately averaged with other user updates to improve the shared model. All the training data remains on your device, and no individual updates are stored in the cloud.

首先,下載目前伺服端上的模型至您的裝置中,在您的裝置(手機)上使用您私人的資料對此模型進行演算改良,之後將改良過的部分整理好,使用加密連線傳輸這些更動至雲端並與其他使用者傳輸的更動進行比對、合併或平均,所有用於訓練的資料都維持在您的裝置裡不會被移動,單一使用者對模型的更動也不會被保存在雲端。

如果您對智慧型手機的聯盟式學習有興趣,請造訪 Google AI Blog 及其 YouTube 頻道[1][2]

Federated Learning TW

也就是說,在聯盟式學習中資料流的處理方式與傳統機器學習是完全不同的,上圖為簡單的比較示意圖,較詳細的資料處理流程會在下一段中舉聚合型伺服 (aggregation server) 的聯盟式學習來介紹。

聚合型聯盟式學習 (aggregation server)

目前聯盟式學習的運算流程可以由許多不同的拓樸結構 (topologies) 構成,在此我們介紹在產業應用上最常出現的一種結構:聚合型聯盟式學習 (Federated Learning with an aggregation server)。

federated learning aggregation

上圖是聚合型聯盟式學習的運算流程,這個流程中包含了許多訓練節點 (nodes) 的聚合 (federation)。首先,訓練節點會先接收到一個全域的模型 (global model),在接收到模型之後節點會使用地域性或私人的資料 (local data) 運算並改進模型,改進完成的模型會被重新傳至核心節點進行聚合,聚合完成的模型會再被傳送至各訓練節點並重複上述流程直到模型符合使用者的需求,另一種情況是模型已經達到了使用者所定義的最佳狀況時運算也會停止,在聯盟式學習訓練模型的流程中,只有演算法所需的參數、模型需要被移動,資料則完全沒有被移動地保存在訓練節點上。

聯盟式學習保證了一定程度的資料隱私,所有參與聯盟式學習的訓練節點皆無法存取到其他節點所持有的資料,僅能接收到訓練模型中聚合所需要用到的參數,也就是說,聯盟式學習中沒有資料集中化的過程,而是讓訓練節點使用自己所持有的資料對模型進行運算改良,實際上,聚合型聯盟式學習的參與者 (各個訓練節點) 就算對其他的參與者完全一無所知也能夠完成整體模型的訓練。

聯盟式學習的好處

  • 在不用移動資料的情況下,運算裝置間也能合作訓練出可共享的完整機器學習模型。
  • 模型訓練可以導向邊緣運算,舉例來說,在個人裝置或行動裝置上就能進行模型訓練,這個特性非常適合一些對資料隱私及安全非常注重的產業或是組織 (金融、醫療院所等),尤其是在近年來資料法規如 GDPR 通過之後,這項特質成為了聯盟式學習最大的優點。
  • 因為聯盟式學習不需移動資料的特性,模型更新較不會出現時間上的延遲,這讓 實時運算推論實時預測 有了實現的可能性。
  • 在能保障資料隱私受到保護的情況下,聯盟式學習能做到比傳統機器學習模型更快速地部署並測試及訓練更加改良過的模型。

聯盟式學習的挑戰

  • 必須保證模型參數傳輸途徑的安全。參數的傳輸在聯盟式學習中是重要且不可或缺的一環,不但必須保障傳輸途徑的安全 (如: inwinSTACK 的 AI 開發平台 ari 是使用 blockchain 區塊鏈技術加密,以確保資料傳輸的安全性 ),也必須開發高效的傳輸方法去大幅減少聯盟式學習用於傳輸的時間。
  • 在每個聯盟式學習參加者 (訓練節點) 上的資料必須統一規格,確保資料標籤的規格才能使資料在同一標準上被運算比較。
  • 在聯盟式學習中,必須非常小心地處理 數據資料異質性 (data heterogeneity) 的問題,非異質性的資料分布 (inhomogeneous data distribution) 對聯盟式學習的基礎理論和假設是一項巨大的挑戰,此外,資料的異質性有可能導致全域最佳的模型 (global optimal) 結果並非區域性最佳模型 (local optimal) 結果。
  • 聯盟式學習聚合來自不同參加者模型的方式十分多元,也沒有所謂最優的拓樸結構 (topology),如何找出最適合自身應用以及最有效率的模型聚合方式 對機器學習科學家們仍是一項巨大的挑戰。
  • 雖然聯盟式學習保證了一定程度上的資料安全,但仍需注意第三方或是外來者是否能夠透過由訓練節點及核心節點傳輸的模型參數反推出個別訓練節點所保存的私人資訊。

聯盟式學習的應用領域

  • 目前聯盟式學習最知名的應用在於 醫療產業,原因是病人的資料隱私在醫療產業中扮演了極度重要的角色,採用聯盟式學習可以使病人的影像照片、病歷等私人資料在不需要被傳輸轉移至其他醫療機構的情況下也能參與機器學習模型的運算,為此 NVIDIA 近年來也投注了大量心力在 醫療產業的聯盟式學習 應用之中[3][4]
  • Google 運用聯盟式學習的技術在 智慧型手機 之中,智慧型手機的用戶因此能獲得更優秀的手機客製化操作體驗[1][2]
  • 楊強教授 (Professor Qiang Yang) 及其所帶領的團隊樹立了目前聯盟式學習在 IEEE 中的標準。此外他們更提供免費的聯盟式學習開源軟體給 Linux 基金會 (the Linux Foundation),也帶領許多醫院、銀行、金融機構合作提供聯盟式學習的技術。
Federated Learning Applications
  • 國際各大小銀行間合作使用的 全球詐欺偵測系統 是採用聯盟式學習的網路所建構而成的。
  • 聯盟式學習的技術也經常被包含在 自駕車系統 中,聯盟式學習可以幫助自駕車更快速地去適應環境,例如道路急彎、險坡等場景,相較於傳統機器學習或是雲端運算的自駕車系統,聯盟式學習的應用能達到更加快速及實時的反應速度,有效降低自駕車的安全風險。
    • Pokhrel, Shiva Raj (2020). “Federated learning meets blockchain at 6G edge: a drone-assisted networking for disaster response”: 49-54. doi:10.1145/3414045.3415949.
    • Elbir, Ahmet M.; Coleri, S. (2 June 2020). “Federated Learning for Vehicular Networks”. arXiv:2006.01412 [eess.SP].
  • 部分知名網頁瀏覽器例如 Mozilla Firefox 和 Google Chrome 因為隱私安全放棄使用第三方 Cookie (third-party cookies),取而代之的是「Federated Learning of Cohorts (FLoC)」的技術,FLoC 能夠在保障使用者瀏覽紀錄及資料隱私的前提下對使用者感興趣的事物推薦廣告 (https://github.com/jkarlin/floc)。

結論

在這篇文章中,我們介紹了一項近年來非常熱門的分散式機器學習技術:聯盟式學習,聯盟式學習最大的特點在於使用者不須將資料傳輸至資料中心或網路核心節點進行運算,機器學習模型的演算可以在使用者端進行,僅需傳輸模型的參數去改善整體的模型。在聯盟式學習的網路中,每位參與者都能貢獻部分自身的演算資源來改善機器學習的模型。雖然聯盟式學習是非常具有潛力及挑戰性的機器學習技術,其中仍然存在許多需要改善的技術問題,AI 及機器學習科學家們持續地研究它,並期望能將之應用在各行各業之中。

希望您喜歡我們的文章,未來我們持續會有 AI 相關技術專題,感謝您的閱讀。

Related articles:

References:

  1. Google AI Blog (Federated Learning: Collaborative Machine Learning without Centralized Training Data)
  2. Making every phone smarter with Federated Learning
  3. What Is Federated Learning?
  4. NVIDIA Research: First Privacy-Preserving Federated Learning System for Medical Imaging
  5. HOW FEDERATED LEARNING COULD TRANSFORM HEALTHCARE

訂閱電子報

Select list(s)*

 

Loading