簡介
本文面向機器閱讀理解問題(Machine Reading Comprehension),作者來自微軟研究院。
下載鏈接
動機
現有的方法可以分爲兩類:單步推理(Single turn)、多步推理(multiple turns)。多步推理是由單步推理衍生而來,單步推理又可以看做是多步推理的特例(turn=1)。這兩種方法的共同點是,推理輪數固定,這不符合人類的閱讀行爲。人會根據當前是否得到了足夠的信息,決定中止閱讀或繼續閱讀。本文基於此動機,提出ReasoNet,可以動態決定推理輪數。
貢獻
- 將強化學習和多步推理結合,可動態終止推理過程。
- 實驗結果較好,是SOTA模型。
方法
本文方法的整體架構如下圖所示。按照原文的劃分,主要包括5個部分,下面一一介紹。
- Memory
是一個外部庫,,用於生成attention。 - Attention
通過隱狀態和外部庫,得到當前時間步的attention, - Internel State
每個時間步的隱狀態,通過RNN得到, - Termination Gate
終止門,用於判斷當前時間步是否終止,,是一個二值隨機變量,當它是true時,終止。 - Answer
當時,得到answer,
整個Inference過程如算法1所示:
在模型的優化過程中,梯度計算公式爲:
上式中,一般是預設的值,並根據不斷更新,被稱作reward baseline(獎勵基線),用於在強化學習任務中降低方差。但是在本文中,作者發現,這麼做收斂很慢,因爲不能捕獲dynamic termination behavior。作者將梯度計算公式改爲:
其中,的計算公式爲:
作者還說了,使用代替能夠更快的收斂。
實驗
在兩個數據集上的實驗結果:
在CNN數據集上, termination step的分佈情況: