0
雷鋒網(wǎng)AI科技評論按:去年年底,Ian Goodfellow與Nicolas Papernot(是的,就是ICLR 2017的最佳論文得主之一)合作開了一個(gè)博客叫cleverhans,主要寫一些關(guān)于機(jī)器學(xué)習(xí)在安全與隱私問題的文章。一個(gè)Goodfellow、一個(gè)Papernot,此二神的稱呼真是般配呢。
在第一篇博客里,他倆介紹了為什么攻擊機(jī)器學(xué)習(xí)要遠(yuǎn)比防御容易得多。以下是雷鋒網(wǎng)AI科技評論編譯的第二篇文章,未經(jīng)雷鋒網(wǎng)AI科技評論許可不得轉(zhuǎn)載:
在我們的第二篇博客里,我們此前已經(jīng)給出了一些背景知識,告訴大家,為什么到目前為止,我們還不能有效的處理對抗樣本。對此,我們懷疑我們是否還可以對此進(jìn)行防御。
在本文中,我們將探討積幾類保護(hù)措施。通過這些措施,我們就可以使我們的機(jī)器學(xué)習(xí)模型能夠真正的起作用。就目前來說,我們認(rèn)為現(xiàn)有防御措施的限制在于,缺乏對機(jī)器學(xué)習(xí)模型的驗(yàn)證機(jī)制。確實(shí)是這樣的,為了能夠設(shè)計(jì)出可靠地系統(tǒng),工程師們都需要進(jìn)行測試與驗(yàn)證:
測試指的是在某些環(huán)境狀態(tài)下,對系統(tǒng)進(jìn)行評估,并記錄系統(tǒng)的運(yùn)行狀況以及是否出現(xiàn)缺陷。
驗(yàn)證指的是,經(jīng)過驗(yàn)證,我們確保我們的系統(tǒng)在一般情形下,可信并可用的,它具有通用性。
與這個(gè)問題相正交的另一個(gè)問題是,哪些數(shù)據(jù)需要作為驗(yàn)證集與測試集。我們是否只應(yīng)考慮那些“自然而然”的數(shù)據(jù)作為測試與驗(yàn)證的數(shù)據(jù)集?倘若我們的輸入的是一些臟數(shù)據(jù),對此,我們是否要提供一些保護(hù)性措施?許多的軟件系統(tǒng)對于某些輸入都有未定義的反應(yīng)。比如說,編譯器。
機(jī)器學(xué)習(xí)從業(yè)人員廣泛依賴初級的測試方法。一般來說,我們評估一個(gè)分類器的做法是:從測試數(shù)據(jù)中選出一些樣本,使用分類器對這些樣本進(jìn)行預(yù)測,最終得到分類器預(yù)測這些樣本的準(zhǔn)確率。通過以上描述,我們知道,這種測試方法并不能涵蓋到所有可能被誤判的樣本。
對測試集誤差的驗(yàn)證模擬,是一種統(tǒng)計(jì)學(xué)習(xí)理論。通過運(yùn)用該理論,我們就能確保測試錯(cuò)誤率不會超過某個(gè)閾值。但是這些保證往往太過于保守,我們在工程實(shí)踐上很少用到。即使我們使用了統(tǒng)計(jì)學(xué)習(xí)理論,我們也會認(rèn)為僅僅考慮到那些“自然而然的”輸入:這些保證僅僅在測試數(shù)據(jù)集與訓(xùn)練數(shù)據(jù)集屬于同一個(gè)分布的時(shí)候,才會生效。
為了能夠提供安全保護(hù),我們有必要在兩個(gè)維度上進(jìn)行改進(jìn):
1)我們最好使用驗(yàn)證而不是測試;
2)確保模型可以應(yīng)對異常情況。
研究人員都希望他們的研究結(jié)果會有很大的魯棒性,能夠應(yīng)對異常情況。
為了檢驗(yàn)系統(tǒng)對對抗樣本的魯棒性,最簡單的方式是使用含有對抗樣本的數(shù)據(jù)集作為測試集[SZS13]。也就是使用新的輸入來應(yīng)用于傳統(tǒng)的機(jī)器學(xué)習(xí)測試方法。
然而,不幸的是。僅僅通過測試,我們并不能得到完美的安全保證。因?yàn)?,攻擊者會使用不同于測試集中的數(shù)據(jù)。例如,我們的模型對于對抗樣本生成的方法——fast gradient sign method具有很強(qiáng)的魯棒性,但是卻有可能易受到代價(jià)高昂計(jì)算方法的影響,比如說數(shù)值優(yōu)化[szs13]或者是顯著圖[PMJ16]。
通常情況下,僅僅進(jìn)行測試是不夠的。因?yàn)椋瑴y試僅僅提供了系統(tǒng)的錯(cuò)誤率的下限,而我們要想得到安全保證,我們還需要得到上限。換句話說,通過測試,我們知道n個(gè)輸入導(dǎo)致了錯(cuò)誤的發(fā)生,那么工程師就能夠確定至少會有n個(gè)輸入會導(dǎo)致模型失效??墒牵瑢?shí)際上工程師更希望找到另外一種方法。他們希望這種方法能夠找到導(dǎo)致錯(cuò)誤發(fā)生的輸入的上限。
我們在機(jī)器學(xué)領(lǐng)域內(nèi)測試上遇到的局限性,讓人想起了許多其他的軟件設(shè)計(jì)中遇到的問題。當(dāng)我們討論如何確保程序的準(zhǔn)確性的時(shí)候,Edsger Dijkstra說到:“測試表明bug是存在的,而不是不存在?!?/p>
我們都清楚,使用正常數(shù)據(jù)進(jìn)行測試足夠滿足我們的機(jī)器學(xué)習(xí)應(yīng)用。但是,對異常數(shù)據(jù)的驗(yàn)證對于安全保證來說,依然是必需的。我們需要驗(yàn)證,然而目前為止,我們僅僅知道該如何進(jìn)行測試。
我們很容易破壞掉目前我們得到的機(jī)器學(xué)習(xí)模型,使用異常數(shù)據(jù)進(jìn)行測試就足夠暴露模型的缺陷了。希望在不久的將來,我們可以有更好的方式來應(yīng)對對抗樣本。僅僅通過測試,可能尚不足以暴露模型的缺點(diǎn)。我們需要驗(yàn)證技術(shù)來研究新防御措施的有效性。保障機(jī)制的發(fā)展表明,在存在對抗的背景下,正確處理輸入空間對于ML未來的發(fā)展至關(guān)重要。它幾乎完全就是建立在形式化驗(yàn)證的基礎(chǔ)之上的。
機(jī)器學(xué)習(xí)模型對對抗樣本的魯棒性驗(yàn)證尚處于起步階段。對于分類器,當(dāng)前使用的驗(yàn)證方法是,分類器將同一個(gè)類別中的所有的點(diǎn)分配到某個(gè)點(diǎn) x 的附近。下面的這幅動畫演示了這種方法。我們將這種方法與模型測試的方法進(jìn)行比較。
對于神經(jīng)網(wǎng)絡(luò),研究人員正在努力地建立驗(yàn)證機(jī)制。不幸的是,這些系統(tǒng)還不是很成熟。Pulina et al.開發(fā)出了第一代的驗(yàn)證系統(tǒng),表明神經(jīng)網(wǎng)絡(luò)的輸出類別在所期望區(qū)域是恒定的。第一代系統(tǒng)的缺陷是,僅僅有一層隱藏層,所表征的網(wǎng)絡(luò)中的隱藏單元數(shù)量不到12個(gè)。此外,sigmoid激勵(lì)函數(shù)使用約束來近似的將問題減少為SAT。
這之后,Huang et al.改善了初始化方法,并提出了一個(gè)適應(yīng)于現(xiàn)代神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的新的驗(yàn)證系統(tǒng).[HKW16]。該系統(tǒng)能夠適應(yīng)于更大的網(wǎng)絡(luò)。比如說ImageNet分類器。這個(gè)系統(tǒng)唯一存在的限制是,它依賴于各種假設(shè)。比如說:神經(jīng)網(wǎng)絡(luò)中只有部分隱藏結(jié)點(diǎn)和輸入有關(guān)。這種假設(shè)也就意味著該系統(tǒng)不在絕對的保證沒有對抗樣本。因?yàn)閷箻颖究梢酝ㄟ^違背假設(shè),進(jìn)而躲開系統(tǒng)的檢測。比如說,對抗樣本通過使用無關(guān)隱藏單元。
Relupex是另一個(gè)檢驗(yàn)系統(tǒng)。它使用的是線性規(guī)劃求解器,能夠適用于非常大的網(wǎng)絡(luò)。Replux對于rectified linear networks以及分段線性結(jié)構(gòu)來說,效率更高。
目前的驗(yàn)證系統(tǒng)都有一定的使用范圍,并不是通用的。它們僅在那些輸出類別是恒定,并且僅在某些特定點(diǎn)x的特定周圍時(shí)候,才會起作用。下面是該系統(tǒng)的兩個(gè)限制:
1) 我們無法窮舉近似分類器的點(diǎn)。(我們不能認(rèn)為未來的輸入的數(shù)據(jù)都是正常的數(shù)據(jù))
2) 我們所使用的臨近x的區(qū)域。都過于武斷與保守;我們傾向于使用小尺寸的Lp范數(shù)球,因?yàn)檠芯咳藛T認(rèn)同意這樣做。對于足夠小的范式球來說,所有相接近的點(diǎn)都會屬于同一類。但是實(shí)際上,真正類別所屬的區(qū)域應(yīng)該會更大,并且可能不會是規(guī)范的形狀,不會是我們所指定的形狀。
總之,要想驗(yàn)證我們的機(jī)器學(xué)習(xí)模型,我們首先要做的是定義一組正常的輸入。也就是說,我們的分類器能夠很好地進(jìn)行與判別。在大多數(shù)情況下,合法輸入集要遠(yuǎn)比測集大。研究人員需要設(shè)計(jì)驗(yàn)證技術(shù),通過驗(yàn)證技術(shù),我們就能夠有效的確保我們的機(jī)器學(xué)習(xí)模型能夠在合法數(shù)據(jù)上做出正確的判斷。機(jī)器學(xué)習(xí)經(jīng)常會有很多的挑戰(zhàn),這樣我們可能就很難達(dá)到目標(biāo)。比如說模型推廣問題。[PT10, HKW16, KBD17 ]中有相關(guān)介紹。如果是這種情況的話,使用其他領(lǐng)域的開發(fā)技術(shù)可能會使機(jī)器學(xué)習(xí)模型得到部分驗(yàn)證(更類似于某種測試):一個(gè)很好的案例是,模糊性對于計(jì)算機(jī)安全來說,有積極地影響。
因?yàn)闆]有任何一個(gè)機(jī)器學(xué)習(xí)模型是完全健壯與準(zhǔn)確地,因此我們需要考慮不存在驗(yàn)證系統(tǒng)的可能性。特別要注意的是,對于新的,之前沒有看到過但是合法的輸入x,我們很難做到推廣。
對于傳統(tǒng)的機(jī)器學(xué)習(xí)來說,有很多的理論能夠清晰地界定機(jī)器學(xué)習(xí)模型是否適應(yīng)新的測試數(shù)據(jù)。比如說,“沒有免費(fèi)的午餐”定理(NFL定理)。該理論表明,在我們將所有可能的數(shù)據(jù)集進(jìn)行平均后,所有的監(jiān)督學(xué)習(xí)分類算法在測試集上會有同樣的準(zhǔn)確率。
現(xiàn)在的我們面臨的開放問題是,NFL定理是否也同樣適用于對抗情形?我們假設(shè)我們對測試數(shù)據(jù)集進(jìn)行小規(guī)模擾動,驗(yàn)證NFL定理的時(shí)候,將這些擾動同樣考慮進(jìn)來,最終我們發(fā)現(xiàn)這個(gè)理論失效了。
根據(jù)這個(gè)問題的解決方案,攻擊方與防守方可能會有不同的結(jié)果。攻擊方會有很大的優(yōu)勢,因?yàn)槲覀兌贾李A(yù)測新的測試數(shù)據(jù)的準(zhǔn)確值在統(tǒng)計(jì)上來說會有很大的困難。倘若我們足夠幸運(yùn)的話,防守者defender可能會在眾多問題中都有很大的優(yōu)勢,這就為我們設(shè)計(jì)與驗(yàn)證魯棒性算法鋪平了道路。
有趣的是,讀者可以在[PMS16]這篇文章中找到關(guān)于該問題的初步探討。分析權(quán)衡了模型準(zhǔn)確率與對對抗性的魯棒性。表明,對抗樣本會導(dǎo)致學(xué)習(xí)器的損失變大,之后學(xué)習(xí)器將會從更大的假設(shè)中進(jìn)行篩選,并從中受益。更大的假設(shè)意味著更為復(fù)雜的假設(shè)類別,更為復(fù)雜的假設(shè)類別意味著我們對于任何分布都會有更小的損失。因此,在數(shù)據(jù)有限的情況下,我們的模型會獲得更好的適應(yīng)能力。傳統(tǒng)上來講,要想獲得更為復(fù)雜的模型,你一般需要更多的數(shù)據(jù)。
盡管驗(yàn)證從理論的角度來看是具有挑戰(zhàn)性的,但從實(shí)際的角度來看,即使是直接測試也是具有挑戰(zhàn)性的。假設(shè)研究人員提出了新的防御機(jī)制,并通過使用對抗樣本進(jìn)行檢驗(yàn)。倘若我們的模型依然會獲得很高的準(zhǔn)確率,這是否意味著防御機(jī)制是有效的?可能是吧。但是這也有可能意味著研究人員使用的attack很弱。同樣的問題也會存在攻擊機(jī)制中。
為了解決這些問題,我們開發(fā)出了CleverHans 庫。這個(gè)庫中包含了幾種攻擊和防御程序的參考實(shí)現(xiàn)。研究人員以及產(chǎn)品研發(fā)人員可以使用cleverhans來測試他們的模型對先進(jìn)攻防措施的魯棒性。通過這種方法,倘若模型經(jīng)過cleverhans攻擊依然會獲得很高的準(zhǔn)確率,那么我們就可以認(rèn)為防御很有效。反之亦然。此外,只要研究人員使用同樣的CleverHans版本與計(jì)算環(huán)境,那么就可以對他們的研究結(jié)果進(jìn)行比較。
對于機(jī)器學(xué)習(xí)模型的驗(yàn)證仍處于起步階段,目前我們所使用的方法都是避免使用不包含對抗樣本的數(shù)據(jù)集。我們希望我們的讀者可以收到啟發(fā),進(jìn)而能夠解決問題。此外,我們鼓勵(lì)研究人員可以使用CleverHanslai來提高機(jī)器學(xué)習(xí)測試在對抗環(huán)境中的可重復(fù)性。
很感謝Martin Abadi對于本文的反饋
[GBB11] Glorot, X., Bordes, A., & Bengio, Y. (2011, April). Deep Sparse Rectifier Neural Networks. In Aistats (Vol. 15, No. 106, p. 275).
[GSS14] Goodfellow, I. J., Shlens, J., & Szegedy, C. (2014). Explaining and harnessing adversarial examples. arXiv preprint arXiv:1412.6572.
[HKW16] Huang, X., Kwiatkowska, M., Wang, S., & Wu, M. (2016). Safety Verification of Deep Neural Networks. arXiv preprint arXiv:1610.06940.
[JKL09] Jarrett, K., Kavukcuoglu, K., & LeCun, Y. (2009, September). What is the best multi-stage architecture for object recognition?. In Computer Vision, 2009 IEEE 12th International Conference on (pp. 2146-2153). IEEE.
[KBD17] Katz, G., Barrett, C., Dill, D., Julian, K., & Kochenderfer, M. (2017). Reluplex: An Efficient SMT Solver for Verifying Deep Neural Networks. arXiv preprint arXiv:1702.01135.
[NH10] Nair, V., & Hinton, G. E. (2010). Rectified linear units improve restricted boltzmann machines. In Proceedings of the 27th international conference on machine learning (ICML-10) (pp. 807-814).
[PMJ16] Papernot, N., McDaniel, P., Jha, S., Fredrikson, M., Celik, Z. B., & Swami, A. (2016, March). The limitations of deep learning in adversarial settings. In 2016 IEEE European Symposium on Security and Privacy (EuroS&P) (pp. 372-387). IEEE.
[PMS16] Papernot, N., McDaniel, P., Sinha, A., & Wellman, M. (2016). Towards the Science of Security and Privacy in Machine Learning. arXiv preprint arXiv:1611.03814.
[PT10] Pulina, L., & Tacchella, A. (2010, July). An abstraction-refinement approach to verification of artificial neural networks. In International Conference on Computer Aided Verification (pp. 243-257). Springer Berlin Heidelberg.
[SZS13] Szegedy, C., Zaremba, W., Sutskever, I., Bruna, J., Erhan, D., Goodfellow, I., & Fergus, R. (2013). Intriguing properties of neural networks. arXiv preprint arXiv:1312.6199.
[V98] Vapnik, V. (1998). Statistical Learning Theory.
[W96] Wolpert, D. H. (1996). The lack of a priori distinctions between learning algorithms. Neural computation, 8(7), 1341-1390.
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。