天天看點

神經記憶網絡、神經機器翻譯和神經圖靈機的初步探讨

近期看過神經記憶網絡、神經機器翻譯和神經圖靈機三篇工作之後在基于對話曆史的資訊抽取工作上進行了初步對比嘗試,根據自己的了解進行了模型對比。歡迎大家一起讨論。

首先三篇工作的文獻分别出自:

[1] 神經記憶網絡:2015 NIPS, End-To-End Memory Networks (Facebook AI)

[2] 神經機器翻譯:2015 ICLR, Neural Machine Translation by Jointly Learning to Align and Translate

[3] 神經圖靈機:2014 ArXiv, Neural Turing Machines (Google DeepMind)

其中神經記憶網絡和神經機器翻譯的模型框圖如下:

神經記憶網絡、神經機器翻譯和神經圖靈機的初步探讨

實驗資料:1000輪垂直領域完整對話曆史的資訊抽取問題

- 神經記憶網絡資料格式:

1 小姐 您 怎麼 稱呼 ?

2 周琪 。

3 您 身份證 多少 ?

4 你 記 一下 , 1305217214648322

5 name ?

- 神經機器翻譯資料格式:

小姐 您 怎麼 稱呼 ? # 周琪 。 # 您 身份證 多少 ? # 你 記 一下 , 1305217214648322 ## name ?

實驗代碼:

- 神經記憶網絡:Facebook公布的官方源碼

- 神經機器翻譯:MILA釋出的Blocks架構

參數設定:

兩個模型盡量保持一緻。如,詞向量次元: 100,Batch_size: 32

實驗結果:

- 神經記憶網絡拟合速度很快,

5輪nepochs,精度便接近100%

- 神經機器翻譯拟合速度較慢,

146輪nepochs的精度為93.6%

神經記憶網絡、神經機器翻譯和神經圖靈機的初步探讨

結果分析:

與IBM Waston實驗室的結果分析一緻[4]:

IBM Waston基于神經記憶網絡的兩輪推理QA問題,實驗結果為 100%, 而基于神經機器翻譯的兩輪推理QA,結果為46%

原因分析:

- 編碼層次不同;

- Attention機制不同;

下面做詳細分析

- 編碼層次不同:

神經機器翻譯模型在詞級别進行編碼,通過分隔符的方式斷開段落中的句子

神經記憶網絡模型直接在句子級别進行編碼

- Attention機制不同:

神經機器翻譯模型的Attention參數輸入為:

1). Encoder端詞級别的向量化表示;

2). Decoder端上一時刻狀态。

優點:引入Decoder端上一時刻狀态,使得序列化解碼輸出的流暢性更好。

神經記憶網絡模型的Attention參數輸入為:

1). Encoder端Story的句子級别向量化表示;

2). Encoder端Input的句子向量化表示。

優點:通過Input和Story的聯合作用使得Decoder更關注于Input的刺激。

神經圖靈機模型[1]的Attention參數輸入為:

1). Encoder端Story的句子級别矩陣化存儲;

2). Encoder端Input的句子向量化表示;

3). Attention機制的上一時刻狀态。

優點:引入Attention上一時刻狀态,更适用于Memory的連續尋址。

[4] 2015 ArXiv, Empirical Study on Deep Learning Models for QA (IBM Waston)

博文出處:http://jacoxu.com/?p=1819

轉載于:https://www.cnblogs.com/GarfieldEr007/p/5342695.html

繼續閱讀