KDD 2017 《ReasoNet: Learning to Stop Reading in Machine Comprehension》论文笔记
目錄
- 簡介
- 動機(jī)
- 貢獻(xiàn)
- 方法
- 實(shí)驗(yàn)
簡介
本文面向機(jī)器閱讀理解問題(Machine Reading Comprehension),作者來自微軟研究院。
下載鏈接
動機(jī)
現(xiàn)有的方法可以分為兩類:單步推理(Single turn)、多步推理(multiple turns)。多步推理是由單步推理衍生而來,單步推理又可以看做是多步推理的特例(turn=1)。這兩種方法的共同點(diǎn)是,推理輪數(shù)固定,這不符合人類的閱讀行為。人會根據(jù)當(dāng)前是否得到了足夠的信息,決定中止閱讀或繼續(xù)閱讀。本文基于此動機(jī),提出ReasoNet,可以動態(tài)決定推理輪數(shù)。
貢獻(xiàn)
方法
本文方法的整體架構(gòu)如下圖所示。按照原文的劃分,主要包括5個部分,下面一一介紹。
- Memory
是一個外部庫,M={mi}i=1...DM=\{m_i\}_{i=1...D}M={mi?}i=1...D?,用于生成attention。 - Attention
通過隱狀態(tài)和外部庫,得到當(dāng)前時間步的attention,xt=fatt(st,M;θx)x_t=f_{att}(s_t,M;\theta_x)xt?=fatt?(st?,M;θx?) - Internel State
每個時間步的隱狀態(tài),通過RNN得到,st+1=RNN(st,xt;θs)s_{t+1}=RNN(s_t,x_t;\theta_s)st+1?=RNN(st?,xt?;θs?) - Termination Gate
終止門,用于判斷當(dāng)前時間步是否終止,tt~p(?∣ftg(st;θtg))t_t \sim p(·|f_{tg}(s_t;\theta_{tg}))tt?~p(?∣ftg?(st?;θtg?)),ttt_ttt?是一個二值隨機(jī)變量,當(dāng)它是true時,終止。 - Answer
當(dāng)tt=truet_t=truett?=true時,得到answer,at~p(?∣fa(st;θa))a_t \sim p(·|f_a(s_t;\theta_a))at?~p(?∣fa?(st?;θa?))
整個Inference過程如算法1所示:
在模型的優(yōu)化過程中,梯度計(jì)算公式為:
上式中,bTb_TbT?一般是預(yù)設(shè)的值bT=Eπ[rT]b_T=E_{\pi}[r_T]bT?=Eπ?[rT?],并根據(jù)bT=λbT+(1?λ)bTb_T=\lambda b_T+(1-\lambda)b_TbT?=λbT?+(1?λ)bT?不斷更新,被稱作reward baseline(獎勵基線),用于在強(qiáng)化學(xué)習(xí)任務(wù)中降低方差。但是在本文中,作者發(fā)現(xiàn),這么做收斂很慢,因?yàn)?span id="ozvdkddzhkzd" class="katex--inline">bTb_TbT?不能捕獲dynamic termination behavior。作者將梯度計(jì)算公式改為:
其中,bbb的計(jì)算公式為:
作者還說了,使用rTb?1\frac{r_T}{b}-1brT???1代替rT?br_T-brT??b能夠更快的收斂。
實(shí)驗(yàn)
在兩個數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果:
在CNN數(shù)據(jù)集上, termination step的分布情況:
總結(jié)
以上是生活随笔為你收集整理的KDD 2017 《ReasoNet: Learning to Stop Reading in Machine Comprehension》论文笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ECCV 2020 DETR:《End-
- 下一篇: 2020-07-01 CVPR2020