作者 | 李磊
人工智慧正在改變人們創造、獲取、分享及消費資訊的模式——計算機藉助演算法只用兩秒就寫出運動新聞,甚至生成球賽解說;僅依靠一個統一的翻譯模型也能自動準確翻譯9900個語對...這些看似在科幻小說裡才會出現的情節正慢慢照入現實。
隨著新媒體平臺的興起,人工智慧技術已經大大提高了資訊內容的創作,而個性化推薦演算法的資訊又為資訊內容的分發提供了極大的便利,這其中,文字生成技術非常重要,因為它在很多的應用場景有廣泛的應用,比如機器翻譯、機器寫作、對話機器人以及自動問答。2019 年在《管理科學》雜誌上 MIT 研究人員發表的一項最新研究表明,機器翻譯技術已經將國際化貿易量提高了 10%,這相當於將地球上的各個國家之間的距離縮短了 25% [1]。
下面給大家展示一下 Xiaomingbot 如何自動寫新聞。
我們的系統將從資料來源獲取到比賽資訊,例如球員比賽佈陣、球員的進球等等資訊。同時我們還會利用計算機視覺的演算法,對比賽影片進行分析識別出其中的球員、球衣上面的號碼,球員的運動軌跡、球員的動作、球員的位置以及關鍵的一些場景等等。再利用這些資訊我們利用文字生成演算法寫出最後的文章 [2]。
在另外一項研究當中我們使用計算機視覺的演算法去分析斯諾克比賽的運動、桌上球的運動軌跡、以及利用機器學習最後去預測球員的擊球策略,預測下一杆球會落到哪個袋,並且利用這些預測去生成最終的比賽解說 [3]。這對於一些非職業的觀眾來說,非常有助於幫助理解球賽的程序。這是我們演算法最終生成的一些解說情況。
本場講座,會分為五部分內容。第一部分,我會給大家先簡單介紹一下什麼是序列生成問題,它有什麼樣的難度和挑戰;第二部分,將介紹深度隱變數模型,Deep latent Variable Models for Text Generation;第三部分,我將介紹文字生成當中如果加上限制之後,如何做更好的演算法,我們提出了一類蒙特卡洛取樣演算法來做文字生成;第四部分會介紹機器翻譯當中如何使一個模型可以去獲取四項雙語語言能力。最後一部分介紹多語言的機器翻譯,我們最新的一個工作 mRASP。
在自然語言中,所有自然語言生成的核心問題是對句子序列做建模,比如說這樣一個句子的 The quick brown fox jumps over the lazy dog 句號,這裡有 10 個字元,Modeling 的問題就是對這 10 個字元的聯合機率去建模,也就任意一個句子長度為 L 的句子,我需要對整個 L 各字元對它算出它的聯合機率分佈。當然最基本的一種方法是叫 Auto-Regressive Language model,是把這個聯合機率分解成下面這個形式,每一個部分它實際上是第 i 個字元的機率,是建立在前面 1 到 i-1 個字元的基礎之上,這具體的每一個機率可以有很多建模的方法。比如說現在從 2017 年開始比較流行的叫 Transformer 網路裡面對個條件機率的建模是使用多層的多頭注意力機制(Muti-Head Attention)來建模的 [4]。當然這個 Transformer 有很多的引數,實際學習當中就需要找到最好的一組引數,使得語料裡面的聯合機率最大。
在另外一些問題當中,例如機器翻譯、對話生成以及自動問答當中,我們通常會有一個輸入,輸入也是一個序列,我們要針對這個輸入做一個輸出,例如機器翻譯,給定一個輸入的英文句子(X),我們要輸出一個目標語言中文的句子(Y),所以我們要對 Y|X 這樣一個條件機率去建模,同樣可以用之前提到的 Transformer 模型來對這個機率建模。
把深度生成模型按照方法類別去歸一個類,大致可以分成這樣幾類:按照自然估計的方法可以分成機率密度有沒有顯式密度(explicit density),以及隱式密度(implicit density)。顯式密度當中又分是否密度是可直接計算的,例如像自迴歸分解(Auto-Regressive Factorization)裡面的 Transformer 模型 [4]。如果不是自迴歸分解,還有像馬爾科夫分解(Markov Factorization)以及並行分解(Parallel Factorization)。像最新做的一些工作就 GLAT 等等這樣一些工作就可以做並行分解。在顯式密度中另外一塊是不可高效計算的密度(Intractable Density),也是今天需要重點介紹的一類模型,叫隱變數模型(Latent Variable Model),典型的代表有 DSSVAE、VTM 等,本場講座也將會介紹。
假如說這個密度沒有顯式公式的,是隱式的,也就是說你無法嚴格地寫出它的機率分佈,通常可以寫出它的能量函式(Energy Function),可以是條件能量模型(Conditional Energy Based model)或者是受限機率模型(Constrained Probability Model)。這次,我們會特別介紹受限機率模型如何來快速生成句子。包含 CGMH、MHA、TSMH 等一系列演算法。但有一部分內容這裡不會介紹,就是對抗學習(Adversarial learning),它已經超出極大自然機率估計這個範圍以外。
接下來的一部分我將會介紹文字生成的深度隱變數模型(Deep Latent Variable Models for Text Generation)。我具體會介紹兩類工作,一類是我們如何從文本當中學到可解釋的深度隱含表示。第二類是我們如何從文本當中學到解耦的一個表示,並且利用這個解耦的表示來做更好的文字生成。
我們先看第一部分,我們要去學可解釋的隱層表示,那麼,什麼是可解釋?我們看這樣一個具體的問題:我們從對話的句子當中希望去學到對話的一個隱表示,並且這個隱表示對應一定的語義關係,例如這裡兩個對話,”Remind me about the football game”,”Will it be overcast tomorrow”。這兩個對話句子對應兩個不同的意圖,第一個意圖是希望去給它一個提醒(Remind),第二個意圖是問路(request for the information about where),這兩個意圖我們希望從句子本身透過學這樣一個生成模型去學到,你在使用當中就可以根據對應的不同的意圖去生成不同的回答。
傳統的做法是用變分自編碼(Variational Auto-encoder)的方法,去學一個隱表示,這個方法具體是假設有一個隱變數(Latent Variable) Z,它自己有一個高斯分佈。從這個 Z 裡面可以生成出文本句子 X 出來,利用這樣的方法,Kingma & Welling 在 2013 年提出了 VAE 的演算法,透過變分推斷去學到隱層表示。這個方法當然可以去生成句子,也可以學到隱表示。但是當你把這個隱表示投影到低維空間去可視化出來的時候,你會發現不同的句子全部都混合到一起了,這整個混合在一起的一個大組並沒有明顯的聚類,所以很難去解釋這個隱層表示。
如何從這裡的隱變數 Z 得到一個可解釋的隱層表示?一個比較好的自然的方法是在隱變數 Z 上面再加一個先驗變數 c,而這個先驗和 Z 不同的在於 Z 是連續的,Z 的先驗 C 是離散的。也就是說,Z 是一個高斯混合分佈(Gaussian Mixture distribution),我們希望從原始文本里去學到比較有意義的 C 和 Z,這樣不同語義、不同意圖的句子可以落到不同的聚類裡面,也就是對應不同 C 的值。
這裡有一個很重要的動機是,在隱變數模型裡面引入離散的變數,會顯著提高模型的可解釋性。這個願望當然非常美好,可是大家在實際學習過程中會發現,往往學到的 Z 去投影到低聚維空間的時候,會發生一個 mode-collapse 問題,也就是實際上學到的這些不同的意圖的句子,它在隱空間的表示是混合在一起的,無法看到一個很明顯的區分。如何從混合在一起的區分裡面,去理解為什麼會產生這種現象?並且試圖去修正它,使它得到我們希望的可解釋的一個隱層表示?
我們最近在 ICML2020 上面的發表的 DEMVAE 的工作 [5],實際上解決了這個問題。
首先我們把要處理的模型推廣到一個非常廣泛的一族模型叫指數族混合變分自編碼器(Exponential-family Mixture VAE)中。我們假設句子 X 是由一個隱變數 z 生成出來的。z 是指數族密度的一個混合分佈。這裡的 C 是離散的,代表不同混合機率。而 Z 是對應的不同組分,每個組分是一個指數族機率分佈。我們前面提到的高斯混合自編碼器 (Gaussian Mixture VAE) 是屬於這一族分佈裡面的一個具體例子。
同樣,這個模型我們要去直接估計的話,也仍然會遇到峰值塌縮(mode collapse)的問題。我們做的一個解決方案,是我們仔細分析了損失函式(Loss Function),我們發現只要在這個損失函數里面,也就是變分下界(Variational ELBO)裡面加上一個額外的懲罰項叫離散項(dispersion term),加了這個之後,我們最終就可以讓不同的峰值不會發生塌縮,從而會學到更有意義的隱層空間表示。
這是我們使用 DEMVAE 方法去學習到的一個效果。我們從對話句子裡面去學到它的一個隱層表示 C 和 Z,注意 C 是離散的。我們用後驗分佈去分析這個 C 並且對它做一個簡單的分類,發現這個 C 和真實的意圖會非常非常接近,例如左邊的這些句子,我們分析出來它們都屬於同一個 C,實際上可以對應對話動作是問路(Request address),第二類都是對應問天氣(Request-weather)這樣一個意圖。有了這個之後,我們就可以去生成更好的對話回覆,例如,這樣一個輸入句子,“Taking you to Chevron“,我們可以預測假如說我們需要去做感謝這個意圖的話,我們可以生成這樣一個回覆句子,“Thank you car ,let us go there“,假如說我們要去 Request address 的話,我們又可以生成另外一個句子,What is the address,所以根據不同的例子出來的意圖,我們可以做可控的生成,這也是可解釋性帶來的一個好處。
介紹了可解釋性,我們再介紹另外一個相關的問題,叫資料到文字的生成(Data-to-Text Generation),這個問題我們給定一個數據表格它是一個鍵值(Key- vaule)的表格的形式,比如這裡顯示了一個餐館的一些的屬性,希望去生成這個餐館的描述。例如這右邊是它一個可行的描述。這個問題可以把它建模成資料到文字的生成,Data-to-Text Generation。傳統的做法是人工寫出非常多的模板,這個模板裡面留了很多空位,這些空位和資料結合之後,我們就可以去生成比較好的文字了。當然實際應用當中,我們不希望生成是一成不變的,我們希望同一個內容可以生成各式各樣的文字。這就需要我們人工去寫非常多的模板,而人工寫這些模板是比較枯燥的。
我們希望提出一個新的方法,它能夠自動地從語料裡面學到這些模板,並且根據這些模板去做很好的生成。如何做呢?我們有兩個動機:一是我們從概念上可以把隱空間的表示區分成兩個隨機變數,一個變數是用來刻畫的資料內容(Content),另一個隨機變數是用來刻畫模板(Template),這樣兩個合起來之後,我們就能夠從資料裡面去生成句子。並且我們希望這個模板的隱層表示不是顯示的離散的表示,而是連續的一個空間,這也就意味著你可以有幾乎無限的模板。
第二個動機是我們不僅僅需要利用成對的表格和文字句子,這樣一個成對資料來訓練,我們實際上這種成對的資料是非常少的。在實際應用中,我們還是希望去利用原始文字(Raw text)來訓練,並且從原始文本當中學到模板(Template)和內容(Content)的表示。
我們提出了一個新的模型叫變分模板機(Variational Template Machine),這個模型裡面主要框架和前面介紹的變分自編碼器(Variational Auto-encoder),本質上是非常類似的,但是與之不同的是我們有兩個隱變數,一個是內容隱變數 C,它是從資料裡面來得到的。另外一個是模板隱變數 Z,是有自己的先驗分佈。
生成的過程是怎麼樣的呢?一個輸入資料 X,表示成 field,position 和 value 的一個三元組集合。我們先從輸入的資料 X 裡面去計算內容變數 C,這個可以透過一個神經網路來實現。第二步我們從 Z 的先驗(例如高斯分佈)裡面去取樣一個 Z,得到 Z 的值,這是相當於從一個無限大的模板庫裡面去取樣選擇一個模板。第三個是把 C 和 Z 合併之後,利用另外一個神經網路,例如 Transformer 可以去做生成。
利用這個變分模板機(Variational Template Machine)它最大的好處是不僅能夠利用成對的表格資料和句子來訓練,還可以利用額外的原始文字,這個並沒有對應的表格資料也可以用來訓練,並且提升這個模型的效能。這就相當於做了一個反向翻譯,根據原始文字找到了對應的 C 和 Z,即模板和內容的後驗分佈,等同於製造了更多的一些偽平行語料,而這些偽平行語料可以用來提升學習的效果 [6]。
我們在 WIKI Data 和 SPNLG 的 Data 上面去做了實驗,前者根據資料去生成個人簡介,後者是根據餐館的一些屬性去生成餐館的描述。
這裡兩幅圖比較了我們變分模板機 VTM 方法和其他一些生成方法的效能優劣。縱軸是 BLEU SCORE,是用來衡量的生成結果和真實結果之間的相關性,所以越高越好。橫軸是 self-BLEU,是用來衡量同一個方法生成的不同句子之間的相關性,我們希望同一個方法生成的句子,相互之間相關性越小越好。所以理想情況是:左上角的位置,質量最高,BLUE SCORE 最高,而 Self-BLEU 相關性越好,Self-BLEU 要越低越好。我們提出的這個變分模板機方法,它在質量上面和 Self-BLEU 兩方面都取得了最好的分數。
我們也比較了變分模板機的優勢,如果完整的變分模板機它並不使用原始文字的話,只用成對資料對它來訓練,它的效能就會下降,它的 Self-BLEU 質量會下降,同時它的多樣性會降低。所以額外的原始資料還是非常重要的,我們也驗證了在這個過程當中有一些重要的訓練目標,也是起了非常關鍵的作用,去掉它也會使效能下降。
使用這個變分模板機 VTM 模型,我們得到的額外的一個好處是我們能夠去分析原始資料裡面它對應的隱變數,以及透過這個隱變數找到資料的一些合理的結構。例如,我們把模板變數 z 對映到二維空間去之後,我們會發現每一個句子實際上有一些獨立的聚類,比如說右邊這個聚類它對應於因果描述,裡面的句子基本上都有一些 because、since、with 等等這樣一些表達因果的模式在裡面,這個是完全從資料裡面學到的。
如果大家關心的話,這裡有生成的一些例子,這是從使用者畫像去生成使用者簡歷的一個例子,透過在模板變數裡面做不同的取樣,我們可以得到不同的模板值,把它與表格裡面學到的內容變數合併之後我們可去生成不同的句子,不同的句子長度和寫作風格都有很大的差別,這樣就得到了比較多樣,並且質量比較高的一些句子。
利用類似的解耦表示學習(Disentangled Representation Learning)的方法,我們也可以去學到句子的語法表示以及語義表示。
這個語法表示和語義表示有什麼作用?我們可以做一個非常有趣的實驗,叫『句子嫁接』。例如有兩個句子,“There is an apple on the table”,“The dog is behind the door”。我們可以從從第一個句子裡面學到它的語法表示,從第二個句子裡面學到它的語義表示,把前者語法表示和後者語義表示合併起來,透過 DSSVAE 模型 [7],生成另外一個句子,“There is a dog behind the door”。從形式上,它非常接近第一個句子,都是 there-be 句型;從語義上,它更接近第二個句子,這就是句子嫁接。有了句子嫁接之後,我們可以利用這個技術在質量非常高的文章上面去學一些模型。比如一些業餘作者要寫文章的時候,我們就可以用這些高質量文章上面學出的模型去幫助業餘的作者改進他們的寫作內容。這是第二部分,文字生成的深度隱變數模型(Deep Latent Variable Models for Text generation)。
第三部分我將介紹一下,如果文字生成過程當中有額外的條件限制,如何高效地去做生成。這個問題是我們在火山引擎的實踐當中發現的。
假如說我們要廣告主設計一個廣告,希望在廣告文案當中出現一些給定的關鍵詞,這個問題可以描述成受限文字的生成(Constrained Text Generation)。這裡具體的限制是 keyword-occurrence constraint,即這些詞必須要在句子當中出現。針對關鍵詞限制(keyword occurrence),傳統的演算法是格束搜尋(grid beam search) [8]。透過格束搜尋,我們能夠去生成一些句子,句子中必然會包含給定的關鍵詞,但是這種方法並不能保證會生成質量比較高的句子。
我們提出了一個新的基於取樣的文字生成框架。首先我們把目標問題和目標函式拆解成兩部分,第一部分是預訓練好的語言模型表徵句子機率(pre-trained language model),這部分代表了句子本身的通順程度,所以可以用以前訓練好的語言模型來表示,對應圖中橘黃色的部分。第二部分代表的是受限的文字,這可以用指示函式(indicator function)來表示圖中藍色的部分。而我們目標的句子,實際上是這兩部分的交集,也就是圖中紅色的部分。
我們的目標是從紅色的部分裡面去生成既通順又滿足約束的高質量句子。所有的文字生成問題幾乎都可以用這樣一個框架來表示。而有了這樣一個目標問題的表示之後,我們發現這個目標函式實際上不是一個合理的、有效的機率分佈,因為它並沒有歸一化,要直接去找出其中的機率最高的樣本點是比較困難的。
我們提出了一個新方法——CGMH [9]。
首先我們從原始語料當中可以預訓練一個語言模型,例如現在比較流行的 GPT2 或者 GPT3 [10]。然後我們從一個初始的句子出發,不斷地修改這個句子,每一步都可以 插入、替換、或 刪掉 一個詞。對於得到的新句子,我們再用梅特羅波利斯-黑斯廷斯演算法(Metropolis-Hastings)去計算是否接受這個改動還是保留原來的句子。透過這樣不斷迭代式的改動之後,我們最終就可以得到一些比較高質量的句子。這是整個 CGMH 的核心思想。
我們也在之前介紹的關鍵詞約束的文字生成任務上做了實驗,這張圖是 CGMH、格束搜尋(GBS,即 grid beam search)以及 LSTM 等演算法的對比。上圖是自動評估 NLL(Negative Log-likelihood)分數,越低越好;下圖是人工評價的指標,越高越好。在上下兩個圖當中,CGMH 方法(紅色柱子)都得到了最好分數。
我們已經將 CGMH 部署到大規模線上廣告創作平臺,去為我們的廣告主服務。它已經被超過 10 萬個廣告主以及組織採納,每天生成非常多廣告,廣告文案的採納率約達 75% 以上,也就是說 CGMH 生成的廣告質量實際上是非常高的。
利用類似的思想,我們還可以去做對抗文字的生成。在機器學習裡面,很多機器學習分類模型都是非常脆弱的,非常容易受到一些噪聲(Noises)或者攻擊(Attacks)的影響。如果要去分析它會受到哪些影響,我們就要去生成對抗樣本,而在文本里面,如果要生成比較像人說的話且具有對抗性質的文字,實際上是非常難的。而我們用 CGMH 同樣的思想去建模之後,就可以快速找到比較高質量並且真正具有對抗性質的樣本。例如,我們有一個情感分類器,要對影評文字做情感分類。原來對於句子「I really like this movie」,可以正確地進行情感分類,是 99% 的正向(Positive),透過 MHA 演算法,在不改動語義的情況下,我們的演算法只小小改動了幾個詞,把它改成「we truely like the show」,這個時候就會讓情感分類器混淆了,它甚至會認為這個句子是 59% 的負向(Negative) [10]。
更復雜的限制(Constraints)是我們有一些邏輯的或者組合的限制,在這個情況下,要去做生成實際上就非常難了。比如我要把一個陳述句改成一個疑問句,同時關鍵資訊要保留,不能缺失,就需要加上比較多的組合的限制以及邏輯語義上的限制。邏輯語義上的限制加了之後如何去做生成,這是比較難的一個問題。
同樣,我們把它建模成取樣的形式,把目標函式分成兩部分,第一部分有語言模型,第二部分有限制,不過這裡的限制根據邏輯公式去做了一個構造,根據這個限制去做生成,我們提出了一個新的演算法,叫 TSMH(Tree Search enhanced Metropolis-Hastings),這個演算法可以高效地針對目標函式去做取樣 [11]。這是介紹的帶限制的文字如何去做生成。
接下來我將介紹一下我們在神經網路機器翻譯方面最新研究的方法,如何去提升神經網路機器翻譯的效能。首先我要介紹映象生成式模型(Mirror Generative Model),這是 2020 年發表在 ICLR 會議上面的一個新方法。
我們知道,神經網路機器翻譯是非常吃資料的,一個好的翻譯模型需要大量的平行雙語語料來訓練。有很多的語對之間並沒有這麼大量的平行語料,例如對於中文到印第語的翻譯,實際上是無法找到中文和印第語之間大量的平行語料的。自然的一個問題是:我們能否利用單一語料去做訓練,例如英語到泰米爾語的翻譯當中,我們有大量的英語或者泰米爾語的單語語料,我們利用單語的語料和少量的平行語料一起來做更好的訓練。
如何做到這一點呢?實際上當我們觀察人的語言能力,我們從中得到一個啟發。當一個人會中文和英文的時候,他必然同時具有四種能力:能用中文造句,能用英文造句,能把中文翻譯成英文,也能把英文翻譯成中文。實際上這裡代表了四種語言能力,我們把前兩種對應到神經網路裡面的語言模型,把後兩種對應到神經網路裡面的兩個翻譯方向。
那麼,我們能否做一個模型,使得它像人一樣只要會兩種語言,就會與這兩種語言相關的四種語言技能?答案是肯定的。我們可以在兩個語言句子 X、Y 之間引入一個隱變數 Z,這個隱變數同時跟原語言以及目標語言有關。把它作為一個橋樑之後,我們把四種技能都整合到一個模型裡面,做目標語言的生成,就是 P(Y|Z),原語言到目標語言的翻譯就是 P(Y|X、Z),原語言的語言模型就是 P(X|Z),而目標語言到原語言的翻譯模型就是 P(X|Y,Z)。如何把這四個機率都放到一個框架裡面去呢?我們有一個重要的發現,就是映象性(Mirror property),我們發現生成機率 P(X,Y|Z),實際上可以寫成這樣對稱的形式,最終把它分解成四項,而這四項分別代表了原語言和目標語言的生成能力,以及原語言到目標語言、目標語言到原語言的翻譯能力。而把四個放到一起之後,我們就可以去聯合做最佳化,也就是我們提出的映象生成式神經機器翻譯模型(MGNMT) [12]。
利用這個映象生成模型(MGNMT),我們在多個數據上都得到了最好的翻譯結果。在低資源的情況下,相對於傳統的 Transformer 或者 Transformer 聯合反向翻譯(Back Translation)的方式,MGNMT 都有比較一致的、顯著的提高。
在高資源的情況下(例如英德語向),利用 MGNMT 加上額外的非平行語料之後,我們可以依然比 Transformer 加上反向翻譯的方法有明顯提升,並且驗證了非平行語料的資料是非常有用的,而 MGNMT 在低資源語向的提升會更大一些。
剛才提到兩個語言之間的翻譯,我們下一步要介紹的是我們如何做更多語言的翻譯。我們在最新的發表在今年 EMNLP 會議上的工作 mRASP 的論文當中就提出了一個多語言預訓練的方法。mRASP 是一個全新的正規化去訓練一個多語言翻譯模型,並且在很多場景裡面進行少量微調之後,就可以讓它在目標語對之間的翻譯有較大的提升 [13]。
世界上有非常非常多的語言,如果你數一下,真正有人使用的人類語言有超過 6900 種,我們這裡的目標是去構建一個統一的翻譯模型,能夠自動翻譯任何語對。這當然是機器翻譯的最終目標,這個目標也是非常具有挑戰性的。
我們為什麼要把很多門語言放在一起訓練?第一個現實的原因是,要訓練一個好的機器翻譯的模型需要大量的平行語對,而很多語對之間並沒有平行語料,所以很多語對之間是非常稀疏的。第二個原因是,根據我們的直觀經驗,在語對之間有很多共同的資訊是可以遷移的。我們知道,如果一個人學德語需要花一年時間,他學法語也需要花一年的時間,這是單獨學習的情況。如果他花一年時間先學了德語之後,再去學法語,只需要花三個月時間就可以學會法語了。也就是說,當一個人有了學習德語的能力之後,再去學另一門語言,可以大大縮短他學習其他語言的時間,這就是常說的觸類旁通。這就給我們一個很大的啟示,我們在做多語言翻譯的時候,也許把很多語言放在一起學,總的代價可以比單獨學習各門語言的代價總和要小得多。
從模型上來講,我們還有一個更深層次的目標,更偏數學的一個直觀想法是:假如單獨學習英語、法語、西班牙語、德語、義大利語等語言的翻譯,我們可能學到一個比較好的表示,但是這些表示之間都沒有相互的關係。其實這些語言之間,我們依然可以找到一些雙語的語對把它們連線起來,這些語對具有相同的意思。
我們就希望透過這些具有相同意思、並且在各個語言裡面都出現的一些句子作為錨點,有了這個錨點之後,我們再去統一地學習所有的語言的表示,這樣就會學到一個更好的表示。在這個表示的框架下,一個句子即使在不同的語言裡面,只要它有同樣的語義,就會對映到同樣一個表示空間裡面的向量上面去。
這也是我們提出的 mRASP 核心思想。mRASP 翻譯的模型是用基於 Transformer 的編解碼器(Encoder-Decoder),我們在輸入端加了編碼器(Encoder)的語言識別符號去表示它輸入的語種,在解碼器(Decoder)做了一個額外的輸入是目標語言的語言識別符號,表示它需要翻譯的語種。
除了使用大量的雙語平行句對來訓練之外,我們還利用這些平行句對做了一個數據增強。透過發明的隨機對齊替換(Random Aligned Substitution)的方法,我們把原句裡面一些詞透過同義詞詞典找到它對應的另外一種語言裡面的同義詞,然後做隨機替換,之後把替換後的源端句子和真正的目標句子再組合成一個偽平行句對,透過這樣的方式去做訓練之後,就可以得到一個比較好的模型。
透過 mRASP 這個方法,我們在很多場景下去做了多種語言翻譯的測試,這裡面顯示了我們透過 mRASP 訓練了一個初始的模型,這個統一的模型我們在具體語對平行資料上又去微調。比如說這裡英語到白俄羅斯語(Be),我們應用 mRASP 預訓練好的模型在英語到白俄羅斯語微調之後得到的翻譯模型,和在英語到白俄羅斯語雙語語料上面直接訓練出一個 Transformer 翻譯模型做比較之後,發現 mRASP 可以大大提升翻譯的效能。在極低資源方向(Extremely-Low Resource Directions)以及低資源方向(Low Resource Directions)這兩種場景下,我們都發現 mRASP 這樣做預訓練微調之後會得到更好的翻譯,提升都在 10 個點以上。
在中等資源(Medium Resource)和高資源(Rich Resource,指雙語語對有 100 萬以上的平行語料)兩個場景下,我們發現 mRASP 方法仍然有比較大的提升,我們也和之前提出的所有其他方法做了對比,包括 XLM、CTNMT、MASS 以及 mBART 等。
我們也做了另外一個實驗,mRASP 是否對未見語種也有效?透過 mRASP 訓練了之後,我們在一些從來沒有見過的語對上面去做微調,例如從荷蘭語(Nl)到葡萄牙語(Pt)。這兩個語言都沒有在 mRASP 的預訓練語料裡面出現過,而且微調階段雙語平行語料只有 1.25 萬,非常少,如果直接在這個語對上面用 Transformer 去訓練的話,得不到任何有意義的結果,BLEU SCORE 會是 0。用 mRASP 預訓練好的模型,在荷蘭語到葡萄牙語的語料上面去微調之後,會得到一些有意義的翻譯結果,而 BLEU SCORE 也有了 10 個點的提升(從 0 漲到 13)。
簡單總結下我的演講內容。這裡我介紹了多模態協作機器人 Xiaomingbot,也介紹了兩種從資料當中學到解耦隱表示(Disentangled Latent Representation)的方法,包括變分模板機 VTM,用來做資料到文字的生成(Data-to-Text Generation)。以及 DSSVAE,從資料當中學到文字和語義隱層表示的。以及 DEMVAE 方法,如何從原始文字資料當中學到有意義的隱表示和語義聚類。我也介紹了在文字生成當中如果有額外的限制,如何用比較好的一些方法去生成高質量的句子,並且符合這些限制,如 CGMH、MHA 和 TSMH 等方法。最後我介紹了兩個機器翻譯的新方法,一個是映象式生成模型 MGNMT,可以把平行語料和非平行語料聯合在一起去學到兩個語言之間的四種語言能力。而 mRASP 更是把機器翻譯預訓練推廣到非常多的語對之間,把這些語對聯合起來訓練一個比較好的模型,然後在下游的翻譯任務上做微調,能夠非常有效地提升翻譯效能。
我們也開源了一些演算法還有工具,包括 mRASP。我們已經把訓練後的以及訓練好的模型開源。我們最近也釋出了一個高效能的序列推理工具 LightSeq [14],針對 Nvidia 的 GPU 做效能最佳化,重寫了序列生成的計算核心,並且在序列生成機器翻譯等任務上相對 tensorflow 版本,有 10 倍以上的速度提升。
參考文獻:[1] E.Brynjolfsson, X. Hui and M. Liu, "Does machine translation affectinternational trade? Evidence from a large digital platform.," ManagementScience, vol. 65, no. 12, pp. 5449- 5460, 2019.
[2] R.Xu, J. Cao, M. Wang, J. Chen, H. Zhou, Y. Zeng, Y. Wang, L. Chen, X. Yin, X.Zhang, S. Jiang, Y. Wang and L. Li, "Xiaomingbot: A Multilingual RobotNews Reporter," in the 58th Annual Meeting of the Association forComputational Linguistics (ACL): System Demonstrations, 2020.
[3] Z.Sun, J. Chen, H. Zhou, D. Zhou, L. Li and M. Jiang, "GraspSnooker:Automatic Chinese Commentary Generation for Snooker Videos," in the28th International Joint Conference on Artificial Intelligence (IJCAI) : Demo,2019.
[4] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser and I. Polosukhin, "Attention is All You Need," in NeurIPS, 2017.
[5] W. Shi, H. Zhou, N. Miao and L. Li, "Dispersed Exponential Family Mixture VAEs for Interpretable Text Generation," in the Proceedings of the 37th International Conference on Machine Learning, 2020.
[6] R. Ye, W. Shi, H. Zhou, Z. Wei and L. Li, "Variational Template Machine for Data-to-Text Generation," in Proceedings of International Conference on Learning Representations, 2020.
[7] B. Bao, H. Zhou, S. Huang, L. Li, L. Mou, O. Vechtomova, X. Dai and J. Chen, "Generating Sentences from Disentangled Syntactic and Semantic Spaces," in the 57th Annual Meeting of the Association for Computational Linguistics, 2019.
[8]C. Hokamp and Q. Liu, "Lexically Constrained Decoding for Sequence Generation Using Grid Beam Search," in the 55th Annual Meeting of the Association for Computational Linguistics, 2017.
[9]N. Miao, H. Zhou, L. Mou, R. Yan and L. Li, "CGMH: Constrained Sentence Generation by Metropolis-Hastings Sampling," in the 33rd AAAI Conference on Artificial Intelligence , 2019.
[10] T. Brown, B. Mann, N. Ryder, M. Subbiah, J. D. Kaplan, P. Dhariwal, A. Neelakantan, P. Shyam, G. Sastry, A. Askell, S. Agarwal, A. Herbert-Voss, G. Krueger, T. Henighan and Chil, "Language Models are Few-Shot Learners," in Advances in Neural Information Processing Systems, 2020.
[11] H. Zhang, N. Miao, H. Zhou and L. Li, "Generating Fluent Adversarial Examples for Natural Languages," in 57th Annual Meeting of the Association for Computational Linguistics - short papers, 2019.
[12] M. Zhang, N. Jiang, L. Li and Y. Xue, "Language Generation via Combinatorial Constraint Satisfaction: A Tree Search Enhanced Monte-Carlo Approach," in the Conference on Empirical Methods in Natural Language Processing (EMNLP) - Findings, 2020.
[13] Z.Zheng, H. Zhou, S. Huang, L. Li, X. Dai and J. Chen, "Mirror GenerativeModels for Neural Machine Translation," in International Conference onLearning Representations , 2020.
[14] Z.Lin, X. Pan, M. Wang, X. Qiu, J. Feng, H. Zhou and L. Li, "Pre-trainingMultilingual Neural Machine Translation by Leveraging AlignmentInformation," in the Conference on Empirical Methods in NaturalLanguage Processing, 2020.
[15] "LightSeq,"[Online]. Available: https://github.com/bytedance/lightseq. [Accessed 2020].