全景式讀懂隱私計算中的聯邦學習流變和應用(上部)

網絡安全法、個人信息保護……遇上隱私計算技術,將會碰撞出怎樣的火花?本文為您詳解隱私計算技術之聯邦學習。

摘要:對聯邦學習作一個初步但盡量全面的介紹,著重介紹聯邦學習方法的流變,解析落地應用中需要注意的質量與安全問題,並對相關應用場景提出針對性的建議。

聯邦學習:問題分析和實際應用建議

GUO WJ

(快遞(杭州)技術服務有限公司,上海 200080)

摘要:對聯邦學習進行了簡要而全面的介紹,重點介紹了其方法的歷史發展、質量和安全問題。 在此基礎上,給出了實際應用的建議。

關鍵詞:聯邦學習; 數據安全; MPC; 同態加密; 模型安全; 遵守。

聯邦學習技術今天已經成為保證隱私保護、數據安全合規的重要技術手段。特別是在金融支付領域,人們已經在積極探索應用聯邦學習技術去保護商業機密、用戶隱私以及滿足監管和合規要求的可能性。

但作為一門新技術,聯邦學習還不夠成熟;其適用的場景,以及每個場景中相應所面臨的安全問題以及局限性,還有待梳理。為此,本文介紹聯邦學習的基本底層機制,梳理其發展源流,並就其中涉及的各種質量與安全問題、落地應用注意事項提出具體建議。特別地,本文區分了各種威脅模型下的數據安全需求,以及提出應對數據投毒和模型投毒需要結合使用可信計算技術。

本文組織如下:第一節介紹聯邦學習的歷史沿革與現狀,以交待聯邦學習方法的發展脈絡,後續各節分別介紹需要在應用中註意的模型質量問題、數據安全問題、模型安全問題,最後給出落地應用建議。

1 聯邦學習的歷史沿革與現狀

1.1 前傳:分佈式學習

進入21世紀後,由於搜索的需要,以及在天量數據和海量算力加持下,機器學習技術得到了蓬勃發展。機器學習的基礎訓練算法是梯度下降方法。但是梯度下降算法訓練速度特別慢,因此在梯度下降方法的基礎上發展出更多的變種,限於篇幅不一一介紹。

隨著數據量的進一步增大,即便應用這些變種,訓練也很難集中在一台機器完成。因此,發展出了分佈式訓練方法。其中值得一提的是參數混合方法。這並不是一種具體的機器學習算法,如同後來出現的聯邦學習方法一樣,它是一種方法框架。在參數混合方法的框架中,數據集被分發到計算集群,各個節點使用所分發的數據分別訓練,再將結果進行加權混合而非簡單取均值以得到結果模型[1]。

然而,這種方法不能用於損失函數為非凸的訓練。 2010年,McDonald等提出使用遍歷性參數混合方法來保證分佈式訓練算法在非凸損失函數上的收斂性[2]。其區別在於,各個節點之前所用方法為將每個數據集訓練到收斂以後再進行參數混合,而遍歷性參數混合方法則強調儘早混合,即在所分發數據集上完成一輪訓練後立刻混合參數,並將混合好的參數分發給集群節點,作為下一輪訓練的基礎模型。兩者的偽代碼如圖表1所示,其中黑體部分為兩種方法的差別。

圖片

圖表1 左:參數混合方法;右:遍歷性參數混合方法

遍历性参数混合方法能够有效利用集群计算机得到显著加速,作为一种分布式学习方法非常高效。然而,尽管分布式学习体现了一部分“非中心化”特性,但主要着眼于效率改进,一方面并未考虑到数据集不平衡、非独立同分布(Non-IID,Non Independent Identical Distribution)的情况导致适用范围受限,另一方面则未能解决隐私或者商业机密顾虑。这些缺失导致了联邦学习的崛起。

關於訓練算法的收斂性,我們在後面還會看到其它研究提及。這裡需要先指出的是,算法能夠收斂僅指訓練過程中預測誤差會越來越小,直到無法或者無須繼續改進,這時可以停止訓練。但是,不同的訓練算法、不同的數據分佈,都有可能導致聯邦學習框架下的學習算法收斂到不同的模型或參數,能收斂並不等於一定能得到最優化的結果(以集中式訓練為基準,下同)。

1.2 橫向聯邦學習

分佈式學習的主要驅動因素為訓練效率。移動互聯網則對機器學習提出了隱私保護挑戰。一個典型的例子是考慮如何訓練一個輸入法預測模型。如果繼續沿用過往將數據集中到一處的訓練範式,勢必招致隱私顧慮(不管有無採用分佈式學習框架)。即便意圖訓練預測模型的機構(如某個手機系統商)並不打算將所收集的用戶輸入法習慣數據用於其它用途,它依然面臨如何安全管理這些數據的問題,並需要對可能的數據洩密承擔相應的法律責任。

為了解決這個問題,2016年,谷歌公司和愛丁堡大學的研究人員Konečný等聯合提出聯邦優化(Federated Optimization)概念,並作出理論分析以及初步驗證[3]。就作者所知,這是聯邦學習中的“聯邦”一詞首次出現在相關學術文獻上。 Konečný等提出,聯邦場景的數據分佈具有如圖表2所總結的特點:

圖片圖片

圖表2 聯邦場景的數據特點

這些特點導致分佈式學習方法無法直接用於聯邦場景。[3]吸收了遍歷性參數混合方法儘早進行加權混合的技術,提出一個新方法,使得參與訓練的移動設備無須上傳原始數據,只需要根據中間模型計算本地數據所產生的模型權重更新,並以節點數據量為權重加權匯總模型權重更新值,即能達到接近集中式訓練的效果。

[3]進一步證明,此加權匯總方法可以保證在平均情況下,梯度更新的方向等同集中式訓練。這似乎能夠證明算法的正確性。但在偏離“平均情況”的情形下算法是否仍然正確或者是否仍然能夠保證訓練得到較好的模型,屬於模型質量問題,我們將在第2節進一步討論。

由於原始數據無須離開參與訓練的設備,聯邦優化方法在分佈式學習的基礎上大幅度提高了隱私保護的力度。但是聯邦優化方法是一個過於寬泛的方法,例如其中針對數據維度分佈不均衡的問題,算法也做了相應的調整。因此其基本算法過程以及理論分析結果均適用於後來命名的“縱向聯邦學習”場景。具體可以參見[3]。

不過,機構合作場景(2B場景)的縱向聯邦學習跟[3]所設定的數百萬台設備可以各自具備一些不同數據維度的情形畢竟不一樣,反映到縱向聯邦學習,可能具體算法仍然可以優化,並需要進一步的理論探討。

次年,[3]的共同作者McMahan和Ramage聯合其他作者進一步提出“聯邦學習”概念和“聯邦平均”算法(FedAvg)[4],對聯邦優化方法作出工程技術上的優化。其中,根據數據維度出現頻率加以調整的步驟被取消了,從[3]的橫向、縱向統一方法簡化為後來命名的“橫向聯邦學習”方法。具體方法可以參考圖表3。

圖片圖片

圖表3 橫向聯邦學習方法

橫向聯邦學習適用於大規模移動設備協同訓練模型,也可以用於多個具備相同數據維度的機構共同訓練模型,但在2B場景中更多的是各家機構所持有的數據維度有很大差異,例如,一家醫院所持有的疾患數據與一家人工智能公司所具備的建模能力,或一家銀行和一個互聯網出行平台都無法使用橫向聯邦學習技術來打通。這種情況下,分別又催生了縱向聯邦學習技術和分割型神經網絡技術。

1.3 縱向聯邦學習

2017年,Hardy等提出兩個擁有不同數據維度的數據提供方合作訓練模型問題[5],並明確提出縱向聯邦學習概念,以及實體對齊和加性同態加密技術的應用。

所謂實體對齊,指機構間需要確定所共有數據的對應實體(用戶、設備),以便能在“同一條”數據上進行訓練和預測的相關計算。對齊的前提是各方能夠協商出某些公共的、具備實體識別能力的數據維度,例如註冊用的電子郵件地址、身份證號碼、手機號碼(這些能夠唯一確定實體身份的標識可稱為強標識),或者姓名、地址、生日等組合信息(這些不能或較難唯一確定實體身份的標識可稱為弱標識)等等。如存在強標識,則實體對齊是典型的隱私求交問題[6],一般要求參與方僅獲知被對齊的集合,而未被對齊的則需要保密。

除了通過公信第三方或安全計算節點實現,也可以採用密碼學算法來實現。但一般而言,隱私求交問題的密碼學實現計算量和通信量都較大。這裡需要特別指出的是,[5]所考慮的主要是國外的情況,可能各方數據庫裡並不具備強身份標識,而僅具備姓名、生日等弱標識,[5]所採用的對齊算法則不可避免會產生誤差。因此,[5]還深入研究了實體對齊中的各種誤差對訓練結果所產生的影響;這些分析研究是否適用於國內機構間的聯邦學習場景,需要再結合實際情況加以具體分析。

而所謂的加性同態加密技術,是一種部分同態加密技術,其只能在密文空間保持對應明文的加法運算,且其密文上的運算結果解密後可以對應到相應明文的直接計算結果。[5] 使用了Paillier加法同態[7]技術。

在此基礎上,[5]提出了縱向聯邦學習訓練邏輯回歸模型的方法。其中設定A和B為數據提供方,C為公信第三方居中協調。由於訓練中需要使用A和B的對齊數據進行一定的交叉計算,即A部分的計算需要使用B的數據,B部分的計算需要使用A的數據,Paillier加法同態技術此處被用於防止A或B看見對方的明文數據,而其私鑰則由C掌握。

2019年,楊強等提出針對縱向線性回歸模型的聯邦學習方案[8],同樣使用了Paillier同態加密技術。由此也可見在縱向聯邦學習場景中,目前並沒有一個通用的方法框架,這跟之前所討論的橫向聯邦不同,後者有通用的FedAvg算法及其Non-IID改進算法。這對縱向聯邦學習的推廣造成一定的障礙。

需要指出的是,除了同態加密技術,應用多方安全計算技術來解決A和B之間的保密計算需求,亦屬可行,並且具備性能和功能的雙重優勢:性能方面,由於Paillier算法基於RSA,計算量相對多方安全計算協議大很多;而功能方面,則Paillier算法僅能支持加法(明文數字跟密文的相乘需要轉化為多個密文相加問題),而多方安全計算協議則可以同時支持加法和乘法。本文第3節所提及的多個協議均可應用,如SPDZ[14, 15, 16],ABY3[18],安全神經網絡[19]等。

1.4 分割型神經網絡(SplitNN)

2018年,Gupta等提出SplitNN,即分割型神經網絡。這是一個多層的神經網絡,其中靠近數據的某幾層被分配給某個數據方,其它層則分配給其它參與方[9,10]。這在建模外包場景中特別有用,典型的如醫療健康行業。醫院往往同時掌握醫療圖像等數據,以及對應的標籤,但一般缺乏機器學習建模能力。 SplitNN能夠同時保護原始數據機密性以及模型提供方的商業秘密。

SplitNN有多種部署方式,例如:1)一方擁有數據,另一方擁有標籤和建模能力;2)一方擁有數據,第二方擁有標籤,第三方擁有建模能力;3)多方擁有不同的數據,另一方擁有標籤和建模能力。 SplitNN能夠支持非常多的、具備相同數據維度的數據方,也可以支持數據維度不同的多個數據方。

通過將多層神經網絡的某些層分配給其中某些參與方,SplitNN能夠同時起到混淆原始數據以保護隱私、模型分散持有以保護知識產權和商業秘密之雙重作用。另外,神經網絡特別是深度神經網絡的訓練計算量非常大。 SplitNN的一個動機是盡量減少在數據端的計算量,而將主要的計算負荷交給服務端完成。

2 聯邦學習的模型質量問題

這個問題是說:以集中式訓練為基準,聯邦學習能不能達到同樣或接近的模型質量?所謂模型質量,一般使用預測準確值來度量。目前為止,這個問題的答案並不令人十分滿意,學術界仍在積極研究中,以下介紹部分研究成果。

2.1 橫向聯邦學習

在橫向聯邦學習中,每個數據節點在一個中間模型的基礎上使用本地數據進行訓練,然後使用所得到的模型權重更新數據去參與形成新的中間模型(圖表3)。對照基准設定即集中式訓練,不難看出,橫向聯邦往往是使用多條數據而形成一次模型權重更新數據,而集中式訓練則可以根據每條數據產生模型權重更新。這在數據大體“均勻”分佈於各參與設備的時候(IID,獨立同分佈),一般沒有問題。然而,如果不均勻(Non-IID),那麼訓練出來的模型可能會有質量問題。

Zhao等指出,在極端的非獨立同分佈情況下即正好每個類別的數據都處於不同設備上的時候,橫向聯邦學習算法的精確度會大幅度降低,降幅最高可達55%;並提出了相應的折衷解決方案,即通過犧牲部分分佈式特性,集中一部分數據來解決極端非獨立同分佈數據可能帶來的問題[11]。然而,這個折衷方案跟隱私保護目標產生了直接衝突。

除了標籤分佈問題,Non-IID可能還有其它形式,例如數據主體之間可能具備不同的、足以影響模型參數的特性。例如,語音識別樣本數據可能具有鮮明的年齡特色,而消費習慣模型則可能具備地域特色。

為此,Mohri等提出“不可知”聯邦學習方法(AFL,Agnostic Federated Learning)[12]。所謂不可知,是指在組合每個參與方所訓練出來的本地模型(以更新全局模型)時,並不採用FedAvg算法以數據量佔比為權重加權匯總的做法,而是說“不知道”應該用什麼權重來匯總。

由於不知道具體的權重分佈,AFL算法著眼於訓練出一個權重分佈,以最小化在所有可能的數據-標籤聯合分佈中造成的最大期望損失。 Mohri等作者測試了三個數據集,結果顯示AFL能在一定程度上改善預測精度,特別是在傳統方法預測精度比較差的類別上能有較大改善。 Mohri等認為,這顯示AFL算法能夠產生更為“公平”的訓練結果。

2.2 縱向聯邦學習

縱向聯邦學習面臨類似橫向聯邦學習的Non-IID數據問題:如果針對每條對齊數據都計算更新、交換數據,則計算量、通信量都很大;如果將一批數據匯總計算一次更新,則需要設法保證總體數據在各批次數據之間是獨立同分佈的,以此避免Non-IID數據問題。幸運的是,跟橫向聯邦學習場景不同,縱向場景中,參與方一般擁有全部交集用戶,因此具備保證數據獨立同分佈的基礎。目前還沒有看到相關的研究文獻,但這是落地應用需要關注的問題:如果實體對齊後的數據亂序重排未能解決Non-IID問題,則需要專門再去研究。這也是為什麼需要設立性能基準的原因之一。 (參見後續“一篇搞懂隱私計算中的聯邦學習(下)”中5.2內容)

2.3 分割型神經網絡

除了需要在参与实体之间传递某层的输出或权重更新,分割型神经网络跟集中式训练的过程并无太多差异。因此,它能达到的模型质量可以匹敌集中式训练。SplitNN设定中没有将客户端全部数据本地集中训练以后再归集服务器的做法,而是每条数据都需要经过本地层计算后传给服务器。这避免了Non-IID数据引起的模型质量问题,也是SplitNN方法的一个显著优势。

參考資料:

[1]Mann G,Mc DonaldR,Mohri M,et al. Efficient Large-Scale Distributed Training of Conditional Maximum Entropy Models[J]. 神經信息處理系統 (NIPS),2009 年。

[2] 麥當勞 R,霍爾 K,曼 G。 結構化感知器的分佈式訓練策略[C]//HumanLanguageTechnologies:計算語言學協會北美分會會議,會刊,2010 年 6 月 2-4 日,美國加利福尼亞州洛杉磯。 計算語言學協會,2010 年。[3] Konečný J、McMahan HB、Ramage D 等。 聯合優化:用於設備智能的分佈式機器學習。 arXiv 預印本 arXiv:1610.02527。 2016 年。[4] 麥克馬漢 HB、摩爾 E、拉馬奇 D 等。 從去中心化數據中進行深度網絡的高效通信學習[J]. 人工智能與統計,2017:1273-1282

[5] Hardy S、Henecka W、Ivey-Law H 等。 通過實體解析和附加同態加密對垂直分區數據進行私有聯合學習。 arXiv 預印本 arXiv:1711.10677。 2017 年。

[6] 弗里德曼 MJ、尼西姆 K、平卡斯 B. 高效的私有匹配和集合交集[C]// 密碼技術理論與應用國際會議。 施普林格柏林海德堡,2004 年:1-19。

[7] 佩利爾P。 基於復合度殘差類的公鑰密碼體制[C]. 密碼技術理論與應用國際會議。 斯普林格,柏林,海德堡,1999:223-238。

[8] 楊慶, 劉玉, 陳天, 等。 聯合機器學習:概念和應用[J]. ACM 智能係統與技術彙刊,2019,10(2):1-19。

[9] 古普塔 O,拉斯卡 R。 深度神經網絡在多個代理上的分佈式學習[J]. 網絡與計算機應用學報, 2018, 116(AUG.):1-8.

[10] Vepakomma P、Gupta O、Swedish T 等。 健康拆分學習:分佈式深度學習,無需共享原始患者數據。 arXiv 預印本 arXiv:1812.00564。 2018 年。

[11] 趙玉, 李明, 賴麗, 等。 使用非 IID 數據進行聯合學習。 arXiv 預印本 arXiv:1806.00582。 2018 年。

[12] Mohri M、Sivek G、Suresh AT。 不可知聯邦學習[C]. 機器學習國際會議,2019:4615-4625。

作者簡介

郭偉基:原美國運通在中國境內合資銀行卡清算機構——連通(杭州)技術服務有限公司創新技術部負責人,總監,主要從事前沿創新技術如隱私計算、聯邦學習、同態加密、智能合約等在金融支付、風險管理、精準營銷等方面的應用。

待續……敬請期待~

內容旨在信息傳遞,不構成任何投資建議。

排版:Shine丨達瓴智庫

審核:Amber丨達瓴智庫

展開全文打開碳鏈價值APP 查看更多精彩資訊

Total
0
Shares
Related Posts