End-To-End Memory Networks

2014 年 FaceBook 提出了 Memory Networks (MEMNN),MEMNN 会保存上下文句子的信息,使模型拥有更大的记忆,然后利用类似 Attention 的机制找出最相关的记忆。但是 MEMNN 需要进行很多有监督训练,因此 FaceBook 提出了一种更加完善的端到端 Memory Networks (MemN2N),使其更容易使用并且支持多层结构。

1. 前言

前一篇文章介绍了记忆网络 MEMNN,在 MEMNN 中包含了 I, G, O, R 四个模块,其中模块 I 和 G 负责将句子转成向量并保存到 Memory Slots,模块 O 负责找出相关的 Memory,而模块 R 负责输出预测结果。

MEMNN 的有监督训练包含很多要素,除了最终预测的单词外,还包括了最相关的两个 Memory,因此在实际中训练比较困难。

因此 FaceBook 在 2015 年提出了一种改进版的 Memory Network (MemN2N),对应的论文是《End-To-End Memory Networks》。和之前 MEMNN 不同,MemN2N 采用了端到端的训练方式,减少了监督训练的难度。MemN2N 可以支持多层网络结构,我们首先看一下单层结构的 MemN2N,多层结构只是多个单层结构堆叠形成。

下文中 x1, x2, ..., xn 表示上下文信息 (即背景知识),q 表示一个问题,a 表示答案。

2. Single Layer

MemN2N 的单层结构

上图是 MemN2N 的单层结构,可以看到 MemN2N 包含了两个 Memory Slots,分别是 Input memory (图中蓝色) 和 Output memory (图中黄色)。另外还包含一个 Predict 模块,用来预测答案 a。

Input Memory:对于所有上下文句子 xi,Input Memory 都会使用矩阵 A 计算出对应的句子向量 mi 并保存在 Input Memory 里面。句子向量生成的方法在第 4 节介绍。保存好 memory 后传入问题 q,用矩阵 B 计算出 q 对应的特征向量 u,然后 Input Memory 需要用 attention 机制计算出每一个 memory mi 对应的权重 pi,计算公式如下。

pi 计算公式

Output Memory:和 Input Memory 一样,Output Memory 会使用矩阵 C 计算出上下文句子 xi 的特征向量 ci,然后根据 Input Memory 得到的权重 pi 将特征向量 ci 加权融合在一起,得到最终的输出特征 o。

最终的输出特征 o

Prediction:最终的预测模块,预测前将问题的特征向量 u 和最后输出的特征向量 o 相加,然后传入一个 softmax 层进行预测。

预测

3. Multiple Layers

多层结构 MemN2N

MemN2N 可以支持多层结构,如上图所示,此时 MemN2N 包含多个 Input Memory 和 Output Memory。除了第一层外,其他所有层的输入向量 u(k+1) 都是上一层的输入向量 uk 和输出向量 ok 之和。

uk

在多层结构时 (K 层),每一层的特征矩阵 A1, A2, .., AKC1, C2, .., CK 有不同的设置方法,文章中提到了两种:

AdjacentA(k+1) = C(k), W = C(K), B = A(1)

Layer-wise (RNN-like)A(1) = A(2) = ... = A(K)C(1) = C(2) = ... = C(K)

4. 句子向量计算

给定一个句子 xi,其包含很多的单词 {xi1, xi2, ..., xin},最简单的句子向量计算方法是使用 bag-of-words BoW,直接将句子中所有单词的表征向量求和得到。但是直接使用 BoW 求和没有考虑到单词之间的位置信息和句子之间的位置信息。

因此 MemN2N 提出了第二种计算句子向量的方法,考虑了句子中每一个单词的位置信息,计算方式如下:

公式中 A(xij) 指单词 xij 的表征向量,lj 中的 j 是单词在句子中的位置,lj 是单词位置的表征向量,通过 lj 可以引入单词位置的信息。MemN2N 在此基础上还加上一个 Temporal Encoding,编码句子在所有上下文中的位置信息 T(i),最终的句子向量如下计算:

5. 参考文献

《End-To-End Memory Networks》

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,137评论 6 511
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,824评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,465评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,131评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,140评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,895评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,535评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,435评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,952评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,081评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,210评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,896评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,552评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,089评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,198评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,531评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,209评论 2 357

推荐阅读更多精彩内容