針對離散數據(例如文本)的對抗攻擊比連續數據(例如圖像)更具挑戰性,因為很難使用基於梯度的方法生成對抗樣本。當前成功的文本攻擊方法通常在字符或單詞級別上採用啟發式替換策略,替換時難以保持語義一致性和語言流暢性。在本文中,作者提出了BERT-Attack,這是一種高質量且有效的方法,可以使用以BERT為例的MLM預訓練語言模型來生成對抗性樣本。作者使用BERT對抗其微調模型和其他預訓練模型,以誤導目標模型,使其預測錯誤。作者的方法在成功率和擾動百分比方面均優於最新的攻擊策略,並且生成的對抗性樣本很流利,並且在語義一致。而且作者的方法計算成本低,可以大規模生成。
本期AI TIME PhD直播間,我們有幸邀請到了復旦大學 NLP group2019級研究生李林陽分享他的觀點。
李林陽:復旦大學 NLP group2019級研究生;導師為邱錫鵬教授;
儘管深度學習取得了成功,但最近的研究發現神經網絡容易受到對抗樣本的攻擊,這些對抗樣本是對原始輸入進行細微擾動而製成的。儘管對抗性樣本對於人而言幾乎不可察覺,但是它們會誤導神經網絡進行錯誤的預測。針對對抗性攻擊的學習可以提升神經網絡的可靠性和健壯性,在計算機視覺領域,攻擊策略及其防禦措施都得到了很好的探索,但由於語言的離散性,對文本的對抗性攻擊較為困難,難以保證語法流利且語義一致。
當前對文本的成功攻擊通常採用啟發式規則來修改單詞的字符,並用同義詞替換單詞。
之前的研究包括使用word embedding生成替換詞;對原有句子的短語進行添加或刪除;使用人工構建的規則進行詞語替換。儘管上述方法取得了良好的效果,但在攻擊成功率,語法正確性和語義一致性等方面,仍有很大的改進空間。此外,這些方法的替換策略通常很簡單,受限於特定任務。
本文提出了一種有效且高質量的對抗樣本生成方法:BERT-Attack,使用BERT作為生成器生成對抗樣本。BERT-Attack的核心算法包括兩個階段:在給定輸入序列中查找易受攻擊的單詞,然後用如BERT的生成器來生成易受攻擊單詞的替代詞。BERT能夠捕捉文本的上下文語義,因此生成的樣本更為流暢且合理。作者將BERT這樣的MLM語言模型用作生成器,並找到讓BERT模型得到最大錯誤預測風險的擾動。另外,本文的方法只需要一次生成器前向,而且無需反覆使用語言模型對對抗樣本進行評分,速度有一定改進。表1展示了該攻擊方法在幾個數據集上的生成文本樣例。
本文提出BERT-Attack,它使用原始BERT模型製作對抗性樣本以對抗微調的BERT模型。對抗樣本的生成包括兩個步驟:(1)找出針對目標模型的易受攻擊的單詞,(2)用語義相似且語法正確的單詞替換它們,直到成功攻擊為止。具體而言:
1.尋找易受攻擊詞(Vulnerable Words)
作者給句子中的每一個詞一個評分,得分與易受攻擊程度呈正比,該評分按照去掉該詞的句子在判別器上的輸出結果的擾動程度給出。作者使用目標模型(微調的BERT或其他神經模型)的logit輸出作為判別器。易受攻擊詞定義為序列中對最終輸出logit有重要影響的單詞。令表示輸入語句,表示目標模型輸出的正確標籤y的logit,重要性得分定義為
就是將該詞替換成「[MASK]」。然後,對降序排名,獲取其中的前百分之的詞組成可替換詞表,記為L。
2.BERT生成器的優點
找到易受攻擊的單詞後,將列表L中的單詞一一替換,以尋找可能誤導目標模型的幹擾。以前的替換方法包括同義詞詞典,POS檢查器,語義相似性檢查器等。但是因為替換的時候只有詞表,不考慮上下文,因此需要用傳統語言模型給替換單詞的句子打分。由於換一個詞就得評價一次,時間成本比較高。
作者利用BERT進行單詞替換,可確保所生成的句子相對流利且語法正確,還保留了大多數語義信息。此外,掩碼語言模型的預測是上下文感知的,因此可以動態搜索擾動,而不是簡單的同義詞替換。而且針對一個詞而言,僅通過一個前向即可產生候選文本,無需再用語言模型來對句子評分,提升了效率。
3.替換策略
如圖1所示,作者輸入原句子給BERT,並根據BERT輸出生成候選詞。注意這裡不用[MSAK]替換被攻擊詞語,其原因作者給出了如下解釋:1. 有些詞語替換後,和原句子幾乎一樣流暢但是語義可能變更。例如給定一個序列「I like the cat」,如果遮蓋cat這個詞,那麼MLM模型很難預測原始單詞cat,因為如「I like the dog」一樣很流暢。2. MASK掉給定的單詞後,每個候選詞都需要運行一遍BERT前向,時間成本太高。
令M代表BERT模型,為原序列,是利用BERT的分詞器分完詞的序列,將H輸入BERT中得到輸出預測。使用top-K策略選擇可能的替換詞預測,其中K是超參數。作者遍歷所有候選易攻擊詞表L生成替換詞表。
由於BERT使用字節對編碼(BPE)分詞,候選詞可能會被分開,因此還需要將所選單詞與BERT中相應的子單詞對齊。
針對未被分開的單個單詞,作者使用相應的前K個預測候選逐一嘗試替換,並使用NLTK過濾其中的停用詞,另外對於情感分類任務候選詞可能包括同義詞和反義詞,作者使用同義詞詞典過濾反義詞。然後將替換完成的句子重新輸入判別器,如果判別器給出與原label相反的判斷那麼輸出該句子作為攻擊句;否則,從篩選出的候選詞中選擇一個對logit影響最大的。
針對字詞組(sub-word 應該不能翻譯為字詞組),由於無法直接獲取其替代詞,作者使用子詞組合中所有詞的預測中找到合適的詞替代。作者首先使用MLM模型分析整個詞組的易攻擊程度,然後再選出詞組的top-k組合。剩餘過程與單個單詞一致。
為了衡量所生成樣本的質量,作者設計了幾種評估指標:
●成功率(success rate):攻擊樣本的判別器準確率。
●擾動百分比(perturbed percentage)更改文本的佔比。
●每個樣本的查詢數量(query number per sample)一個樣本生成對抗樣本的需要訪問判別器的次數。
●語義相似度(semantic similarity)使用通用句子編碼器(Universal Sentence Encoder)評價的句子相似度。
如表2所示,BERT-Attack方法成功欺騙了其下遊的微調模型。在文本分類和自然語言推斷任務中,經過微調的BERT均無法正確地對生成的對抗樣本進行分類,攻擊後的平均準確度低於10%。同時,擾動百分比小於10%,明顯小於以前的工作,BERT-Attack方法更有效且更不易察覺。查詢數量也要少得多。
另外可以觀察到,由於擾動百分比非常低,因此通常更容易攻擊評論分類任務。BERT-Attack僅替換少數幾個單詞就可能誤導判別器。由於平均序列長度相對較長,因此判別器傾向於僅按序列中的幾個詞進行判斷,這不是人類預測的自然方式。因此,這些關鍵字的幹擾將導致目標模型的預測不正確,從而揭示了該模型的脆弱性。
為了進一步評估生成的對抗性樣本,作者人工評估了流利性,語法以及語義保留方面生成的樣本的質量。
作者要求三名標註人員對生成的對抗性樣本和原始序列的混合句子的語法正確性進行評分(1-5分),然後將原始文本和對抗文本混在一起進行人工預測。在IMDB和MNLI數據集中,作者分別選擇100個原始樣本和對抗樣本驗證。對於IMDB,將多數類作為人類預測標籤,對於MNLI,則使用標註人員之間的平均分數。從表2中可以看出,對抗性樣本的語義分數和語法分數接近原始樣本。MNLI任務數據長且更加複雜(存在句子對(sentence pair)之間,重複出現的詞彙較多,而基於替換的對抗樣本則破壞了這種相同詞彙的對應關係),使標註人員難以正確預測,因此其準確性要比簡單的句子分類任務低。作者同樣做了大量消融實驗,實驗結果表明該對抗方法生成的樣本遷徙性強,生成速度快。
在這項工作中,作者提出了一種高質量有效的BERT-Attack方法,以使用BERT掩蔽語言模型(masked-LM)生成對抗性樣本。實驗結果表明,該方法在保持最小擾動的同時,取得了較高的成功率。然而,從屏蔽語言模型生成的候選者有時可能是反義詞或與原始單詞無關,從而導致語義損失。因此,增強語言模型以生成更多與語義相關的擾動可能是將來完善BERT-Attack的一種可能解決方案。
AI TIME歡迎AI領域學者投稿,期待大家剖析學科歷史發展和前沿技術。針對熱門話題,我們將邀請專家一起論道。同時,我們也長期招募優質的撰稿人,頂級的平臺需要頂級的你,請將簡歷等信息發至yun.he@aminer.cn!
微信聯繫:AITIME_HY
AI TIME是清華大學計算機系一群關注人工智慧發展,並有思想情懷的青年學者們創辦的圈子,旨在發揚科學思辨精神,邀請各界人士對人工智慧理論、算法、場景、應用的本質問題進行探索,加強思想碰撞,打造一個知識分享的聚集地。
(直播回放:https://b23.tv/WJcJaw)
(點擊「閱讀原文」下載本次報告ppt)