意想不到的盟友:改善隱私問題可以帶來表現更好的機器學習模型

.. 雷鋒網 AI 科技評論按:Nicolas Papernot 在 2017、2018 連續兩年的 ICLR 上都發表了關於差分隱私方法 PATE 的論文。如今大家都意識到了隱私問題是模型設計中有必要考慮的因素,設計模型時也願意考慮 PATE 這樣的方法。不過在 cleverhans 博客近期的一篇博客中,Nicolas Papernot、Ian Goodfellow 兩人揭示了一項意想不到的發現:對隱私問題的改善其實可以帶來表現更好的機器學習模型,兩者並不衝突,而是盟友。

雷鋒網 AI 科技評論把這篇博客內容編譯如下。

在機器學習的許多應用中(例如醫療診斷),我們希望機器學習算法不要把訓練數據集中的敏感信息記憶下來,比如患者個人的特殊醫療病史。差分隱私是衡量算法提供的隱私保證的框架。通過差分隱私的方法,我們可以設計能夠在隱私數據上負責任地訓練模型的機器學習算法。機器學習上差分隱私的工作(包括 MartínAbadi,ÚlfarErlingsson,Ilya Mironov,Ananth Raghunathan,Shuang Song和Kunal Talwar)使機器學習研究人員能夠更方便的為隱私研究做出貢獻——即使他們對差分隱私中的數學原理不那麼精通。在這篇博文中,我們會告訴你如何去做。

重點是一個稱為 Private Aggregation of Teacher Ensemble(PATE)的算法集。除了它的名字發音像「法國肉醬」之外,PATE 框架的一個關鍵是,任何知道如何訓練有監督機器學習模型(例如神經網絡)的人現在都可以為機器學習的差分隱私研究做出貢獻。PATE 框架通過仔細協調幾種不同機器學習模型的行為來實現隱私學習。只要您遵循 PATE 框架指定的程序,最終得到的總模型將具有可衡量的隱私保證。其中每個單獨的機器學習模型都使用普通的監督式學習方式訓練,我們的許多讀者可能已經從 ImageNet 的分類任務或許多其他更傳統的機器學習任務中對監督學習有過了解。

如果有人可以為 PATE 使用的單個模型設計更好的架構或更好的訓練算法,那麼他們也可以改進監督學習的過程本身(即非隱私分類)。事實上,差分隱私可以被認為是一個正規化,能夠解決從業者經常遇到的一些問題——即使在不要求隱私保證的時候也是如此。這包括過擬合問題。在這篇文章中,我們闡述了隱私和學習之間愉快的協同作用。特別是,我們介紹了 PATE 最近的一個擴展,它改進了如何協調不同的機器學習模型,以同時提高由 PATE 框架產生的模型的準確性和隱私性。這表明了差分隱私目標與對學習模型的追求是如何一致的。

為什麼需要隱私機器學習算法?

機器學習算法是對於大量數據進行研究並更新模型參數來編碼數據中的關係。理想情況下,我們希望這些機器學習模型的參數能夠編碼廣泛有效的規律(「吸煙患者更可能患有心臟疾病」),而不是關於特定訓練示例的事實信息(「Jane Smith 患有心臟病」)。不幸的是,機器學習算法默認不忽略這些細節。如果我們想用機器學習來解決一個重要的任務,比如製作一個癌症診斷模型,那麼當我們發佈這個機器學習模型時(例如,為全世界的醫生製作一個開源癌症診斷模型),我們也可能會無意中透露有關訓練集的信息。惡意攻擊者可能能夠檢查已發佈的模型並獲得 Jane Smith 的隱私信息。這就是為什麼需要差分隱私算法。

如何定義和保證隱私?

科學家們提出了許多方法來在分析數據時提供隱私保護。例如,在分析數據之前匿名化數據非常流行,通過刪除隱私細節或用隨機數值替換數據。常見的匿名細節包括電話號碼和郵政編碼。然而,匿名數據並不總是足夠的,它提供的隱私保護強度會隨着攻擊者獲取到的數據集中的人信息的數量增加而迅速降低。這裡有一個很著名的例子,參與了 Netflix Prize 比賽的研究者雖然會拿到匿名的電影評價數據集,但是如果其中的人同時也在網絡電影數據庫(IMDb)中公開分享了他們的電影評級,研究人員就能夠重新找回一部分人的身份。比如如果 Jane Smith 在 Netflix Prize 數據集中對電影 A、B 和 C 的評價和在公開在 IMDb 上的評價是一樣的,那麼研究人員可以將兩個數據集之間來自 Jane 的數據都鏈接起來。這將使他們有能力恢復在 Netflix Prize 中但不包括在 IMDb 中的電影評級。這個例子表明了定義和保證隱私是多麼的困難,因為很難估計攻擊者對於一個人的有用知識範圍。

差分隱私是由 Cynthia Dwork,Frank McSherry,Kobbi Nissim和Adam Smith 發明的一種評估框架,用於評估保護隱私機制所提供的隱私保障,它解決了如「k-匿名」(k-anonymity)等之前方法的局限性。基本思想是設計一個機制讓部分行為隨機化,從而保證隱私。在我們的例子中,所考慮的機制始終是一種學習算法,但差分隱私框架可以用於研究任何算法。

將隨機性引入學習算法使得研究人員在直觀上很難判斷由學習參數定義的模型的哪些行為方面來自於隨機性,哪些來自於訓練數據。如果沒有隨機性,我們可以提出如下問題:「當我們在這個特定數據集上訓練時,學習算法選擇了什麼參數?」當學習算法中有隨機性的時候,我們就會問這樣的問題:「當我們在這個特定的數據集上進行訓練時,學習算法在這組可能的參數中選擇了一組參數的概率有多大?」

我們使用的這個差分隱私的版本的特點是,如果我們更改訓練集中的單個訓練樣例,學習任何特定參數集的概率要保持大致相同。更改訓練樣例可能意味着添加或刪除訓練樣例,或更改一個訓練樣例中的值。這種設計背後的本質想法是,如果單個患者(Jane Smith)不影響學習的成果,那麼該患者的病歷就不會被記住,並且尊重她的隱私。在這篇文章的其餘部分,我們通常把這個概率稱為隱私預算(privacy budget)。較小的隱私預算就對應了更強的隱私保證。

在這副示意圖中,當攻擊者不能區分基於三個用戶中的兩個用戶數據採用隨機算法產生的結果,和相同算法根據全部三個用戶產生的結果時,我們就實現了差分隱私。

PATE 背後的思考

我們的 PATE 方法為機器學習提供差分隱私的基本思路是,如果兩個不同的分類器在兩個沒有共同的訓練樣例的數據集上訓練,二者對一個新的輸入分類結果達成一致,於是所得結論不會揭示任何有關單個訓練樣例的信息。這個結論可能是在沒有某一個特定的訓練樣例的情況下進行的,因為用這個例子訓練的模型和沒有這個例子訓練的模型都得出了相同的結論。

那麼假設我們有兩個模型在不同的數據上進行訓練。當他們就一個輸入達成一致時,似乎我們可以發佈他們的結果;但如果不幸地,當他們得出沒有一樣的結果時,接下來要怎麼做就不那麼肯定了。我們不能單獨發佈每個模型的分類輸出,因為每個模型預測的類可能會泄漏其訓練數據中包含的一些私人信息。例如,假設 Jane Smith 屬於兩個模型中的一個模型的訓練數據。如果該模型預測,與 Jane 的記錄非常相似的患者患有癌症,而另一個模型(即沒有 Jane Smith 訓練數據)的預測相反,則可能暴露了 Jane Smith 的隱私信息。這個簡單的例子說明了為什麼為算法添加隨機性是確保提供有效的隱私保證的必備要求。

PATE 如何工作?

現在讓我們逐步了解 PATE 框架如何以這個發現為基礎,可靠地從隱私數據中學習的。在 PATE 中,我們首先將隱私數據集劃分為數據子集。這些子集是不同的分區,因此任何分區所包含的數據之間不會有重疊。如果 Jane Smith 的記錄位於我們的私人數據集中,那麼它只包含在其中一個分區中。我們在每個分區上訓練一個稱為「teacher」的機器學習模型。如何訓練這個模型沒有任何限制。這實際上是 PATE 的主要優點之一:構建「teacher」模型的學習算法是不可知的。所有的「teacher」模型都解決了相同的機器學習任務,但他們的訓練過程都是獨立進行的。也就是說,只有一個「teacher」在訓練期間分析了 Jane Smith 的記錄。這裡是這個框架的一部分的例子。

我們現在有一套獨立訓練的「teacher」模型集合,但沒有任何隱私保證。我們如何使用這個集合進行尊重隱私的預測呢?在 PATE 中,我們增加了噪音,同時將每個「teacher」單獨進行的預測聚合起來,以形成一個統一的預測。我們計算產生每個預測類的「teacher」模型數量(即每個類的投票數),然後通過添加從拉普拉斯或高斯分佈採樣的隨機噪聲來擾亂計數。熟悉差分隱私文獻的讀者知道噪聲最大化機制。當兩個輸出類別的投票數相同時,這種噪音將確保擁有最多投票數的類將是隨機選擇的這兩個類中的一個。另一方面,如果大多數「teacher」模型產生了同一個分類結果,增加噪音並不會改變這個類得到最多投票數的事實。這種微妙的協調為噪聲聚合機制所做的預測提供了正確性和隱私保證——只要「teacher」之間的共識度足夠高。下圖描述了聚合機制是「teacher」之間達成共識的一個設置:將隨機噪聲添加到投票計數並不會改變候選分類的標籤。

為了清楚起見,我們用二元醫學診斷任務說明了聚合機制,但其機制可以延伸到許多類別。現在,讓我們分析這個機制的結果——如果 Jane Smith 患有癌症,從紅色模型(基於唯一包含 Jane Smith 的數據分區進行訓練的「teacher」模型)可以知道,與 Jane 有相似的記錄是判斷病人是否患有癌症的特徵,並因此改變了其對測試輸入(與 Jane 相似)患有癌症的預測。現在有兩個「teacher」預測的分類是「癌症」(2 票投給「癌症」),而另外兩個「teacher」預測的分類為「健康」(2 票投給「健康」)。在這種情況下,加在兩個投票計數上的隨機噪音可以防止聚合的結果反映任何「teacher」的投票以保護隱私:噪聲聚合的結果同樣可能是「健康」或「癌症」。

在這一點上,PATE 提供了差分隱私的 API:通過噪聲聚合機制預測的標籤都有嚴格的差分隱私保證,從而限制隱私預算用於標記該輸入。在我們的示例中,我們可以限制預測標籤受訓練「teacher」的隱私記錄影響的概率,包括 Jane Smith 的例子。我們採用 Moments Accountant 和 Renyi Differential Privacy 的兩種技術中的一種來計算限制範圍。通過使用每個查詢的投票直方圖,我們評估聚合結果的概率因注入噪聲而改變。然後我們將這些信息匯總到所有查詢中。在實踐中,隱私預算主要取決於「teacher」之間的共識以及增加了多少噪音。「teacher」之間意見一致性越高,表現為產生同一類別結果的票數越多,往往趨向於更小的隱私預算。某些情況下,在計算「teacher」對於分類結果的投票數之前增加大量的噪音也會產生較小的隱私預算。回想一下,較小的隱私預算對應着更強的隱私保證。

但是,框架在有一點上面臨兩個限制。首先,由聚合機製得到的每個預測都會增加總隱私預算。這意味着,當要預測許多標籤時,最終總的隱私預算會變得很大——在這一點上,所提供的隱私保證變得毫無意義。因此,API 必須對所有用戶限制查詢的最大數量,並在達到上限時獲取一組新的數據來訓練新的「teacher」模型集合。其次,我們不能公開發布「teacher」模型的集合。否則,攻擊者可以檢查已發佈「teacher」的內部參數,以了解訓練模型的隱私數據。出於這兩個原因,PATE 中有一個額外的步驟:創建一個「student」模型。

「student」模型是通過一種保護隱私的方式將「teacher」模型集合獲得的知識轉化進行訓練的。當然,噪聲聚合機制是其重要的工具。「student」從一組未標記的公共數據中選擇輸入,並將這些輸入提交給「teacher」集合來標記它們。噪聲聚合機制會給出隱私標籤,「student」會用這些標籤來訓練模型。在我們的工作中,我們嘗試了兩種變體:PATE 只在已標記的輸入上(以監督的方式)訓練學生,而 PATE-用已標記和未標記的輸入(以半監督方式使用生成式對抗網絡或虛擬對抗訓練)。

「student」模型是 PATE 的最終產品,由它來響應最終用戶的任何查詢預測。在這一點上,隱私數據和「teacher」模型可以安全地被丟棄:「student」是用於推斷的唯一模型。現在來看看上述歸納的缺點現在如何解決。首先,一旦「student」訓練完成,整個隱私預算就被定為一個固定值。其次,在最壞的情況下,能夠訪問「student」內部參數的攻擊者只能恢復訓練「student」隱私標籤。這種保證源於噪聲聚合機制。

PATE 對隱私和學習的良好兼顧

您可能已經注意到,隱私保證和聚合機制預測的標籤的正確性都源於「teacher」模型之間的高度一致性。事實上,當大多數「teacher」對預測達成一致時,增加噪音不太可能會改變得到最多「teacher」投票的分類結果。這為聚合機制提供了非常強大的隱私保證。同樣地,許多模型得出一致的分類結果表示對該預測的正確性充滿信心,因為這些「teacher」模型是獨立於不同的數據分區進行訓練的。這直觀地說明了為什麼 PATE 能夠利用隱私和學習之間的一些良好的協同作用。

這可能令人驚訝。事實上,差分隱私作為一種屬性是很常見的,它是一種可有可無的屬性,但它與性能之間產生了必然的權衡。然而,機器學習的情況有所不同。差分隱私實際上與機器學習的目標完全一致。例如,記住一個特定的訓練點,如 Jane Smith 的病歷,在學習過程中對隱私的侵害,也是一種過擬合的形式,並且損害了與 Jane 的相同病歷的患者的模型的泛化能力。此外,差分隱私意味着某種形式的穩定性(但事實並非如此)。

這個觀察結果使我們在最近的論文中完善了 PATE 聚合機制的設計。這種新機制——Confident Aggregator——是有選擇性的:「teacher」只回答「student」提出的一些問題。當「teacher」提問時,我們首先檢查「teacher」之間的共識是否足夠高。如果獲「teacher」中投票最多的類標籤的票數大於閾值,我們接受「student」的查詢。如果不是,我們拒絕它。閾值本身是隨機的,以便在選擇過程中提供隱私。一旦選擇了一個查詢,我們就會繼續使用原始的噪聲聚合機制:我們為每個標籤對應的每個投票計數添加噪音,並返回票數最多的標籤。這個過程如下所示(在一個任務中有 6 個類,以避免在二元情況下誤導人物的簡化)。

實際上,這意味着我們的隱私預算現在花在兩件事上:選擇和回答查詢。但是,由於我們選擇回答的問題具有「teacher」之間高度一致的特點,所以用於回答查詢的隱私預算非常少。換句話說,我們可以將 Confident Aggregator 作為一種機制,將原始機制中消耗大部分隱私預算的查詢過濾掉。因此,在「student」性能水平相同時,Confident Aggregator 提供的隱私預算總額要小於最初的噪聲聚合機制。下圖將這種改進可視化為由原始機制(GNMax)和完善機制(Confident GNMax)回答的(「student」)查詢數量的函數,並使用數據相關的分析,我們採用 Moments Accountant 或 Renyi differential privacy 方法。

機器學習研究人員如何改進 PATE 模型?

影響我們方法提供的隱私保證強度的兩個主要因素:

1、「teacher」之間的共識:當這個共識很強時,意味着幾乎所有的「teacher」都做出了相同的標籤預測,減少了輸出相應標籤時所花費的隱私預算。這直觀地說明所做的預測是所有「teacher」所學習的具有普遍性的情景,即使他們是在無交集的數據集上進行訓練的。

2、「student」的查詢的數量:每次在訓練「student」時對「teacher」進行標籤查詢,「teacher」花費在預測該標籤上的預算將被添加到總隱私成本中。因此,用儘可能少的「teacher」 查詢來訓練「student」會加強所提供的隱私保證。

這兩點都可以從純粹的機器學習的角度來解決。加強「teacher」共識度要求可以為每個「teacher」提供很少的數據。改善這些模型的個體準確度和泛化能力很可能有助於增強模型共識度。與監督學習下的「teacher」模型訓練不同,減少「student」查詢的數量是一個半監督學習問題。例如,MNIST 和 SVHN 的最先進的隱私保護模型是用 PATE-G 進行訓練的,PATE-G 是使用生成式對抗網絡以半監督方式訓練「student」的框架變體。「student」可以使用相對較大的未標記輸入,並且必須儘可能少地接受「teacher」的監督。

為了推動這方面的工作,PATE 框架是開源的(https://github.com/tensorflow/models/tree/master/research/differential_privacy/multiple_teachers),並作為 TensorFlow 模型庫的一部分提供。簡單起見,代碼使用公開可用的圖像分類數據集,如 MNIST 和 SVHN。您可以複製它並在 UNIX 環境下適當設置 PYTHONPATH 變量,如下所示: 

PATE 的第一步是訓練「teacher」模型。在這個演示中,我們使用了 MNIST 的數據集和一個大小為 250 的」teacher「集合(請參閱 PATE 的論文來討論為什麼這是一個好的選擇)。

這裡會保存250個「teacher」的檢測點,現在我們可以下載這些模型並用聚合機制來進行「student」的監督訓練。

python train_student.py --nb_teachers=250 --dataset=mnist --stdnt_share=1000 --lap_scale=20 --save_labels=True

這將使用來自測試集的前 1000 個輸入來訓練「student」,測試集是由我們的 250 個「teacher」模型集並採用1/20的拉普拉斯噪聲聚合機制進行標註的。這還將保存一個文件/tmp/mnist_250_student_clean_votes_lap_20.npy,其中包含「teacher」預測的所有標籤,我們用這些標籤評估「teacher」的隱私程度。

要了解我們「student」模型保證的差分隱私範圍的值,我們需要運行分析腳本,這將使用訓練「student」時保存的有關「teacher」共識的信息來執行隱私分析。這裡,noise_eps參數應該設置為2 / lap_scale。

python analysis.py --counts_file=/tmp/mnist_250_student_clean_votes_lap_20.npy --max_examples=1000 --delta=1e-5 --noise_eps=0.1 --input_is_counts

該設置重新生成了帶有原始噪聲聚合機制的 PATE 框架。有興趣了解我們論文中介紹的 Confident Agggregator mechanism(信任聚合機制)的讀者可以在 https://github.com/tensorflow/models/tree/master/research/differential_privacy/pate  找到相關的代碼。

更多PATE資源

結論

在機器學習中,隱私的存在可以被認為是一個盟友而不是敵人。隨着技術的提高,差分隱私很可能成為一種有效的正規化方法,它可以產生更好的模型。在 PATE 的框架內,機器學習研究人員即使不是差分隱私保護領域的專家,也可以為改進差分隱私保護做出重大貢獻。

via www.cleverhans.io,雷鋒網 AI 科技評論編譯


想在手機閱讀更多程式設計資訊?下載【香港矽谷】Android應用
分享到Facebook
技術平台: Nasthon Systems