您的位置:首页 > 理论基础 > 计算机网络

Memory Networks的阶段总结

2015-11-16 16:55 579 查看

说明

Memory Networks是Weston在去年提出的一个神经网络模型,引入了记忆效应和外置储存,可以进行有效的长距离序列问题的处理,之后也出现了如神经图灵机,神经机器翻译机等在学术界引起了非常广泛的兴趣的一些模型。

最近我们也在主要研究这个东西,这篇博客写在这里算作一个阶段记录。

Memory Networks

This project contains implementations of memory networks. This includes code in the following subdirectories:

MemN2N-lang-model: This code trains MemN2N model for language modeling, see Section 5 of the paper “End-To-End Memory Networks”. This code is implemented in Torch7 (written in Lua); more documentation is given in the README in that subdirectory.

MemN2N-babi-matlab: The code for the MemN2N bAbI task experiments of Section 4 of the paper:

S. Sukhbaatar, A. Szlam, J. Weston, R. Fergus. End-To-End Memory Networks. arXiv:1503.08895.

This code is implemented in Matlab; more documentation is given in the README in that subdirectory.

Modification of mine

添加了未登录词的处理方案 在字典建立过程中,只用Train的预料,加入了10个 unknown词位,用来替换测试过程中引入的未登录词。

训练函数,一直用不加softmax的来跑(这个很关键,否则根本没法跑)

制作多样性的预料 facebook Q20的语料中,词典数目实在太少了,不能体现真正的逻辑功能。没有说服力。在师兄处理的原始对应Q20格式的中文特定领域对话语聊的基础上,加入了很多完全随机的数字来替换某些中文字。并且语式也维持了多样。事实证明效果依然不错,肯定了模型的记忆以及推理的能力。

还有一些trick只能在代码里体现了。

代码

https://github.com/shincling/MemNN

结果

1 | train error: 0.54656 | val error: 0.12695

2 | train error: 0.13087 | val error: 0.09375

3 | train error: 0.087668 | val error: 0.0625

4 | train error: 0.059983 | val error: 0.048828

5 | train error: 0.037542 | val error: 0.027344

6 | train error: 0.027685 | val error: 0.029297

7 | train error: 0.016359 | val error: 0.029297

8 | train error: 0.0098574 | val error: 0.035156

9 | train error: 0.0079698 | val error: 0.027344

10 | train error: 0.0077601 | val error: 0.029297

11 | train error: 0.0033557 | val error: 0.023438

12 | train error: 0.0020973 | val error: 0.015625

13 | train error: 0.0010487 | val error: 0.0097656

14 | train error: 0.00083893 | val error: 0.011719

15 | train error: 0.00083893 | val error: 0.015625

16 | train error: 0.00062919 | val error: 0.013672

17 | train error: 0.00020973 | val error: 0.0039062

18 | train error: 0 | val error: 0.0039062

19 | train error: 0.00041946 | val error: 0.0058594

20 | train error: 0.00020973 | val error: 0.0058594

test error: 0.0075758

1 | train error: 0 | val error: 0.0039062

2 | train error: 0 | val error: 0.0039062

3 | train error: 0 | val error: 0.0039062

4 | train error: 0 | val error: 0.0019531

5 | train error: 0 | val error: 0.0019531

6 | train error: 0 | val error: 0.0019531

7 | train error: 0 | val error: 0.0019531

8 | train error: 0 | val error: 0.0019531

9 | train error: 0 | val error: 0.0039062

10 | train error: 0 | val error: 0.0058594

11 | train error: 0 | val error: 0.0058594

12 | train error: 0 | val error: 0.0058594

13 | train error: 0 | val error: 0.0039062

14 | train error: 0 | val error: 0.0039062

15 | train error: 0 | val error: 0.0039062

16 | train error: 0 | val error: 0.0039062

17 | train error: 0 | val error: 0.0039062

18 | train error: 0.00062919 | val error: 0.0058594

19 | train error: 0 | val error: 0.0039062

20 | train error: 0 | val error: 0.0039062

21 | train error: 0 | val error: 0.0039062

22 | train error: 0 | val error: 0.0039062

23 | train error: 0 | val error: 0.0039062

24 | train error: 0 | val error: 0.0039062

25 | train error: 0 | val error: 0.0039062

26 | train error: 0 | val error: 0.0039062

27 | train error: 0 | val error: 0.0039062

28 | train error: 0 | val error: 0.0058594

29 | train error: 0 | val error: 0.0058594

30 | train error: 0 | val error: 0.0058594

test error: 0.0066288

1 | train error: 0 | val error: 0.0058594

2 | train error: 0 | val error: 0.0058594

3 | train error: 0 | val error: 0.0058594

4 | train error: 0 | val error: 0.0058594

5 | train error: 0 | val error: 0.0058594

6 | train error: 0 | val error: 0.0058594

7 | train error: 0 | val error: 0.0058594

8 | train error: 0 | val error: 0.0058594

9 | train error: 0 | val error: 0.0058594

10 | train error: 0 | val error: 0.0058594

11 | train error: 0 | val error: 0.0058594

12 | train error: 0 | val error: 0.0058594

13 | train error: 0 | val error: 0.0058594

14 | train error: 0 | val error: 0.0058594

15 | train error: 0 | val error: 0.0058594

16 | train error: 0 | val error: 0.0058594

17 | train error: 0 | val error: 0.0058594

18 | train error: 0 | val error: 0.0058594

19 | train error: 0 | val error: 0.0058594

20 | train error: 0 | val error: 0.0058594

21 | train error: 0 | val error: 0.0058594

22 | train error: 0 | val error: 0.0058594

23 | train error: 0 | val error: 0.0058594

24 | train error: 0 | val error: 0.0058594

25 | train error: 0 | val error: 0.0058594

26 | train error: 0 | val error: 0.0058594

27 | train error: 0 | val error: 0.0058594

28 | train error: 0 | val error: 0.0058594

29 | train error: 0 | val error: 0.0058594

30 | train error: 0 | val error: 0.0058594

test error: 0.0068182

test error: 0.0068182
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息