1.3 聯邦學習的定義
聯邦學習是利用分散在各參與方的數據集,通過隱私保護技術融合多方數據信息,協同構建全局模型的一種分布式訓練方式。在模型訓練過程中,模型的相關信息(如模型參數、模型結構、參數梯度等)能夠在各參與方之間交換(交換方式可以是明文、數據加密、添加噪聲等),但本地訓練數據不會離開本地。這一交換不會暴露本地的用戶數據,降低了數據泄露的風險。訓練好的聯邦學習模型可以在各數據參與方之間共享和部署使用。
我們首先來回顧Federated Learning[284]中概括的、關于聯邦學習描述的一些共同特征,這些特征也是當前所有聯邦學習類型(包括橫向聯邦學習、縱向聯邦學習[1]和聯邦遷移學習)在進行算法設計、理論分析時都應遵循的原則和前提。這些共同的特征包括:
? 有兩個(或以上)的聯邦學習參與方協作構建一個共享的機器學習模型。每一個參與方都擁有若干各自希望能夠用來訓練模型的訓練數據。
? 在聯邦學習模型訓練過程中,每一個參與方擁有的數據都不會離開該參與方,即數據不離開數據擁有者。
? 與模型相關的信息(如模型參數、模型結構、參數梯度等)能夠以加密方式在各方之間傳輸和交換,并且需要任何一個參與方在接收到這些信息時都不能推測出其本地的原始數據。
? 聯邦學習模型的性能要能夠充分逼近理想模型(理想模型是指通過將所有訓練數據集中在一起并訓練獲得的機器學習模型)的性能。
? 聯邦學習模型的構建不影響客戶端設備的正常使用,即客戶端在本地訓練的過程中,應能夠保證該設備其他進程的正常運行(如控制CPU占用率、內存使用率等)。
下面給出聯邦學習的定義。首先定義參與方和數據的變量符號。設當前有N位數據擁有者共同參與訓練,記為,他們各自擁有的訓練數據集分別記為
。
傳統的訓練方法是將所有參與方的數據收集起來,存儲在中心服務器中,并在該服務器上使用集中后的數據集訓練一個機器學習模型MSUM。這種訓練范式也被稱為集中式訓練(又稱為中心化訓練)。
傳統的訓練方法需要每一個參與方Fi將自己的數據Di上傳至服務器,這樣,所有參與方的數據都相互可見,更糟糕的是,數據上傳后,其使用控制權便交給了服務器,服務器可以利用該部分數據做任何其他事情,進一步增加了數據泄露的風險。
聯邦學習是不需要收集各數據方所擁有的數據便能協作地訓練一個模型MFED的機器學習過程。設VSUM和VFED分別為集中型模型MSUM和聯邦型模型MFED的性能量度(如準確度、召回度和F1分數等)。下面定義狹義狀態下的聯邦學習性能損失概念。
定義1-1 狹義聯邦學習性能損失 [285] 設δ為任意一個非負實數,我們認為,在滿足以下條件時,聯邦學習模型MFED具有δ的性能損失:

通常來說,δ是一個數值很小的浮點數(如δ=0.1,δ=0.01等)。式(1.1)表達了以下的客觀事實:如果我們使用安全的聯邦學習在分布式數據源上構建機器學習模型,這個模型的性能將以δ的性能損失近似于把所有數據集中到一個地方所訓練得到的模型的性能。特別地,當δ=0時,則表示聯邦訓練的模型MFED與集中式訓練的模型MSUM的效果等價。
此外,對定義1-1進行擴展,可以進一步得到如下的廣義聯邦學習性能損失的定義。
定義1-2 廣義聯邦學習性能損失 設δ為任意一個非負實數,我們認為,在滿足以下條件時,聯邦學習模型MFED具有δ的性能損失:

觀察定義1-1與定義1-2,不難發現,它們的區別在于是否需要絕對值。這個細微的區別,導致了聯邦學習模型的性能VFED的取值范圍不同,其差異如圖1-3所示。
可以看到,在圖1-3(a)展示的狹義聯邦學習性能損失的定義中,VFED的取值范圍可以是以VSUM為圓心、以δ為半徑的圓內的任意值;在圖1-3(b)展示的廣義聯邦學習性能損失的定義中,VFED的取值可以是大于{VSUM-δ}的任意值。
兩者之所以出現差異,主要是參與方的數據分布不平衡導致的。在通常情況下,期望聯邦學習的性能VFED與中心化訓練的模型性能VSUM接近,也就是定義1-1中的狹義聯邦學習性能損失。但如果數據分布極度不平衡,我們來考慮這樣一種情況:當前有多個參與方進行聯邦訓練,其中部分客戶端的數據質量都非常差(比如這些客戶端的數據采集設備出現硬件故障導致數據質量不佳),這種由于客戶端的硬件設備故障導致的數據問題,在現實場景中是比較常見的問題。那么,如果采用集中式訓練的方法,我們就需要將這些參與方的數據都上傳到中心數據庫進行訓練,而由于存在低質量的訓練數據,將全部數據融合后進行集中訓練的效果VSUM可能會非常糟糕。相反,如果進行聯邦訓練,在通常情況下,聯邦學習系統在開始訓練時,本地會對其硬件設備進行檢測,以確保硬件設備的正常。如果排查出有問題的客戶端,那么聯邦學習系統會將這些異常的客戶端剔除,然后在剩余的客戶端設備中進行聯邦訓練。所以,在模型的性能效果上,VFED自然要比VSUM好很多。

圖1-3 狹義聯邦學習性能損失與廣義聯邦學習性能損失的可視化比較
在實際的落地應用中,這個性能的損失容忍度δ的值,需要根據業務場景的不同而設置不同的值。對于精度要求較高、隱私性要求較低的場景,δ的值會相應較小,即聯邦學習的性能應最大限度地接近中心化訓練的效果;相反,在隱私性要求較高、精度要求較低的場景,δ的值可以適當變大,即能容忍聯邦學習模型的性能比中心化訓練的模型效果要稍差一些。
聯邦學習的設計模式帶來了許多益處。它不需要各參與方直接進行數據交換,將模型的訓練計算交給了邊緣端設備,從而最大化地保障了用戶的隱私和數據安全。此外,聯邦學習不是單點的訓練,而是聯合各參與方來協同地訓練一個機器學習模型。因此,在通常情況下,全局模型的效果比基于本地數據訓練的本地模型效果更好。
例如,聯邦學習能夠用于商業銀行檢測多方借貸活動,而這在銀行產業,尤其是在互聯網金融業中,一直是一個很難解決的問題[337]。通過聯邦學習,我們不再需要建立一個中央數據庫,并且任何參與聯邦學習的金融機構都可以向聯邦系統內的其他機構發起新的用戶查詢請求。其他機構僅僅需要回答關于本地借貸的問題,并不需要了解用戶的具體信息。這不僅保護了用戶隱私和數據完整,還實現了識別多方貸款的重要業務目標。我們將在第8章介紹聯邦學習在金融場景的案例。