本文介紹的是 ACL 2020 論文《A Reinforced Generation of Adversarial Examples for Neural Machine Translation》,論文作者來自南京大學、騰訊。
作者| 鄒 威
編輯 | 叢 末
論文地址:https://arxiv.org/pdf/1911.03677.pdf
1
背景介紹
對抗樣本(adversarial example)是近年來用於探索深度學習系統魯棒性的重要工具。對抗樣本通過對普通測試輸入進行微小擾動(以不改變人期望輸出為準),並以劣化系統輸出為目標得到。
當前神經機器翻譯(neural machine translation, NMT)系統在實用場合常常會出現用戶難以預計的錯誤,這些錯誤甚至存在消極的社會影響。而基於用戶反饋進行的維護通常也是在這些錯誤產生後才能進行,開發者更希望在上線前就能進行大量的測試進行預防性維護。直接的魯棒性測試通常需要專家編制大量對應的測試數據並進行標註,但對於機器翻譯這類任務而言成本過高。因此我們可以通過利用已有平行句對的輸入產生對抗樣本的方式,沿用原本的輸出,從而快速得到大量可用於魯棒分析的平行數據。
圖1: 對人名的變動影響了翻譯的預期結果(此樣例當前已被修復)
2
文本對抗樣本及難點
對抗樣本的兩個核心為:保持語義限制,同時達成系統性能惡化。不同於圖像處理(computer vision, CV)的對抗樣本由直接使用梯度優化的方法得到,文本由於其表示的離散性質無法直接套用。當前生產文本對抗樣本的模式分為兩大類:
對圖像對抗樣本生成方法的離散化改進。即將文本嵌入(embedding)視為圖像的像素輸入,使用k-PGD(k round of projected gradient descent)尋找一組對嵌入的擾動δ,之後通過採樣的方式映射為具體的文本表示,但此模式的缺陷在於任意的擾動並不能保證存在實詞對應,產生的結果通常被視為「虛擬對抗」(virtual adversarial)。將對抗生成的過程視為搜索優化問題(search optimization),即為每個詞修改動作定義一個損失,通過優化整體的損失來找到一組修改,從而得到樣本。但此模式需要針對對抗目標設計間接的損失函數(通常是基於梯度的損失),因此,此類方法除了特徵工程(feature engineering)在帶噪數據上限制語義和實現對抗目標的局限性,還面臨搜索優化的計算開銷問題。此外,如果對抗編輯改變了輸入的切分方案,搜索所依賴的單步分數會失去意義。
3
解決思路
根據上文的歸納,我們總結問題的核心在於:
需要直接針對離散文本建模對抗生成;我們無法預知錯誤特徵,生成對抗樣本是無監督學習;我們無法直接建模對抗樣本生成中對帶噪數據的語義限制。本質上,對抗樣本的生成還可以被視為一個受限的馬爾可夫決策過程(markovian decision process, MDP),我們可以從左到右編輯每個位置,每個編輯決策取決於已有修改對語義的影響程度和對系統輸出的劣化期望。對於MDP的無監督學習問題,我們可以使用強化學習(reinforcement learning, RL)建模學習值函數估計,通過對受害系統的不斷交互反饋得到對抗樣本的生成策略。不同於一般的梯度優化,強化學習並不受限於優化離散建模,因此適合建模本問題的優化。
再者,強化學習是基於「探索&利用」(explore & exploit)原理進行的無監督學習,當前已在許多人工智慧挑戰中取得很好的成績。其核心在於建模環境交互,以訓練能完成特定目的的智能體(agent)。一個直觀的例子就是flappy bird遊戲,如下圖所示,玩家(或智能體)需要根據圖像狀態產生動作,與環境(environment,env)交互;環境基於動作發生變動,並將更新後的狀態和對動作的反饋(如遊戲分數)返回給智能體。期間小鳥飛過柱子會得分,而撞柱子和落地都會終結遊戲。智能體需根據正、負反饋選擇強化有利於目標的策略(最大化遊戲分數),最終達成學習。
圖2: 強化學習進行flappy bird遊戲
類似的,我們生產一句話的對抗樣本,同樣可以從左到右逐個token進行編輯動作,而編輯動作需要滿足對抗樣本定義的語義限制,類似於遊戲中的障礙物會判定game over。如此我們需要找到一組編輯,最大化完成編輯後翻譯系統的指標損失。
根據以上邏輯,我們就可以將受害的NMT系統作為環境的反饋之一,將其最終的測試性能損失作為階段性反饋。而對於帶噪語義的限制,我們借鑑了生成對抗網絡(generative adversarial network,GAN)的思想,使用一個自監督的句匹配(sentence matching)為訓練agent提供存活/終結信號(survive/terminal signal):即當前的原端和原始目標端進行二分類。訓練此判別器(discriminator)也同GAN相同,隨機將一半批次的句對使用當前agent進行編輯作為負樣本,另一半則是不變作為正樣本,環境的分類器需要間斷性隨著agent的學習更新,直至agent和環境的分類器達成博弈平衡,我們便得到了一個針對受害NMT系統產生對抗樣本的生成器。同樣類似於flappy bird中的柱子,當agent成功在限制條件下進行編輯,會將分類器的正類likelihood作為每個決策的survive reward,如此激勵其在滿足語義的限制前提下進行對抗生成。
我們選擇了A3C(asynchronous advantage actor critic)作為智能體的實現。如圖3,即agent中分別含有用於決策的actor和值函數估計的critic,二者共享編碼層,前者以二分類做輸出,後者為單值輸出。
圖3: agent設計
我們的整體流程如圖4所示,在每個訓練周期中,我們會循環下述三個動作直至系統終結狀態或者完成句子編輯:
環境會將當前句子的token和要修改的token作為agent的輸入;agent產生編輯動作修改原端;環境中的discriminator對修改的句對評估survive/terminal信號,並產生單步反饋。在agent保持survive完成一輪修改後,會最終得到環境中的NMT的測試性能損失作為階段反饋。
圖4: 整體交互流程示意
對於編輯動作我們沿用了基於搜索的文本對抗工作,使用ε距離以內的token作為每個token的candidate(沒有候選的會使用UNK作為候選)。訓練中為了強化學習的探索,會使用隨機策略首先採樣是否進行編輯,然後隨機選擇candidate替換;測試時為確定策略,會選擇最佳的動作,並在critic為正時選擇距離最近的候選替換,以保證語義近似。
4
實驗結果與分析
對於受害系統,我們考察了中英、英法、英德的Transformer和RNN-search翻譯系統,訓練對抗樣本生成使用的數據也是訓練翻譯系統的平行數據。
我們選擇了Michel et al. (2019) 基於梯度搜索(gradient search,GS)的方法作為基線對比,同時使用隨機噪聲插入(random synthetic noise injection,RSNI)作為控制組,對比的指標同樣參考Michel et al. (2019), 需要考察公式1的「每編輯的相對性能下降」(relative degradation,RD):即翻譯的BLEU相對下降對比原端字符級BLEU的變化;此外由於我們無法使用分類對帶噪數據進行語義評估,因此需要人工測評,採樣雙盲檢查語義相似度(human evaluation,HE),範圍0-5。
公式1: 每編輯BLEU相對下降
不同於前任工作,我們的工作通過自監督的方式很好地平衡了語義近似度和攻擊效果(表1),在維持高HE的前提下達成攻擊效果,而基線和對照組除了需要制定攻擊比例,還往往會出現為了降低系統指標,而產生嚴重語義變更的情況(表2)。
表1: 中英翻譯上的對抗樣本生成實驗結果
表2: 基於梯度的搜索方法容易為了實現攻擊而明顯改變語義
除了效果的優勢之外,我們的方法在生成效率上對比梯度搜索有絕對的優勢。不同於梯度搜索,對於複雜系統不同修改結果求導的時空開銷,我們的agent只需要很小的系統開銷直接對策略進行展開即可,如圖5,我們的方法對比基線,限定相同內存開銷生成性能可以達到至少50倍以上。
圖5: 限定內存的生成800句對抗樣本的時間對比
得益於高效率的對抗生成,我們可以產生大量用於抗噪增廣的數據對模型進行微調,如表3,我們產生了和訓練語料等量的對抗樣本進行直接微調訓練,可以在對原測試極小的性能損失下,極大強化在對抗數據上的性能。此外我們測試了模型微調前後對IWSLT的測試性能(IWSLT數據並不參與任何訓練、微調),可以得到些微提升,說明我們的方法確實強化了模型的魯棒能力。
表3: 使用大規模生產的對抗樣本直接微調
由於我們的方法是基於對受害系統的不斷交互反饋從而習得的攻擊偏好,因此我們在不依賴錯誤特徵建模的前提下能通過這些偏好觀察系統的弱點。我們統計了攻擊涉及的POS,對比對照組RSNI(較隨機均勻)和基線GS(有一定程度偏好)可以明顯看出系統弱點(圖6),比如各類命名實體(N)、數字(M)、後綴(K)等。
圖6: 智能體對與中-英Transformer模型攻擊的偏好
我們額外嘗試了將階段反饋轉置,並忽略會引入UNK的攻擊動作來產生「對輸入進行細微擾動但是能提高測試性能」的樣本。雖然我們暫時無法提高測試的整體性能,但相當部分的樣本可以成功達成測試優化。類似對抗樣本,我們稱其為「強化樣本」(表4)。強化樣本的意義在於它是不同於微調、需要改變模型參數的魯棒性探索方向,且強化樣本的形式不同於嚴格的文本預處理糾正,可以允許帶噪聲。
表4: 強化樣本示例
5
總結
綜上,我們通過利用強化學習建模針對機器翻譯生產對抗樣本,此方法區別於已有問題解決思路,在沒有錯誤特徵建模的前提下,能高效生產特定系統的對抗樣本,且可以被進一步用於系統的魯棒性分析和改善。此外,針對「強化樣本」的現象,我們會在未來的工作中進一步探索,以求不同的強化系統魯棒性能的方案。
招聘
AI科技評論希望能夠招聘科技編輯/記者一名
辦公地點:北京
職務:以跟蹤學術熱點、人物專訪為主
工作內容:
1、關注學術領域熱點事件,並及時跟蹤報導;
2、採訪人工智慧領域學者或研發人員;
3、參加各種人工智慧學術會議,並做會議內容報導。
要求:
1、熱愛人工智慧學術研究內容,擅長與學者或企業工程人員打交道;
2、有一定的理工科背景,對人工智慧技術有所了解者更佳;
3、英語能力強(工作內容涉及大量英文資料);
4、學習能力強,對人工智慧前沿技術有一定的了解,並能夠逐漸形成自己的觀點。
感興趣者,可將簡歷發送到郵箱:jiangbaoshang@yanxishe.com
點