聯邦學習綜述
寫本篇是為了記錄一下之前閱讀過的一些關于聯邦學習的文章,然後對其中的一些關鍵點進行了總結,并加入了個人對于聯邦學習這一研究領域的了解以及思考
前言:寫本篇是為了記錄一下之前閱讀過的一些關于聯邦學習的文章(主要是兩篇聯邦學習綜述),然後對其中的一些關鍵點進行了總結,并加入了個人對于聯邦學習這一研究領域的了解以及思考(侵删)。
可供參考連結:
https://www.cnblogs.com/lucifer1997/p/11875615.html
https://www.cnblogs.com/lucifer1997/p/11223964.html
目錄:
Abstract
1 Introduction
2 An Overview of Federated Learning
2.1 Definition of Federated Learning
2.2 A Categorization of Federated Learning
2.2.1 Horizontal Federated Learning
2.2.2 Vertically Federated Learning
2.2.3 Federated Transfer Learning
2.3 Architecture for a federated learning system
2.3.1 Horizontal Federated Learning
2.3.2 Vertical Federated Learning
2.3.3 Federated Transfer Learning
2.4 Core Challenges
2.4.1 Expensive Communication
2.4.2 Systems Heterogeneity
2.4.3 Statistical Heterogeneity
2.4.4 Privacy Concerns
2.4.5 Incentives Mechanism
3 Related Works
3.1 Privacy-preserving machine learning
3.2 Federated Learning vs Distributed Machine Learning
3.3 Federated Learning vs Edge Computing
3.4 Federated Learning vs Federated Database Systems
4 Survey of Current Work
4.1 Communication-efficiency
4.1.1 Local Updating
4.1.2 Compression Schemes
4.1.3 Decentralized Training
4.2 Systems Heterogeneity
4.2.1 Asynchronous Communication
4.2.2 Active Sampling
4.2.3 Fault Tolerance
4.3 Statistical Heterogeneity
4.3.1 Modeling Heterogeneous Data
4.3.2 Convergence Guarantees for Non-IID Data
4.4 Privacy
4.4.1 Privacy in Machine Learning
4.4.2 Privacy in Federated Learning
4.4.3 Indirect information leakage
4.5 Incentives Mechanism
5 Future Directions
6 Applications
7 Federated Learning and Data Alliance of Enterprises
8 Conclusions and Prospects

Abstract
随着AlphaGo擊敗了頂尖的人類圍棋玩家,我們真正見證了人工智能(AI)的巨大潛力,并開始期待更複雜、更尖端的人工智能技術應用在許多領域,包括無人駕駛汽車、醫療、金融等。然而,今天的人工智能仍面臨兩大挑戰。其一是,在大多數行業中,資料以孤島的形式存在;其二是資料隐私和安全。我們提出了一個可能的解決方案:安全的聯邦學習。聯邦學習包括通過遠端裝置或孤立的資料中心(如行動電話或醫院)訓練統計模型,同時保持資料本地化。在異構和潛在的大規模網絡中進行訓練帶來了新的挑戰,這些挑戰要求從根本上背離大規模機器學習、分布式優化和隐私保護資料分析的标準方法。除了Google在2016年首次提出的聯邦學習架構外,我們還引入了一個全面的安全聯邦學習架構,包括橫向聯邦學習、縱向聯邦學習和聯邦遷移學習。在本文中,我們提供了聯邦學習架構的定義、結構和應用,然後讨論了聯邦學習的獨特特性和挑戰,并對目前的方法進行了廣泛的概述,最後概述了與廣泛的研究社群相關的未來工作的幾個方向。此外,我們提出在組織間建立基于聯邦機制的資料網絡,作為一個有效的解決方案,允許知識在不損害使用者隐私的情況下共享。
1 Introduction
2016年是人工智能(AI)成熟的一年。随着AlphaGo擊敗了頂尖的人類圍棋玩家,我們真正見證了AI的巨大潛力,并開始期望在許多包括無人駕駛汽車、醫療保健、金融等的應用中,使用更複雜、尖端的人工智能技術。如今,人工智能技術在幾乎所有行業都能發揮其優勢。然而,回顧人工智能的發展曆程,人工智能的發展必然經曆了幾次起伏。人工智能會有下一個轉彎嗎?什麼時候會出現?因為什麼因素?目前公衆對人工智能感興趣的部分是由大資料可用性驅動的:2016年,AlphaGo使用了總計300000盤比賽作為訓練資料,以取得優異的成績。
随着AlphaGo的成功,人們自然希望像AlphaGo這樣的大資料驅動的人工智能能夠在我們生活的各個方面很快實作。然而,現實情況有些令人失望:除了少數行業外,大多數領域的資料都很有限或品質較差,使得人工智能技術的實作比我們想象的要困難。是否可以通過跨組織傳輸資料,将資料融合到一個公共站點中?事實上,在許多情況下,打破資料源之間的障礙即使不是不可能的,也是非常困難的。一般來說,任何人工智能項目所需的資料涉及多種類型。例如,在人工智能驅動的産品推薦服務中,産品銷售商擁有産品資訊、使用者購買資料,但沒有描述使用者購買能力和支付習慣的資料。在大多數行業中,資料以孤島的形式存在。由于行業競争、隐私安全和複雜的管理程式,甚至同一公司不同部門之間的資料內建也面臨着巨大的阻力。幾乎不可能将分散在全國各地的資料和機構進行整合,否則成本是難以承受的。
與此同時,随着大公司在資料安全和使用者隐私方面的妥協意識日益增強,對資料隐私和安全的重視已成為世界性的重大問題。有關公開資料洩露的消息引起了公衆媒體和政府的極大關注。例如,最近Facebook的資料洩露引發了廣泛的抗議。作為回應,世界各國正在加強保護資料安全和隐私的法律。例如,歐盟于2018年5月25日實施的《通用資料保護條例》(GDPR)。GDPR(圖1)旨在保護使用者的個人隐私和資料安全。它要求企業在使用者協定中使用清晰明了的語言,并授予使用者“被遺忘的權利”,即使用者可以删除或撤回其個人資料。違反該法案的公司将面臨嚴厲的罰款。美國和中國也在制定類似的隐私和安全行為。例如,2017年頒布的《中國網絡安全法》和《民法通則》要求網際網路企業不得洩露或篡改其收集的個人資訊,在與第三方進行資料交易時,必須確定提議的合同遵循法律資料保護義務。這些法規的建立将明顯有助于建立一個更加文明的社會,但也将對人工智能中常用的資料處理程式提出新的挑戰。
更具體的說,人工智能中的傳統資料處理模型通常涉及簡單的資料交易模型,一方收集資料并将其傳輸給另一方,另一方負責資料的清理和融合。最後,第三方将擷取內建資料并構模組化型供其他方使用。這些模型通常作為最終的服務産品進行銷售。這一傳統程式面臨着上述新資料法規和法律的挑戰。此外,由于使用者可能不清楚模型的未來用途,是以這些交易違反了GDPR等法律。是以,我們面臨着這樣一個困境:我們的資料是以孤島的形式存在的,但是在許多情況下,我們被禁止收集、融合和使用資料到不同的地方進行人工智能處理。如何合法地解決資料碎片化和隔離問題是當今人工智能研究者和實踐者面臨的主要挑戰。
此外,行動電話、可穿戴裝置和自動駕駛車輛隻是現代分布式網絡中的一小部分,它們每天都會産生大量的資料。由于這些裝置的計算能力不斷增強,再加上對傳輸私有資訊的關注,在本地存儲資料并将網絡計算推向邊緣變得越來越有吸引力。
邊緣計算并不是一個新概念。事實上,在分布式、低功耗裝置上計算簡單查詢是一個長達數十年的研究領域,在傳感器網絡查詢處理、邊緣計算和霧計算等領域都進行了探索。最近的研究還集中考慮了機器學習模型的訓練,但在本地提供和存儲它們;例如,這是移動使用者模組化和個性化的常見方法。
然而,随着分布式網絡中裝置的存儲和計算能力的增長,有可能在每個裝置上利用增強的本地資源。這使得人們對聯邦學習越來越感興趣,它直接在遠端裝置[注1]上探索訓練統計模型。正如我們在本文中所讨論的,在這樣的環境中學習與傳統的分布式環境有着顯著的不同——要求在隐私、大規模機器學習和分布式優化等領域取得根本性的進步,并在不同領域的交叉點提出了新的問題,如機器學習和系統。
主要服務提供商已經部署了聯邦學習方法,并且在支援隐私敏感應用方面發揮了關鍵作用,其中訓練資料分布在邊緣。潛在應用的例子包括:學習情緒、語義位置或行動電話使用者的活動;适應智能車中的行人行為;預測可穿戴裝置的心髒病發作風險等健康事件。
[注1]:在本文中,我們使用術語“裝置”來描述網絡中的實體,如節點、客戶機、傳感器或組織。
2 An Overview of Federated Learning
聯邦學習的概念最近由谷歌提出,他們的主要想法是建立基于分布在多個裝置上的資料集的機器學習模型,同時防止資料洩漏。最近的改進集中在克服統計挑戰和提高聯邦學習的安全性上,還有一些研究努力使聯邦學習更具個性化。以上工作都集中在裝置聯邦學習上,涉及分布式移動使用者互動,并且大規模分發中的通信成本、不平衡的資料分布和裝置可靠性是優化的主要因素之一。此外,資料是通過使用者ID或裝置ID進行劃分的,是以,在資料空間中是橫向的。這一類工作與隐私保護機器學習(privacy-preserving machine learning)非常相關,因為它還考慮了去中心化協作學習設定中的資料隐私[注2]。為了将聯邦學習的概念擴充到涵蓋組織間的協作學習場景,以楊強教授為首的微衆銀行(Webank)團隊将原始的“聯邦學習”擴充成所有隐私保護去中心化協作機器學習技術的一般概念,并對聯邦學習和聯邦遷移學習技術進行了全面概述。同時,他們進一步調查了相關的安全基礎,并探讨了與其他幾個相關領域的關系,如多代理理論和隐私保護資料挖掘。最關鍵的是,他們提供了一個更全面的聯邦學習定義,它考慮了資料劃分、安全性和應用程式,并對聯邦學習系統的工作流和系統架構進行了描述。
[注2]:去中心化在本文中有兩個不同的含義:一個指的是資料的去中心化,另一個指的是網絡拓撲的去中心化(差別于PS),一般情況下聯邦學習預設的是前者。
2.1 Definition of Federated Learning
令N個資料所有者為{F1, …, FN},他們都希望整合各自的資料{D1, …, DN}來訓練出一個機器學習模型。傳統的方法是把所有的資料放在一起并使用D = D1∪…∪DN來訓練一個模型MSUM。聯邦學習系統是一個學習過程,資料所有者共同訓練一個模型MFED,在此過程中,任何資料所有者Fi都不會向其他人公開其資料Di[注3]。此外,MFED的精度表示為VFED,應該非常接近MSUM的性能,VSUM。設δ為非負實數,如果|VFED - VSUM| < δ,我們可以說聯邦學習算法具有δ-accuracy損失。
[注3]:在不同的場景下,資料安全的定義可能不同,但需要提供語義隐私保證。
2.2 A Categorization of Federated Learning
在本節中,我們将讨論如何根據資料的分布特征對聯邦學習進行分類。
令矩陣Di表示每個資料所有者 i 持有的資料。矩陣的每一行表示一個樣本,每一清單示一個特征。同時,一些資料集也可能包含标簽資料。我們用X表示特征空間,用Y表示标簽空間,用I表示樣本ID空間。例如,在金融領域,标簽可以是使用者的信用;在營銷領域,标簽可以是使用者的購買欲望;在教育領域,Y可以是學生的學位。特征X、标簽Y和樣本IDs I構成完整的訓練資料集(I, X, Y)。資料方的特征和樣本空間可能不完全相同,根據資料在特征和樣本ID空間中的分布情況,我們将聯邦學習分為橫向聯邦學習、縱向聯邦學習和聯邦遷移學習。圖2顯示了兩方場景的各種聯邦學習架構。
2.2.1 Horizontal Federated Learning
橫向聯邦學習,或者基于樣本的聯邦學習,被引入到資料集共享相同的特征空間,但樣本不同的場景中(圖2a)。例如,兩個區域性銀行的使用者組可能由于各自的區域非常不同,其使用者的交叉集非常小。但是,它們的業務非常相似,是以特征空間是相同的。有研究提出了一個協作式深度學習方案,參與者獨立訓練,隻共享參數更新的子集。2017年,谷歌提出了一個橫向聯邦學習解決方案,用于Android手機模型更新。在該架構中,使用Android手機的單個使用者在本地更新模型參數,并将參數上傳到Android雲,進而與其他資料所有者共同訓練中心化模型。此外,谷歌還提出了一種安全聚合方案,以保護在聯邦學習架構下聚合使用者更新的隐私。還有文獻對模型參數聚合使用加法同态加密來提供對中央伺服器的安全性。
有研究提出了一種多任務風格的聯邦學習系統,允許多個站點在共享知識和維護安全的同時完成不同的任務。他們提出的多任務學習模型還可以解決高通信成本、掉隊者和容錯問題。還有作者提出建構一個安全的客戶機-伺服器結構,在該結構中,聯邦學習系統按使用者劃分資料,并允許在客戶機裝置上建構的模型,用來在伺服器站點上協作,以建構一個全局聯邦模型。模型的建立過程確定了資料不洩漏。同樣,有作者提出了提高通信成本,以便于基于分布在移動用戶端上的資料對訓練得到中心化模型的方法。近年來,為了在大規模分布式訓練中大幅度降低通信帶寬,有研究提出了一種稱為深度梯度壓縮的壓縮方法。
我們将橫向聯邦學習總結為:
安全定義:橫向聯邦學習系統通常假設誠實的參與者和對于誠實但好奇的伺服器的安全性。也就是說,隻有伺服器才能危害資料參與者的隐私。這些工作提供了安全證明。最近,另一個考慮惡意使用者的安全模型也被提出,這給隐私帶來了額外的挑戰。在訓練結束時,通用模型和整個模型參數将向所有參與者公開。
下面我們将讨論橫向聯邦學習的幾個典型應用:
- 智能手機:通過在大量行動電話中聯邦學習使用者行為,統計模型可以為諸如下一個單詞預測、人臉檢測和語音識别等應用提供動力。然而,使用者可能不願意為了保護個人隐私或節省手機有限的帶寬/電池電量而共享資料。聯邦學習有可能在智能手機上實作預測功能,而不會降低使用者體驗或洩露私人資訊。
- 組織:在聯邦學習的背景下,組織或機構也可以被視為“裝置”。例如,醫院是包含大量患者資料的組織,用于預測醫療保健。然而,醫院在嚴格的隐私措施下營運,可能會面臨法律、行政或道德限制,這些限制要求資料保持本地。聯邦學習對于這些應用來說是一個很有前途的解決方案,因為它可以減少網絡上的壓力,并支援各種裝置/組織之間的私有學習。
- 物聯網:現代物聯網,如可穿戴裝置、自主車輛或智慧家庭,可能包含許多傳感器,使他們能夠收集、反應和适應實時輸入的資料。例如,一組自主車輛可能需要最新的交通、建築或行人行為模型才能安全運作。然而,由于資料的私密性和每個裝置的有限連接配接,在這些場景中建構聚合模型可能很困難。聯邦學習方法有助于訓練模型,使其能夠有效地适應這些系統中的變化,同時保持使用者隐私。
2.2.2 Vertically Federated Learning
針對縱向分割資料,提出了隐私保護機器學習算法,包括協同統計分析、關聯規則挖掘、安全線性回歸、分類和梯度下降[68]。最近,有文獻提出了一個縱向聯邦學習方案來訓練一個隐私保護邏輯回歸模型。作者研究了實體分辨率對學習性能的影響,并将泰勒近似應用于損失函數和梯度函數,使同态加密可以用于隐私保護計算。
縱向聯邦學習,或基于特征的聯邦學習(圖2b)适用于兩個資料集共享相同的樣本ID空間,但特征空間不同的情況。例如,考慮同一城市中的兩個不同公司,一個是銀行,另一個是電子商務公司。他們的使用者集可能包含該區域的大多數居民,是以他們的使用者空間的交叉很大。然而,由于銀行記錄了使用者的收支行為和信用評級,電子商務保留了使用者的浏覽和購買曆史,是以其特征空間有很大的不同。假設我們希望雙方都有一個基于使用者和産品資訊的産品購買預測模型。
縱向聯邦學習是将這些不同的特征聚合在一起,以一種隐私保護的方式計算訓練損失和梯度的過程,以便用雙方的資料協作建構一個模型。在這種聯邦機制下,每個參與方的身份和地位是相同的,聯邦系統幫助每個人建立“共同财富”政策,這就是為什麼這個系統被稱為“聯邦學習”。是以,在這樣一個系統中,我們有:
安全定義:縱向聯邦學習系統通常假設參與者誠實但好奇。例如,在兩方制的情況下,兩方是不串通的,而且其中至多有一方會向對手妥協。安全性定義是,對手隻能從其損壞的客戶機中擷取資料,而不能從輸入和輸出顯示的其他客戶機中擷取資料。為了便于雙方安全計算,有時會引入半誠實第三方(STP),在這種情況下,假定STP不會與任何一方串通。SMC為這些協定提供了正式的隐私證明。在學習結束時,每一方隻擁有與其自身特性相關的模型參數,是以在推斷時,雙方還需要協作生成輸出。
2.2.3 Federated Transfer Learning
聯邦遷移學習适用于兩個資料集不僅在樣本上不同,而且在特征空間也不同的場景。考慮兩個機構,一個是位于中國的銀行,另一個是位于美國的電子商務公司。由于地域的限制,兩個機構的使用者群有一個小的交叉點。另一方面,由于業務的不同,雙方的功能空間隻有一小部分重疊。在這種情況下,可以應用遷移學習[50]技術為聯邦下的整個樣本和特征空間提供解決方案(圖2c)。特别地,使用有限的公共樣本集學習兩個特征空間之間的公共表示,然後應用于擷取僅具有單側特征的樣本預測。FTL是對現有聯邦學習系統的一個重要擴充,因為它處理的問題超出了現有聯邦學習算法的範圍:
安全定義:聯邦遷移學習系統通常涉及兩個方面。如下一節所示,它的協定類似于縱向聯邦學習中的協定,在這種情況下,縱向聯合學習的安全定義可以擴充到這裡。
2.3 Architecture for a federated learning system
在本節中,我們将舉例說明聯邦學習系統的一般架構。請注意,橫向和縱向聯邦學習系統的架構在設計上是非常不同的,我們将分别介紹它們。
2.3.1 Horizontal Federated Learning
橫向聯邦學習系統的典型架構如圖3所示。在該系統中,具有相同資料結構的k個參與者通過參數或雲伺服器協同學習機器學習模型。一個典型的假設是參與者是誠實的,而伺服器是誠實但好奇的,是以不允許任何參與者向伺服器洩漏資訊。這種系統的訓練過程通常包括以下四個步驟:
- 第一步:參與者在本地計算訓練梯度,使用加密、差異隐私或秘密共享技術掩飾所選梯度,并将掩碼後的結果發送到伺服器;
- 第二步:伺服器執行安全聚合,不了解任何參與者的資訊;
- 第三步:伺服器将彙總後的結果發送給參與者;
- 第四步:參與者用解密的梯度更新他們各自的模型。
通過上述步驟進行疊代,直到損失函數收斂,進而完成整個訓練過程。該結構獨立于特定的機器學習算法(邏輯回歸、DNN等),所有參與者将共享最終的模型參數。
安全性分析:如果梯度聚合是使用SMC或同态加密完成的,則證明上述結構可以保護資料洩漏不受半誠實伺服器的影響。但它可能會受到另一種安全模式的攻擊,即惡意參與者在協作學習過程中訓練生成對抗網絡(GAN)。
在不同應用場景下,我們對橫向聯邦學習技術的要求也有一些差別:
- 智能手機:以谷歌為代表的研究主要涉及的是安全聚合技術,中央參數伺服器可以知道聚合後的參數和模型,但是不知道每一個參與者具體的資訊;此外,在這裡,中央參數伺服器也可以提供資料參與整個訓練過程,聯邦學習是對中央參數伺服器中已有資料的一個很好的資料補充,能夠有效地提高模型性能。
- 組織:以微衆為代表的研究主要涉及的是同态加密技術,中央參數伺服器無法知道聚合後的參數和模型(有時候該條件可以放寬),最大程度上保護了參與方的隐私;此外,這裡中央參數伺服器一般無法參與訓練,其作用就是對加密後的參數進行聚合與分發等。
2.3.2 Vertical Federated Learning
假設A公司和B公司想要聯合訓練一個機器學習模型,并且他們的業務系統都有自己的資料。此外,B公司還擁有模型需要預測的标簽資料。由于資料隐私和安全原因,A和B不能直接交換資料。為了確定訓練過程中資料的保密性,引入了第三方合作者C。在此,我們假設合作者C是誠實的,不與A或B勾結,但A和B是誠實但彼此好奇的。一個可信的第三方C是一個合理的假設,因為C可以由政府等權威機構發揮作用,或由安全計算節點,如Intel Software Guard Extensions(SGX)取代。聯邦學習系統由兩部分組成,如圖4所示。
第一部分:加密實體對齊。由于兩家公司的使用者組不同,系統使用基于加密的使用者ID對齊技術,來确認雙方的共同使用者,而A和B不會暴露各自的資料。在實體對齊過程中,系統不會公開彼此不重疊的使用者。
第二部分:加密模型訓練。在确定了公共實體之後,我們可以使用這些公共實體的資料來訓練機器學習模型。訓練過程可分為以下四個步驟(如圖4所示):
- 第一步:第三方合作者C建立加密對,将公鑰發送給A和B;
- 第二步:A、B對梯度和損失計算需要的中間結果進行加密與交換;
- 第三步:A、B分别計算加密梯度并添加額外的掩碼,B也計算加密損失;A和B向C發送加密值;
- 第四步:C解密并将解密後的梯度和損失發送回A、B;A和B除去梯度上的掩碼,相應地更新模型參數。
具體步驟見表1和表2。在實體對齊和模型訓練過程中,A和B的資料在本地儲存,訓練中的資料互動不會導緻資料隐私洩露。注:向C洩漏的潛在資訊可能被視為侵犯隐私。為了進一步阻止C從A或B中學到資訊,在這種情況下,A和B可以通過添加加密的随機掩碼進一步向C隐藏其梯度。是以,雙方在聯邦學習的幫助下實作了共同模型的訓練。因為在訓練過程中,每一方收到的損失和梯度與他們在一個沒有隐私限制的地方彙聚資料,然後聯合建立一個模型收到的損失和梯度是完全相同的,也就是說,這個模型是無損的。模型的效率取決于加密資料的通信成本和計算成本。在每次疊代中,A和B之間發送的資訊按重疊樣本的數量進行縮放。是以,采用分布式并行計算技術可以進一步提高算法的效率。
安全性分析:表1所示的訓練協定沒有向C透露任何資訊,因為所有C學習的都是掩碼後的梯度,并且保證了掩碼矩陣的随機性和保密性。在上述協定中,A方在每一步都會學習其梯度,但這不足以讓A根據等式8從B中學習任何資訊,因為标量積協定的安全性是建立在無法用n個方程解n個以上未知數的基礎上的。這裡我們假設樣本數NA比nA大得多,其中nA是特征數。同樣,B方也不能從A處獲得任何資訊,是以協定的安全性得到了證明。注意,我們假設雙方都是半誠實的。如果一方是惡意的,并且通過僞造其輸入來欺騙系統,例如,A方隻送出一個隻有一個非零特征的非零輸入,它可以辨識該樣本的該特征值uiB。但是,它仍然不能辨識xiB或ΘB,并且偏差會扭曲下一次疊代的結果,進而警告另一方終止學習過程。在訓練過程結束時,每一方(A或B)都會不會察覺到另一方的資料結構,隻擷取與其自身特征相關的模型參數。推斷時,雙方需要協同計算預測結果,步驟如表2所示,這仍不會導緻資訊洩露。
2.3.3 Federated Transfer Learning
假設在上面的縱向聯邦學習示例中,A方和B方隻有一組非常小的重疊樣本,并且我們希望學習A方中所有資料集的标簽。到目前為止,上述部分描述的架構僅适用于重疊的資料集。為了将它的覆寫範圍擴充到整個樣本空間,我們引入了遷移學習。這并沒有改變圖4所示的總體架構,而是改變了A、B雙方之間交換的中間結果的細節,具體來說,遷移學習通常涉及學習A、B雙方特征之間的共同表示,并最小化利用源域方(在本例中為B)中的标簽預測目标域方的标簽時的出錯率。是以,A方和B方的梯度計算不同于縱向聯邦學習場景中的梯度計算。在推斷時,仍然需要雙方計算預測結果。
2.4 Core Challenges
由于本文的側重在于橫向聯邦學習,是以接下來我們将主要描述與橫向聯邦學習相關的五個核心挑戰。這些挑戰使得聯邦設定不同于其他經典問題,例如資料中心設定中的分布式學習或傳統的私有資料分析。其中部分的核心挑戰也适用于縱向聯邦學習與聯邦遷移學習。
2.4.1 Expensive Communication
在聯邦網絡中,通信是一個關鍵的瓶頸,再加上發送原始資料的隐私問題,使得在每個裝置上生成的資料必須保持本地。事實上,聯邦網絡可能由大量裝置組成,例如數百萬部智能手機,網絡中的通信速度可能比本地計算慢很多個數量級。為了使模型與聯邦網絡中的裝置生成的資料相比對,是以有必要開發通信效率高的方法,作為訓練過程的一部分,疊代地發送小消息或模型更新,而不是通過網絡發送整個資料集。為了在這種情況下進一步減少通信,需要考慮的兩個關鍵方面是:(i)減少通信回合的總數,或(ii)在每一回合減少發送的消息大小。
2.4.2 Systems Heterogeneity
由于硬體(CPU,記憶體)、網絡連接配接(3G,4G,5G,wifi)和電源(電池電量)的變化,聯邦網絡中每個裝置的存儲、計算和通信能力可能不同。此外,每個裝置上的網絡大小和系統相關限制導緻同時活躍的裝置通常僅占一小部分,例如,一百萬個裝置網絡中的數百個活躍裝置。每個裝置也可能不可靠,并且由于連接配接性或能量限制,活躍裝置在給定疊代中随機失活的情況并不少見。這些系統級特性極大地加劇了諸如掉隊者緩解和容錯等挑戰。是以,開發和分析的聯邦學習方法必須:(i) 預計參與人數較少,(ii) 容忍異構硬體,以及(iii) 對網絡中的已下線裝置具有魯棒性。
2.4.3 Statistical Heterogeneity
裝置經常以non-IID的方式在網絡上生成和收集資料,例如,行動電話使用者在下一個單詞預測任務的上下文中使用了不同的語言。此外,跨裝置的資料點的數量可能有很大的變化,并且可能存在捕獲裝置之間的關系及其相關分布的底層結構。這種資料生成範例違反了分布式優化中經常使用的獨立同分布(I.I.D)假設,增加了掉隊者的可能性,并且可能在模組化、分析和評估方面增加複雜性。事實上,雖然标準的聯邦學習問題旨在學習一個單一的全局模型,但是存在其他選擇,例如同時通過多任務學習架構學習不同的局部模型。在這方面,聯邦學習和元學習的主要方法之間也有密切的聯系。多任務和元學習視角都支援個性化或特定于裝置的模組化,這通常是處理資料統計異質性的更自然的方法。
2.4.4 Privacy Concerns
通常,在聯邦學習應用程式中,隐私通常是一個主要的關注點。聯邦學習通過共享模型更新(例如梯度資訊)而不是原始資料,朝着保護在每個裝置上生成的資料邁出了一步。然而,在整個訓練過程中進行模型更新的通信仍然可以向第三方或中央伺服器顯示敏感資訊。雖然最近的方法旨在使用安全多方計算或差異隐私等工具增強聯邦學習的隐私性,但這些方法通常以降低模型性能或系統效率為代價提供隐私。在理論和經驗上了解和平衡這些權衡是實作私有聯邦學習系統的一個相當大的挑戰。
2.4.5 Incentives Mechanism
為了将不同組織之間的聯邦學習充分商業化,需要開發一個公平的平台和激勵機制。模型建立後,模型的性能将在實際應用中展現出來,這種性能可以記錄在永久資料記錄機制(如區塊鍊)中。提供更多資料的組織會更好,模型的有效性取決于資料提供者對系統的貢獻。這些模型的有效性基于聯邦機制分發給各方,并繼續激勵更多組織加入資料聯邦。(2.3)中架構的實作不僅考慮了多個組織之間協作模組化的隐私保護和有效性,還考慮了如何獎勵貢獻更多資料的組織,以及如何通過共識機制實施激勵。是以,聯邦學習是一種“閉環”學習機制。
3 Related Works
聯邦學習使多方能夠協作建構機器學習模型,同時保持其訓練資料的私有性。聯邦學習作為一種新的技術,具有多個創新的思路,其中一些思路植根于現有的領域。下面我們從多個角度解釋聯邦學習和其他相關概念之間的關系。
3.1 Privacy-preserving machine learning
聯邦學習可以看作是一種隐私保護的去中心化協作機器學習,是以它與多方隐私保護機器學習密切相關。過去許多研究工作都緻力于這一領域。例如,有文獻提出了用于縱向劃分資料的安全多方決策樹算法。Vaidya和Clifton提出了安全關聯挖掘規則、安全k-means、用于縱向劃分資料的樸素貝葉斯分類器。有文獻提出了一種橫向劃分資料關聯規則的算法。針對縱向劃分資料和橫向劃分資料開發了安全SVM算法。有文獻提出了多方線性回歸和分類的安全協定。有文獻提出了安全的多方梯度下降方法。以上工作均使用安全多方計算(SMC)來保證隐私。
Nikolaenko等人使用同态加密和姚式混淆電路實作了橫向劃分資料線性回歸的隐私保護協定,有文獻提出了縱向劃分資料的線性回歸方法。這些系統直接解決了線性回歸問題。有文獻探讨了随機梯度下降(SGD)問題,并提出了邏輯回歸和神經網絡的隐私保護協定。最近,有文獻提出了一個三伺服器模型的後續工作。Aono等人提出了一種使用同态加密的安全邏輯回歸協定。Shokri和Shmatikov提出了基于更新參數交換的橫向劃分資料的神經網絡訓練。有文獻使用了加法同态加密來保護梯度的隐私,并增強了系統的安全性。随着深度學習的不斷進步,隐私保護的神經網絡推斷也受到了廣泛的研究。
3.2 Federated Learning vs Distributed Machine Learning
橫向聯邦學習乍一看有點類似于分布式機器學習。分布式機器學習包括訓練資料的分布式存儲、計算任務的分布式操作、模型結果的分布式分布等多個方面,參數伺服器是分布式機器學習中的一個典型元素。作為加速訓練過程的工具,參數伺服器将資料存儲在分布式工作節點上,通過中央排程節點配置設定資料和計算資源,進而更有效地訓練模型。對于橫向聯邦學習,工作節點表示資料所有者。它對本地資料具有完全的自主性,可以決定何時以及如何加入聯邦學習。在參數伺服器中,中心節點始終處于控制狀态,是以聯邦學習面臨着一個更加複雜的學習環境。其次,聯邦學習強調在模型訓練過程中資料所有者的資料進行隐私保護。資料隐私保護的有效措施可以更好地應對未來日益嚴格的資料隐私和資料安全監管環境。
與分布式機器學習設定一樣,聯邦學習也需要處理非IID資料。有研究中顯示,使用非IID本地資料,聯邦學習的性能會大大降低。作為回應,作者提供了一種新的方法來解決類似于遷移學習的問題。
3.3 Federated Learning vs Edge Computing
聯邦學習可以看作是邊緣計算的作業系統,因為它為協調和安全提供了學習協定。在[69]中,作者考慮了使用基于梯度下降的方法訓練的機器學習模型的一般類。他們從理論上分析了分布式梯度下降的收斂邊界,在此基礎上提出了一種控制算法,在給定的資源預算下,确定局部更新和全局參數聚合之間的最佳權衡,以最小化損失函數。
3.4 Federated Learning vs Federated Database Systems
聯邦資料庫系統是內建多個資料庫單元并對其進行整體管理的系統。為了實作與多個獨立資料庫的互動操作性,提出了聯邦資料庫的概念。聯邦資料庫系統通常使用分布式存儲作為資料庫單元,實際上,每個資料庫單元中的資料都是異構的。是以,在資料類型和存儲方面,它與聯邦學習有許多相似之處。但是,聯邦資料庫系統在互動過程中不涉及任何隐私保護機制,所有資料庫單元對管理系統都是完全可見的。此外,聯邦資料庫系統的重點是資料的基本操作,包括插入、删除、搜尋和合并等,而聯邦學習的目的是在保護資料隐私的前提下為每個資料所有者建立一個聯合模型,以便資料中包含的各種值和規則對我們的服務更好。
4 Survey of Current Work
聯邦學習的挑戰乍一看像是隐私、大規模機器學習和分布式優化等領域的經典問題。例如,已經提出了許多方法來解決機器學習、優化和信号處理領域中昂貴的通信問題。然而,這些方法通常無法完全處理聯邦網絡的規模,更不用說系統和統計異構性的挑戰了。類似地,雖然隐私是許多機器學習應用程式的一個重要方面,但是由于資料的統計變化,聯邦學習的隐私保護方法很難嚴格斷言,而且,由于每個裝置上的系統限制以及跨越潛在的巨大網絡,實作起來可能更加困難。在本節中,我們将更詳細地探讨第2.4節中提出的挑戰,包括對經典結果的讨論,以及最近專門針對聯邦學習的工作。
4.1 Communication-efficiency
在開發聯邦網絡的方法時,通信是一個需要考慮的關鍵瓶頸。雖然對通信效率高的分布式學習方法提供一個獨立的綜述超出了本文的範圍,但是我們指出了幾個一般的方向,我們将其分為(1)局部更新方法,(2)壓縮方案和(3)去中心化訓練。
4.1.1 Local Updating
小批量優化方法,包括擴充經典随機方法來同時處理多個資料點,已經成為資料中心環境中分布式機器學習的一個流行範例。然而,在實踐中,它們被證明具有有限的靈活性,以适應最大限度地利用分布式資料處理的通信計算折衷。作為響應,已經提出了幾種最近的方法,通過允許在每輪通信上并行地在每台機器上應用可變數量的局部更新來提高分布式設定中的通信效率,使得計算量與通信量基本上更為靈活。對于凸目标,分布式局部更新原始對偶方法已經成為解決這類問題的一種常用方法。這些方法利用對偶結構,有效地将全局目标分解成子問題,并在每一輪通信中并行求解。還提出了幾種分布式局部更新原始方法,這些方法的附加優點是适用于非凸目标。在實際應用中,這些方法大大提高了性能,并且在實際資料中心環境中,與傳統的小批量方法或分布式方法(如ADMM)相比,它們的速度提高了一個數量級。我們在圖2中直覺地說明了局部更新方法。
在聯邦設定中,允許靈活的局部更新和低用戶端參與的優化方法已經成為事實上的求解器。聯邦學習最常用的方法是聯邦平均(FedAvg),這是一種基于局部随機梯度下降(SGD)平均更新的方法。FedAvg在經驗上表現得很好,特别是在非凸問題上,但它沒有收斂性保證,并且在實際情況下,當資料是異構的時,它可能會發散。我們在第4.3.2節中更詳細地讨論了處理這種統計異質性的方法。
4.1.2 Compression Schemes
雖然局部更新方法可以減少通信的總輪數,但模型壓縮方案(如稀疏化、子采樣和量化)可以顯著減少每輪通信的消息大小。在資料中心環境下的分布式訓練的以往文獻中,這些方法在經驗和理論上都得到了廣泛的研究;在聯邦環境中,裝置的低參與度、非獨立同分布的局部資料和局部更新方案對這些模型壓縮方法提出了新的挑戰。例如,經典分布式學習中常用的錯誤補償技術不能直接擴充到聯邦設定,因為如果不經常對裝置進行采樣,局部累積的錯誤可能會過時。然而,一些工作在聯邦設定中提供了實用的政策,例如強制更新模型變得稀疏和低秩;使用結構化随機旋轉執行量化;使用有損壓縮和随機失活來減少伺服器到裝置的通信;以及應用Golomb無損編碼。從理論上看,雖然先前的工作已經探索了在非獨立同分布資料存在的情況下,通過低精度訓練的收斂保證,但是所做的假設沒有考慮聯邦設定的共同特征,例如低裝置參與度或局部更新優化方法。
4.1.3 Decentralized Training
在聯邦學習中,星形網絡(如圖3的左側所示,中央伺服器連接配接到裝置網絡)是主要的通信拓撲結構;是以,我們在本文中重點讨論星形網絡設定。然而,我們簡要地讨論了去中心化拓撲(其中裝置隻與它們的鄰居通信,如圖3的右側)作為一種潛在的替代方案。在資料中心環境中,當在低帶寬或高延遲的網絡上操作時,去中心化訓練被證明比中心化訓練更快;我們推薦讀者在上進行更全面的回顧。類似地,在聯邦學習中,去中心化算法理論上可以降低中央伺服器上的高通信成本。最近的一些工作研究了基于局部更新方案的異質資料去中心化訓練。然而,它們要麼局限于線性模型,要麼假設裝置完全參與。最後,還提出了層級通信模式,以進一步減輕中央伺服器的負擔,首先利用邊緣伺服器聚合來自邊緣裝置的更新,然後依賴雲伺服器聚合來自邊緣伺服器的更新。雖然這是一種有前途的減少通信的方法,但它不适用于所有網絡,因為這種類型的實體層次可能不存在或先驗已知。
4.2 Systems Heterogeneity
在聯邦設定中,由于裝置在硬體、網絡連接配接性和電池功率方面可能不同,是以整個網絡中的系統特性存在顯著的可變性。如圖4所示,這些系統特性使諸如掉隊者之類的問題比典型的資料中心環境更為普遍。我們大緻将處理系統異構性的幾個關鍵方向分為:(i) 異步通信,(ii) 主動裝置采樣,和(iii) 容錯。如第4.1.3節所述,我們在下面的讨論中假設了星形拓撲。
4.2.1 Asynchronous Communication
在傳統的資料中心設定中,同步和異步方案都常用于并行疊代優化算法,每種方法都有優缺點。同步方案簡單且保證了串行等效計算模型,但在裝置變化面前,它們也更容易受到掉隊者的影響。異步方案是一種很有吸引力的方法來減輕異構環境中的掉隊問題,特别是在共享記憶體系統中。然而,它們通常依賴于有界延遲假設來控制過時的程度,對于裝置k來說,這取決于自裝置k從中央伺服器拉取到的已更新的其他裝置的數量。雖然異步參數伺服器在分布式資料中心中已經取得了成功,但在聯邦設定中,經典的有界延遲假設可能是不現實的,在聯邦設定中,延遲可能是小時到天的順序,或是完全無界的。
4.2.2 Active Sampling
在聯邦網絡中,通常隻有一小部分裝置參與每一輪的訓練。然而,絕大多數聯邦方法是被動的,因為它們的目的不是影響哪些裝置參與。另一種方法是在每一輪中積極選擇參與裝置。例如,Nishio和Yonetani探索基于系統資源的新裝置采樣政策,目的是讓伺服器在預定義的時間視窗内聚合盡可能多的裝置更新。同樣,Kang等人在設計激勵機制以鼓勵具有更高品質資料的裝置參與學習過程時,考慮到了每個裝置上産生的系統管理費用。然而,這些方法假設網絡系統特性為一個靜态模型;如何擴充這些方法來處理計算和通信延遲中的實時、特定于裝置的波動仍然是一個開放的問題。此外,雖然這些方法主要關注系統可變性以執行主動采樣,但我們注意到,也值得考慮基于底層統計結構主動采樣一組小型但具有足夠代表性的裝置。
4.2.3 Fault Tolerance
容錯在系統界得到了廣泛的研究,是經典分布式系統的一個基本考慮因素。最近的工作還專門針對資料中心環境中的機器學習工作負載研究了容錯性。然而,當通過遠端裝置學習時,容錯變得更為重要,因為在給定的訓練疊代完成之前,一些參與裝置通常會在某個點退出。一種實用的政策是簡單地忽略這種裝置故障,如果故障裝置具有特定的資料特性,則可能會在裝置采樣方案中引入偏差。例如,由于網絡連接配接不良,來自偏遠地區的裝置可能更容易丢失,是以經過訓練的聯邦模型将偏向于具有良好網絡條件的裝置。理論上,雖然最近的一些工作已經研究了聯邦學習方法變體的收斂保證,但是很少有分析允許低參與度,或者直接研究掉隊裝置的影響。
編碼計算是通過引入算法備援來容忍裝置故障的另一種選擇。最近的研究探索了使用代碼加速分布式機器學習訓練的方法。例如,在存在偏離者的情況下,梯度編碼及其變體小心地跨計算節點複制資料塊(以及這些資料塊上的梯度計算),以獲得真實梯度的精确或不精确重構。雖然這對于聯邦設定來說似乎是一種很有前途的方法,但是這些方法在聯邦網絡中面臨着根本的挑戰,因為由于隐私限制和網絡規模的限制,跨裝置共享資料/複制通常是不可行的。
4.3 Statistical Heterogeneity
從資料模組化(如圖5所示)和分析相關訓練過程的收斂行為兩個方面,用裝置上的非獨立同分布資料來訓練聯邦模型時都會遇到挑戰。我們在下面這些方向讨論相關工作。
4.3.1 Modeling Heterogeneous Data
在機器學習中存在大量的文獻,通過諸如元學習和多任務學習的方法來對統計異質性進行模組化;這些想法最近已經擴充到聯邦設定。例如,MOCHA,一個為聯邦設定設計的優化架構,可以通過學習每個裝置的獨立但相關的模型來實作個性化,同時通過多任務學習利用共享的表示。該方法對所考慮的目标具有可證明的理論收斂性保證,但其擴充到大規模網絡的能力有限,且僅限于凸目标。另一種方法将星型拓撲模組化為貝葉斯網絡,并在學習期間執行變分推理。雖然這種方法可以處理非凸模型,但推廣到大型聯邦網絡是昂貴的。Khodak等人使用多任務資訊(其中每個任務對應于一個裝置),可證明地對任務内學習率進行元學習,并已證明比普通FedAvg改進了實驗性能。Eichner等人研究了一種多元解決方案(在全局模型和裝置特定模型之間自适應選擇),以解決聯邦訓練期間資料樣本中的循環模式。Zhao等人通過在一些共享代理資料上集中訓練全局模型後運作FedAvg,探索個性化的遷移學習。盡管最近取得了這些進展,但在為異質模組化制定方法時仍然面臨着關鍵挑戰,這些方法在聯邦設定中是健壯的、可伸縮的和自動化的。
在對聯邦資料模組化時,考慮精度以外的問題(如公平性)可能也很重要。尤其是,天真地求解總損失函數可能隐含地對某些裝置有利或不利,因為所學習的模型可能偏向于具有較大資料量的裝置,或者(如果相等地權重裝置)偏向于通常出現的裝置組。最近的工作提出了改進的模組化方法,旨在減少裝置之間模型性能的差異。一些啟發式算法隻是根據本地損失執行不同數量的本地更新。其他更具原則性的方法包括不可知聯邦學習(Agnostic Federated Learning),它通過minimax優化方案優化由客戶機分布混合形成的任何目标分布的集中模型。Li等人采取了另一種更普遍的方法,提出了一個被稱為q-FFL的目标,在該目标中,具有較高損失的裝置被賦予較高的相對權重,以鼓勵在最終精度分布中減少方差。除了公平性問題外,我們還注意到聯邦學習中的問責性和可解釋性等方面也值得探讨,但由于網絡的規模和異構性,這些方面可能具有挑戰性。
4.3.2 Convergence Guarantees for Non-IID Data
統計異質性在分析聯邦環境下的收斂行為方面也提出了新的挑戰,即使在學習單個全局模型時也是如此。事實上,當資料在網絡中的不同裝置上分布不一緻時,FedAvg等方法在實踐中已經被證明是不同的。在I.I.D.設定中分析了并行SGD和相關變體,它們使本地更新與FedAvg相似。然而,結果依賴于一個前提,即每個局部解算器是同一随機過程的副本(由于I.I.D.假設),這在典型的聯邦設定中不是這樣的。為了了解FedAvg在統計異質環境中的性能,FedProx最近被提出。FedProx對FedAvg方法做了一個小的修改,以確定在理論和實踐上的收斂性。FedProx也可以解釋為FedAvg的一個通用的、重新參數化的版本,它在考慮裝置之間的系統異構性方面具有實際的影響。其他一些工作也探索了在不同假設下的異質資料存在的收斂保證,例如凸性或一緻有界梯度。也有一些啟發式方法旨在通過共享本地裝置資料或一些伺服器端代理資料來解決統計異質性問題。然而,這些方法可能是不切實際的:除了在網絡帶寬上施加負擔之外,向伺服器發送本地資料違背了聯邦學習的密鑰隐私假設,并且向所有裝置發送全局共享代理資料需要努力仔細地生成或收集這樣的輔助資料。
4.4 Privacy
隐私問題常常促使人們需要在聯邦設定中将每個裝置上的原始資料儲存在本地。但是,作為訓練過程的一部分,共享其他資訊(如模型更新)也可能洩漏敏感的使用者資訊。例如,Carlini等人證明可以從一個基于使用者語言資料訓練的遞歸神經網絡中提取敏感的文本模式,例如特定的信用卡号碼。鑒于業内對隐私保護學習方法越來越感興趣,在第4.4.1節中,我們首先簡要回顧了以往在一般(分布式)機器學習環境中加強隐私的工作。然後,我們将在第4.4.2節中回顧最近專門為聯邦設定設計的隐私保護方法。最後我們在第4.4.3節中确定防止間接洩漏的方法和潛在挑戰。
4.4.1 Privacy in Machine Learning
機器學習、系統和理論界對隐私保護學習進行了廣泛的研究。我們将簡要回顧三種主要的政策,其中包括用差分隐私來傳遞噪聲資料草圖、用同态加密來操作加密資料、以及安全的功能評估或多方計算。
在這些不同的隐私方法中,差分隐私由于其強大的資訊理論保證、算法簡單和相對較小的系統開銷而被最廣泛地使用。簡單地說,如果一個輸入元素的變化不會導緻輸出分布的太大差異,那麼随機化機制是差異私有的;這意味着不能得出任何關于在學習過程中是否使用特定樣本的結論。這種樣本級的隐私可以在許多學習任務中實作。對于基于梯度的學習方法,一種流行的方法是通過在每次疊代時随機擾動中間輸出來應用差分隐私。在應用擾動(例如,通過高斯噪聲、拉普拉斯噪聲或二項式噪聲)之前,通常剪裁梯度以限制每個示例對整體更新的影響。差别隐私和模型精度之間存在着固有的權衡,因為增加更多的噪聲會帶來更大的隐私,但可能會嚴重影響精度。盡管差異隐私是機器學習中隐私的事實度量,但還有許多其他隐私定義,如k-匿名性、d-存在性和距離相關性,可能适用于不同的學習問題。
除了差分隐私外,同态加密還可以通過計算加密資料來保護學習過程,盡管目前它應用于有限的設定,例如訓練線性模型或僅涉及少數實體。當敏感資料集分布在不同的資料所有者之間時,另一個自然的選擇是通過安全功能評估(SFE)或安全多方計算(SMC)來執行隐私保護學習。由此産生的協定可以使多個當事方協作計算商定的函數,而不洩漏任何當事方的輸入資訊,除了可以從輸出中推斷出的資訊外。是以,雖然SMC不能保證資訊洩漏的保護,但它可以與差異隐私相結合,以實作更強的隐私保證。然而,這些方法可能不适用于大規模機器學習場景,因為它們會帶來大量額外的通信和計算成本。此外,需要為目标學習算法中的每個操作仔細設計和實作SMC協定。
下面簡要介紹一下主要的三種加密技術:
- 安全多方計算(SMC):SMC安全模型自然包含多方,并在一個定義明确的仿真架構中提供安全證明,以保證完全零知識,即除了輸入和輸出之外,各方什麼都不知道。零知識是非常可取的,但這種要求的屬性通常需要複雜的計算協定,并且可能無法有效地實作。在某些情況下,如果提供了安全保證,則可以認為部分知識洩露是可接受的。在安全性要求較低的情況下,可以用SMC建立安全模型,以換取效率。最近,有研究使用SMC架構對具有兩個伺服器和半誠實假設的機器學習模型進行訓練。有文獻使用MPC協定進行模型訓練和驗證,無需使用者透露敏感資料。最先進的SMC架構之一是ShareMind。有文獻提出了一個3PC模型,以誠實的多數,并考慮了在半誠實和惡意假設中的安全性。這些工作要求參與者的資料在非協作伺服器之間秘密共享。
- 差異隐私:另一項工作使用差分隐私技術或k-匿名來保護資料隐私。差異隐私、k-匿名和多樣化的方法涉及在資料中添加噪聲,或使用泛化方法來模糊某些敏感屬性,直到第三方無法區分個體,進而使資料無法還原來保護使用者隐私。然而,這些方法的根源仍然要求資料傳輸到别處,而這些工作通常涉及準确性和隐私之間的權衡。
- 同态加密:在機器學習過程中,也可以采用同态加密的方法,通過加密機制下的參數交換來保護使用者資料隐私。與差異隐私保護不同,資料和模型本身不會被傳輸,也不能通過另一方的資料對其進行推測。是以,原始資料級别的洩漏可能性很小。最近的工作采用同态加密來集中和訓練雲上的資料。在實踐中,加法同态加密被廣泛使用,需要進行多項式近似來評估機器學習算法中的非線性函數,進而在準确性和隐私性之間進行權衡。
4.4.2 Privacy in Federated Learning
聯邦設定對現有的隐私保護算法提出了新的挑戰。除了提供嚴格的隐私保證外,還需要開發計算成本低、通信效率高、能夠容忍掉線裝置的方法,而所有這些都不會過度損害準确性。盡管聯邦學習中有各種各樣的隐私定義,但通常它們可以分為兩類:全局隐私和局部隐私。如圖6所示,全局隐私要求在每一輪生成的模型更新對中央伺服器以外的所有不受信任的第三方都是私有的,而本地隐私進一步要求更新對伺服器也是私有的。
目前旨在提高聯邦學習隐私的工作通常建立在以前的經典密碼協定上,如SMC和差分隐私。Bonawitz等人引入一個SMC協定來保護單個模型的更新。中心伺服器無法看到任何本地更新,但仍可以在每輪中觀察精确的聚合結果。SMC是一種無損的方法,它可以保持原始的準确性,并且有很高的隐私保證。然而,由此産生的方法會産生顯著的額外通信成本。其他的工作将差異隐私應用于聯邦學習,并提供全局差異隐私。這些方法有許多影響通信和準确性的超參數,必須仔細選擇,盡管後續工作提出了自适應梯度剪裁政策來幫助緩解這一問題。在需要加強隐私保護的情況下,Bhowmick等人通過限制潛在對手的權力,引入放松版的本地隐私。它比全局隐私提供了更強的隐私保證,并且比嚴格的本地隐私具有更好的模型性能。Li等人提出了元學習環境下的局部差異私有算法,該算法可以應用于具有個性化的聯邦學習,同時在凸環境下提供可證明的學習保證。此外,差分隐私可以與模型壓縮技術相結合,以減少通信,同時獲得隐私利益。
4.4.3 Indirect information leakage
聯邦學習的先驅工作揭示了諸如随機梯度下降(SGD)等優化算法的參數更新等中間結果,但是沒有提供安全保證。當與資料結構(如圖像像素)一起曝光時,這些梯度的洩漏實際上可能洩漏重要的資料資訊。研究人員已經考慮到這樣一種情況:聯邦學習系統的一個成員通過植入後門來學習其他人的資料,惡意攻擊其他人。有作者證明了在一個聯邦全局模型中植入隐藏後門的可能性,并提出了一種新的“限制和縮放”模型中毒法來減少資料中毒。有研究人員發現了協作機器學習系統中存在的潛在漏洞,在該系統中,不同參與方在協作學習中使用的訓練資料容易受到推理攻擊。他們表明,一個敵對的參與者可以推斷成員資格以及與訓練資料子集相關的屬性。他們還讨論了針對這些攻擊的可能防禦措施。有作者揭示了與不同方之間的梯度交換有關的潛在安全問題,并提出了梯度下降法的一種安全變體,并表明它可以容忍一定常數比例的拜占庭使用者(參見拜占庭将軍問題)。
研究人員也開始考慮将區塊鍊作為促進聯邦學習的平台。有研究人員考慮了一種區塊鍊聯邦學習(BlockFL)結構,其中移動裝置的本地學習模型更新通過區塊鍊進行交換和驗證。他們考慮了最佳塊生成、網絡可擴充性和魯棒性問題。
4.5 Incentives Mechanism
目前,現有的研究主要集中在優化聯邦學習算法以提高模型訓練性能。然而,激勵移動裝置加入模型訓練的激勵機制卻被忽視了。在聯邦模型訓練過程中,移動裝置在計算和通信方面承受着相當大的開銷。如果沒有精心設計的激勵機制,感興趣的移動裝置将不願意加入聯邦學習任務,這将阻礙聯邦學習的應用。為了彌補這一差距,有研究采用契約理論設計了一種有效的激勵機制,用于模拟具有高品質(即高精度)資料的移動裝置參與聯合學習。數值結果表明,該機制有效地提高了聯邦學習的精度。
此外,在聯邦學習中,訓練資料作為workers廣泛分布在移動裝置上并被維護。中央聚合器通過使用移動裝置的局部訓練資料從移動裝置收集局部更新來更新全局模型,以在每次疊代中訓練全局模型。然而,不可靠的資料可能被移動裝置(即workers)上傳,進而導緻聯邦學習任務中的欺詐。workers可能故意執行不可靠的更新,例如資料中毒攻擊,或無意執行,例如由能量限制或高速移動引起的低品質資料。是以,在聯邦學習任務中找到可信和可靠的worker變得至關重要。有研究引入信譽的概念作為度量标準。在此基礎上,提出了一種用于聯邦學習任務的可靠workers選擇方案。聯盟鍊被用作一種去中心化的方法,以實作對workers的有效信譽管理,使其無法被否認和篡改。通過數值分析,證明了該方法可以提高移動網絡中聯邦學習任務的可靠性。
5 Future Directions
聯邦學習是一個活躍和持續的研究領域。盡管最近的工作已經開始處理第2.4節讨論的挑戰,但仍有一些關鍵的開放方向有待探索。在本節中,我們簡要概述了圍繞先前讨論的挑戰(昂貴的通信、系統異構性、統計異質性和隐私問題)的一些有希望的研究方向,并介紹了有關聯邦環境中的産品化和基準測試等問題的其他挑戰。
- 極端的通訊方案:在聯邦學習中,有多少交流是必要的,還有待觀察。事實上,衆所周知,機器學習的優化方法可以容忍精度的不足;這個錯誤實際上有助于泛化。雖然在傳統的資料中心環境中已經探索了單點或分而治之的通信方案,但在大規模或統計異構網絡中,這些方法的行為并沒有得到很好的了解。類似地,最近為聯邦設定提出了一次/幾次試探法,但尚未從理論上進行分析或按比例進行評估。
- 通信降低和Pareto frontier:我們讨論了在聯邦訓練中減少通信的幾種方法,如局部更新和模型壓縮。為了建立一個真實的聯邦學習系統,了解這些技術是如何互相組合的,并且系統地分析每種方法的準确性和通信之間的權衡是很重要的。特别是,最有用的技術将展示Pareto frontier的改進,在相同的通信預算下,在理想情況下,在廣泛的通信/精度剖面上,實作比任何其他方法更高的精度。為了有效地進行神經網絡推理,已經進行了類似的綜合分析,并且為了以有意義的方式比較用于聯邦學習的通信簡化技術是必要的。
- 新的異步模型:如第4.2.1節所述,分布式優化中最常研究的兩種通信方案是批量同步方法和異步方法(假設延遲是有界的)。這些方案在資料中心設定中更為實際,其中工作節點通常專用于工作負載,即,它們準備在“推送”上一個作業的結果後立即從中心節點“拉取”下一個作業。相比之下,在聯邦網絡中,每個裝置通常不被配置設定給手頭的任務,并且大多數裝置在任何給定的疊代中都不活動。是以,值得研究這種更現實的以裝置為中心的通信方案的效果,其中每個裝置可以決定何時“喚醒”,并以事件觸發的方式與中央伺服器互動。
- 異質性診斷:最近的研究旨在通過諸如局部差異性和earth mover\'s distance (EMD)等名額量化統計異質性。然而,在訓練發生之前,這些度量不能通過聯邦網絡輕松計算這些度量的重要性激發了以下開放性問題:(i)是否存在簡單的診斷以快速确定聯邦網絡中的異質性水準?(ii)是否可以開發類似的診斷來量化與系統相關的異質性的數量?(iii)是否可以利用目前或新的異質性定義來進一步改進聯邦優化方法的收斂性?
- 細微的隐私限制:第4.4.2節中概述的隐私定義涵蓋了與網絡中所有裝置相關的本地或全球級别的隐私。然而,在實踐中,可能有必要在更細粒度級别上定義隐私,因為隐私限制可能在裝置之間或甚至在單個裝置上的資料點之間有所不同。例如,Li等人最近提出了樣本特定(相對于使用者特定)的隐私保證,進而提供了一種較弱的隐私形式,以換取更精确的模型。開發處理混合(裝置特定或樣本特定)隐私限制的方法是未來工作的一個有趣和持續的方向。
- 超越監督學習:重要的是要注意到,迄今為止讨論的方法都是随着監督學習的任務而發展起來的,即他們假設聯邦網絡中的所有資料都存在标簽。實際上,在實際的聯邦網絡中生成的許多資料可能是未标記或弱标記的。此外,目前的問題可能不是将模型與資料拟合,而是執行一些探索性資料分析、确定聚合統計資料或運作更複雜的任務,如強化學習。在聯邦網絡中解決監督學習以外的問題可能需要解決可伸縮性、異構性和隐私性方面的類似挑戰。
- 産品性聯邦學習:除了本文讨論的主要挑戰之外,在産品環境中運作聯邦學習時還需要考慮一些實際問題。尤其是概念漂移(當底層資料生成模型随時間變化時);日變化(當裝置在一天或一周的不同時間表現出不同的行為時);冷啟動問題(當新裝置進入網絡時)等問題必須小心處理。
- 基準:最後,由于聯邦學習是一個新興的領域,我們正處于一個關鍵時刻,以塑造這一領域的發展,并確定它們以現實世界的環境、假設和資料集為基礎。對于更廣泛的研究界來說,進一步建立在現有的實作和基準工具上,如LEAF和Tensorflow Federated是至關重要的,以促進經驗結果的可重複性和聯邦學習的新解決方案的傳播。
6 Applications
聯邦學習作為一種創新的模組化機制,可以在不影響資料隐私和安全的情況下,對來自多個方面的資料進行統一的模組化,在銷售、金融和許多其他行業中有着很好的應用前景,在這些行業中,由于知識産權、隐私保護和資料安全等因素,資料不能直接彙聚用來訓練機器學習模型。
以智能零售為例。其目的是利用機器學習技術為客戶提供個性化服務,主要包括産品推薦和銷售服務。智能零售業務涉及的資料特征主要包括使用者購買力、使用者個人偏好和産品特征。在實際應用中,這三個資料特性可能分散在三個不同的部門或企業中。例如,一個使用者的購買力可以從他的銀行存款中推斷出來,他的個人偏好可以從他的社交網絡中分析出來,而産品的特征則由一個電子商店記錄下來。在這種情況下,我們面臨兩個問題。首先,為了保護資料隐私和資料安全,銀行、社交網站和電子購物網站之間的資料壁壘很難打破。是以,不能直接聚合資料來訓練模型。第二,三方存儲的資料通常是異構的,傳統的機器學習模型不能直接處理異構資料。目前,傳統的機器學習方法還沒有有效地解決這些問題,阻礙了人工智能在更多領域的推廣應用。
聯邦學習和遷移學習是解決這些問題的關鍵。首先,利用聯邦學習的特點,可以在不導出企業資料的情況下,為三方建立機器學習模型,既充分保護了資料隐私和資料安全,又為客戶提供個性化、有針對性的服務,還順便實作了互惠互利。同時,我們可以利用遷移學習來解決資料異質性問題,突破傳統人工智能技術的局限性。是以,聯邦學習為我們建構跨企業、跨資料、跨域的大資料和人工智能生态圈提供了良好的技術支援。
可以使用聯邦學習架構進行多方資料庫查詢,而無需公開資料。例如,假設在金融應用程式中,我們有興趣檢查多方借款,這是銀行業的一個主要風險因素。當某些使用者惡意向一家銀行借款以支付另一家銀行的貸款時,就會發生這種情況。多方借款是對金融穩定的威脅,因為大量的此類非法行為可能導緻整個金融體系崩潰。為了找到這樣的使用者而不在銀行A和銀行B之間公開使用者清單,我們可以利用聯邦學習架構。特别是,我們可以使用聯邦學習的加密機制,對每一方的使用者清單進行加密,然後在聯邦中找到加密清單之間的交集。最終結果的解密提供了多方借款人的清單,而不會将其他“好”使用者暴露給另一方。正如我們将在下面看到的,這個操作對應于縱向聯邦學習架構。
智慧醫療是另一個領域,我們預計這将大大受益于聯邦學習技術的興起。疾病症狀、基因序列、醫學報告等醫學資料是非常敏感和私密的,然而醫學資料很難收集,它們存在于孤立的醫療中心和醫院中。資料源的不足和标簽的缺乏導緻機器學習模型的性能不理想,成為目前智慧醫療的瓶頸。我們設想,如果所有的醫療機構都聯合起來,共享他們的資料,形成一個大型的醫療資料集,那麼在該大型醫療資料集上訓練的機器學習模型的性能将顯著提高。聯邦學習與遷移學習相結合是實作這一願景的主要途徑。遷移學習可以應用于填補缺失的标簽,進而擴大可用資料的規模,進一步提高訓練模型的性能。是以,聯邦遷移學習将在智慧醫療發展中發揮關鍵作用,它可能将人類健康保健提升到一個全新的水準。
7 Federated Learning and Data Alliance of Enterprises
聯邦學習不僅是一種技術标準,也是一種商業模式。當人們意識到大資料的影響時,他們首先想到的是将資料聚合在一起,通過遠端處理器計算模型,然後下載下傳結果供進一步使用。雲計算就是在這種需求下産生的。然而,随着資料隐私和資料安全的重要性越來越高,以及公司利潤與其資料之間的關系越來越密切,雲計算模型受到了挑戰。然而,聯邦學習的商業模式為大資料的應用提供了一個新的範例。當各個機構所占用的孤立資料不能産生理想的模型時,聯邦學習機制使得機構和企業可以在不進行資料交換的情況下共享一個統一的模型。此外,在區塊鍊技術的共識機制的幫助下,聯邦學習可以制定公平的利潤配置設定規則。無論資料擁有的規模如何,資料擁有者都會被激勵加入資料聯盟,并獲得自己的利潤。我們認為,建立資料聯盟的業務模型和聯邦學習的技術機制應該一起進行。我們還将為各個領域的聯邦學習制定标準,以便盡快投入使用。
8 Conclusions and Prospects
近年來,資料的隔離和對資料隐私的強調正成為人工智能的下一個挑戰,但是聯邦學習給我們帶來了新的希望。它可以在保護本地資料的同時,為多個企業建立一個統一的模型,使企業在以資料安全為前提的情況下共同取勝。本文概述了聯邦學習的基本概念、體系結構和技術,并讨論了它在各種應用中的潛力。預計在不久的将來,聯邦學習将打破行業之間的障礙,建立一個可以與安全共享資料和知識的社群,并根據每個參與者的貢獻公平配置設定利益。人工智能的好處最終會帶到我們生活的每個角落。