編者按:數據時代,人們從技術中獲取便利的同時,也面臨著隱私泄露的風險。微軟倡導負責任的人工智能,因此機器學習中的隱私保護問題至關重要。本文介紹了目前機器學習中隱私保護領域的最新研究進展,討論了機密計算、模型隱私和聯邦學習等不同層面的隱私保護方法。
作者 | 張輝帥
在大數據和人工智能的時代,人們能夠更方便高效地獲取信息。然而在獲得便利的同時,我們的行為無時無刻不在被記錄、被學習、被使用。如果在應用中不注重隱私保護,就很難阻止個人信息被用于非法目的。近年來,越來越多的人開始重視數據隱私,在選擇使用客戶端軟件(App)時更加關注隱私條款。有研究表明,對于隱私的保護可以提高用戶的使用率[1]。
此外,在法律層面,歐盟《通用數據保護條例》(GDPR)規范了企業收集、管理、刪除客戶和個人數據,中國也在保護隱私方面完善了法律法規。我們時常能看到某公司因為用戶數據隱私不合規被處罰的新聞。
然而,沒有數據,機器學習就如無米之炊。隨著研究的發展,機器學習的模型變得越來越強,需要的訓練數據也大大增加,比如,業界有些訓練模型需要使用上百 G 的數據來訓練數十億的參數。而在很多專業領域如醫療、金融防欺詐等,數據則因為隱私或者利益被分割成孤島,使得機器學習面臨著有效數據不足的問題。因此,如果不能對數據隱私提供保證,那么信息流動和機器學習也無法實現。
數據保護和機器學習似乎有著天然的矛盾, 因此,用戶和服務提供商都面臨的一個挑戰是如何在機器學習的框架里實現隱私保護,取得隱私和效益的平衡。
隱私一詞在不同場景下指代的意義會有較大差別,在機器學習中亦是如此。接下來我們將分三節分別介紹不同層面的隱私保護(如圖1)。具體來說,第一部分陳述機密計算,討論如何實現機器學習中計算的機密性;第二部分陳述模型的隱私,差分隱私以及機器遺忘,討論如何減少機器學習模型對數據的泄露;第三部分陳述分布式機器學習的隱私,即聯邦學習,討論在數據隔離分布式存儲,如何利用機密計算和模型隱私的技術有效地進行隱私保護的機器學習。
圖1:本文結構示意圖
第一章 機密計算
(Confidential computing)
機密計算(confidential computing)是指數據的傳輸和計算過程是機密的(confidential)。當前實現機密計算的方法有可信執行環境(Trusted Executive Environment, TEE),同態加密(Homomorphic Encryption, HE)和多方安全計算(Multi-party Secure Computation, MPC)。
可信執行環境(TEE)是處理器或虛擬系統上一個安全區域,可以保證在其中加載的數據和代碼的機密性和完整性。簡言之,TEE 可以被認為是認證用戶在云端的一塊飛地(enclave, 包括計算和存儲資源),雖然物理上在云端,但邏輯上只受認證用戶管轄。數據和可信程序在云端加密存儲,只有在加載到 TEE 后才會解密,計算,計算結果再加密存儲到云端。云端只負責提供可信的計算環境,對其中的計算無法干預。關于 TEE,硬件或者邏輯漏洞以及可擴展性是現在研究的重點。
同態加密,是一種加密方法,可以在密文上計算而不需要密鑰,而且計算結果是機密的,需要使用密鑰才能解密成明文。一般地,同態加密算法僅實現了同態加法和同態乘法,因此需要把計算歸約成一個數域上的加法和乘法電路。例如為了實現在神經網絡上的同態加密計算,需要對網絡做一些改動使得其只包含加法乘法和多項式運算操作:把 ReLU 換成多項式激活函數,運算使用定點數等,來自微軟研究院的 SEAL 項目[2]是目前比較流行的相關開源項目。但同態加密的實際應用還面臨很大困難,由于它只能進行加法和乘法操作,相比于明文運算增加了相當大的計算開銷,所以現在的技術大約只能擴展到 MNIST 和 CIFAR 的推斷部分[3]。
多方安全計算是參與方以各自隱私數據為輸入共同計算一個函數值。在整個過程中,各參與方除了計算結果,對他方的隱私數據沒有額外的認知。多方安全計算能夠同時確保輸入的機密性和計算的正確性,其思想本質是輸入數據是計算結果的一種冗余表示,有(無窮)多種輸入樣例對應相同的計算結果,因此引入隨機數來掩蓋這種冗余性從而實現機密計算。多方安全計算需要設計協議來實現加法和乘法操作,但它的瓶頸在于通信復雜度的提升[4],如廣泛應用的 Beaver 協議對于每個乘法操作需要一輪通信開銷。
當前開源項目 Facebook CrypTen [5]和 Openminded PySyft [6] 用 Python 實現了多方安全計算的協議,可以進行如數據分離,數據模型分離等場景下的模型訓練和推斷。當前的研究熱點是如何設計協議,降低通信開銷,以及如何連接應用場景和技術實現。
表1:機密計算技術特征
表1總結了三種機密計算技術的特征。機器學習研究者嘗試著把這些機密計算的技術和機器學習的過程結合實現對計算過程隱私的保護,以及使用它們來降低模型差分隱私所需要的噪音[7]。
第二章 模型的隱私
(Model privacy)
機密計算可以做到在訓練過程中保護數據的隱私。那么訓練后的模型會造成隱私訓練數據的泄露嗎?答案是可能的,因為機器學習的模型都會在一定程度上過擬合(泛化鴻溝),模型自身會記住(部分)訓練數據,從而導致發布模型會造成隱私訓練數據的泄露。一個例子是模型反向工程(model inversion, 從模型推斷訓練數據)[8] ,如圖2就是攻擊者只用姓名和人臉識別系統的黑盒(blackbox)訪問恢復出的訓練集中的數據。另一個例子是成員推斷(membership inference),它推斷某個樣本是不是在訓練集中,較高的成員推斷成功率顯示模型對訓練數據的隱私有泄露[9]。
圖2:從人臉識別模型通過黑盒攻擊恢復出訓練集中的數據,其中左圖為攻擊推斷結果,右圖為真實圖像[8]
差分隱私(Differential Privacy, DP) 可以衡量和控制模型對訓練數據的泄露。它從統計意義上刻畫了單個數據樣本對模型的影響。一個隨機算法 M 符合 (,δ)-DP 意味著對于任何兩個相鄰的數據集 S, S‘ 和任意事件 E 滿足
P(M(S)∈E))≤e^ P(M(S’ )∈E)+δ。 (1)
實現算法差分隱私的一種通用做法是加噪音。加噪音會帶來模型的性能損失,差分隱私機器學習(differential private machine learning) 就是研究如何更節省地加噪音,如何在給定隱私損失的要求下,加最少的噪音取得最好的性能。微軟和中山大學在這方面的論文介紹了相關的研究工作[10]。研究人員發現加入的噪音和優化算法會相互影響:噪音會讓優化算法避開最差曲率方向,優化算法的收縮性可以弱化之前步驟加的噪音。他們在分析中利用這種相互影響,推導出了一個新的基于期望曲率的理論性能界,可以顯式地看出梯度擾動比另外兩種擾動方式(目標擾動和輸出擾動)的優勢,并且給出了另外兩種擾動無法利用這種相互影響的原因。據此,梯度擾動是一種實現差分隱私機器學習的有效算法。
從2006年差分隱私被提出以來,隱私的度量也一直是這個領域很基礎的一個問題,期間提出的概念包括 -DP、(,δ)-DP、Renyi-DP、(Truncated) Concentrated DP 等。隱私度量,顧名思義是要度量一個算法的隱私損失。(,δ)-DP 可以按照公式計算出一次統計查詢對應的隱私損失 (,δ)。通常一個復雜算法可以看成多次統計查詢的復合(composition)和采樣(sampling) ,因此分析一個復雜算法的隱私損失需要計算復合和采樣兩種操作的隱私損失。2019年[11]提出的高斯差分隱私(gaussian differential privacy)對采樣和復合都給出了一個緊估計,在隱私損失的統計上比之前的 moments accountant 技術更精準,從而在相同隱私預算下要加的噪音更小,取得的性能更好。
最近,另一個模型隱私的研究熱點是模型遺忘(machine unlearning)。如果把實現差分隱私看成主動設計算法使得輸出模型滿足隱私要求,那么模型遺忘是一種被動解決模型隱私的方法。它旨在機器學習模型中實現用戶的“被遺忘權利(the right to be forgotten)”。模型遺忘最直觀的做法是在刪除指定數據后的訓練集上重新訓練(retraining)這種做法的計算代價非常大,因此模型遺忘工作的主要目標是降低計算代價,一類方法是對訓練好的模型進行后處理,使得模型遺忘算法的結果跟重新訓練得到的模型是統計意義上近似不可區分的[12,13];另外一類方法是設計新的訓練方法,降低重新訓練的代價,這類方法通常將數據分成不同塊, 每塊數據單獨訓練一個子模型, 并匯總子模型的結果,這樣刪除一個數據點只需要重新訓練一個子模型[14,15]。
第三章 聯邦學習
(Federated learning)
聯邦學習(federated learning)的愿景是在不共享數據的情形下進行多方聯合機器學習,本質上是一種數據訪問受限的分布式機器學習框架。
相比于經典的分布式機器學習,聯邦學習的第一層受限是數據隔離——數據在各個終端不共享,不均衡,交互通信要盡量少。微軟和 CMU 合作的論文介紹了這方面的工作[16]。研究人員分析了在數據隔離的限制下一類分布式方差縮減算法(Variance Reduced Methods, i.e.,SVRG,SARAPH,MIG)的理論性能。在最自然的分布式設置下(終端節點運算內循環,參數服務器運算外循環)取得線性收斂性(強凸目標函數),并且算法的時間復雜度對條件數的依賴取得目前理論上的最好結果。分布式方差縮減算法相比于分布式梯度下降,顯著降低了通信開銷并利于保護隱私。
在分析中,研究人員引入了 restricted smoothness 衡量本地目標函數和全局目標函數之差的平滑性,結果顯示 restricted smoothness 決定了算法的收斂性。并且當數據不平衡,restricted smoothness 較差時,引入差異正則項,保證算法可以收斂。表2列舉了各個分布式算法的通信和計算復雜度比較(*標識文中的算法),可以看出文中的分析對最自然的分布式方差縮減算法給出了最優的結果。
表 2:分布式算法通信和計算復雜度比較
聯邦學習的第二層受限是隱私保護。直覺上,只共享參數更新而不共享原始數據可以在一定程度上保護原始數據的隱私。不過,論文[17]指出在深度模型中共享單個樣本的梯度可以泄露原始數據。他們提出梯度匹配(gradient matching)算法,利用給定輸入在模型上的梯度可以相當準確地恢復出原始數據的輸入和標簽。圖3展示了梯度匹配在 MNIST、SVHN、CIFAR、LFW 數據集上恢復輸入的例子。
雖然在復合多個樣本點的梯度時,梯度匹配算法會失效,但這篇文章仍然展示了梯度對原始數據的暴露。通常,聯邦學習的算法會使用前面介紹的機密計算的工具(同態加密或多方安全計算)來實現可證明的隱私保護[18,19],只是這些機密計算的方法會帶來很大額外的計算和通信開銷。
圖3:攻擊者從共享的梯度中恢復出原始數據,從上到下分別是 MNIST、CIFAR100、SVHN、LFW [17]
相比于同態加密完全在密文域學習和運算,是否存在一種數據弱加密方法,使得模型可以直接在其上訓練、推斷同時還能擁有一定的隱私保證呢?最近的工作 InstaHide[20],就利用 mixup[21] 和隨機反轉對原始圖片弱加密。弱加密后的圖片視覺上看不出原始圖片的信息,但深度神經網絡仍然可以直接在其上訓練推斷,取得了相當好的性能表現。此外,該工作還展示了這種弱加密算法可以抵抗多種攻擊方法。不過值得指出的是這種弱加密還沒有計算復雜性的理論,不能保證一定可以防住攻擊。
隱私保護與人們的生活息息相關,在實踐和理論上也是挑戰和機遇并存。我們期待與更多同仁一起努力,推動隱私保護領域的發展。
責編AJX
-
人工智能
+關注
關注
1802文章
48324瀏覽量
244048 -
隱私保護
+關注
關注
0文章
300瀏覽量
16617 -
機器學習
+關注
關注
66文章
8473瀏覽量
133742
發布評論請先 登錄
相關推薦
深度自然匿名化:隱私保護與視覺完整性并存的未來!

評論