动态记忆网络(DMN)
論文:Ask Me Anything: Dynamic Memory Networksfor Natural Language Processing
1、概述
Question answering(QA)是一個復雜的自然語言處理任務,它需要杰出的文本理解力和推理能力。自然語言處理中不部分任務都可以歸結為 QA 問題。例如機器翻譯(這句話翻譯成法語是什么?);序列標注問題(包括詞性標注、命名實體識別等);情感分類等。動態神經網絡(DMN)是一個統一的神經網絡框架,可以用來處理輸出的問題序列,形成語義與情景記憶,然后生成相應的答案。DMN 的整體流程就是輸入數據(包括數據和問題),然后生成相應的記憶片段,最后解析生成回答。
2、動態神經網絡結構
動態神經網絡包含了5個模塊:輸入模塊、語義記憶模塊、問題模塊、片段記憶模塊、回答模塊。具體的網絡結構如下:
1)輸入模塊
輸入模塊可以看作一個函數的中間過程,而這個函數最終將返回一個向量表示。輸入模塊將它的中間值發送給片段記憶模塊,片段記憶模塊基于問題模塊輸入的問題和注意機制完成上述函數的計算。輸入模塊是一個循環神經網絡,一般選用GRU,它的輸入是詞向量(可以通過Glove或者word2vec獲得),通過給定的詞向量去計算隱藏狀態 $c_t$ 。其計算公式如下:
$ c_t = SEQ-MODEL(L[w_t^I], h_{t-1})$
其中 $L$ 是詞嵌入矩陣,$w_t^I$ 是第 $t$ 個詞的輸入序列。
輸入模塊的輸出序列是多個。在輸入只有一個句子的情況下,輸入模塊輸出 GRU 的所有隱藏狀態。在輸入是多個句子的情況下,我們將所有句子拼接,并在每個句子末尾插入句末標記, 每個句末標記的位置的隱藏狀態作為輸出。
2)語義記憶模塊
在上面圖中的語義記憶模塊是Glove詞向量,事實上就是用來生成詞向量的模塊,作為輸入模塊的輸入。不過作者說在本工作總沒有使用它。
3)問題模塊
問題模塊的模型和輸入模塊相同,并且共享輸入模塊中的網絡結構和詞嵌入權重。問題模塊的主要作用是幫助片段記憶模塊去提取輸入模塊中輸入的信息。隱藏狀態的計算公式和輸入模塊相同,但是輸出的結果只有最后時刻的向量值。
4)片段記憶模塊
片段記憶網絡基于問題模塊中的問題來檢索出輸入模塊中的有用信息。然后推斷這些信息生成一個最終的信息表示(也稱為記憶),回答模塊會基于這個信息表示生成回答。而且片段記憶模塊允許多詞輸入信息,通過注意機制關注每次輸入的不同信息。每個輸入都會產生一個片段,最后將這些片段歸結為記憶。這樣我們的模塊就可以由多個片段組成,注意機制會關注每個片段的重要信息。這樣就行成了傳遞式推理,因為第一次輸入后也許會發現我們需要更多的信息才能得到好的結果。
例如上圖中的例子:
$ question : Where is the football?$
$ inpyt : John put down the football.$
通過上面的輸入和并不能很好的解決問題,而且又引入了新的問題,因此需要進一步迭代無尋找關于 $John$ 的輸入,正如上圖中一個問題對應了三個輸入一樣。值得注意的是在第二次迭代時錯誤的給予了輸入模塊中句子2一些權重(0.3)。
片段記憶模塊中的模型是GRU網絡,在這里使用門函數作為注意機制,表達式如下:
$ g_t^i = G(c_t, m^{i-1}, q) $
在這里 $c_t$ 表示本次輸入的值,$m^{i-1}$ 表示 $i-1$ pass時的值,$ q$ 表示問題向量。具體的門函數表達式如下:
$G(c, m, q) = sigma(W^{(2)} tanh(W^{(1)}z(c,m,q) + b^{(1)}) + b^{(2)})$
隱藏層更新表達式:
$h_t^i = g_t^iGRU(c_t, h_{t-1}^i) + (1-g_t^i)h_{t-1}^i$
第 $i $ 次pass的計算片段,為第 $i$ 個序列的隱藏層最后的輸出值,其表達是如下:
$e^i = h_{T_C}^i$
第 $i $ 次pass之后的記憶值,其計算公式如下:
$ m^i = GRU(e^i, m^{i-1})$
5)回答模塊
回答模塊也是一個GRU網絡,從記憶中解碼處代表答案的單詞序列。回答模塊中的網絡可以看作是一對多的輸入-輸出結構。
初始化輸入值:$a_0 = m$
$ t $ 時刻的值:$a_t = GRU([y_{t-1}, q], a_{t-1})$
輸出值:$ y_t = softmax(W^{(a)};a_t)$
3、訓練模型
模型的損失函數:回答序列的交叉熵。
最小化回答序列的交叉熵來訓練模型。
總結
以上是生活随笔為你收集整理的动态记忆网络(DMN)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有没有免费的服装网店代理货源网(7个可靠
- 下一篇: 广东人包粽子用什么材料