0
雷鋒網 AI 科技評論按:隨著人工智能研究的不斷發(fā)展,由機器學習模型在背后提供支持的功能越來越多地開始商業(yè)化,最終用戶的生活里機器學習能造成的影響也越來越大。這時候,機器學習的安全和隱私問題也就越來越明顯,誰都不想被自動駕駛的車輛傷害,誰也都不希望自己的語音助手泄露自己的私人信息。
GANs 的提出者、在谷歌大腦做人工智能研究的 Ian Goodfellow近期在Twitter上的動向都是安全方面的。雷鋒網 AI 科技評論剛剛給大家介紹了最新兩篇,一篇是他推薦的論文「Adversarial Example Defenses: Ensembles of Weak Defenses are not Strong」- 雷鋒網(“防御對抗性樣本:弱的防御方式組合起來也不強”),來自UC伯克利。另一篇是他發(fā)在Clever Hans博客的文章 「The challenge of verification and testing of machine learning」- 雷鋒網(“驗證與測試,機器學習的兩大挑戰(zhàn)”)。
Clever Hans博客 (http://www.cleverhans.io/)大家可能不熟悉,但是其實這個博客去年就開放了。這個博客是Ian Goodfellow和Nicolas Papernot兩人共同創(chuàng)建、更新的,還建立了cleverhans對抗性機器學習樣本庫目,他們的目的是與全世界的研究者們共同探索和改善機器學習模型在安全和隱私方面的表現(xiàn)。
而且這還不是 Ian Goodfellow和Nicolas Papernot第一次合作,實際上,兩人合作的論文「Semi-supervised Knowledge Transfer for Deep Learning from Private Training Data」- 雷鋒網(用半監(jiān)督知識遷移解決深度學習中訓練數(shù)據隱私問題),就在ICLR2017上拿到了最佳論文獎。
相比于絕大多數(shù)人機器學習領域的研究人員精力都還在設計模型、訓練模型或者建立訓練數(shù)據庫上,這兩人可謂是安全和隱私領域的急先鋒,自己研究探索的同時,也推廣著機器學習模型的安全和隱私意識,還積極促進研究社區(qū)中的學術交流。
說了這么多, Ian Goodfellow和Nicolas Papernot 對安全和隱私問題的具體認識是怎樣的?在他們看來這些問題現(xiàn)在得到解決了嗎?以下雷鋒網 AI 科技評論根據Clever Hans博客給大家做具體的講解。
如果讓 Ian Goodfellow和Nicolas Papernot 給出定義的話,一個可靠的、可以保證像預期那樣工作的系統(tǒng),就是一個安全的系統(tǒng)。
為了達到系統(tǒng)的行為符合預期的目標,設計系統(tǒng)的人心里就需要有一個威脅模型?!巴{模型”是一組經過嚴格定義的任意一個可能希望“系統(tǒng)異常運作”的攻擊者具有的能力和目標的假設。
目前為止,多數(shù)的機器學習系統(tǒng)在設計的時候都只對應了一個很弱的威脅模型,可以說這樣的模型里是沒有什么具體成員的。這樣的機器學習系統(tǒng)的設計目標只是為了在給與自然輸入的時候能夠正常工作。今天的設計者們應當開始設計的系統(tǒng),需要在面對惡意用戶和面對基于機器學習的惡意敵對方的時候還能正常工作。
舉例說明,一個人工智能系統(tǒng)在訓練時(學習階段)或者在進行預測時(推理階段)都有可能被攻擊者盯上。攻擊者還會有各種不同的能力,其中很有可能包括對模型內部結構和參數(shù),或者對模型輸入輸出的更改權限。
攻擊者的攻擊可以影響系統(tǒng)的保密性(confidentiality)、完整性(integrity)和可用性(availability),三者可以合稱為安全領域的“CIA模型”。
保密性:機器學習系統(tǒng)必須保證未得到授權的用戶無法接觸到信息。在實際操作中,把保密性作為隱私性來考慮會容易得多,就是說模型不可以泄露敏感數(shù)據。比如假設研究員們設計了一個可以檢查病人病歷、給病人做診斷的機器學習模型,這樣的模型可以對醫(yī)生的工作起到很大的幫助,但是必須要保證持有惡意的人沒辦法分析這個模型,也沒辦法把用來訓練模型的病人數(shù)據恢復出來。
完整性:如果攻擊者可以破壞模型的完整性,那么模型的預測結果就可能會偏離預期。比如垃圾郵件會把自己偽裝成正常郵件的樣子,造成垃圾郵件識別器的誤識別。
可用性:系統(tǒng)的可用性也可以成為攻擊目標。比如,如果攻擊者把一個非常難以識別的東西放在車輛會經過的路邊,就有可能迫使一輛自動駕駛汽車進入安全保護模式,然后停車在路邊。
雖然目前研究者們還沒有展示很多成功進行攻擊的案例,但是 Ian Goodfellow和Nicolas Papernot 表示 未在來的博文中會逐漸做更多介紹。
目前已經可以明確表述的攻擊方式有三種:在訓練時對模型進行完整性攻擊,在推理時進行完整性攻擊,以及隱私攻擊
攻擊者可以通過修改現(xiàn)有訓練數(shù)據、或者給訓練集增加額外數(shù)據的方法來對訓練過程的完整性造成影響。比如假設莫里亞蒂教授要給福爾摩斯栽贓一個罪名,他就可以讓一個沒被懷疑的同伙送給福爾摩斯一雙獨特、華麗的靴子。當福爾摩斯穿著這雙靴子在他經常協(xié)助破案的警察面前出現(xiàn)過以后,這些警察就會把這雙靴子和他聯(lián)系起來。接下來莫里亞蒂教授就可以穿一雙同樣的靴子去犯罪,留下的腳印會讓福爾摩斯成為被懷疑的對象。
干擾機器學習模型的訓練過程,體現(xiàn)的攻擊策略是當用于生產時讓機器學習模型出現(xiàn)更多錯誤預測。具體來說,這樣的方法可以在支持向量機(SVM)的訓練集中下毒。由于算法中預測誤差是以損失函數(shù)的凸點衡量的,這就讓攻擊者有機會找到對推理表現(xiàn)影響最大的一組點進行攻擊。即便在更復雜的模型中也有可能找到高效的攻擊點,深度神經網絡就是這樣,只要它們會用到凸優(yōu)化。
實際上,讓模型出錯是非常簡單的一件事情,以至于攻擊者都沒必要花功夫在訓練機器學習模型參數(shù)的訓練集中下毒。他們只要在推理階段(模型訓練完成之后)的輸入上動動手腳,就可以立即讓模型得出錯誤的結果。
要找到能讓模型做出錯誤預測的干擾,有一種常用方法是計算對抗性樣本。它們帶有的干擾通常很微小,人類很難發(fā)現(xiàn),但它們卻能成功地讓模型產生錯誤的預測。比如下面這張圖,用機器學習模型識別最左側的圖像,可以正確識別出來這是一只熊貓。但是對這張圖像增加了中間所示的噪聲之后得到的右側圖像,就會被模型識別成一只長臂猿(而且置信度還非常高)。
值得注意的是,雖然人類無法用肉眼分辨,但是圖像中施加的干擾已經足以改變模型的預測結果。確實,這種干擾是在輸入領域中通過計算最小的特定模得到的,同時它還能增大模型的預測誤差。它可以有效地把本來可以正確分類的圖像移過模型判定區(qū)域的邊界,從而成為另一種分類。下面這張圖就是對于能分出兩個類別的分類器,出現(xiàn)這種現(xiàn)象時候的示意。
許多基于對抗性樣本的攻擊需要攻擊者知道機器學習模型中的參數(shù),才能把所需的干擾看作一個優(yōu)化問題計算出來 。另一方面,也有一些后續(xù)研究考慮了更現(xiàn)實的威脅模型,這種模型里攻擊者只能跟模型互動,給模型提供輸入以后觀察它的輸出。舉例來講,這種狀況可以發(fā)生在攻擊者想要設計出能騙過機器學習評分系統(tǒng)從而得到高排名的網站頁面,或者設計出能騙過垃圾郵件篩選器的垃圾郵件的時候。在這些黑盒情境中,機器學習模型的工作方式可以說像神諭一樣。發(fā)起攻擊的策略首先對神諭發(fā)起詢問,對模型的判定區(qū)域邊界做出一個估計。這樣的估計就成為了一個替代模型,然后利用這個替代模型來制作會被真正的模型分類錯誤的對抗性樣本。這樣的攻擊也展現(xiàn)出了對抗性樣本的可遷移性:用來解決同樣的機器學習任務的不同的模型,即便模型與模型之間的架構或者訓練數(shù)據不一樣,對抗性樣本還是會被不同的模型同時誤判。
機器學習中的隱私問題就不需要攻擊者也能講明白了。例如說,機器學習算法缺乏公平性和透明性的問題已經引起領域內越來越多人的擔心。事實上,已經有人指出,訓練數(shù)據中帶有的社會偏見會導致最終訓練完成后的預測模型也帶有這些偏見。下面重點說一說在有攻擊者情況下的隱私問題。
攻擊者的目的通常是恢復一部分訓練機器學習模型所用的數(shù)據,或者通過觀察模型的預測來推斷用戶的某些敏感信息。舉例來說,智能手機的虛擬鍵盤就可以通過學習用戶的輸入習慣,達到更好的預測-自動完成效果。但是,某一個用戶的輸入習慣下的特定字符序列不應該也出現(xiàn)在別的手機屏幕上,除非已經有一個比例足夠大的用戶群也會打同樣的一串字符。在這樣的情況下,隱私攻擊會主要在推理階段發(fā)揮作用,不過要緩解這個問題的話,一般都需要在學習算法中增加一些隨機性。
比如,攻擊者有可能會想辦法進行成員推測查詢:想要知道模型訓練中有沒有使用某個特定的訓練點。近期就有一篇論文在深度神經網絡場景下詳細討論了這個問題。與制作對抗性樣本時對梯度的用法相反(這可以改變模型對正確答案的置信度),成員推測攻擊會沿著梯度方向尋找分類置信度非常高的點。已經部署的模型中也還可以獲得有關訓練數(shù)據的更多總體統(tǒng)計信息。
Ian Goodfellow和Nicolas Papernot 兩人已經一起試過幾個方法,為了提高機器學習模型面對對抗性樣本時魯棒性。
對抗性訓練(Adversarial training):對抗性訓練的目標是提高模型的泛化能力,讓模型在測試中遇到對抗性樣本的時候有更好的表現(xiàn)。做法是在模型的訓練階段就主動生成對抗性樣本,把它們作為訓練過程的一部分。這個想法最初是由Szegedy提出的,但是可實施性很低,因為生成對抗性樣本需要的計算成本太高。Goodfellow展示過一種用快速梯度標志的方法,可以低成本地生成對抗性樣本,計算效率已經足以生成大批量的對抗性樣本用于模型訓練。這樣訓練出的模型對原樣本和對抗性樣本的分類結果就是相同的。比如可以拍一張貓的照片,然后對抗性地進行干擾,讓一般的模型照片識別成一只禿鷲,然后就告訴要訓練的這個模型干擾后的照片還是一只貓。
防御性蒸餾(Defensive distillation):攻擊者可能會利用模型判定區(qū)域的對抗方向發(fā)起攻擊,防御性蒸餾就可以讓這些方向變得更平滑。蒸餾(distillation)是一種訓練方法,它要訓練一個模型,讓這個模型預測更早訓練的另一個模型的可能輸出結果。蒸餾的方法最初是由Hinton提出的,這個方法當時的目標是用一個小模型模仿大型的、計算量大的模型得到相似的結果。防御性蒸餾的目標有所區(qū)別,它只是為了讓最終模型的輸出更平滑,所以即便模仿的和被模仿的兩個模型大小一樣也沒關系。不過這種方法有點反直覺,有兩個同樣架構的模型,然后訓練其中一個預測另一個的輸出結果。但是這種方法能奏效的原因是,先訓練的那個模型(被模仿的)是用“絕對”標簽訓練的(可以100%確定圖像是狗,不是貓),然后它提供的用來訓練后一個模型的標簽就是“相對”的(比如95%的確定性認為圖像更可能是狗)。這第二個蒸餾后的模型的魯棒性就高得多,對快速梯度標志方法或者Jacobian的顯著圖方法這樣的攻擊的抵抗力高不少。
對抗性樣本防御起來很難是因為很難對對抗性樣本的制作過程建立理論模型。對包括神經網絡在內的許多機器學習模型而言,對抗性樣本是優(yōu)化問題的非線性、非凸性的解。因為沒有什么好的理論工具可以描述這些復雜優(yōu)化問題的解,所以也就很難提出能夠對付對抗性樣本的增強理論作為防御方法。
換個角度看,對抗性樣本很難防御也因為它們要求機器學習模型對每一種可能的輸入都要給出好的結果。多數(shù)時候機器學習模型都能很好地工作,但是對所有可能的輸入而言,它們實際會遇到的輸入只是很小的一部分。就是因為可能的輸入是海量的,設計一個真正有適應性的防御方法就很難。
兩人在2016年底就已經發(fā)現(xiàn)了許多可以對機器學習模型進行攻擊的方法,但是防御的方法幾乎看不到。他們希望在2017年底能夠看到一些高效的防御方法。他們博客的目的就是推動機器學習安全和隱私方面的前沿發(fā)展,方法就是把最新的進展記錄下來、在相關話題的研究社區(qū)中引發(fā)討論、以及啟發(fā)新一代的研究者們加入這個社區(qū)。
對對抗性樣本的研究很令兩人興奮,因為很多重要問題都還沒有得到定論,理論方面和應用方面都是。從理論角度,沒人知道想防御對抗性樣本的攻擊是不是徒勞(就像想要發(fā)現(xiàn)一種通用的機器學習算法那樣),或者能夠找到一種最佳的策略讓防御者占得先機(像加密學和差分隱私那樣)。從應用角度,還沒人設計出來過強大到能夠抵抗多種不同對抗性樣本攻擊的防御算法。Ian Goodfellow和Nicolas Papernot兩人更希望讀者們閱讀文章以后可以得到靈感,一起來解決其中的一些問題。
更多安全和隱私問題的研究成果,以及Ian Goodfellow和Nicolas Papernot的最新研究動向,請繼續(xù)關注雷鋒網 AI 科技評論。
雷峰網原創(chuàng)文章,未經授權禁止轉載。詳情見轉載須知。