ACL2020|使用強化學習為機器翻譯生成對抗樣本

2020-12-22 AI 科技評論

本文介紹的是 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

相關焦點

  • 在剛剛結束的ACL 2019上,知識圖譜領域都發生了哪些大事?
    例如,Mihail Eric 編寫了一篇關於通用 ACL 趨勢的精彩文章(https://www.mihaileric.com/posts/nlp-trends-acl-2019/)。除了 BERTology,transformers 和機器翻譯等熱門話題之外,還出現了新的趨勢,例如對抗學習,自然語言生成和知識圖譜(KG)。
  • Petuum提出序列生成學習算法通用框架
    該框架是對包括最大似然學習 (MLE)、增強學習 (RL) 等多種廣泛使用的算法的泛化。研究人員進而提出一種新的序列生成算法,該算法在已有算法中進行動態插值,在機器翻譯和文本摘要任務中實現了穩定的提升。序列生成是一個常見的機器學習任務,比如機器翻譯、文本摘要、圖像字幕生成等。
  • Yoshua Bengio 提出全新 GAN 訓練法,大幅提升樣本生成
    來源:arxiv.org 翻譯:劉小芹【新智元導讀】Yoshua Bengio 的團隊提出用於訓練 GAN 的新算法,在每次更新的訓練中,訓練一個生成器以產生位於當前鑑別器的判別邊界之上的樣本,使用這種算法訓練的 GAN 被稱為 BS-GAN,該算法對離散變量和連續變量廣泛有效。
  • 中科院、華為等斬獲最佳長論文,ACL 2019獎項全部揭曉
    此外,單詞級別的訓練要求生成的序列與 ground truth 序列嚴格匹配,這導致模型對不同但合理的翻譯進行過校正。在本文中,研究者不僅從 ground truth,還從模型在訓練中預測的序列採樣上下文單詞,並選擇句子級別的最優預測序列來解決這些問題,其中預測語句是句子級別的最優選擇。也就是說,翻譯模型不再逐詞對比標註而確定損失函數,它會考慮同一句話不同的譯法。
  • MIT科學家開發機器翻譯新算法,專為破譯消失的古語言
    無法「谷歌翻譯」的古老語言如今,世界上現存約有 7100 種語言。然而,古時存在的大多數語言都已不再使用,幾近滅絕。數十種已滅絕語言也被認為是「未破譯」的語言,也就是說,我們對它們的語法(grammar)、詞彙(vocabulary)或句法(syntax)了解不足,也無法理解其文本的意思。
  • 清華大學團隊包攬三項冠軍,NIPS 2017對抗樣本攻防競賽總結
    然而目前的機器學習分類器很容易受到對抗樣本的攻擊。所謂對抗樣本,就是對輸入數據進行略微修改,以使得機器學習算法對該輸入給出錯誤的分類結果。在很多情況下,這些修改非常細微,人類觀察者甚至根本不會注意到這些修改,但是分類器卻會因此犯錯誤。對抗樣本攻擊對目前的機器學習系統提出了挑戰,因為即使攻擊者無法訪問基礎模型,也能對機器學習系統發起攻擊。
  • ACL 2019年度回顧:自然語言處理發展趨勢
    例如,Stanovsky等人證明了四種工業機器翻譯系統以及兩種當前最先進(SOTA)的學術模型都非常容易出現基於性別的翻譯錯誤。整個NLP社區也很清楚這個問題,因此許多人做了些有意思的工作。例如Kaneko等人開發了一種用於詞彙嵌入的去除偏見方法,它可以保留非性別歧視的相關信息,同時消除刻板印象的性別偏見。
  • 人工智慧安全對抗賽,機器時代的攻與防
    當你為神經網絡提供訓練樣例時,它會通過人工神經元層運行它,然後調整它們的內部參數,以便能夠對具有相似屬性的未來數據進行分類。這對於手動編碼軟體來說是非常困難的,但對神經網絡而言卻非常有用。舉個簡單的例子,如果你使用貓和狗的樣本圖像訓練神經網絡,它將能夠告訴你新圖像是否包含貓或狗。
  • ACL 2020:微軟最佳論文,Bengio論文獲時間檢驗獎,大陸論文量第二
    機器之心報導參與:魔王、小舟、杜偉在陸續放出時間檢驗獎、終身成就獎和傑出服務獎之後,ACL 2020 終於公布了今年的最佳論文獎。該獎項由來自微軟研究院、華盛頓大學和加州大學歐文分校的研究者摘得,主題是與任務無關的 NLP 模型測試方法。
  • ACL 2020 清華大學 THUNLP 系列解讀
    清華大學自然語言處理實驗室(THUNLP)由孫茂松教授領導,主要從事中文信息處理、社會計算和知識圖譜研究,實驗室 「二劉老師」(劉洋、劉知遠)是我國NLP領域的青年代表,劉洋教授在機器翻譯領域造詣頗深相比於圖片、語音等領域,文本對抗攻擊面臨著搜索難優化、擾動易感知等挑戰。在本次分享中,講者將文本對抗攻擊形式化為離散組合優化問題,並引入了一種基於義原知識和粒子群算法的文本對抗攻擊方法,以提高文本對抗攻擊的效率。
  • 多家翻譯軟體大型翻車現場?機器翻譯到底有哪些不確定性
    這篇論文的第一作者是來自FAIR的Myle Ott,他在論文的引言部分就提到:當前大多數機器翻譯的模型都是基於神經網絡(NMT),而神經網絡機器翻譯明顯沒有給予生詞(rare words)足夠的重視,最明顯的表現是曝光誤差(exposure bias),簡單來講是因為文本生成在訓練和推斷時的不一致造成的。
  • 基於PaddlePaddle的機器翻譯教程 | 深度學習基礎任務系列
    因此統計機器翻譯(Statistical Machine Translation, SMT)技術應運而生。在統計機器翻譯技術中,轉化規則是由機器自動從大規模的語料中學習得到的,而非我們人主動提供規則。將深度學習應用於機器翻譯任務的方法大致分為兩類:仍以統計機器翻譯系統為框架,只是利用神經網絡來改進其中的關鍵模塊,如語言模型、調序模型等(見圖1的左半部分);不再以統計機器翻譯系統為框架,而是直接用神經網絡將源語言映射到目標語言,即端到端的神經網絡機器翻譯(End-to-EndNeuralMachineTranslation,End-to-EndNMT)(見圖1的右半部分),簡稱為NMT
  • 一文概述 2018 年深度學習 NLP 十大創新思路
    1)無監督的機器翻譯翻譯(Unsupervised MT)ICLR 2018 收錄的兩篇關於無監督機器翻譯翻譯的論文(https://arxiv.org/abs/1710.11041)中,無監督機器翻譯的整個過程的表現好得讓人感到驚訝,但結果卻不如監督系統。
  • 一份值得收藏的ACL2020參會筆記:重要論文與NLP領域的發展趨勢解讀
    選自medium作者:Vered Shwartz機器之心編譯參與:Panda、蛋醬自然語言處理頂級會議 ACL 2020 已於 7 月 10 日圓滿落幕。今年,論文投遞數量最高的類別排名是:用於 NLP 的機器學習、對話和交互系統、機器翻譯、信息抽取、NLP 應用、生成。每個類別的論文提交數量,來自 ACL 博客對比前幾年情況如何?下面這個來自 Wanxiang Che 的動圖生動地展示了自 2010 年來每個類別的變化情況。
  • 微博機器學習平臺雲上最佳實踐
    微博機器學習平臺(WML)優勢微博機器學習平臺的特點是樣本規模大,百億級樣本,實時性比較高,是分鐘級,然後模型規模是百億級,模型實時性根據不同場景有小時級、分鐘級和秒級。作業的穩定性的話要求是三個9,平臺業務多,場景豐富迭代快。
  • ACL 2020 亮點摘要
    字幕組雙語原文:ACL 2020 亮點摘要英語原文:Highlights of ACL 2020翻譯:雷鋒字幕組(唐裡、張超726、情報理論與實踐、Danielan)今年國際計算語言學協會(ACL)變為線上舉辦了,很遺憾我沒多少機會去和其他學者交流
  • 淺析基於隱變量的非自回歸神經機器翻譯方法
    近年來,基於深度神經網絡的機器翻譯取得了飛速發展。目前大多數NMT模型都使用了編碼器-解碼器框架來實現,編碼器將源語句的表示送入到解碼器來生成目標句子;解碼器通常以自回歸的方式來工作,從左到右逐字地生成目標句子,第t個目標詞的生成依賴於先前生成的t-1個目標詞。雖然最近提出的幾個模型利用卷積[1]或者自注意力[2]使得訓練過程高度並行化,加快了訓練速度。
  • 百度機器翻譯團隊獲得WMT2019中英翻譯冠軍
    三、數據增強對於單語數據,採用聯合訓練方法增強back translation生成的譯文,構造更高質量的「偽」雙語數據。首先使用中英雙語數據分別訓練中英和英中翻譯模型,中英模型將中文單語數據翻譯成英文,英中模型將英文單語數據翻譯成中文。中英模型在英中模型產生的「偽」的雙語數據上繼續訓練,英中模型在中英模型生成的「偽」的雙語數據上繼續訓練,中英和英中模型的性能都得到提升。
  • 生成對抗網絡(GANs )為什麼這麼火?盤點它誕生以來的主要技術進展
    其實,直到 2015 年,生成對抗網絡還稱不上是炙手可熱。用 Ian Goodfellow 自己的話來說:「生成對抗網絡是一種生成模型(Generative Model),其背後基本思想是從訓練庫裡獲取很多訓練樣本,從而學習這些訓練案例生成的概率分布。而實現的方法,是讓兩個網絡相互競爭,『玩一個遊戲』。