[当人工智能遇上安全] 1.人工智能真的安全吗?浙大团队外滩大会分享AI对抗样本技术
您或許知道,作者后續(xù)分享網(wǎng)絡(luò)安全的文章會越來越少。但如果您想學(xué)習(xí)人工智能和安全結(jié)合的應(yīng)用,您就有福利了,作者將重新打造一個《當(dāng)人工智能遇上安全》系列博客,詳細介紹人工智能與安全相關(guān)的論文、實踐,并分享各種案例,涉及惡意代碼檢測、惡意請求識別、入侵檢測、對抗樣本等等。只想更好地幫助初學(xué)者,更加成體系的分享新知識。該系列文章會更加聚焦,更加學(xué)術(shù),更加深入,也是作者的慢慢成長史。換專業(yè)確實挺難的,系統(tǒng)安全也是塊硬骨頭,但我也試試,看看自己未來四年究竟能將它學(xué)到什么程度,漫漫長征路,偏向虎山行。享受過程,一起加油~
第一篇文章將帶領(lǐng)大家復(fù)習(xí)AI對抗樣本技術(shù),總結(jié)大佬們的分享。基礎(chǔ)性入門文章,希望對您有所幫助。作者作為網(wǎng)絡(luò)安全的小白,分享一些自學(xué)基礎(chǔ)教程給大家,主要是在線筆記,希望您們喜歡。同時,更希望您能與我一起操作和進步,后續(xù)將深入學(xué)習(xí)AI安全和系統(tǒng)安全知識并分享相關(guān)實驗。總之,希望該系列文章對博友有所幫助,寫文不易,大神們不喜勿噴,謝謝!如果文章對您有幫助,將是我創(chuàng)作的最大動力,點贊、評論、私聊均可,一起加油喔!
外灘大會 AI安全-智能時代的攻守道Deep Learning Security: From the NLP Perspective
浙江大學(xué)
AI技術(shù)蓬勃發(fā)展,無論是金融服務(wù)、線下生活、還是醫(yī)療健康都有AI的影子,那保護好這些AI系統(tǒng)的安全是非常必要也是非常重要的。目前,AI安全是一個非常新的領(lǐng)域,是學(xué)界、業(yè)界都共同關(guān)注的熱門話題,本論壇將邀請AI安全方面的專家,分享交流智能時代的功守道,推動和引領(lǐng)業(yè)界在AI安全領(lǐng)域的發(fā)展。
本次論壇的題目為“AI安全-智能時代的攻守道”,其中武漢大學(xué)王騫院長分享了語音系統(tǒng)的對抗性攻防,浙江大學(xué)紀(jì)守領(lǐng)研究員分享了NLP中的安全,浙江大學(xué)秦湛研究員分享了深度學(xué)習(xí)中的數(shù)據(jù)安全新型攻防,來自螞蟻集團的宗志遠老師分享了AI安全對抗防御體系,任奎院長分享了AI安全白皮書。本文主要講解NLP中的AI安全和白皮書相關(guān)知識,希望對您有所幫助。這些大佬是真的值得我們?nèi)W(xué)習(xí),獻上小弟的膝蓋~fighting!
PS:順便問一句,你們喜歡這種會議講座方式的分享嗎?
擔(dān)心效果不好,如果不好我就不分享和總結(jié)類似的會議知識了,歡迎評論給我留言。
文章目錄
- 一.AI安全白皮書
- 1.AI模型安全問題
- 2.AI數(shù)據(jù)安全問題
- 3.AI承載系統(tǒng)安全問題
- 4.防御方法
- 二.從NLP視角看機器學(xué)習(xí)模型安全
- 三.對抗文本TextBugger
- 1.論文貢獻
- 2.白盒攻擊
- 3.黑盒攻擊
- 4.實驗評估
- 四.中文對抗文本
- 五.總結(jié)
一.AI安全白皮書
隨著人工智能日益發(fā)展,自動駕駛、人臉識別、語音識別等技術(shù)被廣泛應(yīng)用,同時帶來的是嚴(yán)峻的AI安全問題。常見的安全問題包括:
- 自動駕駛系統(tǒng)錯誤識別路牌
- 自然語言處理系統(tǒng)錯誤識別語義
- 語音識別系統(tǒng)錯誤識別用戶指令
當(dāng)今的AI安全非常重視四種性能,包括:
- 保密性
涉及的數(shù)據(jù)與模型信息不會泄露給沒有授權(quán)的人 - 完整性
算法模型、數(shù)據(jù)、基礎(chǔ)設(shè)施和產(chǎn)品不被惡意植入篡改替換偽造 - 魯棒性
能同時抵御復(fù)雜的環(huán)境條件和非正常的惡意干擾 - 隱私性
AI模型在使用過程中能夠保護數(shù)據(jù)主體的數(shù)據(jù)隱私
針對這四種性能的AI攻擊層出不窮,比如推斷攻擊、對抗樣本、投毒攻擊、模型竊取等。
因此,任奎院長帶來了《AI安全白皮書》的分享。
浙江大學(xué)和螞蟻集團合作,他們調(diào)研了近年來發(fā)表在安全、人工智能等領(lǐng)域國際會議與期刊上的300余篇攻防技術(shù)研究成果,聚焦模型、數(shù)據(jù)、承載三個維度的安全威脅與挑戰(zhàn),梳理了AI安全的攻擊與防御技術(shù)。根據(jù)真實場景中AI技術(shù)面臨的安全問題,總結(jié)提出AI應(yīng)用系統(tǒng)的一站式安全解決方案(AISDL),并共同推出了《AI安全白皮書》。整個框架如下圖所示:
他們經(jīng)過梳理,將AI技術(shù)面臨的威脅歸為三大類,分別是:
- AI模型安全問題
模型完整性威脅 => 數(shù)據(jù)投毒攻擊
模型魯棒性威脅 => 對抗樣本攻擊 - AI數(shù)據(jù)安全問題
模型參數(shù)泄露 => 模型替代攻擊
數(shù)據(jù)隱私泄露 => 模型逆向攻擊 - AI承載系統(tǒng)安全問題
硬件設(shè)備安全問題 => 電路擾動攻擊
系統(tǒng)軟件安全問題 => 代碼注入攻擊
在介紹三種安全問題之前,作者首先給大家普及下什么是對抗樣本?
對抗樣本指的是一個經(jīng)過微小調(diào)整就可以讓機器學(xué)習(xí)算法輸出錯誤結(jié)果的輸入樣本。在圖像識別中,可以理解為原來被一個卷積神經(jīng)網(wǎng)絡(luò)(CNN)分類為一個類(比如“熊貓”)的圖片,經(jīng)過非常細微甚至人眼無法察覺的改動后,突然被誤分成另一個類(比如“長臂猿”)。再比如無人駕駛的模型如果被攻擊,Stop標(biāo)志可能被汽車識別為直行、轉(zhuǎn)彎。
對抗樣本的經(jīng)典流程如下圖所示——GU等人提出的BadNets。
它通過惡意(poisoning)訓(xùn)練數(shù)據(jù)集來注入后門,具體如下:
- 首先攻擊者選擇一個目標(biāo)標(biāo)簽和觸發(fā)器圖案,它是像素和相關(guān)色彩強度的集合。圖案可能類似于任意形狀,例如正方形。
- 接下來,將訓(xùn)練圖像的隨機子集用觸發(fā)器圖案標(biāo)記,并將它們的標(biāo)簽修改為目標(biāo)標(biāo)簽。
- 然后用修改后的訓(xùn)練數(shù)據(jù)對DNN進行訓(xùn)練,從而注入后門。
由于攻擊者可以完全訪問訓(xùn)練過程,所以攻擊者可以改變訓(xùn)練的結(jié)構(gòu),例如,學(xué)習(xí)速率、修改圖像的比率等,從而使被后門攻擊的DNN在干凈和對抗性的輸入上都有良好的表現(xiàn)。BadNets顯示了超過99%的攻擊成功率(對抗性輸入被錯誤分類的百分比),而且不影響MNIST中的模型性能。下圖右下角的觸發(fā)器(后門)導(dǎo)致了神經(jīng)網(wǎng)絡(luò)訓(xùn)練學(xué)習(xí)錯誤地類別,將Label5和Label7預(yù)測為Label4。
PS:在下一篇文章中我們會詳細講解AI數(shù)據(jù)安全和AI語音安全論文,這篇文章主要針對NLP文本的對抗樣本分享,望您喜歡!
1.AI模型安全問題
(1) 模型完整性威脅=>數(shù)據(jù)投毒攻擊
攻擊者在正常訓(xùn)練集中加入少量的毒化數(shù)據(jù),破壞模型完整性,操縱AI判斷結(jié)果。模型偏移會使模型對好壞輸入的分類發(fā)生偏移,降低模型的準(zhǔn)確率。同時,后門攻擊不影響模型的正常使用,只在攻擊者設(shè)定的特殊場景使模型出現(xiàn)錯誤。
(2) 模型魯棒性威脅=>對抗性樣本攻擊
攻擊者在模型測試階段,向輸入樣本加入對抗擾動,破壞模型魯棒性,操縱AI判斷結(jié)果。
- 不同限制條件
擾動、對抗補丁、非限制性對抗攻擊 - 不同威脅模型
白盒攻擊、灰盒攻擊、黑盒攻擊 - 不同應(yīng)用場景
圖像識別、3D物體識別、音頻識別、文本分類
深度學(xué)習(xí)模型通常都存在模型魯棒性缺乏的問題,一方面由于環(huán)境因素多變,包括AI模型在真實使用過程中表現(xiàn)不夠穩(wěn)定,受光照強度、視角角度距離、圖像仿射變換、圖像分辨率等影響,從而導(dǎo)致訓(xùn)練數(shù)據(jù)難以覆蓋現(xiàn)實場景的全部情況。另一方面模型的可解釋性不足,深度學(xué)習(xí)模型是一個黑箱,模型參數(shù)數(shù)量巨大、結(jié)構(gòu)復(fù)雜,沒有惡意攻擊的情況下,可能出現(xiàn)預(yù)期之外的安全隱患,阻礙AI技術(shù)在醫(yī)療、交通等安全敏感性高的場景下使用。
任老師他們團隊的相關(guān)工作包括分布式對抗攻擊和面向三維點云的對抗攻擊等。
2.AI數(shù)據(jù)安全問題
AI數(shù)據(jù)安全簡單來說就是通過構(gòu)造特定數(shù)據(jù)集,結(jié)合模型預(yù)測的結(jié)果來獲取深度學(xué)習(xí)模型的參數(shù)或數(shù)據(jù)。如下圖所示,通過模型逆向攻擊重建圖像,深度學(xué)習(xí)模型泄露了訓(xùn)練數(shù)據(jù)中的敏感信息。
AI數(shù)據(jù)安全包括模型參數(shù)泄露和訓(xùn)練數(shù)據(jù)泄露,具體如下圖所示。模型參數(shù)泄露攻擊方法包括方程求解攻擊、基于Meta-model的模型竊取、模型替代攻擊;訓(xùn)練數(shù)據(jù)泄露包括輸出向量泄露和梯度更新泄露,方法包括成員推斷攻擊、模型逆向攻擊、分布式模型梯度攻擊。
任老師他們做的相關(guān)工作包括:
- 基于梯度更新的數(shù)據(jù)泄露
針對聯(lián)邦學(xué)習(xí)框架,攻擊者可以通過用戶上傳的梯度更新重構(gòu)特定用戶的隱私數(shù)據(jù)
- 模型逆向攻擊
首個對商用用戶識別模型的逆向攻擊(CCS’ 19)
3.AI承載系統(tǒng)安全問題
(1) 硬件設(shè)備安全問題
- 攻擊者直接接觸硬件設(shè)備,添加電路層面擾動,偽造數(shù)據(jù)。導(dǎo)致模型誤判、指令跳轉(zhuǎn)、系統(tǒng)奔潰等嚴(yán)重后果,每次推導(dǎo)后被正確數(shù)據(jù)覆蓋,攻擊隱蔽且難以檢測。
- 攻擊者測量硬件系統(tǒng)的電磁、功能泄露,獲取模型粗粒度超參數(shù),為模型竊取提供先驗知識。模型不同層、激活函數(shù)等運行過程中的泄露信息存在固定模式,或者利用旁路分析方法恢復(fù)模型超參數(shù)。
(2) 系統(tǒng)與軟件安全問題
- AI系統(tǒng)與軟件安全漏洞導(dǎo)致關(guān)鍵數(shù)據(jù)篡改、模型誤判、系統(tǒng)崩潰或被劫持控制流等嚴(yán)重后果。
- 代碼注入攻擊、控制流劫持攻擊、數(shù)據(jù)流攻擊等多維度攻擊層出不窮,并在新環(huán)境下不斷演化。同時,AI系統(tǒng)模塊眾多、結(jié)構(gòu)復(fù)雜、在可擴展性方面存在不足,復(fù)雜場景下的攻擊檢測和安全威脅發(fā)現(xiàn)存在較大難題。
4.防御方法
(1) 模型安全性增強
面向模型完整性威脅的防御
- 數(shù)據(jù)毒化:利用頻譜特征比較、聚類算法等手段檢測含有后門的輸入數(shù)據(jù)
- 模型毒化:使用剪枝、微調(diào)、檢測與重訓(xùn)練等方法來消除模型的后門特征
面向模型魯棒性威脅的防御
- 對抗訓(xùn)練:把良性樣本和對抗樣本同時納入訓(xùn)練階段對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練
- 輸入預(yù)處理:通過濾波、位深度減小、輸入清理等處理操作,消除輸入數(shù)據(jù)中的對抗性擾動
- 特異性防御算法:使用蒸餾算法、特征剪枝、隨機化等算法對深度學(xué)習(xí)模型進行優(yōu)化
(2) 模型安全性增強
- 模型結(jié)構(gòu)防御
降低模型的過擬合程度,從而實現(xiàn)對模型泄露和數(shù)據(jù)泄露的保護 - 信息混淆防御
對模型的預(yù)測結(jié)果做模糊操作,干擾輸出結(jié)果中包含的有效信息,減少隱私信息的泄露 - 查詢控制防御
根據(jù)用戶的查詢進行特征提取,分辨攻擊者與一般用戶,從而對攻擊者的行為進行限制或拒絕服務(wù)
(3) 系統(tǒng)安全性防御
硬件安全保護
- 關(guān)鍵數(shù)據(jù)加密:保障系統(tǒng)內(nèi)部關(guān)鍵數(shù)據(jù)安全,防止旁路攻擊
- 硬件故障檢測:實時檢測電路故障并作出相應(yīng),確保不會被攻擊者破壞劫持
軟件安全保護
- 權(quán)限分級管理:保證模型數(shù)據(jù)只能被可信任的程序訪問調(diào)用
- 操作行為可溯源:保留核心數(shù)據(jù)生命周期內(nèi)的操作記錄
最后他們和螞蟻集團提出一種AI模型安全開發(fā)聲生命周期——AI SDL,分階段引入安全和隱私保護原則,實現(xiàn)有安全保證的AI開發(fā)過程。
最后總結(jié):
- 白皮書介紹了模型、數(shù)據(jù)與承載系統(tǒng)面臨的安全威脅以及防御手段,給出了AI應(yīng)用的一站式安全解決方案
- 在攻防中迭代更新的安全技術(shù),新的行業(yè)門口
- 降低合規(guī)成本,減少業(yè)務(wù)損失,開辟新的業(yè)務(wù)
二.從NLP視角看機器學(xué)習(xí)模型安全
在圖像領(lǐng)域和語音領(lǐng)域都存在很多對抗樣本攻擊(Adversarial Attack),比如一段“How are you”的語音增加噪聲被識別成“Open the door”,再如智能音響中增加噪聲發(fā)起語音攻擊等等。
那么,在文本領(lǐng)域也存在對抗樣本攻擊嗎?自然語言處理(Natural Language Processing,NLP)的機器學(xué)習(xí)服務(wù)(MLaaS)是否也容易受到對抗樣本攻擊呢?
首先,給大家普及下自然語言處理。常見的應(yīng)用包括:
- 機器翻譯
- 信息檢索
- 情感分析
- 自動問答
- 自動文摘
- 知識圖譜
- …
本篇博客主要介紹針對情感分類的對抗文本,所以介紹下情感分類的基礎(chǔ)。深度學(xué)習(xí)在處理文本時,NLP通常要將文本進行分詞、數(shù)據(jù)清洗、詞頻計算,然后轉(zhuǎn)換成對應(yīng)的詞向量或TF-IDF矩陣,再進行相似度計算或文本分類,當(dāng)某種情感(積極\消極)的特征詞出現(xiàn)較多,則預(yù)測為該類情感。那么,能否讓深度學(xué)習(xí)模型總是預(yù)測錯誤呢?
NLP的對抗樣本攻擊和圖像或語音的對抗樣本存在很大的差異性,具體區(qū)別如下:
- 圖像(像素)連續(xù) vs 文本離散
- 像素微小改變擾動小 vs 文本改變擾動易覺察
- 連續(xù)空間優(yōu)化方法很多 vs 離散空間不方便優(yōu)化
- 文本語義問題、歧義問題
由于圖片和文本數(shù)據(jù)內(nèi)在的不同,用于圖像的對抗攻擊方法無法直接應(yīng)用與文本數(shù)據(jù)上。首先,圖像數(shù)據(jù)(例如像素值)是連續(xù)的,但文本數(shù)據(jù)是離散的。其次,僅僅對像素值進行微小的改變就可以造成圖像數(shù)據(jù)的擾動,而且這種擾動是很難被人眼察覺的。但是對于文本的對抗攻擊中,小的擾動很容易被察覺,但人類同樣能「猜出」本來表達的意義。因此 NLP 模型需要對可辨識的特征魯棒,而不像視覺只需要對「不太重要」的特征魯棒。
DeepWordBug
下圖是DeepWordBug的深度網(wǎng)絡(luò)攻擊示例(選自 arXiv:1902.07285),展示了文本對抗樣本的基本流程。正常深度學(xué)習(xí)預(yù)測的情感為positive,但修改某些關(guān)鍵詞后(place
heart),它的情感分類結(jié)果為negative。
- 代碼下載:https://github.com/QData/deepWordBug
與圖像領(lǐng)域一樣,有進攻就會有防御,目前也有很多研究嘗試構(gòu)建更魯棒的自然語言處理模型。推薦大家閱讀CMU的一篇對抗性拼寫錯誤論文(arXiv:1905.11268)中,研究者通過移除、添加或調(diào)序單詞內(nèi)部的字符,以構(gòu)建更穩(wěn)健的文本分類模型。這些增減或調(diào)序都是一種擾動,就像人類也很可能出現(xiàn)這些筆誤一樣。通過這些擾動,模型能學(xué)會如何處理錯別字,從而不至于對分類結(jié)果產(chǎn)生影響。
- 參考文獻:NLP中的對抗樣本 - 山竹小果
下面開始介紹紀(jì)老師他們開展的工作。
三.對抗文本TextBugger
TextBugger: Generating Adversarial Text Against Real-world Applications
這篇論文發(fā)表在NDSS 2019,主要提出了生成文本對抗樣本的模型TextBugger,用于生成文本對抗樣本。其優(yōu)勢如下:
- 有效(effective): 攻擊成功率超出之前的模型
- 隱蔽(evasive): 保留正常文本的特點
- 高效(efficient: 高效生成對抗性文本,運算速度是文本長度的次線性
原文地址:
- https://arxiv.org/abs/1812.05271
1.論文貢獻
文本對抗在應(yīng)用中越來越重要,而圖像對抗中的方法不能直接用于文本。之前的對抗樣本生成模型有著下述的缺點:
- 在計算上不夠高效
- 在白盒環(huán)境攻擊
- 需要手動干預(yù)
- 都是針對某一個模型,不具備泛化性
本文提出了一個新框架TextBugger,可生成黑箱和白箱場景下的保持樣本原意的對抗樣本。在白箱場景下,可以通過計算雅各比矩陣來找到句子中的關(guān)鍵詞;在黑箱場景下,可以先找到最重要的句子,再使用一個評分函數(shù)來尋找句子中的關(guān)鍵詞。在真實世界的分類器中使用了對抗樣本,取得了不錯的效果。具體貢獻包括:
- 提出TextBugger框架,能夠在黑箱和白箱場景下生成高效對抗樣本
- 對TextBugger框架進行了評測,證明了其的效率和有效性
- 證明TextBugger對于人類理解只有輕微影響
- 討論了兩種防御策略,以增強文本分類模型魯棒性
具體實驗環(huán)境如下圖所示,數(shù)據(jù)集為IMDB和Rotten Tomatoes Movie Reviews數(shù)據(jù)集,都是對影評數(shù)據(jù)進行情感分析的數(shù)據(jù)集。目標(biāo)模型為:
- 白盒攻擊:針對LR、CNN 和 LSTM 模型
- 黑盒攻擊:真實線上模型,如Google Cloud NLP、IBM Waston Natural Language Understanding (IBM Watson)、Microsoft Azure Text Analytics (Microsoft Azure)、Amazon AWS Comprehend (Amazon AWS)、Facebook fast-Text (fastText)、ParallelDots、TheySay Sentiment、Aylien Sentiment、TextProcessing、Mashape Sentiment 等參數(shù)未知的模型
基線算法為:
- 隨機算法:每個句子,隨機選擇10%的單詞來修改。
- FGSM+NNS:使用快速梯度符號法尋找單詞嵌入層的最佳擾動,再在詞典中通過最近鄰搜索的方式尋找到最接近的單詞。
- DeepFool+NNS:使用DeepFool方法尋找穿越多分類問題決策邊界的方向,進而找到最佳擾動,再在詞典中通過最近鄰搜索的方法尋找最接近的單詞。
PS:該部分參考“人帥也要多讀書”老師的理解。
對抗攻擊分類
對抗攻擊的分類有很多種,從攻擊環(huán)境來說,可以分為黑盒攻擊、白盒攻擊或灰盒攻擊.
- 黑盒攻擊:攻擊者對攻擊模型的內(nèi)部結(jié)構(gòu)、訓(xùn)練參數(shù)、防御方法等一無所知,只能通過輸出與模型進行交互。
- 白盒攻擊:與黑盒模型相反,攻擊者對模型一切都可以掌握。目前大多數(shù)攻擊算法都是白盒攻擊。
- 灰盒攻擊:介于黑盒攻擊和白盒攻擊之間,僅僅了解模型的一部分。例如僅僅拿到模型的輸出概率,或者只知道模型結(jié)構(gòu),但不知道參數(shù)。
從攻擊的目的來說,可以分為有目標(biāo)攻擊和無目標(biāo)攻擊。
- 無目標(biāo)攻擊:以圖片分類為例,攻擊者只需要讓目標(biāo)模型對樣本分類錯誤即可,但并不指定分類錯成哪一類。
- 有目標(biāo)攻擊:攻擊者指定某一類,使得目標(biāo)模型不僅對樣本分類錯誤并且需要錯成指定的類別。從難度上來說,有目標(biāo)攻擊的實現(xiàn)要難于無目標(biāo)攻擊。
2.白盒攻擊
白盒攻擊:通過雅各比矩陣找到最重要的單詞,再生成五種類型的bug,根據(jù)置信度找到最佳的那一個。TextBugger整個框架如下圖所示。
白盒攻擊通過雅可比矩陣找到最重要的單詞,算法流程如下:
- Step 1: Find Important Words (line 2-5)
找到最重要單詞,通過雅各比矩陣來找 - Step 2: Bugs Generation (line 6-14)
bug生成。為了保證生成的對抗樣本在視覺上和語義上都和原樣本一致,擾動要盡量小。考慮兩種層次的擾動,字母級擾動和單詞級擾動
作者發(fā)現(xiàn)在一些詞嵌入模型中(如word2vec),“worst”和“better”等語義相反的詞在文本中具有高度的句法相似性,因此“better”被認(rèn)為是“worst”的最近鄰。以上顯然是不合理的,很容易被人察覺。因此使用了語義保留技術(shù),即將該單詞替換為上下文感知的單詞向量空間中的top-k近鄰。使用斯坦福提供的預(yù)先訓(xùn)練好的 GloVe模型 進行單詞嵌入,并設(shè)置topk為5,從而保證鄰居在語義上與原來的鄰居相似。
TextBugger提出了五種對抗樣本生成方法,如下圖所示:
- 插入空格
插入一個空格到單詞中 - 刪除字符
刪除除第一個字符和最后一個字符外的任意字符 - 替換字符
交換單詞中除了開頭和結(jié)尾的兩個字母 - 視覺相似
替換視覺上相似的字母(比如“o”和“0”、“l(fā)”和“1”)和在鍵盤上挨著比較近的字母(比如“m”和“n”) - 上下文感知詞向量,最近鄰替換(word2vec->GloVe)
使用情境感知空間中距離最近的k個單詞來進行替換
將使用候選詞生成的對抗樣本輸入模型,得到對應(yīng)類別的置信度,選取讓置信度下降最大的詞。如果替換掉單詞后的對抗樣本與原樣本的語義相似度大于閾值,對抗樣本生成成功。如果未大于閾值,則選取下一個單詞進行修改。
3.黑盒攻擊
在黑盒場景下,沒有梯度的指示,所以首先找最重要的句子,然后通過打分函數(shù)找到最重要的單詞。具體攻擊分為三個步驟:
- Step1: 找到重要的句子
第一步尋找重要句子。將文檔分為多個句子,逐句作為輸入,查看分類結(jié)果。這樣可以過濾掉那些對于預(yù)測標(biāo)簽不重要的單句,剩下的句子也可根據(jù)置信度來排序了。 - Step2: 根據(jù)分類結(jié)果,使用評分函數(shù)來確定每個單詞的重要性,并根據(jù)得分對單詞進行排序
第二步尋找重要的詞。考慮到所有可能的修改,應(yīng)該首先發(fā)現(xiàn)句子中最重要的詞,再輕微地進行修改以保證對抗樣本與原樣本的語義相似性。要想評估一個單詞的重要性,可以使用去除之前的置信度與去除后的置信度的差來評估。 - Step3: 使用bug選擇算法改變選擇的單詞
第三步bug生成。此步驟與白盒攻擊中的步驟基本一致。
4.實驗評估
主要使用編輯距離、杰卡德相似系數(shù)、歐氏距離和語義相似度進行評估。下表展示了論文中方法在白箱環(huán)境和黑箱環(huán)境下的表現(xiàn),可以看出與之前的方法相比有很大的優(yōu)勢。
下圖展示了對抗文本中的重要單詞。根據(jù)算法攻擊單詞的頻率,就可以知道對于某一類別影響最大的單詞,比如“bad”, “awful”, “stupid”, “worst”, “terrible”這些詞就是消極類別中的關(guān)鍵詞。
下圖是論文算法產(chǎn)生的對抗樣本實例,通過簡單的單詞級別的攻擊對分類關(guān)鍵詞進行了處理,進而達到了攻擊的效果,可以看到目標(biāo)類別和攻擊后的類別差別很大。具體修改比如:
- awful => awf ul
- cliches => clichs
- foolish => fo0ilsh
- terrible => terrib1e
實驗數(shù)據(jù)表明,文檔的長度對于攻擊成功率影響不大,但更長的文本對于錯誤分類的置信度會下降。文檔長度越長,攻擊所需時長也就更長,這在直觀上較好理解。
總結(jié)
本論文算法的特點總結(jié)如下:首先,算法同時使用了字母級別和單詞級別的擾動;其次,論文評估了算法的效率;最后,論文使用算法在眾多在線平臺上進行了實驗,證明了算法的普適性和魯棒性。同時,現(xiàn)存的防御方法只集中在的圖像領(lǐng)域,而在文本領(lǐng)域比較少,對抗訓(xùn)練的方法也只應(yīng)用于提高分類器的準(zhǔn)確性而非防御對抗樣本。
四.中文對抗文本
目前看到的很多論文都是介紹英文的對抗文本攻擊,但是中文同樣存在,并且由于中文語義和分詞,其攻擊和防御難度更大,接下來紀(jì)老師他們分享了正在開展的一個工作。但由于這部分介紹很快,這里僅放出當(dāng)時拍攝的相關(guān)PPT,請大家下來進行研究,我感覺word2vec語義知識能做一些事情。
- Query-efficient Decision-based Attack Against Chinese NLP Systems
隨著對抗樣本發(fā)展,火星文字越來越多,它們一定程度上能夠繞過我們新聞平臺、社交網(wǎng)絡(luò)、情感模型,比如“微信”修改為“薇心”、“玥發(fā)叁仟”等詞語。中文的對抗文本某種程度上難度更高,那么怎么解決呢?
紀(jì)老師他們團隊提出了CTbugger(Adversarial Chinese Text),其框架如下圖所示,通過對深度學(xué)習(xí)模型進行惡意文本攻擊從而生成對應(yīng)的中文對抗文本。
另一塊工作是TextShield,其框架如下圖所示:
五.總結(jié)
最后給出總結(jié)的相關(guān)文獻,大家可以去了解學(xué)習(xí)。真的非常感謝所有老師的分享,學(xué)到很多知識,也意識到自己的不足。我自己也需要思考一些問題:
- 如何將對抗樣本和深度學(xué)習(xí)與惡意代碼分析結(jié)合
- 如何結(jié)合AI技術(shù)完成二進制分析,并且實現(xiàn)特征的可解釋性分析
學(xué)術(shù)或許是需要天賦的,這些大佬真值得我們學(xué)習(xí),頂會論文要堅持看,科研實驗不能間斷。同時自己會繼續(xù)努力,爭取靠后天努力來彌補這些鴻溝,更重要的是享受這種奮斗的過程,加油!雖然自己的技術(shù)和科研都很菜,安全也非常難,但還是得苦心智,勞筋骨,餓體膚。感恩親人的支持,也享受這個奮斗的過程。月是故鄉(xiāng)圓,佳節(jié)倍思親。
最后給出“山竹小果”老師歸納的對抗樣本相關(guān)論文:
(1) 文本攻擊與防御的論文概述
- Analysis Methods in Neural Language Processing: A Survey. Yonatan Belinkov, James Glass. TACL 2019.
- Towards a Robust Deep Neural Network in Text Domain A Survey. Wenqi Wang, Lina Wang, Benxiao Tang, Run Wang, Aoshuang Ye. 2019.
- Adversarial Attacks on Deep Learning Models in Natural Language Processing: A Survey. Wei Emma Zhang, Quan Z. Sheng, Ahoud Alhazmi, Chenliang Li. 2019.
(2) 黑盒攻擊
- PAWS: Paraphrase Adversaries from Word Scrambling. Yuan Zhang, Jason Baldridge, Luheng He. NAACL-HLT 2019.
- Text Processing Like Humans Do: Visually Attacking and Shielding NLP Systems. Steffen Eger, G?zde Gül ?Sahin, Andreas Rücklé, Ji-Ung Lee, Claudia Schulz, Mohsen Mesgar, Krishnkant Swarnkar, Edwin Simpson, Iryna Gurevych.NAACL-HLT 2019.
- Adversarial Over-Sensitivity and Over-Stability Strategies for Dialogue Models. Tong Niu, Mohit Bansal. CoNLL 2018.
- Generating Natural Language Adversarial Examples. Moustafa Alzantot, Yash Sharma, Ahmed Elgohary, Bo-Jhang Ho, Mani Srivastava, Kai-Wei Chang. EMNLP 2018.
- Breaking NLI Systems with Sentences that Require Simple Lexical Inferences. Max Glockner, Vered Shwartz, Yoav Goldberg ACL 2018.
- AdvEntuRe: Adversarial Training for Textual Entailment with Knowledge-Guided Examples. Dongyeop Kang, Tushar Khot, Ashish Sabharwal, Eduard Hovy. ACL 2018.
- Semantically Equivalent Adversarial Rules for Debugging NLP Models. Marco Tulio Ribeiro, Sameer Singh, Carlos Guestrin ACL 2018.
- Robust Machine Comprehension Models via Adversarial Training. Yicheng Wang, Mohit Bansal. NAACL-HLT 2018.
- Adversarial Example Generation with Syntactically Controlled Paraphrase Networks. Mohit Iyyer, John Wieting, Kevin Gimpel, Luke Zettlemoyer. NAACL-HLT 2018.
- Black-box Generation of Adversarial Text Sequences to Evade Deep Learning Classifiers. Ji Gao, Jack Lanchantin, Mary Lou Soffa, Yanjun Qi. IEEE SPW 2018.
- Synthetic and Natural Noise Both Break Neural Machine Translation. Yonatan Belinkov, Yonatan Bisk. ICLR 2018.
- Generating Natural Adversarial Examples. Zhengli Zhao, Dheeru Dua, Sameer Singh. ICLR 2018.
Adversarial Examples for Evaluating Reading Comprehension Systems. Robin Jia, and Percy Liang. EMNLP 2017.
(3) 白盒攻擊
- On Adversarial Examples for Character-Level Neural Machine Translation. Javid Ebrahimi, Daniel Lowd, Dejing Dou. COLING 2018.
- HotFlip: White-Box Adversarial Examples for Text Classification. Javid Ebrahimi, Anyi Rao, Daniel Lowd, Dejing Dou. ACL 2018.
- Towards Crafting Text Adversarial Samples. Suranjana Samanta, Sameep Mehta. ECIR 2018.
(4) 同時探討黑盒和白盒攻擊
- TEXTBUGGER: Generating Adversarial Text Against Real-world Applications. Jinfeng Li, Shouling Ji, Tianyu Du, Bo Li, Ting Wang. NDSS 2019.
- Comparing Attention-based Convolutional and Recurrent Neural Networks: Success and Limitations in Machine Reading Comprehension. Matthias Blohm, Glorianna Jagfeld, Ekta Sood, Xiang Yu, Ngoc Thang Vu. CoNLL 2018.
- Deep Text Classification Can be Fooled. Bin Liang, Hongcheng Li, Miaoqiang Su, Pan Bian, Xirong Li, Wenchang Shi.IJCAI 2018.
(5) 對抗防御
- Combating Adversarial Misspellings with Robust Word Recognition. Danish Pruthi, Bhuwan Dhingra, Zachary C. Lipton. ACL 2019.
評估
(6) 對文本攻擊和防御研究提出新的評價方法
- On Evaluation of Adversarial Perturbations for Sequence-to-Sequence Models. Paul Michel, Xian Li, Graham Neubig, Juan Miguel Pino. NAACL-HLT 2019
參考文獻:
感謝這些大佬和老師們的分享和總結(jié),秀璋受益匪淺,再次感激。
[1] AI安全 - 智能時代的攻守道
[2] https://arxiv.org/abs/1812.05271
[3] (強烈推薦)NLP中的對抗樣本 - 山竹小果
[4] TextBugger:針對真實應(yīng)用生成對抗文本 - 人帥也要多讀書
[5] 論文閱讀 | TextBugger: Generating Adversarial Text Against Real-world Applications
[6] 對抗攻擊概念介紹 - 機器學(xué)習(xí)安全小白
[7] Li J, Ji S, Du T, et al. TextBugger: Generating Adversarial Text Against Real-world Applications[J]. arXiv: Cryptography and Security, 2018.
(By:Eastmount 2021-09-07 晚上10點 http://blog.csdn.net/eastmount/ )
總結(jié)
以上是生活随笔為你收集整理的[当人工智能遇上安全] 1.人工智能真的安全吗?浙大团队外滩大会分享AI对抗样本技术的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ⚡关于Eastmount博客「网络安全自
- 下一篇: [Python图像识别] 四十六.图像预