【译】Privacy and machine learning: two unexpected allies
關鍵是一個稱為教師集合私人聚合 (PATE)的算法家族。 除了它的名字之外,關于PATE框架的一個偉大的事情是,任何知道如何訓練監督ML模型(例如神經網絡)的人現在都可以貢獻于機器學習的差別隱私研究。 PATE框架通過仔細協調幾種不同ML模型的活動來實現私人學習。 只要您遵循PATE框架指定的程序,整體結果模型將具有可衡量的隱私保證。 每個單獨的ML模型都使用普通的監督式學習技術進行培訓,我們的許多讀者可能熟悉從ImageNet分類或許多其他更傳統的ML追求中熟悉的技術。
如果任何人都可以為PATE使用的任何單個模型設計更好的架構或更好的訓練算法,那么他們也可以改進本身的監督學習(即非私人分類)。 事實上,不同的隱私可以被認為是一個正規化者,能夠解決從業者經常遇到的一些問題 - 即使在隱私不是要求的情況下也是如此。 這包括過度配合。 我們在這篇文章中詳細闡述了隱私和學習之間的這些愉快的協同作用。 特別是,我們介紹了PATE最近的一個擴展,它改進了如何協調不同的ML模型,以同時提高由PATE框架產生的模型的準確性和隱私性。 這表明如何將差異隱私的目標與追求一般化良好的學習模型相結合。
為什么我們需要私人機器學習算法?
機器學習算法通過研究大量數據并更新其參數來編碼數據中的關系。 理想情況下,我們希望這些機器學習模型的參數能夠編碼一般模式(“吸煙患者更可能患有心臟疾病的患者”),而不是關于特定培訓例子的事實(“Jane Smith患有心臟病”)。 不幸的是,機器學習算法默認不學習忽略這些細節。 如果我們想用機器學習來解決一個重要的任務,比如制作一個癌癥診斷模型,那么當我們發布這個機器學習模型時(例如,為全世界的醫生制作一個開源癌癥診斷模型),我們也可能會無意中透露有關訓練集的信息。 惡意攻擊者可能能夠檢查已發布的模型并學習Jane Smith的私人信息[SSS17]。 這是有差別的隱私進來的地方。
我們如何定義和保證隱私?
科學家們提出了許多方法來分析數據時提供隱私。 例如,在分析數據之前匿名化數據是非常流行的,通過移除私人細節或用隨機值替換數據。 通常匿名的細節常見例子包括電話號碼和郵政編碼。 然而,匿名數據并不總是足夠的,它提供的隱私會隨著攻擊者獲取關于數據集中表示的個人的輔助信息而迅速降低。 著名的是,這一策略允許研究人員在發布給Netflix獎的參與者的電影評級數據集中取消匿名化,當時個人還在互聯網電影數據庫(IMDb)上公開分享了他們的電影評級[NS08]。 如果Jane Smith已經在Netflix Prize數據集中公布了相同的評級給電影A,B和C并公開在IMDb上,那么研究人員可以在兩個數據集之間鏈接對應Jane的數據。 這將使他們有能力恢復Netflix獎但不包括在IMDb中的評級。 這個例子顯示了定義和保證隱私是多么的困難,因為很難估計可用于敵手的知識范圍 - 關于個人。
差別隱私是評估由旨在保護隱私的機制提供的保證的框架。 由Cynthia Dwork,Frank McSherry,Kobbi Nissim和Adam Smith發明[DMNS06],它解決了像k-匿名之類的先前方法的許多局限性。 基本思想是隨機化部分機制的行為來提供隱私。 在我們的例子中,所考慮的機制始終是一種學習算法,但差分隱私框架可以用于研究任何算法。
將隨機性引入學習算法的直覺是使得很難判斷學習參數定義的模型的哪些行為方面來自隨機性,哪些來自訓練數據。 如果沒有隨機性,我們可以提問如下問題:“當我們在這個特定數據集上訓練時,學習算法選擇了什么參數?”在學習算法中使用隨機性,我們會問如下問題:“學習算法會在這組可能的參數中選擇參數,當我們在這個特定的數據集上進行訓練時?“
我們使用差分隱私的版本,要求如果我們更改訓練集中的單個訓練樣例,學習任何特定參數集的概率保持大致相同。 這可能意味著添加訓練示例,刪除訓練示例,或更改一個訓練示例中的值。 直覺是,如果單個患者(Jane Smith)不影響學習成果,那么該患者的記錄就不會被記住,并且她的隱私受到尊重。 在這篇文章的其余部分,我們經常把這個概率稱為隱私預算 。 較小的隱私預算對應于更強的隱私保證。
在上面的例子中,當敵手不能根據三個用戶中的兩個用戶的數據從基于所有三個用戶的數據的相同算法返回的答案中區分隨機算法產生的答案時,我們實現差分隱私。
PATE背后的直覺是什么?
我們的PATE方法為機器學習提供差分隱私是基于一個簡單的直覺:如果兩個不同的分類器在兩個不同的數據集上訓練,沒有訓練樣例的共同點,就如何分類一個新的輸入示例達成一致,那么這個決定不會揭示有關任何單個培訓示例的信息。 這個決策可能是在沒有任何單一訓練的情況下進行的,因為用這個例子訓練的模型和沒有這個例子訓練的模型都得出了相同的結論。
那么假設我們有兩個模型在不同的數據上進行訓練。 當他們對意見達成一致時,似乎我們可以發布他們的決定。 不幸的是,當他們不同意時,不知道該怎么做。 我們不能單獨發布每個模型的類輸出,因為每個模型預測的類可能會泄漏其訓練數據中包含的一些私人信息。 例如,假設Jane Smith只對兩個模型中的一個模型的訓練數據作出了貢獻。 如果該模型預測,與Jane's記錄非常相似的患者患有癌癥,而另一個模型預測相反,則可以揭示Jane的隱私信息。 這個簡單的例子說明了為什么為算法添加隨機性是確保它提供任何有意義的隱私保證的要求。
PATE如何工作?
現在讓我們逐步了解PATE框架如何以此觀察為基礎,從私人數據中負責任地學習。 在PATE中,我們首先將私有數據集劃分為數據子集。 這些子集是分區,因此任何分區對中包含的數據之間不會有重疊。 如果Jane Smith的記錄位于我們的私人數據集中,那么它只包含在其中一個分區中。 我們在每個分區上訓練一個稱為教師的ML模型。 教師如何接受培訓沒有任何限制。 這實際上是PATE的主要優點之一:對于用于創建教師模型的學習算法是不可知的。 所有的老師都解決了相同的機器學習任務,但他們都是獨立進行的。 也就是說,只有一位老師在培訓期間分析了簡史密斯的記錄。 這里是這個框架的一部分的例子。
我們現在有一套獨立訓練的教師模型,但沒有任何隱私保證。 我們如何使用這個集合進行尊重隱私的預測? 在PATE中,我們增加了噪音,同時匯總了每位教師單獨進行的預測,以形成一個單一的常見預測。 我們計算每個班級投票的教師數量,然后通過添加從拉普拉斯或高斯分布采樣的隨機噪聲來擾亂計數。 熟悉差別隱私文獻的讀者將認識到噪聲最大化機制。 當兩個輸出類別從老師那里得到相等(或準等于)的選票數量時,噪音將確保具有最多選票數量的班級成為隨機選擇的這兩個班級中的一個。 另一方面,如果大多數教師同意在同一個班上,在投票中增加噪音并不會改變這個班得到最多選票的事實。 這種微妙的協調為嘈雜的聚合機制所做的預測提供了正確性和隱私 - 只要教師之間的共識足夠高。 下圖描述了聚合機制是教師之間達成共識的一個設置:將隨機噪聲添加到投票計數并不會改變候選人的標簽。
為了清楚起見,我們用二元醫學診斷任務說明了聚合,但機制延伸到大量類別 。 現在,讓我們分析這個機制的結果,如果簡史密斯患有癌癥。 紅色模型 - 對包含Jane Smith數據的分區進行培訓的唯一教師 - 現在已經了解到,與Jane's相似的記錄是患有癌癥的患者的特征,并因此改變了其對測試輸入的預測(類似于簡的)到“癌癥”。 現在有兩位老師為“巨蟹座”投票,而另外兩位老師投票贊成“健康”。 在這些情況下,加在兩個投票計數上的隨機噪音可以防止聚合的結果反映任何教師的投票以??保護隱私:嘈雜聚合的結果同樣可能是“健康”或“癌癥”。
在這一點上,PATE提供了可以被認為是不同的私有API:通過噪聲聚合機制預測的每個標簽都帶有嚴格的差分隱私保證,從而限制隱私預算用于標記該輸入。 在我們的示例中,我們可以限制標簽預測受到我們培訓教師的任何個人記錄影響的概率,包括Jane Smith的例子。 我們應用稱為Moments Accountant [ACG16]和Renyi Differential Privacy [M17]的兩種技術中的一種來計算該邊界。 使用每個查詢的投票直方圖,我們估計聚合結果的概率因注入噪聲而改變。 然后我們將這些信息匯總到所有查詢中。 在實踐中,隱私預算主要取決于教師之間的共識以及增加了多少噪音。 教師之間的較高一致意見,如分配給一個班級的最多票數所表達的,往往贊成較小的隱私預算。 在某些情況下,在計算教師分配的投票數之前增加大量的噪音也會產生較小的隱私預算。 回想一下,較小的隱私預算對應于更強的隱私保證。
但是,框架在這一點上面臨兩個限制。 首先,由匯總機制進行的每個預測都會增加總隱私預算。 這意味著,當許多標簽被預測時,總的隱私預算最終變得太大 - 在這一點上,所提供的隱私保證變得毫無意義。 因此,API必須對所有用戶施加最大數量的查詢,并獲得一組新數據以在達到該上限時學習新的教師集合。 其次,我們不能公開發布教師模型的集合。 否則,對手可以檢查已發布教師的內部參數,以了解他們接受培訓的私人數據。 出于這兩個原因,PATE中有一個額外的步驟:創建一個學生模型。
學生通過以保護隱私的方式轉移教師集體獲得的知識來進行培訓。 當然,嘈雜的聚合機制對此是至關重要的工具。 學生從一組未標記的公共數據中選擇輸入,并將這些輸入提交給教師集體以標記它們。 嘈雜的聚合機制會回應私人標簽,學生會用這些標簽來訓練模型。 在我們的工作中,我們嘗試了兩種變體:PATE只在標記的輸入上(以受監督的方式)訓練學生,而PATE-G訓練學生有標記和未標記的輸入(以半監督方式使用生成敵對??網絡或虛擬敵對訓練)。
學生模型是PATE的最終產品。 它被部署來響應來自最終用戶的任何預測查詢。 在這一點上,私人數據和教師模型可以安全地被丟棄:學生是用于推斷的唯一模型。 觀察上述確定的缺陷現在如何解決。 首先,一旦學生完成培訓,整個隱私預算現在就被固定為一個固定值。 其次,能夠訪問學生內部參數的對手可以在最壞的情況下恢復學生所接受的私人標簽。 這種保證源于噪音聚集機制。
隱私和學習與PATE令人愉快的協同作用
您可能已經注意到,隱私保證和由匯總機制預測的標簽的正確性源于教師之間的強烈共識。 事實上,當大多數教師對預測達成一致時,增加噪音不太可能會改變得到最多教師投票的班級。 這為聚合機制提供了非常強大的隱私保證。 同樣地,許多同意標簽的教師表示對該預測的正確性充滿信心,因為這些教師模型是獨立于不同的數據分區進行訓練的。 這直觀地說明了為什么PATE能夠利用隱私和學習之間的一些愉快的協同作用。
這可能令人驚訝。 事實上,將差別隱私作為一種很好的財產呈現是很常見的,但它會帶來性能上的必要折衷。 但是,機器學習的情況有所不同。 差分隱私實際上與機器學習的目標完全一致。 例如,記住一個特定的訓練點,如Jane Smith的病歷,在學習過程中是對隱私的侵犯。 這也是一種過度擬合的形式,并且損害了醫療記錄類似Jane's的患者的模型的泛化性能。 此外,差別隱私意味著某種形式的穩定性(但相反情況并非一定如此)。
這個觀察推動了我們在最近的論文中對PATE的一個精煉的聚合機制的設計,跟隨了原始的工作。 這種新機制 - 自信聚合者 - 是有選擇性的 :教師只回答學生提出的一些問題。 當老師提問時,我們首先檢查教師之間的共識是否足夠高。 如果分配給教師中最受歡迎的標簽的投票數大于閾值,我們接受學生的查詢。 如果不是,我們拒絕它。 閾值本身是隨機的,以便在選擇過程中提供隱私。 一旦選擇了一個查詢,我們就會繼續使用原始的噪聲聚合機制:我們為每個標簽對應的每個投票計數添加噪音,并返回票數最多的標簽。 這個過程如下所示(在一個任務中有6個類,以避免在二進制情況下誤導人物的簡化)。
實際上,這意味著我們的隱私預算現在花在兩件事上:選擇和回答查詢。 但是,由于我們選擇回答的問題具有教師之間高度一致的特點,所以需要回答的預算非常少。 換句話說,我們可以將Confident Aggregator作為一種機制,將原始機制中消耗大部分隱私預算的查詢過濾掉。 因此,在相同的學生表現水平下,自信聚合者提供的隱私預算總額要小于最初的嘈雜聚合機制。 下圖顯示了這種改進是當使用依賴于數據的(數據dep)分析時,原始機制(簡單GNMax)和改進機制(Confident GNMax)回答的(學生)查詢數量的函數通過應用Moments會計師或Renyi差異隱私。
ML研究人員如何為PATE改進模型?
兩個因素主要影響我們的方法提供的隱私保證的強度:
這兩點都可以從純粹的ML角度來解決。 加強教師共識要求可以為每位教師提供很少的數據。 改善這些模型的個體準確性和泛化性很可能有助于改進共識。 與完全監督的教師培訓不同,減少學生查詢的數量是一個半監督學習問題。 例如,MNIST和SVHN的最先進的隱私保護模型是用PATE-G進行培訓的,PATE-G是使用生成敵對??網絡以半監督方式培訓學生的框架變體。 學生可以使用相對較大的未標記輸入,并且必須盡可能少地接受教師的監督。
為了幫助刺激這些努力,PATE框架是開源的,并作為TensorFlow模型庫的一部分提供。 為了簡單起見,代碼使用公開可用的圖像分類數據集,如MNIST和SVHN。 您可以克隆它并在UNIX機器上適當地設置PYTHONPATH變量,如下所示:
cd git clone https://github.com/tensorflow/models cd models export PYTHONPATH=$(pwd):$PYTHONPATH cd research/differential_privacy/multiple_teachers然后,PATE的第一步是培訓教師模型。 在這個演示中,我們使用MNIST數據集和250名教師的集合(請參閱PATE論文來討論為什么這是一個不錯的選擇)。
python train_teachers.py --nb_teachers=250 --teacher_id=0 --dataset=mnist python train_teachers.py --nb_teachers=250 --teacher_id=1 --dataset=mnist ... python train_teachers.py --nb_teachers=250 --teacher_id=248 --dataset=mnist python train_teachers.py --nb_teachers=250 --teacher_id=249 --dataset=mnist這將為250名教師節省檢查點。 現在,我們可以加載這些教師并運用匯總機制來監督學生的培訓。
python train_student.py --nb_teachers=250 --dataset=mnist --stdnt_share=1000 --lap_scale=20 --save_labels=True這將使用來自測試集的前1000個輸入來訓練學生,使用我們的250名老師標記,并采用拉普拉斯等級1/20噪聲聚合機制。 這還將保存一個文件/tmp/mnist_250_student_clean_votes_lap_20.npy其中包含教師制作的所有標簽,我們用這些標簽評估學生的私密程度。
要了解我們學生模型保證的差異隱私邊界的價值,我們需要運行分析腳本。 這將使用培訓學生時保存的有關教師共識的信息來執行隱私分析。 這里, 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機制感興趣的讀者可以在這里找到相關的代碼。
更多PATE資源
- ICLR 2017的原始PATE文件和ICLR 口頭記錄
- ICLR 2018將PATE縮放為大量類別和不平衡數據的論文。
- PATE的 GitHub 代碼回購
- GitHub 代碼回購,用于對PATE進行完善的隱私分析
結論
在機器學習中,隱私可以被認為是一個盟友而不是敵人。 隨著技術的提高,差別隱私很可能成為一種有效的正規化者,可以產生更好的行為模式。 在PATE的框架內,機器學習研究人員還可以在不擔任這些擔保背后的正式分析專家的情況下,為改善差異性隱私保證做出重大貢獻。
致謝
感謝我們的合作者對本文中提供的材料的貢獻。 特別感謝Ilya Mironov和úlfarErlingsson對本文稿的反饋意見。
參考
[ACG16] Abadi, M., Chu, A., Goodfellow, I., McMahan, H. B., Mironov, I., Talwar, K., & Zhang, L. (2016, October). Deep learning with differential privacy. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (pp. 308-318). ACM.
[DMNS06] Dwork, C., McSherry, F., Nissim, K., & Smith, A. (2006, March). Calibrating noise to sensitivity in private data analysis. In Theory of Cryptography Conference (pp. 265-284). Springer, Berlin, Heidelberg.
[M17] Mironov, I. (2017, August). Renyi differential privacy. In Computer Security Foundations Symposium (CSF), 2017 IEEE 30th (pp. 263-275). IEEE.
[NS08] Narayanan, A., & Shmatikov, V. (2008, May). Robust de-anonymization of large sparse datasets. In Security and Privacy, 2008. SP 2008. IEEE Symposium on (pp. 111-125). IEEE.
[SSS17] Shokri, R., Stronati, M., Song, C., & Shmatikov, V. (2017, May). Membership inference attacks against machine learning models. In Security and Privacy (SP), 2017 IEEE Symposium on (pp. 3-18). IEEE.
總結
以上是生活随笔為你收集整理的【译】Privacy and machine learning: two unexpected allies的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Orchid兰花协议简介——分布式匿名代
- 下一篇: 【译】The challenge of