Categories
程式開發

機器學習中的隱私保護


導讀:近年來,隨著 GDPR 通用數據保護條例出台以及一些互聯網公司數據隱私洩漏等事件的發生,數據隱私的保護問題在行業應用中備受關注。與數據密切相關的機器學習算法的安全性成為一個巨大挑戰。本文將介紹在機器學習領域中數據隱私安全的相關工作,並介紹第四範式在差分隱私算法效果提升上所做的工作。

主要和大家分享數據隱私的3方面

  • 隱私保護的問題與案例
  • 基於數據的隱私保護技術:數據匿名化
  • 機器學習模型訓練中的隱私保護技術:差分隱私

機器學習中的隱私保護問題

1. 信息隱私

信息隱私 ( Privacy ):指的是當一個組織內敏感數據被擁有權限的人員所使用於某些技術、過程 ( 如數據分析、訓練模型 ) 時,對數據敏感信息進行保護的過程與規則。

數據的隱私 ( Privacy ) 與安全 ( Security ) 並不等價:有的時候很多人提到數據隱私時,會與數據安全混為一談,但其實兩者並不等價。數據安全 通常指防止 數據被非法訪問;而 數據隱私 則一般指在 數據被合法訪問 時,防止其中的敏感信息被訪問者以某些方式”逆向”獲取,避免因數據被”逆向”推導出而造成的敏感信息洩露和濫用。當然,對於企業來說,數據隱私和數據安全都非常重要。

2. 信息隱私問題

如今,在很多需要用到私人敏感數據的領域中,都存在數據隱私的問題。特別地,當機器學習技術應用在一些個人隱私數據上時,可能會暴露敏感數據,對個人造成很多負面影響。

雖然現實生活中有很多數據隱私的問題,但 嚴格意義上,個人隱私不可能被絕對保護

1977年,統計學家 Tore Dalenius 給出關於數據隱私的嚴格定義:攻擊者不能從隱私數據裡獲取任何在沒有拿到數據之前他們所不知道的個人信息

2006年,計算機學者 Cynthia Dwork 證明上述定義的隱私保護是不存在的。有一個直觀例子可以幫助理解:假設攻擊者知道Alice 的身高比Lithuanian 女性平均身高高2英寸,這樣攻擊者只需要從一個數據集裡獲得Lithuanian 女性身高平均值( 在接觸數據前攻擊者並不知道),就能準確獲得Alice 的精確身高,甚至Alice 都不需要在這個數據集裡。因此,對於一份有信息量的數據,不可能完全不暴露隱私信息。

3. 隱私洩露的危害

隱私洩露的危害,主要有:

  • 隱私信息被應用於欺詐與騷擾:如盜刷信用卡、電話詐騙、冒用身份等
  • 用戶安全受到威脅:用戶信息受到洩露,引起更多有目的犯罪
  • 非法機構利用用戶隱私信息操控用戶
  • 用戶信任危機
  • 違背相關法律

不過一般來說,對於不特別極端的情況,我們仍可以從很大程度上來保證數據在機器學習過程中不被洩露。

這裡再分享一個隱私洩露的案例

1997年,馬薩諸塞州 GIC 對外公佈了一組醫療數據,其中包括病人的5位郵編、性別、生日。州長 Weld 對公眾保證這份數據是匿名的,因為標識特徵 ( 如名字地址 ) 已經被移除。結果一位 MIT 畢業生通過結合這份數據與她花了20美元購買的選民登記數據,找到了 Weld 的醫療記錄。同時,她還宣布87%的美國公民可以通過5位郵編、性別、生日進行唯一標識。

這個真實案例印證了:任何有一定信息量的數據都有可能產生隱私洩露;單純的數據匿名方法是很難保護隱私的。接下來,我們來看一下,針對潛在的隱私洩露問題我們有哪些技術可以在很大程度上杜絕隱私的洩露。

數據匿名化技術 ( Data Anonymization )

數據匿名化是一個 從數據層面上 進行隱私保護的技術。匿名化很多時候是通過 hash 掉”姓名”等關鍵標識符來實現的。而在只簡單 hash 掉姓名的情況下,數據訪問者有很多方法通過利用其它特徵的信息來反推出某人在數據表中對應的那一條數據。這時候,就需要一種技術來防止訪問者能夠通過結合多個特徵的數據來確定人與數據間的對應關係。

1. 數據表中數據列的類別 ( 按所含隱私量分類 )

機器學習中的隱私保護 1

  • 標識列 ( Key Attribute,簡稱 KA ):單憑 其一列 便能 直接鎖定 某人的數據列,如:身份證號、姓名 ( 大多數情況下 );
  • 半標識列 ( Quasi-identifier,簡稱 QID ):無法單憑其一列確定對象,但 通過 結合多列數據或查其它信息 ( 縮小範圍 ) 可以 對應到個人 的數據列,如:生日、郵編等;
  • 敏感信息列 ( Sensitive Attribute,簡稱 SA ):如疾病、收入等。

雖然只有標識列的數據能夠直接縮小範圍到單個樣本,但如前文所述,僅匿名化標識列數據對於隱私保護是完全不夠的。

2. 攻擊方法與防護方法

① 鏈接攻擊

機器學習中的隱私保護 2

鏈接攻擊 ( Linkage Attack ):通過獲取其它渠道的信息 ( 如右表 ) 來鎖定 ( 見左表 ) 當前數據表中數據所對應的個人。

② K-Anonymity

機器學習中的隱私保護 3

K-匿名 ( K-Anonymity ):針對鏈接攻擊的防護方法。對於每一份數據的各版本內的 每一條記錄,規定至少有 K-1 條 其它記錄半標識 屬性 與其一致

上方右表就是對上方左表做”3-匿名”之後的結果:我們可以發現,在統一對”zipcode”、“age”、”sex”三列的數據的末尾作模糊( 相當於匿名化)處理後,含有”zipcode:47677**,age:2*,sex:*”的信息的數據共有3條 ( 這3條記錄中的任一條,均滿足至少有3-1=2條其它記錄的半標識屬性與其一致 );左表原數據中的另外3條經變換後也滿足3-匿名的條件。

左表在 K-Anonymity 之後,雖然數據會有所損失,但保證了每條數據中的敏感信息無法與個人一一對應,降低了隱私洩露的風險。如何在盡可能小的數據損失的情況下做 K-Anonymity 也是一個數據隱私的研究方向。

③ Homogeneity attack

機器學習中的隱私保護 4

同質化攻擊 ( Homogeneity Attack ):可克制 K-Anonymity 防護的攻擊。某些情況下,可通過 直接對比其它列信息查找其它外部資料 發現,K-Anonymity 中半標識列均相同的 ( 至多 ) K 條數據的 其他列的信息其實是同質的,因而確定下來某人的隱私數據。

上方右表說明:經對比可發現 Bob 必然患有 Heart Disease;而假如能夠另通過查資料發現 Carl 所在地人們普遍患有 Heart Disease,就還可以推斷出 Carl 大概率是患 Heart Disease 的那例樣本。

④ L-Diversity

機器學習中的隱私保護 5

L-散度 ( L-Diversity ):對 K-Anonymity 的改進。在滿足 K-Anonymity 的基礎上,要求所有 等價類 ( 即各半標識列信息均相同的一些樣本 ) 中的敏感信息 (如:病史中的 Heart Disease、Flu ) 的種類/取值 至少有 L 種。上表就是一個滿足3-散度的數據。

⑤ 相似性攻擊

機器學習中的隱私保護 6

相似性攻擊 ( Similarity Attack ):可對滿足 L-Diversity 的數據進行攻擊。從外界獲取 個人 多方面 的背景信息,縮小範圍以鎖定目標

⑥ T-Closeness

機器學習中的隱私保護 7

T-保密 ( T-Closeness ):對 L-Diversity 的拓展。對於滿足 K-Anonymity 的數據,規定每一個等價類中的 敏感信息的分佈數據集整體的敏感信息分佈距離 (可自行定義,常見的有:K-L 散度 ) 小於 T。

差分隱私 ( Differential Privacy ) 技術

除了數據匿名化不當以外,由數據和特定建模方法得到的模型同樣有隱私洩露的風險 ( 被攻擊獲取到原數據中的隱私信息甚至原數據本身 )。差分隱私在機器學習模型的 建模過程 中應用較廣。

1. 模型的隱私保護風險

未經過隱私保護處理的機器學習模型理論上可能暴露訓練數據裡的敏感信息。

Membership inference attack

機器學習中的隱私保護 8

成員推斷攻擊 ( Membership Inference Attack ):探測一個給定樣本 是否屬於 訓練某”待破解”模型 ( target model ) 的 原數據集

步驟 ( 參考論文見上圖 ):

① 模擬生成和訓練 target model 的原數據集分佈類似的一系列數據集 ( 即shadow datasets ),用 與訓練 target model 相同的訓練算法 ( 訓練算法是什麼很容易得知 ) 去訓練出對應的一系列的模型,這些模型稱為 “shadow models”,這些 shadow models 和 target model 的特徵分佈是很像的;

② Attack Model 的訓練。數據集構成:​​對於每一個 shadow datasets 中 每一條數據,可以構建 此條數據在某個 shadow model 上的預測結果、該數據真實 label 作為訓練樣本,將此條數據 是否屬於之該 shadow model 作為標籤。通過構建的數據集再即可訓練 Attack Model,能夠判斷任意一條給定的數據是否屬於原數據集;

③ 對於一條數據,對於該數據 target model 的預測結果和真實 label 作為輸入,通過判斷模型就可以判斷出該數據是否屬於 target dataset 的。

右圖為上述思路的一例實際應用,可以看出如果對訓練模型的方法不加處理的話,原數據集被成員推斷攻擊法破解的程度還是很高的。

Model Inversion Attack

機器學習中的隱私保護 9

模型逆向攻擊 ( model inversion attack ):是指攻擊者通過模型與某個樣本的其他特徵,直接推斷某個敏感特徵值。

2. 差分隱私技術 ( Differential Privacy )

如果對於任兩個只相差1個樣本的數據集 D1、D2,在通過過程 M 建模後,產生的模型與給定模型t完全相同的概率之比不大於 eε ( 其中 ε 為某非負數,為 隱私預算 ),那麼我們說建模過程 M 是 ε-差分隱私 的。

機器學習中的隱私保護 10

理解:如果建模過程 M 是 ε-差分隱私的,且 ε 很小,那麼數據集和其訓練出來的模型關係很小,即兩個相差有固定上限的數據集訓練出來的模型是幾乎一樣的,所以拿到模型的訪問者 即便知道大致的數據分佈也並不能推斷出原數據集;反之,如果 ε 很大,那麼兩個相差有固定上限的數據集訓練出來的模型可能天差地別的,那麼這種情況下,原數據集與得出的模型間一一對應的比例很高,知道訓練出來的模型就很有可能能夠通過模型的分佈倒推出原數據集。也就是說,如果改變一條的數據對最終得到的模型影響很小,那麼數據集隱私暴露的風險就很小,反之則很大。

① 差分隱私下的模型訓練

機器學習中的隱私保護 11

  • 對目標函數添加一定的噪聲:訓練出來的模型會帶有一定的隨機性,可證明這樣的隨機性可滿足差分隱私。
  • 在梯度上加噪聲:深度學習比較常用,因為對於深度學習模型,如果把噪聲加在目標函數或輸出上,差分隱私的分析會很複雜。
  • 在模型輸出上加噪聲:使得不一樣的原數據集輸出的模型差異變小。

機器學習中的隱私保護 12

不過,作為代價,數據隱私保護得越好,算法的性能下降得越多。在訓練 樣本複雜度相同 的情況下,隱私保護越好 ( ε 越小 ),泛化誤差越大

② 基於特徵切分的差分隱私算法

機器學習中的隱私保護 13

按特徵來切分做差分隱私,而非做基於樣本切分的差分隱私

數據先按樣本切分為上下2份,其中一份按特徵切成K 份去學K 個子模型,這些子模型再在剩下的一半樣本上用預測值去融合出新的( 第二層的) K 個子模型,其中切分和融合都是用差分隱私去做的。可證明最後總的輸出是滿足差分隱私的。

按特徵切分的原因

機器學習中的隱私保護 14

僅保證差分隱私是不夠的,還需保證算法的性能。由上圖公式可發現,給重要的特徵分配更多隱私預算,訓練樣本複雜度會減小,訓練出的子模型效果會更好。

③ 在遷移學習中的應用

機器學習中的隱私保護 15

按②中所述方法做特徵切分,在假設遷移部分對子模型做差分隱私保護,最後做含差分隱私的融合。

今天的分享就到這裡,謝謝大家。

作者介紹

郭夏瑋,第四範式資深研究員

研究方向主要為自動化機器學習、隱私保護下的機器學習等。相關研究成果發表在AAAI/IJCAI等會議上。他的團隊建立了公司內自動機器學習的Benchmark平台,研發了端到端自動化機器學習產品。他也是一系列國際自動機器學習比賽的負責人。

本文來自 DataFunTalk

原文鏈接

https://mp.weixin.qq.com/s?__biz=MzU1NTMyOTI4Mw==&mid=2247499104&idx=1&sn=f2c988ca0d3d95b2fcc7dcdc9999daef&chksm=fbd74f0ccca0c61af2dae171f7ac3d751f69983ff2254f7a2c9011bfc3916716c45b53701567&scene=27#wechat_redirect