高品質、大資料的訓練資料通常是很難獲得的,我們不得不面對難以橋接的資料孤島。由于資料是由不同組織的不同部門産生并擁有的,傳統的方法是收集資料并傳輸至一個中心點(例如一個資料中心),這個中心點擁有高性能的計算叢集并且能夠訓練和建立機器學習模型,然而由于資料孤島的出現,這種方法近來已經不再有效或者适用了
随着人工智能在各行各業的應用落地,人們對于使用者隐私和資料的安全度也在不斷提高。使用者開始更加關注自己的隐私資訊是否未經自己允許就被利用,甚至濫用。人們對于資料失去掌控的擔憂,以及對于增益配置設定效果的不透明,加劇了所謂資料碎片化和孤島分布的嚴重性
随着物聯網和邊緣計算的興起,大資料往往不會拘泥于單一的整體,而是分布在許多方面。例如對于自動駕駛汽車,每輛汽車必須能夠在本地使用機器學習模型處理大量資訊,同時需要在全球範圍内與其他汽車和計算中心協同工作
聯邦學習概述
各種原因造成的資料孤島正阻礙着訓練人工智能模型所必須的大資料的使用。一種可行的方法是由每一個擁有資料源的組織訓練一個模型,之後讓各個組織在各個模型上彼此交流溝通,最終通過模型聚合得到一個全局模型。為了確定使用者隐私和資料安全,各組織間交換模型資訊的過程将會被精心設計,使得沒有組織能夠猜測到其他任何組織的隐私資料内容。同時,當建構全局模型時,各資料源仿佛已被整合在一起,這邊是聯邦學習的核心思想
聯邦學習旨在建立一個基于分布資料集的聯邦學習模型。聯邦學習包括兩個過程,分别是模型訓練和模型推理。在模型訓練過程中,模型相關的資訊能夠在各方之間交換(或者以加密形式進行交換),但資料不能。這一交換不能暴露各個站點上資料的任何受保護的隐私部分。已訓練好的聯邦學習模型可以置于聯邦學習系統的各參與方,可以在多方之間共享。在推理時,模型可以應用于新的資料執行個體
聯邦學習是一種具有以下特征的用來建立機器學習模型的算法架構。其中機器學習模型是指将某一方的資料執行個體映射到預測結果輸出的函數:
- 有兩個或以上的聯邦學習參與方協作建構一個共享的機器學習模型,每一個參與方都擁有若幹能夠用來訓練模型的訓練資料
- 在聯邦學習模型的訓練過程中,每一個參與方擁有的資料都不會離開該參與方,即資料不離開資料擁有者
- 聯邦學習模型相關的資訊能夠以加密方式在各方之間進行傳輸和交換,并且需要保證任何一個參與方都不能推測出其他房的原始資料
- 聯邦學習模型的性能要能夠充分逼近理想模型(是指通過将所有訓練資料集中在一起并訓練獲得的機器學習模型)的性能
理論上來說,如果使用安全的聯邦學習在分布式資料源上建構機器學習模型,這個模型在未來資料上的性能近似于把所有資料集中到一個地方訓練所得到的的模型的性能。
聯邦學習系統可能涉及也可能不涉及中央協調方,也能被設計為對等(P2P)網絡的方式(即不需要協調方,這種體系結構的優點是提高了安全性,但需要更多的計算操作來對消息内容進行加密和解密)
聯邦學習帶來了許多益處,由于它被設計為不需要直接資料交換或者收集的形式,是以保護了使用者的隐私和資料安全。聯邦學習還允許若幹參與方系統訓練一個機器學習模型,進而使各方都能得到一個比自己訓練的更好的模型。
聯邦學習有巨大的商業應用潛力,但同時也面臨着諸多挑戰。參與方(比如智能手機)和中央聚合伺服器之間的通信連結可能是慢速且不穩定的,因為同一時間可能有非常多的參與方在通信。還有,在聯邦學習系統中,來自不同參與方的資料可能會導緻出現非獨立同分布的情況。并且不同的參與方可能有數量不均的訓練資料樣本,這可能導緻聯邦模型産生偏差,甚至會使得聯邦模型訓練失敗。聯邦學習模型也容易遭到惡意攻擊,即隻要有一個或者更多的參與者發送破壞性的模型更新資訊,就會使得聯邦模型的可用性降低,甚至損失整個聯邦學習系統或者模型性能
聯邦學習的分類
設矩陣 D i D_i Di表示第 i i i個參與方的資料;設矩陣 D i D_i Di的每一行代表一個資料樣本,每一列代表一個具體的資料特征;一些資料集可能包含标簽資訊,将特征空間設為 X X X,資料标簽空間設為 Y Y Y,并用 I I I表示資料樣本ID空間。特征空間 X X X,資料标簽空間 Y Y Y和樣本id空間 I I I組成了一個訓練集 ( I , X , Y ) (I,X,Y) (I,X,Y)。根據訓練資料在不同參與方之間的資料特征空間和樣本ID空間的分布情況,将聯邦學習劃分為橫向聯邦學習、縱向聯邦學習和聯邦遷移學習
- 橫向聯邦學習。适用于聯邦學習的參與方的資料有重疊的資料特征,即資料特征在參與方之間是對其的,但是參與方擁有的資料樣本也是不同的
- 縱向聯邦學習。适用于聯邦學習參與方的訓練資料有重疊的資料樣本,即參與方之間的資料樣本是對齊的,但是在資料特征上有所不同
- 聯邦遷移學習适用于參與方的資料樣本和資料特征重疊都很少的情況
威脅與安全模型
我們關注機器學習中的三種主要攻擊類型:
- 完整性,對完整性的攻擊可能導緻機器學習系統出現檢測錯誤,例如将入侵點檢測為正常(假陰性)
- 可用性,對可用性的攻擊可能會導緻系統出現分類錯誤(假陰性和假陽性),即系統會變成不可用的
- 機密性,對機密性的攻擊可能導緻一些機器學習系統中的敏感資訊(如訓練資料或者訓練模型)出現洩漏
對機器學習系統的攻擊可能會在任何階段發生,包括資料釋出、模型訓練和模型推理。在模型階段發生的攻擊叫做重構攻擊。在模型推理階段,一個敵對的結果方可能會使用反向工程技術來擷取模型的額外資訊,以此實施模型反演攻擊或成員推理攻擊。特征推理攻擊則發生在資料釋出階段
- 重構攻擊。敵手的目标是在模型的訓練期間抽取訓練資料,或抽取訓練資料的特征向量。為了抵禦重構攻擊,應當避免使用存儲顯示特征值的機器學習模型,例如支援向量機(SVM)和k近鄰(kNN)模型。在模型訓練過程中,安全多方計算和同态加密可以被用來通過保護計算中間結果來抵禦重構攻擊。在模型推斷過程中,計算方隻應當被授予對模型的黑盒通路權限
- 模型反演攻擊。敵手被假設為對模型擁有白盒通路權限或黑盒通路權限。對于白盒通路,敵手不需要存儲特征向量便能擷取模型的明文内容。對于黑盒通路,敵手隻能查詢模型的資料和收集傳回結果。敵手的目的是從模型中抽取訓練資料或訓練資料的特征向量。為了抵禦模型反演攻擊,應當向敵手暴露盡可能少的關于模型的資訊。對模型的通路應當被限制為黑盒通路,模型輸出同樣應當受限
- 成員推理攻擊。敵手對模型至少有黑盒通路權限,同時擁有一個特定的樣本作為其先驗知識。敵手的目标是判斷模型的訓練集中是否包含特定的樣本。敵手通過機器學習模型的輸出試圖推斷此樣本是否屬于模型的訓練集
- 特征推理攻擊。敵手出于惡意目的,将資料去匿名化或者鎖定記錄的擁有者。在資料被釋出之前,通過删除使用者的個人可識别資訊(也稱為敏感特征)來實作匿名化,使使用者保護隐私的一種常用方法。這種方法已被證明并非十分有效
p21