自然語言推理 (Natural Language Inference, NLI) 是一個活躍的研究領(lǐng)域,許多基于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNNs),卷積神經(jīng)網(wǎng)絡(luò)(CNNs),self-attention 網(wǎng)絡(luò) (SANs) 的模型為此提出。盡管這些模型取得了不錯的表現(xiàn),但是基于 RNNs 的模型難以并行訓(xùn)練,基于 CNNs 的模型需要耗費(fèi)大量的參數(shù),基于 self-attention 的模型弱于捕獲文本中的局部依賴。為了克服這個問題,我們向 self-attention 機(jī)制中引入高斯先驗(yàn) (Gaussian prior) 來更好的建模句子的局部結(jié)構(gòu)。接著,我們?yōu)?NLI 任務(wù)提出了一個高效的、不依賴循環(huán)或卷積的網(wǎng)絡(luò)結(jié)構(gòu),名為 Gaussian Transformer。它由用于建模局部和全局依賴的編碼模塊,用于收集多步推理的高階交互模塊,以及一個參數(shù)輕量的對比模塊組成。實(shí)驗(yàn)結(jié)果表明,我們的模型在SNLI 和 MultiNLI 數(shù)據(jù)集上取得了當(dāng)時最高的成績,同時大大減少了參數(shù)數(shù)量和訓(xùn)練時間。此外,在 HardNLI 數(shù)據(jù)集上的實(shí)驗(yàn)表明我們的方法較少受到標(biāo)注的人工痕跡(Annotation artifacts) 影響。
1 引言
1.1 任務(wù)簡介
自然語言推理 (Natural Language Inference, NLI) ,又叫文本蘊(yùn)含識別 (Recognizing Textual Entailment, RTE), 研究的是文本間的語義推理關(guān)系, 具體來講, 就是識別兩句話之間的蘊(yùn)含關(guān)系,例如,蘊(yùn)含、矛盾、中性。形式上是,NLI 是一個本文對分類問題。
1.2 動機(jī)
這里簡要介紹一下我們提出 Gaussian Self-attention 的動機(jī)。我們觀察到,在句子中,與當(dāng)前詞的語義關(guān)聯(lián)比較大的詞往往出現(xiàn)在這個單詞的周圍, 但是普通的 Self-attention, 并沒有有效地體現(xiàn)這一點(diǎn)。如圖1所示,在句子 ”I bought a newbookyesterday with a new friend in New York. ” 中,共出現(xiàn)了三個 ”new”,但對于當(dāng)前詞 book 來說,只有第一個new 才是有意義的。但是普通的 self-attention(在不使用 position-encoding 的情況下),卻給這三個 ”new” 分配了同樣大小的權(quán)重,如圖1(a)所示。我們的想法是,應(yīng)當(dāng)鼓勵 self-attention 給鄰近的詞更大的權(quán)重,為此,我們 在原始的權(quán)重上乘以一個按臨近位置分布的高斯先驗(yàn)概率,如圖 1(b),改變 self-attention 的權(quán)重分布,如圖 1(c),從而更加有效地建模句子的局部結(jié)構(gòu)。
圖 1. Gaussian self-attention 示例
事實(shí)上,RNNs 和 CNNs 能夠自然而然地賦予臨近的單詞更大的權(quán)重,例如,RNNs 會傾向忘記遠(yuǎn)處的單詞,CNNs 會忽略所有不在當(dāng)前窗口內(nèi)的單詞。在這篇文章中,我們把 Gaussian self-attention 應(yīng)用到了 Transformer 網(wǎng)絡(luò)上, 并在自然語言推理 (Natural language Inference)這一任務(wù)上進(jìn)行了驗(yàn)證,實(shí)驗(yàn)表明我們所提出的基于 Gaussian self-attention 的 Gaussian Transformer 效果優(yōu)于許多較強(qiáng)的基線方法。同時,該方法也保留了原始 Transformer 的并行訓(xùn)練,參數(shù)較少的優(yōu)點(diǎn)。
2 模型簡介
在實(shí)現(xiàn)上, 我們可以通過一系列化簡 (具體細(xì)節(jié)請參看我們的論文原文), 把 Gaussian self-attention 轉(zhuǎn)化為 Transformer 中的一次矩陣加法操作, 如圖 2 所示, 從而節(jié)省了運(yùn)算量。 此外,我們發(fā)現(xiàn),與使用原始的 Gaussian 分布作為先驗(yàn)概率相比,適當(dāng)?shù)囊种频絾卧~自身的 attention可以對最終的實(shí)驗(yàn)結(jié)果有少許的提升,如圖 3(b) 所示。
圖 2. Attention 示例: (a) 原始的 dot-product attention;(b)&(c) Gaussian self-attention 的兩種實(shí)現(xiàn)
圖 3. 先驗(yàn)概率示例: (a) 原始的 Gaussian prior;(b) 抑制到自身的 Gaussian prior 變種
圖 4 展示了我們模型的整體框架。 如圖所示, 模型自底向上大致分為四個部分:Embedding模塊、編碼 (Encoding) 模塊、交互 (Interaction) 模塊和對比 (Comparison) 模塊。
圖 4. Gaussian Transformer 整體框架
Embedding 模塊的作用是把自然語言文本轉(zhuǎn)化為機(jī)器方便處理的向量化表示, 我們使用了單詞和字符級別的 Embedding,以及 Positional Encoding。
Encoding 模塊與原始的 Transformer 的 Encoder 非常類似,只是我們增加了前文引入的 Gaussian self-attention 以便更好的建模句子的局部結(jié)構(gòu)。 但事實(shí)上, 句子中也存在長距離依賴, 僅僅建模句子的局部結(jié)構(gòu)是不夠的。為了捕獲句子的全局信息,我們堆疊了 M 個 Encoding 模塊。這種方式類似于多層的 CNNs 網(wǎng)絡(luò),層數(shù)較高的卷積層的 receptive ?eld 要大于底層的卷積。
Interaction 模塊用于捕獲兩個句子的交互信息。 這一部分與原始的 Transformer 的 Decoder 部分類似, 區(qū)別是我們?nèi)サ袅?Positional Mask 和解碼的部分。 通過堆疊 N 個 Interaction 模塊,我們可以捕獲高階交互的信息。
Comparison 模塊主要負(fù)責(zé)對比兩個句子,分別從句子的 Encoding 和 Interaction 兩個角度對比,這里我們沒有使用以前模型中的復(fù)雜結(jié)構(gòu),從而節(jié)省了大量的參數(shù)。
3 實(shí)驗(yàn)與分析
3.1 實(shí)驗(yàn)結(jié)果
首先,我們驗(yàn)證各個模塊的有效性,如圖 5 所示,采用多層的 Encoding 模塊和多層的 Interaction 模塊的效果要優(yōu)于使用單層的模型,證明了前面所提到的全局信息和高階交互的有效性。其次,我們想要驗(yàn)證一下 Gaussian prior 的有效性。如表 1 所示,我們發(fā)現(xiàn) Gaussian prior 及其變種的性能要優(yōu)于其他諸如 Zipf prior 等方法,也要優(yōu)于原始的 Transformer。最后, 我們在 SNLI、MultiNLI 和 HardNLI 的測試集上與其他前人的方法進(jìn)行了橫向比較。如表 2、 3、4、5 和 6 所示,我們的方法在 Accuracy、模型參數(shù)量、訓(xùn)練與預(yù)測一輪同樣的數(shù)據(jù)的時間上都優(yōu)于基線方法。
圖 5. MultiNLI 開發(fā)集上的 Accuracy 熱圖。
表1.MultiNLI 開發(fā)集上各 Gaussian transformer 變種的 Accuracy
表2.SNLI 測試集上 Gaussian Transformer 與其他模型的橫向比較
表3.MultiNLI 測試集上 Gaussian Transformer 與其他模型的橫向比較
表4.在 SNLI 數(shù)據(jù)集上訓(xùn)練或預(yù)測一輪所需的時間對比
表5.當(dāng)引入外部資源時,各個模型的性能比較
表6.HardNLI 上的對比結(jié)果
3.2 分析
Q:原始的 Transformer 中已經(jīng)有了 Positional encoding,已經(jīng)能夠捕獲單詞的位置信息,為什么還要用 Gaussian Prior ?
A:Positional Encoding 僅僅使模型具有了感知單詞位置的能力;而 Gaussian Prior 告訴模型哪些單詞更重要,即對于當(dāng)前單詞來說,臨近的單詞比遙遠(yuǎn)的單詞更重要,這一先驗(yàn)來自于人的觀察。
Q:為什么 Gaussian Transformer 在時間和參數(shù)量上優(yōu)于其他的方法?
A:Gaussian Transformer 沒有循環(huán)和卷積結(jié)構(gòu),從而能夠并行計(jì)算,同時我們在設(shè)計(jì)模型時,盡量保持模型簡化,摒棄了以往方法中的復(fù)雜結(jié)構(gòu) (例如,在 Comparison block 中的簡化),使我們的模型更加輕量。
4 結(jié)論
針對自然語言推理任務(wù)的前人工作的不足,我們提出了基于 Gaussian self-attention 的 Gaussian Transformer 模型。實(shí)驗(yàn)表明所提出的模型在若干自然語言推理任務(wù)上取得了State-of-the-Art的實(shí)驗(yàn)結(jié)果。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4782瀏覽量
101220
原文標(biāo)題:AAAI 2019 Gaussian Transformer: 一種自然語言推理的輕量方法
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論