哈佛NLP组论文解读:基于隐变量的注意力模型 | 附开源代码
作者丨鄧云天
學(xué)校丨哈佛大學(xué)NLP組博士生
研究方向丨自然語言處理
摘要
Attention 注意力模型在神經(jīng)網(wǎng)絡(luò)中被廣泛應(yīng)用。在已有的工作中,Attention 機(jī)制一般是決定性的而非隨機(jī)變量。我們提出了將 Attention 建模成隱變量,并應(yīng)用 VAE 和 policy gradient 訓(xùn)練模型。在不使用 KL annealing 等 trick 的情況下訓(xùn)練,在 IWSLT 14 German-English 上建立了新的 state-of-the-art。
■?論文 | Latent Alignment and Variational Attention
■ 鏈接 | https://www.paperweekly.site/papers/2120
■ 源碼 |?https://github.com/harvardnlp/var-attn
背景
近年來很多文章將 VAE 應(yīng)用到文本生成上,通過引入隱變量對文本中的一些不確定性(diversity,如文章風(fēng)格主題、蘊(yùn)含情感等)進(jìn)行建模。這樣做往往會遇到一個(gè)常見的問題—— KL collapsing。這個(gè)問題最早在 16 年時(shí)由 Bowman 指出 [1],其描述的現(xiàn)象是直接訓(xùn)練 VAE 得到的 KL 接近 0——這也就意味著近似后驗(yàn)和先驗(yàn)一樣,使得隱變量被模型忽略 [5]。
Bowman 的解決辦法是使用 KL annealing [1](KL 項(xiàng)的權(quán)重從 0 開始逐漸增加到 1)或者 word dropout(不常用在此略過)。隨后,17 年 Yang 等人對 KL collapsing 的問題進(jìn)行了更細(xì)致的分析 [2],并提出降低 decoder 的 contextual capacity 改善這個(gè)現(xiàn)象。此外 Zhao 等人提出 bag-of-word loss 去解決這個(gè)問題 [3]。18年 Graves 等人也對 KL collapsing 進(jìn)行了分析 [4]。
在我們的工作中,Attention 被建模成隱變量。值得注意的是,我們將 Attention 建模成隱變量并不是為了單純應(yīng)用 VAE 這個(gè)工具,而是因?yàn)槲覀冋J(rèn)為將 Attention 建模成隱變量可以為 decoder 提供更 clean 的 feature,從而在不增加模型參數(shù)的情況下提高模型的表達(dá)能力(注意 inference network 在測試階段不被使用因此不計(jì)入模型參數(shù))。
以下是一個(gè)簡單的直覺:下圖藍(lán)色部分展示的是傳統(tǒng) Attention,下圖紅色部分展示的我們提出的隱變量 Attention。傳統(tǒng)的 Attention 機(jī)制僅能通過之前生成的單詞確定當(dāng)前即將生成單詞的 Attention,而因?yàn)榇嬖诙喾N翻譯方式,所以會出現(xiàn) attend 到和實(shí)際翻譯的單詞并不對應(yīng)的位置的問題。而在紅色部分展示的我們提出的隱變量 Attention 中,我們可以通過全部的源文本和目標(biāo)文本去得到更準(zhǔn)確的后驗(yàn) Attention,因此 Attention 和實(shí)際翻譯應(yīng)該 attend 的源單詞對應(yīng)得更好。并且,這樣得到的更好的后驗(yàn) Attention 可以提供給 decoder,從而使 decoder 拿到更 clean 的 feature,藉此可以得到更好的模型。
方法
基于這個(gè)直覺,我們將注意力 Attention 建模成隱變量。假定 x 是源文本,y 是目標(biāo)文本,z 是 attention,根據(jù)標(biāo)準(zhǔn)的 VAE 方法,我們引入 inference network q(z | x, y) 去近似后驗(yàn),那么 ELBO 可以表達(dá)為(為了簡單我們考慮目標(biāo)文本只有一個(gè)單詞的情況):
上面不等式的右側(cè)是 ELBO,其中第一項(xiàng)是從 q(z | x, y) 中采樣出 Attention,使用采樣出的 Attention 作為 decoder 的輸入計(jì)算 cross entropy loss,第二項(xiàng)是確保后驗(yàn)分布接近先驗(yàn)分布。這里值得注意的是,此處的先驗(yàn)和一般的 VAE 不同,我們的先驗(yàn)是和模型一起學(xué)習(xí)的。
因?yàn)槲覀兊?p(z | x) 和 q(z | x, y) 都是 categorical 分布,所以我們使用 policy gradient 去優(yōu)化上面的目標(biāo)函數(shù)。由于 decoder 和 encoder 之間的主要信息傳輸通道是通過 attention,如果忽略了這個(gè)隱變量,就會無法得到源文本的信息而得到很大的 penalty。這與之前的許多工作中直接把隱變量加入到每個(gè) decoding step 不同,因?yàn)槟菢蛹词?decoder 忽略了隱變量,也可以達(dá)到很好的模型表現(xiàn) [5]。因此通過直接優(yōu)化目標(biāo)函數(shù)這個(gè)隱變量也不易被忽略,我們的實(shí)驗(yàn)完全驗(yàn)證了這一點(diǎn)。
由于我們的后驗(yàn) q 能看到全部的 x 和 y,因此后驗(yàn)中采樣的 Attention 可以比先驗(yàn) p(z | x) 好,比如以下的例子:
這里我們把德語(縱向)翻譯成英語(橫向)。紅色代表先驗(yàn),即只觀測到 x 而不觀測到 y 的 p(z | x),藍(lán)色代表后驗(yàn),即觀測到全部信息的 p(z | x, y)。注意到在第二個(gè)單詞 actually 處,紅色的先驗(yàn)試圖 attend 到 nun 后面的逗號“,”,從而試圖生成一個(gè) “well,” 的翻譯結(jié)果。然而實(shí)際的英語翻譯中并沒有逗號,反而直接是 well actually。
由于后驗(yàn) q(z | x, y) 可以看到實(shí)際的翻譯,因此藍(lán)色的后驗(yàn)正確 attend 到了 tatsachlich 上。注意到訓(xùn)練目標(biāo) ELBO 中我們從 q 中采樣 Attention 給 decoder,因此通過使用 VAE 的方法,decoder 得到了更準(zhǔn)確的 Attention 信號,從而可能提高模型的表達(dá)能力。
結(jié)果
實(shí)驗(yàn)上,我們在 IWSLT 14 German-English 上得到了新的 state-of-art。其中 KL 大約在 0.5,cross entropy loss 大約在 1.26,而且我們?nèi)斯け容^了很多后驗(yàn)和先驗(yàn)也很符合我們的建模直覺。
歡迎嘗試我們的代碼,我們提供了能復(fù)現(xiàn)我們 state-of-art 效果的 preprocessing、training、evaluation 的 command,以及我們報(bào)告的模型。
相比過去的大部分工作是從 Attention 計(jì)算出來的固定維度的 context vector,我們提出了將 Attention 建模成隱變量,即在 simplex 上的 Attention 本身。由于我們的工作是對 Attention 注意力機(jī)制的改進(jìn),因此理論上可以被應(yīng)用到一切包含 Attention 的 task 中。文章里除了機(jī)器翻譯外我們也做了個(gè)視覺問答系統(tǒng)的實(shí)驗(yàn)。我們的具體模型和 inference network 的結(jié)構(gòu)請參見我們的論文和代碼。
限于作者的水平,本文中有錯(cuò)誤和紕漏在所難免,望讀者朋友多多包涵。也歡迎發(fā)郵件給我 dengyuntian@seas.harvard.edu 交流。
參考文獻(xiàn)
[1]. Bowman et al, Generating Sentences from a Continuous Space?
[2]. Yang et al, Improved Variational Autoencoders for Text Modeling using Dilated Convolutions?
[3]. Zhao et al, Learning Discourse-level Diversity for Neural Dialog Models using Conditional Variational Autoencoders?
[4]. Graves et al, Associative Compression Networks for Representation Learning?
[5]. Zhang et al, Variational Neural Machine Translation
點(diǎn)擊標(biāo)題查看更多論文解讀:?
??ACL2018高分論文:混合高斯隱向量文法
??基于詞向量的簡單模型 | ACL 2018論文解讀
??COLING 2018最佳論文:序列標(biāo)注經(jīng)典模型復(fù)現(xiàn)
??圖像壓縮哪家強(qiáng)?請看這份超詳細(xì)對比
??CVPR 2018 最佳論文解讀:探秘任務(wù)遷移學(xué)習(xí)
??深度學(xué)習(xí)模型復(fù)現(xiàn)難?句子對模型復(fù)現(xiàn)論文
關(guān)于PaperWeekly
PaperWeekly 是一個(gè)推薦、解讀、討論、報(bào)道人工智能前沿論文成果的學(xué)術(shù)平臺。如果你研究或從事 AI 領(lǐng)域,歡迎在公眾號后臺點(diǎn)擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
▽ 點(diǎn)擊 |?閱讀原文?| 下載論文
總結(jié)
以上是生活随笔為你收集整理的哈佛NLP组论文解读:基于隐变量的注意力模型 | 附开源代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CVer入门必备:计算机视觉的深度学习实
- 下一篇: 线下报名 | YOCSEF TDS:深度