日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

非自回归也能预训练:基于插入的硬约束生成模型预训练方法

發(fā)布時間:2024/10/8 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 非自回归也能预训练:基于插入的硬约束生成模型预训练方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

論文標題:

POINTER: Constrained Text Generation via Insertion-based Generative Pre-training

論文作者:

Yizhe Zhang (MSR), Guoyin Wang (Duke), Chunyuan Li (MSR), Zhe Gan (MSR), Chris Brockett (MSR), Bill Dolan (MSR)

論文鏈接:

arxiv.org/pdf/2005.00558


非自回歸生成有著更高的效率,但是,當前鮮有研究針對非自回歸生成模型的預訓練方法。

本文提出一種新的基于插入的非自回歸預訓練方法,用動態(tài)規(guī)劃構(gòu)造訓練數(shù)據(jù),并使用新的beam search方法,實現(xiàn)log級別的非自回歸生成。在兩個硬約束數(shù)據(jù)集上的實驗表明,該方法比起基線模型有大幅提高。

硬約束文本生成與非自回歸預訓練

約束性文本生成(Constrained Text Generation)是文本生成中非常重要的部分,可以分為兩類:軟約束生成(Soft-Constrained)和硬約束生成(Hard-Constrained)。

軟約束生成就是給定一些關(guān)鍵詞(或關(guān)鍵信息),生成的文本要包含給定的關(guān)鍵內(nèi)容,但不一定要完全包括。

硬約束生成就是要完全包含給定的詞匯,不允許刪除。

結(jié)合這兩年得到廣泛研究的基于插入的非自回歸生成,我們可以很容易把這種方法應用到硬約束文本生成上,因為基于插入的非自回歸方法有兩個優(yōu)點:

  • 它不刪除給定的詞匯,而是不斷增加新詞,符合硬約束的要求;

  • 它可以有l(wèi)og級別的生成效率。

下圖是硬約束插入式非自回歸生成的一個例子。給定的關(guān)鍵信息是,經(jīng)過4次迭代,每次迭代新插入的詞為藍色,模型最終生成了期望的句子。

此外,由于這種插入的方法非常類似BERT的掩碼預訓練方法,所以,我們完全有可能像BERT那樣,為插入式非自回歸模型進行類似的預訓練,從而利用大規(guī)模無監(jiān)督語料,提高硬約束生成的效果。這就是本文的主要創(chuàng)新點。

總的來說,本文有以下貢獻:

  • 提出POINTER——一種插入式非自回歸預訓練模型,并能用BERT初始化;

  • 基于POINTER使用一種簡單但有效的Beam Search方法,進一步提高效果;

  • 在兩個硬約束生成數(shù)據(jù)集上,POINTER實現(xiàn)了顯著的效果,并且有著最高的生成效率。

非自回歸預訓練

本節(jié)介紹POINTER的模型、訓練及推理方法。首先介紹符號。記原始輸入的硬約束為,第輪模型生成的句子是,最后生成的句子是。由于模型是以插入的方法生成的,從而前一輪的句子是下一輪生成句子的子序列。

模型建模最終句子的概率可以表示為:

所以,在每一輪,模型就是要根據(jù)前一輪生成的句子去選擇要在哪里插入哪些詞。在介紹生成步驟之前,首先來介紹一下如何構(gòu)造訓練數(shù)據(jù)。

訓練數(shù)據(jù)構(gòu)造

對于一個完整的句子,我們想要構(gòu)造一個生成序列,相鄰每一對就是一個訓練實例。

由于我們想要讓動詞、名詞等實詞首先生成,而形容詞、副詞、助詞等詞最后生成,我們首先就要構(gòu)造出符合這個模式的訓練實例。

為此,我們對句子的每個詞給一個重要性得分(importance score),它通過如下方式計算:

其中,是詞的TF-IDF得分,是詞的Part-of-Speech得分,是詞的YAKE得分。YAKE是一種無監(jiān)督關(guān)鍵詞抽取方法。

在這個得分公式中,越高,表示詞就越重要,它就要首先生成。注意到每個得分都歸一化到[0,1]之間。

在得到句子中每個詞的重要性得分之后,我們就可以逆序構(gòu)造訓練實例了。

具體來說,首先對源句子,從中抹去得分較低的一部分詞,得到。

然后再對中剩下的詞,再抹去一部分得分較低的詞,得到,以此類推,得到初始句子。這里停止的標準是只剩不到個詞。

那么,現(xiàn)在的問題是,怎么決定每次要抹去哪些詞。換句話說,要選擇保留哪些詞,它們要滿足某些條件,要達到怎樣的優(yōu)化目標。本文使用下面的公式計算:

這里是當前句子的長度,表示第個詞被抹去,表示這個詞被保留,并且約束是,不能有連續(xù)兩個詞被抹去。

為了求解上述公式,本文使用了一種動態(tài)規(guī)劃算法。

注意到,原文上述公式中的max是min,筆者認為是筆誤,否則上述公式就有一組平凡解。這個公式既鼓勵重要的詞首先生成,又鼓勵盡可能多地生成詞(越多越好)。

然而,根據(jù)文本描述,筆者在此處有一個疑問:對于約束“不能有連續(xù)兩個詞被抹去”。

原文給出的解釋是“The reason for this constraint is that the insertion-based generation only allows maximally one new token to be generated between two existing tokens”。

也就是說,由于插入式模型一次只能在相鄰詞之間插入一個字符,所以在這里我們也不能一次抹去相鄰兩個字符。

但是實際上,即使抹去連續(xù)的詞,這些詞仍然可以在對數(shù)時間內(nèi)以插入的方式生成。

訓練

在得到訓練實例后,就作為模型的輸入,讓模型去生成?;貞洸迦胧缴?#xff0c;首先選擇一個槽(slot,即相鄰詞之間的那個空位),然后生成該槽的詞。

重新組織一下,就可以統(tǒng)一為:對當前輸入的每個詞,去預測“緊跟在”它后面是否要插入一個詞,要插入哪個詞。

這又可以進一步統(tǒng)一為:去預測詞典中的一個詞,這里是一個特殊詞,表示實際上不插入。

為了表示就是最后的句子,額外構(gòu)造一個訓練實例,其中的長度和相同,而且每個詞都是[NOI]。

也就是說,當作為輸入的時候,模型需要為每個詞輸出[NOI],也就表示在每個詞后面我們不再插入新詞了,也就表示生成結(jié)束。

下圖是模型生成的一個例子。

由于這個插入的過程和BERT預訓練的方式一樣,我們可以首先用BERT去初始化POINTER,然后再使用其他語料去預訓練POINTER。

訓練目標就是對每個訓練實例,優(yōu)化它的對數(shù)似然。

推理

在推理的時候,如果一個詞后面生成了[NOI]且生成過程沒有結(jié)束,那么在下一輪,這個[NOI]就不必再插入進去,因為它實際上表示的是沒有插入。

在解碼的時候,對每個位置,可以選擇用Greedy Decoding或者Beam Decoding。本文提出Inner-Layer Beam Search (ILBS),進一步提高生成的效果。

具體來說,從左到右,對每個詞,首先得到它預測的top-B個詞,然后rank當前B個候選句子的得分,取其中最大的一大作為當前插入的詞,然后繼續(xù)往右走到下一個位置,直到最后一個位置,保留B個候選句子。

實驗

本文在數(shù)據(jù)集EMNLP2017 WMT News和Yelp English Review上實驗,預訓練數(shù)據(jù)集為12.6G的Wikipedia,實驗細節(jié)詳見原文。

實驗過程大致是首先按照預訓練數(shù)據(jù)集的構(gòu)造方法構(gòu)造訓練、驗證和測試集,以此評估模型的硬約束生成能力。

下面兩個表分別是在News和Yelp上的實驗結(jié)果,可以看到,在NIST、BLEU、METEOR、PPL得分上,POINTER相比基線模型取得了顯著的提升,而Dist評估的是模型生成的多樣性,且基線模型CGMH和NMSTG是基于采樣的方法,自然在Dist得分上也就比POINTER高。

另外一個值得關(guān)注的點是,POINTER生成的生成的句子長度更加接近人類。最后,使用POINTER預訓練可以顯著提高生成文本的流暢度。

下表是人工測評的結(jié)果。在語義度、流暢度和信息度上,POINTER都顯著好于基線模型,但仍然和人工寫作的文本有所差異。

下圖是數(shù)據(jù)集Yelp上的兩個具體例子。和基線模型相比,POINTER生成的句子不但考慮了所有的硬約束,并且句子更加通順流暢,也更加符合硬約束的原義。

在推理時間方面,在1000個句子上,CGMH需要33小時,NMSTG需要487秒,而POINTER只需要67秒,具體顯著的速度優(yōu)勢。

小結(jié)

本文提出POINTER——一種用于硬約束生成的插入式非自回歸生成的預訓練方法。使用BERT初始化、POINTER預訓練和Inner-Layer Beam Search,POINTER在兩個數(shù)據(jù)集上取得了顯著的效果提升,而且具有效率優(yōu)勢。

未來關(guān)于非自回歸模型預訓練的研究可以有以下方向:

  • 更加通用的預訓練:不僅僅是插入式的預訓練,而且是適用于各種任務的預訓練方法,還可以探索適用在NMT上的預訓練方法;

  • 更加高效的預訓練:POINTER是對數(shù)級別的預訓練,未來可以像BERT那樣將其降低到常數(shù)級;

  • 更加簡單的預訓練:POINTER的預訓練需要人工構(gòu)造訓練數(shù)據(jù),本質(zhì)也是用規(guī)則指定了訓練的方向,如何設(shè)計像BERT一樣簡單有效的自動預訓練方法,是今后非自回歸預訓練研究的一大重點。

????

現(xiàn)在,在「知乎」也能找到我們了

進入知乎首頁搜索「PaperWeekly」

點擊「關(guān)注」訂閱我們的專欄吧

關(guān)于PaperWeekly

PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的非自回归也能预训练:基于插入的硬约束生成模型预训练方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。