官术网_书友最值得收藏!

前言

生活中的深度學習

深度學習自2006年產(chǎn)生之后就受到科研機構、工業(yè)界的高度關注。最初,深度學習主要用于圖像和語音領域。從2011年開始,谷歌研究院和微軟研究院的研究人員先后將深度學習應用到語音識別,使識別錯誤率下降了20%~30%G Dahl, D Yu, L Deng. Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition[J]. IEEE Transactions on Audio, Speech, and Language Processing, 2012,20(1):30-42.。2012年6月,谷歌首席架構師Jeff Dean和斯坦福大學教授Andrew Ng主導著名的Google Brain項目,采用16萬個CPU來構建一個深層神經(jīng)網(wǎng)絡,并將其應用于圖像和語音的識別,最終大獲成功。

2016年3月,AlphaGo與圍棋世界冠軍、職業(yè)九段棋手李世石進行圍棋人機大戰(zhàn),以4比1的總比分獲勝;2016年年末2017年年初,該程序在中國棋類網(wǎng)站上以“大師”(Master)為注冊賬號與中日韓數(shù)十位圍棋高手進行快棋對決,連續(xù)60局無一敗績;2017年5月,在中國烏鎮(zhèn)圍棋峰會上,它與排名世界第一的圍棋世界冠軍柯潔對戰(zhàn),以3比0的總比分獲勝。AlphaGo的成功更是把深度學習的熱潮推向了全球,成為男女老少茶余飯后關注的熱點話題。

現(xiàn)在,深度學習已經(jīng)遍地開花,在方方面面影響和改變著人們的生活,比較典型的應用包括智能家居、智能駕駛、人臉支付和智能安防。

深度學習的脆弱性

深度學習作為一個非常復雜的軟件系統(tǒng),同樣會面對各種黑客攻擊。黑客通過攻擊深度學習系統(tǒng),也可以威脅到財產(chǎn)安全、個人隱私、交通安全和公共安全(見圖0-1)。針對深度學習系統(tǒng)的攻擊,通常包括以下幾種。

圖0-1 深度學習的脆弱性

1.偷取模型

各大公司通過高薪聘請AI專家設計模型,花費大量資金、人力搜集訓練數(shù)據(jù),又花費大量資金購買GPU設備用于訓練模型,最后得到深度學習模型。深度學習模型的最終形式也就是從幾百KB到幾百MB不等的一個模型文件。深度學習模型對外提供服務的形式也主要分為云模式的API,或者私有部署到用戶的移動設備或數(shù)據(jù)中心的服務器上。針對云模式的API,黑客通過一定的遍歷算法,在調(diào)用云模式的API后,可以在本地還原出一個與原始模型功能相同或者類似的模型;針對私有部署到用戶的移動設備或數(shù)據(jù)中心的服務器上,黑客通過逆向等傳統(tǒng)安全技術,可以把模型文件直接還原出來供其使用。偷取深度學習模型的過程如圖0-2所示。

2.數(shù)據(jù)投毒

針對深度學習的數(shù)據(jù)投毒主要是指向深度學習的訓練樣本中加入異常數(shù)據(jù),導致模型在遇到某些條件時會產(chǎn)生分類錯誤。如圖0-3所示。早期的數(shù)據(jù)投毒都存在于實驗室環(huán)境,假設可以通過在離線訓練數(shù)據(jù)中添加精心構造的異常數(shù)據(jù)進行攻擊。這一攻擊方式需要接觸到模型的訓練數(shù)據(jù),而在實際環(huán)境中,絕大多數(shù)情況都是公司內(nèi)部在離線數(shù)據(jù)中訓練好模型再打包對外發(fā)布服務,攻擊者難以接觸到訓練數(shù)據(jù),攻擊難以發(fā)生。于是攻擊者把重點放到了在線學習的場景,即模型是利用在線的數(shù)據(jù),幾乎是實時學習的,比較典型的場景就是推薦系統(tǒng)。推薦系統(tǒng)會結(jié)合用戶的歷史數(shù)據(jù)以及實時的訪問數(shù)據(jù),共同進行學習和判斷,最終得到推薦結(jié)果。黑客正是利用這一可以接觸到訓練數(shù)據(jù)的機會,通過一定的算法策略,發(fā)起訪問行為,最終導致推薦系統(tǒng)產(chǎn)生錯誤。

圖0-2 偷取深度學習模型

圖0-3 針對深度學習的數(shù)據(jù)投毒

3.對抗樣本

對抗樣本由Christian Szegedy等人提出,是指在數(shù)據(jù)集中通過故意添加細微的干擾所形成的輸入樣本,這種樣本導致模型以高置信度給出一個錯誤的輸出。在正則化背景下,通過對抗訓練減少原有獨立同分布的測試集的錯誤率,在對抗擾動的訓練集樣本上訓練網(wǎng)絡Szegedy C,Zaremba W,Sutskever I,et al.Intriguing properties of neural networks[J].Computer Science,2013.

簡單地講,對抗樣本通過在原始數(shù)據(jù)上疊加精心構造的人類難以察覺的擾動,使深度學習模型產(chǎn)生分類錯誤。以圖像分類模型為例,如圖0-4所示,通過在原始圖像上疊加擾動,對于肉眼來說,擾動非常細微,圖像看起來還是熊貓,但是圖像分類模型卻會以很大的概率識別為長臂猿。

圖0-4 針對圖像分類模型的對抗樣本圖片源于文獻Ian J.Goodfellow,Jonathon Shlens,Christian Szegedy,Explaining and Harnessing Adversarial Examples, ICLR 2015。

下面以一個圖像分類模型為例,更加直接地解釋對抗樣本的基本原理。通過在訓練樣本上學習,學到一個分割平面,在分割平面一側(cè)的為綠球,在分割平面另外一側(cè)的為紅球。生成攻擊樣本的過程,就是在數(shù)據(jù)上添加一定的擾動,讓其跨越分割平面,從而把分割平面一側(cè)的紅球識別為綠球,如圖0-5所示。

圖0-5 對抗樣本的基本原理

對抗樣本按照攻擊后的效果分為Targeted Attack(定性攻擊)和Non-Targeted Attack(無定向攻擊)。區(qū)別在于Targeted Attack在攻擊前會設置攻擊的目標,比如把紅球識別為綠球,或者把面包識別為熊貓,也就是說在攻擊后的效果是確定的;Non-Targeted Attack在攻擊前不用設置攻擊目標,只要攻擊后,識別的結(jié)果發(fā)生改變即可,可能會把面包識別為熊貓,也可能識別為小豬佩琪或者小豬喬治,如圖0-6所示。

圖0-6 Targeted Attack和Non-Targeted Attack

對抗樣本按照攻擊成本分為White-Box Attack(白盒攻擊)、Black-Box Attack(黑盒攻擊)和Real-World Attack/Physical Attack(真實世界/物理攻擊)。

White-Box Attack(見圖0-7)是其中攻擊難度最低的一種,前提是能夠完整獲取模型的結(jié)構,包括模型的組成以及隔層的參數(shù)情況,并且可以完整控制模型的輸入,對輸入的控制粒度甚至可以到比特級別。由于White-Box Attack前置條件過于苛刻,通常作為實驗室的學術研究或者作為發(fā)起B(yǎng)lack-Box Attack和Real-World Attack/Physical Attack的基礎。

圖0-7 White-Box Attack

Black-Box Attack相對White-Box Attack攻擊難度具有很大提高,Black-Box Attack完全把被攻擊模型當成一個黑盒,對模型的結(jié)構沒有了解,只能控制輸入,通過比對輸入和輸出的反饋來進行下一步攻擊,見圖0-8。

圖0-8 Black-Box Attack

Real-World Attack/Physical Attack(見圖0-9)是這三種攻擊中難度最大的,除了不了解模型的結(jié)構,甚至對于輸入的控制也很弱。以攻擊圖像分類模型為例(見圖0-10),生成的攻擊樣本要通過相機或者攝像頭采集,然后經(jīng)過一系列未知的預處理后再輸入模型進行預測。攻擊中對抗樣本會發(fā)生縮放、扭轉(zhuǎn)、光照變化、旋轉(zhuǎn)等。

圖0-9 Real-World Attack/Physical Attack

圖0-10 圖像分類模型的真實世界/物理攻擊

常見檢測和加固方法

1.深度學習脆弱性檢測

檢測深度學習脆弱性的過程,其實就是發(fā)起攻擊的過程,常見的白盒攻擊算法列舉如下。

·ILCM(最相似迭代算法)

·FGSM(快速梯度算法)

·BIM(基礎迭代算法)

·JSMA(顯著圖攻擊算法)

·DeepFool(DeepFool算法)

·C/W(C/W算法)

常見的黑盒攻擊方法列舉如下。

·Single Pixel Attack(單像素攻擊)

·Local Search Attack(本地搜索攻擊)

2.深度學習脆弱性加固

針對深度學習脆弱性進行加固的常見方法主要包括以下幾種,我們將重點介紹Adversarial training。

·Feature squeezing(特征凝結(jié))

·Spatial smoothing(空間平滑)

·Label smoothing(標簽平滑)

·Adversarial training(對抗訓練)

·Virtual adversarial training(虛擬對抗訓練)

·Gaussian data augmentation(高斯數(shù)據(jù)增強)

Adversarial training如圖0-11所示,其基本思路是,常見的對抗樣本生成算法是已知的,訓練數(shù)據(jù)集也是已知的,那么可以通過常見的一些對抗樣本工具箱,比如AdvBoxhttps://github.com/baidu/AdvBox或者FoolBoxhttps://github.com/bethgelab/foolbox,在訓練數(shù)據(jù)的基礎上生成對應的對抗樣本,然后讓深度學習模型重新學習,讓它認識這些常見的對抗樣本,這樣新生成的深度學習模型就具有了一定的識別對抗樣本的能力。

與Adversarial training思路類似的是Gaussian data augmentation。Gaussian data augmentation的基本原理是,對抗樣本是在原始數(shù)據(jù)上疊加一定的擾動,這些擾動非常接近隨機的一些噪聲。Adversarial training雖然簡單易于實現(xiàn),但是技術上難以窮盡所有的攻擊樣本。Gaussian data augmentation直接在原始數(shù)據(jù)上疊加高斯噪聲,如圖0-12所示,k為高斯噪聲的系數(shù),系數(shù)越大,高斯噪聲越強https://blog.csdn.net/u012936765/article/details/53200918/,其他參數(shù)分別表示高斯噪聲的均值和標準差。Gaussian data augmentation把訓練數(shù)據(jù)疊加了噪聲后,重新輸入給深度學習模型學習,通過增加訓練輪數(shù)、調(diào)整參數(shù)甚至增加模型層數(shù),在不降低原有模型準確度的情況下,讓新生成的深度學習模型具有了一定的識別對抗樣本的能力。

圖0-11 Adversarial training原理圖

圖0-12 圖像增加高斯噪聲

對抗樣本領域的最新進展

對抗樣本是AI安全研究的一個熱點,新的攻擊算法和加固方法層出不窮,而且攻擊場景也從實驗室中的簡單圖像分類,迅速擴展到智能音箱、無人駕駛等領域。百度安全實驗室的最新研究報告《感知欺騙:基于深度神經(jīng)網(wǎng)絡(DNN)下物理性對抗攻擊與策略》成功入選BlackHat Europe 2018。報告展現(xiàn)了讓物體在深度學習系統(tǒng)的“眼”中憑空消失,在AI時代重現(xiàn)了大衛(wèi)·科波菲爾的經(jīng)典魔法。針對深度學習模型漏洞進行物理攻擊可行性研究有著廣泛的應用前景,在自動駕駛領域、智能安防領域、物品自動鑒定領域都有重要的實際意義。

如圖0-13所示,在時間t0的時候,當在車后顯示器中顯示正常logo時,YOLOv3可以正確識別目標車輛,而在t1時,切換到擾動后的圖片時,它可以立刻讓目標車輛在YOLOv3面前變得無法辨識;在t2時,如圖0-14所示切換回正常的圖片,YOLOv3重新可以識別目標車輛。這是首次針對車輛的物理攻擊的成功展示,與以往的學術論文相比,在攻擊目標的大小、分辨率的高低以及物理環(huán)境的復雜性等方面,在影響和難度上都是一個巨大提升。

圖0-13 t0時可以正常識別出車輛,t1時無法識別出車輛

圖0-14 t2時可以正常識別出車輛

Kan Yuan和Di Tang等人在論文《Stealthy Porn:Understanding Real-World Adversarial Images for Illicit Online Promotion》中介紹了黑產(chǎn)如何通過單色化、加噪聲、增加文字、仿射變化、濾波模糊化和遮蓋等方式讓違規(guī)圖片繞過目前主流的圖片內(nèi)容檢測服務。這也標志著對抗樣本技術已經(jīng)從實驗室環(huán)境真正進入了網(wǎng)絡對抗實戰(zhàn)。

國內(nèi)安全人員在對抗樣本領域的研究成果得到了國際的普遍認可。朱軍等人指導的清華大學團隊曾在NIPS 2017對抗樣本攻防競賽中奪冠,紀守領老師所在的NESA Lab提出了一種新型的對抗性驗證碼,能防范來自打碼平臺等黑產(chǎn)的破解。

主站蜘蛛池模板: 赤壁市| 西安市| 鲁甸县| 京山县| 西畴县| 廊坊市| 平度市| 宾阳县| 四川省| 遂溪县| 通江县| 上林县| 石首市| 安吉县| 乌拉特中旗| 抚顺市| 家居| 治县。| 潍坊市| 文安县| 安宁市| 万源市| 如东县| 正宁县| 宜章县| 牡丹江市| 锡林浩特市| 永宁县| 确山县| 乌兰察布市| 特克斯县| 浮梁县| 庆安县| 博白县| 油尖旺区| 大余县| 汉寿县| 金昌市| 东港市| 周宁县| 大竹县|