一篇搞懂隱私計算中的聯邦學習(上)
摘要:對聯邦學習作一個初步但盡量全面的介紹,着重介紹聯邦學習方法的流變,解析落地應用中需要注意的質量與安全問題,並對相關應用場景提出針對性的建議。
關鍵詞:聯邦學習;數據安全;多方安全計算;同態加密;模型安全;合規
中圖分類號:TP309.7 文獻標識碼:A
Federated Learning: issues analysis and advices to practical applications
GUO WJ
(Express (Hangzhou) Technology Service Company Limited, Shanghai 200080)
ABSTRACT: A brief yet comprehensive introduction to Federated Learning, with focus on the historical development of its methods, the qualitative and security issues. Based on these, advices on the practical applications are given.
KEY WORDS: Federated Learning; data security; MPC; homomorphic encryption; model security; compliance.
聯邦學習技術今天已經成為保證隱私保護、數據安全合規的重要技術手段。特別是在金融支付領域,人們已經在積極探索應用聯邦學習技術去保護商業機密、用戶隱私以及滿足監管和合規要求的可能性。
但作為一門新技術,聯邦學習還不夠成熟;其適用的場景,以及每個場景中相應所面臨的安全問題以及局限性,還有待梳理。為此,本文介紹聯邦學習的基本底層機制,梳理其發展源流,並就其中涉及的各種質量與安全問題、落地應用注意事項提出具體建議。特別地,本文區分了各種威脅模型下的數據安全需求,以及提出應對數據投毒和模型投毒需要結合使用可信計算技術。
本文組織如下:第一節介紹聯邦學習的歷史沿革與現狀,以交待聯邦學習方法的發展脈絡,後續各節分別介紹需要在應用中注意的模型質量問題、數據安全問題、模型安全問題,最後給出落地應用建議。
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],SecureNN[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].Neural Information Processing Systems (NIPS), 2009.
[2] McDonald R , Hall K , Mann G . Distributed Training Strategies for the Structured Perceptron[C]//HumanLanguageTechnologies:Conference of the North American Chapter of the Association of Computational Linguistics, Proceedings, June 2-4, 2010, Los Angeles, California, USA. Association for Computational Linguistics, 2010.
[3] Konečný J , McMahan H B , Ramage D , et al. Federated Optimization: Distributed Machine Learning for On-Device Intelligence. arXiv preprint arXiv:1610.02527. 2016.
[4] McMahan H B , Moore E , Ramage D , et al. Communication-Efficient Learning of Deep Networks from Decentralized Data[J]. Artificial Intelligence and Statistics, 2017: 1273-1282
[5] Hardy S , Henecka W , Ivey-Law H , et al. Private federated learning on vertically partitioned data via entity resolution and additively homomorphic encryption. arXiv preprint arXiv:1711.10677. 2017.
[6] Freedman M J , Nissim K , Pinkas B . Efficient Private Matching and Set Intersection[C]// International conference on the theory and applications of cryptographic techniques. Springer Berlin Heidelberg, 2004: 1-19.
[7] Paillier P . Public-Key Cryptosystems Based on Composite Degree Residuosity Classes[C]. International conference on the theory and applications of cryptographic techniques. Springer, Berlin, Heidelberg, 1999: 223-238.
[8] Yang Q , Liu Y , Chen T , et al. Federated Machine Learning: Concept and Applications[J]. ACM Transactions on Intelligent Systems and Technology, 2019, 10(2):1-19.
[9] Gupta O , Raskar R . Distributed learning of deep neural network over multiple agents[J]. Journal of network and computer applications, 2018, 116(AUG.):1-8.
[10] Vepakomma P , Gupta O , Swedish T , et al. Split learning for health: Distributed deep learning without sharing raw patient data. arXiv preprint arXiv:1812.00564. 2018.
[11] Zhao Y , Li M , Lai L , et al. Federated Learning with Non-IID Data. arXiv preprint arXiv:1806.00582. 2018.
[12] Mohri M , Sivek G , Suresh A T . Agnostic FederatedLearning[C]. International conference on machine learning, 2019: 4615-4625.
作者簡介
郭偉基:原美國運通在中國境內合資銀行卡清算機構——連通(杭州)技術服務有限公司創新技術部負責人,總監,主要從事前沿創新技術如隱私計算、聯邦學習、同態加密、智能合約等在金融支付、風險管理、精准營銷等方面的應用。
待續......敬請期待~
內容旨在信息傳遞,不構成任何投資建議。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC
7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC一個引...
悅盈:比特幣68000的空完美落地反彈繼續看跌 以太坊破前高看回撤
一個人的自律中,藏着無限的可能性,你自律的程度,決定着你人生的高度。 人生沒有近路可走,但你走的每...