轉載自:https://www.leiphone.com/news/201706/CrSyyhCUNz2gYIIJ.htmlhtml
若是讓 Ian Goodfellow和Nicolas Papernot 給出定義的話,一個可靠的、能夠保證像預期那樣工做的系統,就是一個安全的系統。算法
爲了達到系統的行爲符合預期的目標,設計系統的人內心就須要有一個威脅模型。「威脅模型」是一組通過嚴格定義的任意一個可能但願「系統異常運做」的攻擊者具備的能力和目標的假設。安全
目前爲止,多數的機器學習系統在設計的時候都只對應了一個很弱的威脅模型,能夠說這樣的模型裏是沒有什麼具體成員的。這樣的機器學習系統的設計目標只是爲了在給與天然輸入的時候可以正常工做。今天的設計者們應當開始設計的系統,須要在面對惡意用戶和麪對基於機器學習的惡意敵對方的時候還能正常工做。網絡
舉例說明,一我的工智能系統在訓練時(學習階段)或者在進行預測時(推理階段)都有可能被攻擊者盯上。攻擊者還會有各類不一樣的能力,其中頗有可能包括對模型內部結構和參數,或者對模型輸入輸出的更改權限。架構
攻擊者的攻擊能夠影響系統的保密性(confidentiality)、完整性(integrity)和可用性(availability),三者能夠合稱爲安全領域的「CIA模型」。iphone
保密性:機器學習系統必須保證未獲得受權的用戶沒法接觸到信息。在實際操做中,把保密性做爲隱私性來考慮會容易得多,就是說模型不能夠泄露敏感數據。好比假設研究員們設計了一個能夠檢查病人病歷、給病人作診斷的機器學習模型,這樣的模型能夠對醫生的工做起到很大的幫助,可是必需要保證持有惡意的人沒辦法分析這個模型,也沒辦法把用來訓練模型的病人數據恢復出來。機器學習
完整性:若是攻擊者能夠破壞模型的完整性,那麼模型的預測結果就可能會偏離預期。好比垃圾郵件會把本身假裝成正常郵件的樣子,形成垃圾郵件識別器的誤識別。ide
可用性:系統的可用性也能夠成爲攻擊目標。好比,若是攻擊者把一個很是難以識別的東西放在車輛會通過的路邊,就有可能迫使一輛自動駕駛汽車進入安全保護模式,而後停車在路邊。函數
雖然目前研究者們尚未展現不少成功進行攻擊的案例,可是 Ian Goodfellow和Nicolas Papernot 表示 未在來的博文中會逐漸作更多介紹。工具
目前已經能夠明確表述的攻擊方式有三種:在訓練時對模型進行完整性攻擊,在推理時進行完整性攻擊,以及隱私攻擊
攻擊者能夠經過修改現有訓練數據、或者給訓練集增長額外數據的方法來對訓練過程的完整性形成影響。好比假設莫里亞蒂教授要給福爾摩斯栽贓一個罪名,他就可讓一個沒被懷疑的同夥送給福爾摩斯一雙獨特、華麗的靴子。當福爾摩斯穿着這雙靴子在他常常協助破案的警察面前出現過之後,這些警察就會把這雙靴子和他聯繫起來。接下來莫里亞蒂教授就能夠穿一雙一樣的靴子去犯罪,留下的腳印會讓福爾摩斯成爲被懷疑的對象。
干擾機器學習模型的訓練過程,體現的攻擊策略是當用於生產時讓機器學習模型出現更多錯誤預測。具體來講,這樣的方法能夠在支持向量機(SVM)的訓練集中下毒。因爲算法中預測偏差是以損失函數的凸點衡量的,這就讓攻擊者有機會找到對推理表現影響最大的一組點進行攻擊。即使在更復雜的模型中也有可能找到高效的攻擊點,深度神經網絡就是這樣,只要它們會用到凸優化。
實際上,讓模型出錯是很是簡單的一件事情,以致於攻擊者都不必花功夫在訓練機器學習模型參數的訓練集中下毒。他們只要在推理階段(模型訓練完成以後)的輸入上動動手腳,就能夠當即讓模型得出錯誤的結果。
要找到能讓模型作出錯誤預測的干擾,有一種經常使用方法是計算對抗性樣本。它們帶有的干擾一般很微小,人類很難發現,但它們卻能成功地讓模型產生錯誤的預測。好比下面這張圖,用機器學習模型識別最左側的圖像,能夠正確識別出來這是一隻熊貓。可是對這張圖像增長了中間所示的噪聲以後獲得的右側圖像,就會被模型識別成一隻長臂猿(並且置信度還很是高)。
值得注意的是,雖然人類沒法用肉眼分辨,可是圖像中施加的干擾已經足以改變模型的預測結果。確實,這種干擾是在輸入領域中經過計算最小的特定模獲得的,同時它還能增大模型的預測偏差。它能夠有效地把原本能夠正確分類的圖像移過模型斷定區域的邊界,從而成爲另外一種分類。下面這張圖就是對於能分出兩個類別的分類器,出現這種現象時候的示意。
許多基於對抗性樣本的攻擊須要攻擊者知道機器學習模型中的參數,才能把所需的干擾看做一個優化問題計算出來 。另外一方面,也有一些後續研究考慮了更現實的威脅模型,這種模型裏攻擊者只能跟模型互動,給模型提供輸入之後觀察它的輸出。舉例來說,這種情況能夠發生在攻擊者想要設計出能騙過機器學習評分系統從而獲得高排名的網站頁面,或者設計出能騙過垃圾郵件篩選器的垃圾郵件的時候。在這些黑盒情境中,機器學習模型的工做方式能夠說像神諭同樣。發起攻擊的策略首先對神諭發起詢問,對模型的斷定區域邊界作出一個估計。這樣的估計就成爲了一個替代模型,而後利用這個替代模型來製做會被真正的模型分類錯誤的對抗性樣本。這樣的攻擊也展示出了對抗性樣本的可遷移性:用來解決一樣的機器學習任務的不一樣的模型,即使模型與模型之間的架構或者訓練數據不同,對抗性樣本仍是會被不一樣的模型同時誤判。
機器學習中的隱私問題就不須要攻擊者也能講明白了。例如說,機器學習算法缺少公平性和透明性的問題已經引發領域內愈來愈多人的擔憂。事實上,已經有人指出,訓練數據中帶有的社會偏見會致使最終訓練完成後的預測模型也帶有這些偏見。下面重點說一說在有攻擊者狀況下的隱私問題。
攻擊者的目的一般是恢復一部分訓練機器學習模型所用的數據,或者經過觀察模型的預測來推斷用戶的某些敏感信息。舉例來講,智能手機的虛擬鍵盤就能夠經過學習用戶的輸入習慣,達到更好的預測-自動完成效果。可是,某一個用戶的輸入習慣下的特定字符序列不該該也出如今別的手機屏幕上,除非已經有一個比例足夠大的用戶羣也會打一樣的一串字符。在這樣的狀況下,隱私攻擊會主要在推理階段發揮做用,不過要緩解這個問題的話,通常都須要在學習算法中增長一些隨機性。
好比,攻擊者有可能會想辦法進行成員推測查詢:想要知道模型訓練中有沒有使用某個特定的訓練點。近期就有一篇論文在深度神經網絡場景下詳細討論了這個問題。與製做對抗性樣本時對梯度的用法相反(這能夠改變模型對正確答案的置信度),成員推測攻擊會沿着梯度方向尋找分類置信度很是高的點。已經部署的模型中也還能夠得到有關訓練數據的更多整體統計信息。
Ian Goodfellow和Nicolas Papernot 兩人已經一塊兒試過幾個方法,爲了提升機器學習模型面對對抗性樣本時魯棒性。
對抗性訓練(Adversarial training):對抗性訓練的目標是提升模型的泛化能力,讓模型在測試中遇到對抗性樣本的時候有更好的表現。作法是在模型的訓練階段就主動生成對抗性樣本,把它們做爲訓練過程的一部分。這個想法最初是由Szegedy提出的,可是可實施性很低,由於生成對抗性樣本須要的計算成本過高。Goodfellow展現過一種用快速梯度標誌的方法,能夠低成本地生成對抗性樣本,計算效率已經足以生成大批量的對抗性樣本用於模型訓練。這樣訓練出的模型對原樣本和對抗性樣本的分類結果就是相同的。好比能夠拍一張貓的照片,而後對抗性地進行干擾,讓通常的模型照片識別成一隻禿鷲,而後就告訴要訓練的這個模型干擾後的照片仍是一隻貓。
防護性蒸餾(Defensive distillation):攻擊者可能會利用模型斷定區域的對抗方向發起攻擊,防護性蒸餾就可讓這些方向變得更平滑。蒸餾(distillation)是一種訓練方法,它要訓練一個模型,讓這個模型預測更早訓練的另外一個模型的可能輸出結果。蒸餾的方法最初是由Hinton提出的,這個方法當時的目標是用一個小模型模仿大型的、計算量大的模型獲得類似的結果。防護性蒸餾的目標有所區別,它只是爲了讓最終模型的輸出更平滑,因此即使模仿的和被模仿的兩個模型大小同樣也不要緊。不過這種方法有點反直覺,有兩個一樣架構的模型,而後訓練其中一個預測另外一個的輸出結果。可是這種方法能奏效的緣由是,先訓練的那個模型(被模仿的)是用「絕對」標籤訓練的(能夠100%肯定圖像是狗,不是貓),而後它提供的用來訓練後一個模型的標籤就是「相對」的(好比95%的肯定性認爲圖像更多是狗)。這第二個蒸餾後的模型的魯棒性就高得多,對快速梯度標誌方法或者Jacobian的顯着圖方法這樣的攻擊的抵抗力高很多。
對抗性樣本防護起來很難是由於很難對對抗性樣本的製做過程創建理論模型。對包括神經網絡在內的許多機器學習模型而言,對抗性樣本是優化問題的非線性、非凸性的解。由於沒有什麼好的理論工具能夠描述這些複雜優化問題的解,因此也就很難提出可以對付對抗性樣本的加強理論做爲防護方法。
換個角度看,對抗性樣本很難防護也由於它們要求機器學習模型對每一種可能的輸入都要給出好的結果。多數時候機器學習模型都能很好地工做,可是對全部可能的輸入而言,它們實際會遇到的輸入只是很小的一部分。就是由於可能的輸入是海量的,設計一個真正有適應性的防護方法就很難。
兩人在2016年末就已經發現了許多能夠對機器學習模型進行攻擊的方法,可是防護的方法幾乎看不到。他們但願在2017年末可以看到一些高效的防護方法。他們博客的目的就是推進機器學習安全和隱私方面的前沿發展,方法就是把最新的進展記錄下來、在相關話題的研究社區中引起討論、以及啓發新一代的研究者們加入這個社區。
對對抗性樣本的研究很令兩人興奮,由於不少重要問題都尚未獲得定論,理論方面和應用方面都是。從理論角度,沒人知道想防護對抗性樣本的攻擊是否是徒勞(就像想要發現一種通用的機器學習算法那樣),或者可以找到一種最佳的策略讓防護者佔得先機(像加密學和差分隱私那樣)。從應用角度,還沒人設計出來過強大到可以抵抗多種不一樣對抗性樣本攻擊的防護算法。Ian Goodfellow和Nicolas Papernot兩人更但願讀者們閱讀文章之後能夠獲得靈感,一塊兒來解決其中的一些問題。