【論文筆記】基於LSTM的問答對排序

  • 2019 年 10 月 11 日
  • 筆記

【導讀】本篇論文使用時間門同步學習文本對之間的語義特徵,在 Quasi Recurrent Neural Network (QRNN) 模型的基礎上進行創新,提出新的模型Cross Temporal Recurrent Network (CTRN)。論文通過對問題和答案對的遺忘門和輸出門的信息中獲益,從而學習QA的聯合序列對。

QRNN

01

通過結合LSTM和CNN的特徵構成的QRNN,其結合了RNN和CNN的特徵:

  • 像CNN一樣,基於時間步維度和minibatch維度上進行並行計算
  • 像RNN一樣,允許輸出依賴之前的元素,即過去時間依賴性

與LSTM和CNN一樣,QRNN可以分解為2個組件:卷積和池化

與LSTM相比,並行化提高了QRNN的速度,因此作者論文中提出的模型基於QRNN,因為門是預先學習的,它能夠容易的在兩個QRNN之間對齊時間門。而在LSTM中對齊時間門可能非常麻煩且低效。更重要的一點是QRNN的時間門具有關於整個序列的全局信息而LSTM不具有全局信息。

  • 卷積

給一組長L的序列,每個向量的維度為m,QRNN的卷積內部結構遵循如下公式:

X表示維度為m,長度為L的序列,都是R^{k×n×m}的張量,*表示是以k為寬度的序列維度上的窗口滑動。

  • 池化

Bradbury et al. 2016在論文中池化部分提到了3種方案:f-pooling(動態平均池化)、fo-pooling(基於動態平均池化)、ifo-pooling,本篇論文作者提到了fo-pooling(基於動態平均池化),具有一個獨立的輸入門和遺忘門:

用公式表示:

這裡,c_t表示為神經元狀態,h_t表示為隱藏狀態,f_t,o_t分別表示為t時刻的遺忘門和輸出門。

CTRN

02

作者在論文中提出的模型為 Cross Temporal Recurrent Network (CTRN)

  • Embedding+Projection Layer

模型輸入包括兩部分(問題q和答案a對),通過embedding層輸出一個n維向量,然後通過projection layer輸出m維向量

  • Quasi-Recurrent Layer (即QRNN網絡)

輸入L個向量,並經過3個1D卷積運算獲得矩陣Zs,Fs,Os,s={q,a}

  • Light weight Temporal Crossing(LTC)

LTC是作者模型的創新點,在QRNN的基礎上進行延伸,在這一層中,有兩個CTRN cell,分別是CTRN-Q,CTRN-A,分別代表問題和答案兩個部分。從圖中可以看出這層中CTRN cell的出入包括5部分,拿CTRN-Q來說,一部分來自自身卷積的輸出zq,fq,oq,另一部分來自answer的卷積輸出oa,f_a,具體情況如下所示:

這個CTRN-Q包括兩步,首先在Zq上應用Fq,Oq,其次將Fa,Oa應用到Zq上,具體計算如下:

t∗ 在這裡表示問題和答案的對齊時間,因為他們的序列長度可能不同,計算公式為:

又因為CTRN-Q和CTRN-A是對稱的,所以我們可以寫出CTRN-A的計算公式:

然後,我們對得到的問題和答案用一個公式表達,對於每個t的隱藏狀態進行點乘計算,即:

  • Temporal Mean Pooling Layer

CTRN的輸出為一組隱藏狀態[h1s,h2s…hLs],在這一層對 CTRN-Q和CTRN-A進行平均pooling計算

  • Softmax Layer and Optimization

最後,將上層的 輸出進行二分類的softmax計算:

損失函數:

θ 包含所有的參數,優化器為Adam Optimizer。

實驗

03

作者在3個數據集上進行對比:YahooQA、QatarLiving、 TrecQA

TrecQA 數據集有兩種訓練集:TRAIN、TRAIN-ALL。TRAIN-ALL中包含更多的QA對,同時也包含更多的不利因素。

  • 評估指標

不同數據集採用不同的評估指標。對於YahooQA,採用 P@1 (Precision@1) 和 MRR (Mean Reciprocal Rank);對於QatarLiving,採用n P@1 和 MAP (Mean Average Precision);對於TrecQA,採用MAP和MRR。

  • 實驗細節

對於CTRN模型,將輸出維度(filter的數量)調整為128的倍數,並且使用單層的CTRN和QRNN,MLP的層數從[1,3]中調整,學習率在{10−3,10−4,10−5},批量大小調整為{64,128,256,512},dropout設置為0.5,L2正則化設置為4×10−6。

  • 實驗結果

從上述表格我們可以看到:在這個數據集上,LTC機制比soft-attention更有效;這個評價指標更能看出CTRN與QRNN之間的差異。

作者將CTRN模型與其他模型在數據集TRECQA進行比較,可以看出CTRN的效果更勝一籌。

從時間上邊看,完成一個epoch的訓練時長相差甚遠,QRNN與CTRN相差無幾,其他三個模型的時長都相對來說較長。