摘 要

聯邦學習(Federated Learning,FL)是 Google 公司于 2016 年首次提出的概念,是一種在隱私約束下進行模型訓練的機器學習訓練范式。聯邦學習具有無須客戶端共享私有數據即可進行全局模型訓練的特點,其在醫療、金融等需要嚴格保護用戶私人信息的領域被廣泛應用。雖然聯邦學習因為可以保護用戶的本地數據隱私而備受重視,但其也和其他機器學習架構一樣面臨著一些問題,并且容易受到黑客的攻擊。將具體列舉聯邦學習所面臨的瓶頸和安全問題,并介紹相應的防御機制,幫助聯邦學習系統設計者更好地了解聯邦學習的安全態勢。

人工智能技術的廣泛應用,顯著推動了科技的發展與進步,但同時技術的安全性和用戶的隱私安全也變得越來越重要。在大多數的機器學習架構中,來自不同組織或設備的數據被聚集在中央服務器或云平臺中用來訓練模型,用戶隱私難以被保障。這對機器學習的廣泛應用來說是一個嚴重的限制性因素,特別是當訓練數據集包含敏感信息并因此構成安全威脅的時候。例如,為了開發核磁共振掃描的乳腺癌檢測模型,不同的醫院可以共享他們的數據來開發協作的機器學習模型。然而,向中央服務器共享患者的私有信息可能會向外界泄露敏感信息,從而產生消極的影響。在這種情況下,聯邦學習可能是更好的選擇。聯邦學習是設備或組織之間的一種協作學習技術,其中來自客戶端的本地模型的模型參數被共享和聚合,但客戶端的本地數據并不需要被共享。

聯邦學習的概念是由 Google 公司于 2016 年提出的,并將聯邦學習應用于 Google Keyboard程序中,可以在多部安卓手機上進行協作學習。由于聯邦學習可以應用于任何邊緣設備,使得其在醫療保健、交通、金融、智能家居等領域被廣泛應用。

雖然聯邦學習的應用領域很多,但其面臨著一些新的挑戰。這些挑戰大致可分為 2 類:與模型訓練有關的挑戰和與系統安全有關的挑戰。與模型訓練有關的挑戰包括多次訓練迭代期間的通信開銷問題、參與學習的設備的異質性以及所用數據的異質性,而與系統安全有關的挑戰包括用戶隱私的泄露風險、針對聯邦學習數據和模型的投毒攻擊,以及針對聯邦學習的后門攻擊。本文將介紹聯邦學習的基本過程和類別劃分以及聯邦學習的實際應用,并通過對當前聯邦學習面對的瓶頸與安全挑戰的概述,使聯邦學習系統的設計者可以更加方便地發現現有框架中存在的潛在漏洞,同時幫助對聯邦學習感興趣的研究人員了解聯邦學習現在所面臨的威脅與挑戰。

1

聯邦學習的過程與類別劃分

1.1 聯邦學習的過程介紹

聯邦學習的過程通常包括以下4個主要步驟。

(1)客戶端的選擇。服務器可以從設備池中隨機選取所需的客戶端,也可以使用自定義的算法進行客戶端的選擇。

(2)參數廣播。服務器向選定的客戶端廣播全局模型參數。

(3)本地模型培訓。客戶使用其本地數據對模型參數進行同步后開始模型的訓練。

(4)模型聚合。客戶端將其訓練好的本地模型參數發送回服務器,模型參數將向全局模型聚合。

上述步驟將按照需求迭代 n 次,直至模型收斂或達到需求。圖 1 表示了聯邦學習的基本過程。

圖 1 聯邦學習的基本過程

1.2 聯邦學習的類別劃分

按照數據樣本特征,聯邦學習主要可以劃分為橫向聯邦學習和縱向聯邦學習。橫向聯邦學習適用于參與者的數據特征重疊較多,而樣本 ID 重疊較少的情況,比如兩家不同地區銀行的客戶數據。“橫向”二字來源于數據的“橫向劃分(Horizontal Partitioning)”。橫向聯邦學習數據劃分如圖 2 所示,聯合多個參與者的具有相同特征的多行樣本進行聯邦學習,即各個參與者的訓練數據是橫向劃分的,稱為橫向聯邦學習,橫向聯邦學習可以使訓練樣本的總數量增加。

圖 2 橫向聯邦學習數據劃分

縱向聯邦學習適用于參與者訓練樣本 ID 重疊較多,而數據特征重疊較少的情況,比如兩個組織擁有同一組人的不同特征的數據,可以使用聯邦學習來構建共享的機器學習模型。縱向聯邦學習數據劃分如圖 3 所示,聯合多個參與者的共同樣本的不同數據特征進行聯邦學習,即各個參與者的訓練數據是縱向劃分的,稱為縱向聯邦學習。縱向聯邦學習需要先做樣本對齊,即找出參與者擁有的共同的樣本,只有聯合多個參與者的共同樣本的不同特征進行縱向聯邦學習才有意義。縱向聯邦學習可以使訓練樣本的特征維度增多。

圖 3 縱向聯邦學習數據劃分

2

聯邦學習的應用

2.1 聯邦學習在交通領域的應用

聯邦學習在交通領域已經有了諸多應用。在無人駕駛方面,為了保持最佳的機器學習模型和模型做出最優決策的能力,Pokhrel 等人提出了一種基于自主區塊鏈的聯邦學習架構(Blockchain-Based Federated Learning,BFL)設計,該設計使用區塊鏈的共識機制來實現車載機器學 習(On-Vehicle Machine Learning,oVML)。Zeng 等人結合基于契約理論的激勵機制,設計出一個新的聯邦學習框架,該框架可用于通信鏈路不穩定和復雜環境條件下的車輛間聯邦學習以及模型控制器的自主優化。

2.2 聯邦學習在醫療領域的應用

在醫療領域,隨著個人電子健康信息的普及,對患者數據的保護通常會形成局部的數據孤島,這使得醫療系統難以通過廣泛的數據集建立起可靠的醫療輔助診斷模型。而聯邦學習的方式可以很好地保護患者的隱私,使所訓練的診斷模型可以充分利用更多數據集,進而大大提高診斷模型的準確性。2020 年,Xu 等人 通過聯邦學習的方式開發出一種可用于新型冠狀病毒診斷的模型系統,該系統可以在不損害患者隱私的情況下準確地對患者病情進行診斷。

2.3 聯邦學習在金融領域的應用

隨著數字時代的到來,金融犯罪也出現了新的形式,給銀行和消費者造成了巨大損失。同時客戶也非常關注其私人財務信息能否得到有效保護。因此,在機器學習技術與金融行業結合的過程中,如何保護好金融用戶的隱私信息是一個重要的研究方向。聯邦學習無須共享數據的方式為使用深度學習訓練模型提供了一種新思路,每組數據的所有者可以在不進行客戶私人信息共享的情況下進行協作,這樣防止了客戶私人信息的泄露,確保了數據安全。Feng等人提出了一種雙邊隱私保護的聯邦學習方案,該方案可以保護訓練過程中的迭代參數,同時在考慮客戶端隱私的基礎上,進一步保護模型參數不被外部攻擊者獲取。

3

聯邦學習面臨的瓶頸

聯邦學習雖然已被應用于交通、醫療以及金融等諸多領域,并且對相關的用戶隱私進行了有效保護,但其作為一個分布式的機器學習系統,在現在的發展階段仍面臨著制約其快速發展的瓶頸問題,下面將介紹聯邦學習所面臨的幾種典型的瓶頸問題。

3.1 通信開銷問題

聯邦學習中的通信開銷問題是聯邦學習的主要瓶頸之一。隨著深度神經網絡的發展,模型變得非常復雜,每一輪迭代中變化的模型參數也大大增加,聯邦學習在每一輪訓練的過程中需要將這些參數上傳和下發,這相較于傳統的機器學習會增加巨大的通信開銷。目前減少聯邦學習過程中通信的開銷都是以增加客戶端本地的計算量為代價,將更多的計算放在本地執行,以此減少通信的輪次和通信過程中傳遞的參數數量。隨著客戶端計算能力的不斷提高,這種方法的弊端正在逐漸減弱,因此以增加計算量的方式來減小通信的代價總體上來說是可行的。

3.2 數據的非獨立同分布

通常情況下,機器學習的數據集是獨立同分布的,而聯邦學習的數據集卻常常以非獨立同分 布(Non-Independent Identically Distribution,Non-IID)的方式存在,這就對聯邦學習的實際落地形成了挑戰。針對 Non-IID 數據導致的聯邦學習效率下降的問題,可以從性能、算法、模型等方面對聯邦學習進行優化。聯邦學習的訓練效率很大程度上都和 Non-IID 數據有關,如果從 Non-IID 數據本身著手,也可以對聯邦學習效率的提升有很大的幫助。此外,聯邦平均算法(Federated Average Algorithm,FedAvg)是聯邦學習中使用最為廣泛的算法之一,該算法通過權重更新來更新全局模型,但只考慮到客戶端數據量的大小,并未考慮到客戶端數據質量對整體模型的影響。因此優化聯邦學習算法,使其能夠適用于不同數據質量的情形非常關鍵。

3.3 系統和數據的異質性

聯邦學習網絡中的客戶端系統通常會有多種類別,系統的異質性以及來自設備的數據的不平衡、不一致分布會顯著影響聯邦學習模型的性能。并且客戶端的龐大數量和不一致性可能會使模型的可靠性下降。經典的 FedAvg 對系統異構性不夠健壯。針對聯邦學習系統異構性的問題,可以通過修改模型聚合算法的方式來進行優化。

4

聯邦學習的安全問題與防御機制

在上一節中介紹了聯邦學習所面臨的瓶頸問題,這些瓶頸制約著聯邦學習的發展,但同時聯邦學習也會面臨著一些安全方面的挑戰,影響著聯邦學習技術是否可以落地。本節將討論聯邦學習背景下的安全問題,介紹針對聯邦學習常見的攻擊手段和防御機制。

4.1 隱私泄露

盡管在聯邦學習中用戶的原始數據不會離開本地設備,不需要數據共享,并且允許參與者自由加入和離開,但仍有許多辦法可以推斷出聯邦學習中使用的訓練數據信息。因為在整個培訓過程中更新和傳達的模型信息可能會暴露出用戶的敏感信息(如性別、年齡、愛好),甚至會發生深度泄露,即使是一小部分原始梯度也可以揭示出有關用戶數據的信息。NeurIPS2019 的最新研究表明,惡意攻擊者可以通過有限次的操作從梯度中竊取到訓練數據。目前,主要的防止隱私泄露的技術有安全計算、差分隱私以及為聯邦學習構建可信的執行環境。

防御機制 1:安全計算。安全計算包括安全 多 方 計 算(Secure Multi-Party Computation,SMC)和同態加密兩種主要技術。SMC 是指從每一方的隱私輸入中協作計算一個函數的結果,而計算結果的過程不需要將輸入展示給其他方。SMC 保證了參與方在獲得正確結果的同時,無法獲得計算結果之外的任何信息。SMC 可以通過不經意傳輸(Oblivious Transfer,OT)、秘密共享(Secret Sharing,SS)和閾值同態加密 3 種不同的框架來實現。在同態加密中,計算是在加密輸入上執行的,而不需要首先解密。在過去,同態加密因為巨大的計算量開銷,在機器學習領域的應用比較少,但由于技術的發展,使得設備的計算能力顯著提高,人們對隱私保護的需求遠遠大于對計算資源的需求,同態加密技術進而也逐步應用到聯邦學習中。

防御機制 2:差分隱私(Differential Privacy,DP)。在差分隱私方案中,通過在模型聚合前將噪聲添加到模型參數中來屏蔽用戶的信息,從而達到對用戶隱私保護的效果。但是在參數中添加噪聲會損失一定的模型精度,使聯邦學習模型的收斂效果變差。

防御機制 3:可信執行環境(Trusted Execution Environment,TEE)。可信執行環境提供了一個安全的平臺,通過分配計算資源的私有區域(例如內存),可以提供硬件和軟件隔離,以較低的計算開銷運行聯邦學習模型,在不影響準確性和效率的情況下,保證了聯邦學習的數據隱私。與同態加密等傳統軟件保護相比,TEE 提供了更低的開銷和更高的隱私,但是當前的 TEE 環境僅適用于 CPU 設備。

4.2 數據投毒攻擊

數據投毒是機器學習領域常見的攻擊之一,其中攻擊者向訓練集中添加訓練數據,從而對聯邦學習的訓練模型進行操控,進而影響全局模型的準確性。數據投毒攻擊可以分為白標簽攻擊和臟標簽攻擊。

白標簽攻擊不要求攻擊者控制訓練數據的標記,而是控制分類器在特定測試實例上的行為,且不會降低總體分類器性能。例如,攻擊者可以添加看似無害的圖像(這是正確的標記)到人臉識別引擎的訓練集并在測試時控制所選人員的身份。由于攻擊者不需要控制標記,因此只要將毒物留在網絡上,等待數據收集機器人抓取毒物,就可以將毒物輸入到訓練集中。Shafahi等人提出了一種優化的毒物制作方法,并通過實驗表明在使用遷移學習時,僅一幅毒化圖像就可以控制分類器的行為。

臟標簽攻擊需要攻擊者對訓練數據的標記進行破壞,使一類正常數據的標簽被替換為其他類型數據的標簽,用這種混亂的數據對模型開展訓練的話會使模型的行為發生錯亂,無法正確地執行分類任務,以此達成攻擊者的目的。

防御機制:對數據投毒攻擊的異常檢測包括通用方法和特定方法兩類 ,通用方法可以檢測出所有種類的數據中毒樣本,像基于生成對抗網絡(Generative Adversarial Networks,GAN)的 De-Pois 模型,是檢測中毒樣本的通用且有效的方法。通過 GAN 生成與干凈數據分布相似的訓練數據,基于生成的數據來訓練模仿模型。De-Pois 能夠有效區分毒化樣本和干凈樣本。而特定方法僅能識別特定類別的數據投毒樣本。Levine 等人提出的兩種針對特定數據投毒的認證防御方法——深度分區聚合(Deep Partition Aggregation,DPA)和半監督DPA(Semi-Supervised DPA,SS-DPA),可以檢測特定種類的數據投毒攻擊。

4.3 模型投毒攻擊

模型投毒攻擊類似于數據投毒攻擊,攻擊者將本地模型的更新參數毒害后發送到服務器。模型中毒攻擊背后的主要動機是要在全局模型中引入錯誤。攻擊者通過破壞某些設備并修改其局部模型參數來發起模型投毒攻擊,從而影響全局模型的準確性。Fang 等人通過模型投毒攻擊對 4 種拜占庭式的健壯聯邦學習方法進行攻擊,在 MNIST、Fashion-MNIST、CHMNIST數據集上建立的評估結果表明,模型投毒攻擊可以顯著提高全局模型的錯誤率,攻擊效果有顯著提高。

防御機制:模型投毒攻擊的防御與數據投毒攻擊的防御類似。較為常見的防御措施可以分為:基于錯誤率(Error Rate based Rejection,ERR) 的 防 御;基 于 損 失 函 數(Loss Function based Rejection,LFR)的防御;ERR+LFR 聯合的防御。

(1)基于錯誤率的防御。通過計算每個局部模型對驗證數據集錯誤率的影響來刪除對錯誤率有較大負面影響的局部模型。具體來說,假設有一個聚合算法,對于每個局部模型,我們使用聚合規則來計算全局模型 A(包括某個局部模型)和全局模型 B(排除某個局部模型)。我們通過計算來驗證數據集上全局模型 A 和 B的錯誤率,進而刪除:一些使全局錯誤率顯著提高的局部模型,并聚合其他局部模型以獲得更新的全局模型。

(2)基于損失函數的防御。在這種防御中,我們是根據局部模型對損失的影響而不是驗證數據集的錯誤率來移除局部模型。具體來說,就像基于錯誤率的拒絕一樣,對于每個局部模型,計算全局模型 A 和 B,并驗證數據集上模型A 和模型 B 的交叉損失函數值,分別表示為 LA和 LB。此外,定義 LA?LB 作為局部模型的損失影響。與基于錯誤率的拒絕一樣,刪除具有最大損失影響的局部模型,并聚合剩余的局部模型以更新全局模型。

(3)ERR+LFR 聯合的防御。結合了 ERR和 LFR 的策略。具體來說,就是刪除被 ERR 或LFR 拒絕的本地模型。

以上的 3 種防御方式,LFR 的防御比 ERR的防御更有效,LFR 可以實現比 ERR 更小的測試錯誤率。而 ERR+LFR 聯合的方式會比 LFR更好。值得注意的是,在某些情況下,部署防御措施后,錯誤率反而會增長,這是因為防御措施可能會移除良性的局部模型,從而增加全局模型的測試錯誤率。

4.4 后門攻擊

后門攻擊是指攻擊者利用聯邦學習模型更新過程中的匿名特性,將后門功能引入到全局模型中,比如通過修改圖像分類器,將攻擊者選擇的標簽分配給具有特定特征的圖像,或強制單詞預測器使用攻擊者選擇的單詞完成特定句子,后門攻擊的效果大大優于數據投毒。使用后門,攻擊者可以在不影響全局模型準確性的情況下錯誤標記某些任務,可以為具有特定特征的數據實例選擇特定標簽。后門攻擊后的模型在輸入正常數據時也可以正常工作,模型性能也沒有問題,只有當輸入為特定值的時候,模型才會按照攻擊者的意圖進行工作,因此后門攻擊很難被發現。后門攻擊也稱為目標攻擊,此類攻擊的強度取決于受損設備的存在比例以及聯邦學習的模型大小。

防御機制:對后門攻擊的防御可以采用弱差分隱私或者范數閾值法。此外,Zhao 等人 通過實驗表明,正常的后門攻擊無法對其提出的 FedPrompt 模型實現高成功率的攻擊,證明了FedPrompt 模型的魯棒性。因此,FedPromp 模型的分割學習并進行即時調優的聯邦學習方法值得借鑒。

5

結 語

聯邦學習為不同設備提供了一個安全的協作機器學習框架,而無須共享其私有數據。這吸引了許多研究人員在該領域進行廣泛的研究。聯邦學習現在已經應用于醫療、交通等多個領域。雖然與其他機器學習框架相比,聯邦學習框架提供了更好的隱私保障,但它仍然容易受到多種方式的攻擊。聯邦學習框架的分布式特性使得部署防御措施更加困難。例如,添加到局部模型的高斯噪聲可能會混淆聚合方案,并可能導致遺漏良性參與者。因此,能否在使用低計算成本的同時確保用戶的隱私和算法的魯棒性,去中心化的聯邦學習能否防御插入后門的攻擊方式等問題,將是聯邦學習領域新的研究方向。總體來說,聯邦學習仍處于起步階段,并且在可預見的未來仍將是一個快速發展且重要的研究領域。隨著聯邦學習防御技術的發展,攻擊機制也會發生變化,因此,如何開發出一種在不降低模型性能的情況下對各種攻擊具有防御效果的機制,這將需要更多的學者進行更加深入的研究。