- PaperWeekly 2016.08.05 第一期
- PaperWeekly 第二期
- PaperWeekly 第三期
- PaperWeekly 第四期 - 基于强化学习的文本生成技术
- PaperWeekly 第五期 - 从 Word2Vec 到 FastText
- PaperWeekly 第六期 - 机器阅读理解
- PaperWeekly 第七期 -- 基于 Char-level 的 NMT OOV 解决方案
- PaperWeekly 第八期 - Sigdial2016 文章精选(对话系统最新研究成果)
- PaperWeekly 第九期 -- 浅谈 GAN
- PaperWeekly 第十期
- PaperWeekly 第十一期
- PaperWeekly 第十二期 - 文本摘要
- PaperWeekly 第十三期--最新文章解读
- PaperWeekly 第十四期 - TTIC 在 QA 任务上的研究进展
- PaperWeekly 第十六期 - ICLR 2017 精选
- PaperWeekly 第十七期 - 无监督/半监督 NER
- PaperWeekly 第十八期 - 提高 seq2seq 方法所生成对话的流畅度和多样性
- PaperWeekly 第十九期 - 新文解读(情感分析、机器阅读理解、知识图谱、文本分类)
- PaperWeekly 第二十期 - GAN(Generative Adversarial Nets)研究进展
- PaperWeekly 第二十一期 - 多模态机器翻译
- PaperWeekly 第二十二期 - Image Caption 任务综述
- PaperWeekly 第二十三期 - 机器写诗
- PaperWeekly 第二十四期 - GAN for NLP
- PaperWeekly 第二十五期 - 增强学习在 image caption 任务上的应用
- PaperWeekly 第二十六期 - 2016 年最值得读的 NLP paper 解读(3 篇)+在线 Chat 实录
- PaperWeekly 第二十七期 | VAE for NLP
- PaperWeekly 第 28 期 | 图像语义分割之特征整合和结构预测
- PaperWeekly 第 29 期 | 你的 Emoji 不一定是我的 Emoji
- PaperWeekly 第 30 期 | 解读 2016 年最值得读的三篇 NLP 论文 + 在线 Chat 实录
- PaperWeekly 第 31 期 | 远程监督在关系抽取中的应用
- PaperWeekly 第 32 期 | 基于知识图谱的问答系统关键技术研究 #01
- PaperWeekly 第 33 期 | 基于知识图谱的问答系统关键技术研究 #03
- PaperWeekly 第 34 期 | VAE 在 chatbot 中的应用
- PaperWeekly 第 35 期 | 如何让聊天机器人懂情感 PaperWeekly 第 35 期 | 如何让聊天机器人懂情感
- PaperWeekly 第 36 期 | Seq2Seq 有哪些不为人知的有趣应用?
- PaperWeekly 第 37 期 | 论文盘点:检索式问答系统的语义匹配模型(神经网络篇)
- PaperWeekly 第 38 期 | SQuAD 综述
- PaperWeekly 第 39 期 | 从 PM 到 GAN - LSTM 之父 Schmidhuber 横跨 22 年的怨念
- PaperWeekly 第 40 期 | 对话系统任务综述与基于 POMDP 的对话系统
- PaperWeekly 第 41 期 | 互怼的艺术:从零直达 WGAN-GP
- PaperWeekly 第 42 期 | 基于知识图谱的问答系统关键技术研究 #04
- PaperWeekly 第 43 期 | 教机器学习编程
- PaperWeekly 第 44 期 | Kaggle 求生
- PaperWeekly 第 45 期 | 词义的动态变迁
- PaperWeekly 第 46 期 | 关于远程监督,我们来推荐几篇值得读的论文
- PaperWeekly 第 47 期 | 开学啦!咱们来做完形填空:“讯飞杯”参赛历程
- 深度强化学习实战:Tensorflow 实现 DDPG - PaperWeekly 第 48 期
- 评测任务实战:中文文本分类技术实践与分享 - PaperWeekly 第 49 期
- 从 2017 年顶会论文看 Attention Model - PaperWeekly 第 50 期
- 深入浅出看懂 AlphaGo Zero - PaperWeekly 第 51 期
- PaperWeekly 第 52 期 | 更别致的词向量模型:Simpler GloVe - Part 1
- PaperWeekly 第 53 期 | 更别致的词向量模型:Simpler GloVe - Part 2
- 基于神经网络的实体识别和关系抽取联合学习 | PaperWeekly #54
PaperWeekly 第十一期
引言
Memory Networks 是由 Facebook 的 Jason Weston 等人提出的一个神经网络框架,通过引入长期记忆组件(long-term memory component) 来解决神经网络长程记忆困难的问题。在此框架基础上,发展出许多 Memory Networks 的变体模型,本期精选了 5 篇 Memory Networks 相关的论文,分别如下:
1、Memory Networks
2、End-To-End Memory Networks
3、Ask Me Anything: Dynamic Memory Networks for Natural Language Processing
4、THE GOLDILOCKS PRINCIPLE: READING CHILDREN’S BOOKS WITH EXPLICIT MEMORY REPRESENTATIONS
5、Key-Value Memory Networks for Directly Reading Documents
Memory Networks作者
Jason Weston, Sumit Chopra, Antoine Bordes
单位
Facebook AI Research
关键词
Question Answering, Memory Network
文章来源
ICLR 2015
问题
为解决长期记忆问题,提出一类称为 Memory Networks 的模型框架,基于该框架构造的模型可以拥有长期(大量) 和易于读写的记忆。
模型和思路
Memory Networks 可以理解为一种构造模型的框架,该类模型由如下五部分组成:
1、记忆 m: 模型记忆的表示,由一个记忆槽列表[m1-mi]组成,可被 G,O 组件读写
2、组件 I (input feature map): 将模型输入转化模型内部特征空间中特征表示
3、组件 G (generalization): 在模型获取新输入时更新记忆 m,可以理解为记忆存储
4、组件 O (output feature map): 根据模型输入和记忆 m 输出对应于模型内部特征空间中特征表示,可以理解为读取记忆
5、组件 R(response): 将 O 组件输出的内部特征空间的表示转化为特定格式,比如文本。可以理解为把读取到抽象的记忆转化为具象的表示。
假设模型输入为 x:
- 记忆的更新过程表示为 mH(x) = G(mi, I(X), m), ∀i, H(x) 为选择记忆和遗忘机制
- 记忆的读取过程表示为 r = R(O(I(x), m))
再次强调 Memory Networks 是一类模型框架,组件 I,G,R,O 可以使用不同的实现
资源
- facebook MemNN 实现
简评
文章提出了一个通用的解决长期记忆问题的算法框架,框架中的每一个模块都可以变更成新的实现,可以根据不同的应用场景进行适配。
End-To-End Memory Networks作者
Sainbayar Sukhbaatar, Arthur Szlam, Jason Weston, Rob Fergus
单位
Dept. of Computer Science Courant Institute, New York University
Facebook AI Research
关键词
Memory Networks, End-to-end, Question Answer
文章来源
NIPS 2015
问题
本文提出了一个可以端到端训练的 Memory Networks,并且在训练阶段比原始的 Memory Networks 需要更少的监督信息。
模型
本文提出的模型包括单层和多层两种情况。下面先介绍单层情况。
1、单层
如图(a) 所示,输入的序列可以通过不同的 Embedding 矩阵 A 和 C 分别被表示成 Input 和 Output 向量的集合。同样的,通过 Embedding 矩阵 B,我们将 Question 表示成一个向量 u,向量 u 和 Input 向量集合中的每个向量计算内积,然后通过 softmax 得到一个概率向量 p(attention 过程),概率向量 p 中的每一个概率值表示每个 Output 向量对应输出的权重大小。通过 p 和 Output 向量集合,对 Output 中的向量进行加权求和得到输出向量 o,将输出向量 o 和问题向量 u 相加,再最后通过一个权值矩阵 W 和 softmax 来预测最终的 label。
2、 多层
多层的情况如图(b) 所示,每层的输出向量 oi 和问题向量 ui 相加获得新的问题表示 ui+1,然后重复上述单层的过程,直到最后一层通过 softmax 来预测 label。
本文在 bAbi 数据集、Penn Treebank 以及 Text8 三个数据集上进行实验,均取得了较好的实验效果。
资源
- [bAbi] (https://research.facebook.com/research/babi/)
简评
本篇论文提出的模型是在 Facebook 提出的原始 Memory networks 基础上进行的改进。在 Memory networks 的框架下,将原来依赖于中间监督信息的非端到端 Memory networks 改进为端到端的 Memory networks。基础模型之外,本文针对时序编码提出了一些有趣的 trick,可作参考。
Ask Me Anything: Dynamic Memory Networks for Natural Language Processing作者
Ankit Kumar, Ozan Irsoy, Peter Ondruska, Mohit Iyyer, James Bradbury, Ishaan Gulrajani, Victor Zhong, Romain Paulus, Richard Socher
单位
MetaMind
关键词
Memory Networks, Neural Networks, Question Answering
来源
arXiv
问题
Question Answering: 给定一段 Context,一个与此 Context 相关的 Question,利用模型生成一个单词的 Answer。
模型
下图给出了 dynamic memory networks 的框架。
首先 Context 和 Question 都经过 Gated Recurrent Unit(GRU) 转换成成 vector 形式,分别作为 episodic memories e 和 m 储存下来。e 代表的是一连串 vectors,Context 中每句话都会被转换成一个 e vector,然而 Question 只会被转换成一个 m vector。
下一步是 episodic memory updates,在每一个 episode, 每一个 e vector 会和 m 计算一个 attention,本文中使用一个 two layer feed forward neural network 计算 attention score。然后利用 attention scores 来 update episodic memories。
输出答案也采用了一个 GRU decoder
这里的 a0 是最后一个 memory state m。
简评
总体来说这是一篇很有趣的文章。其中应用了 episodically update memory 的想法,期望模型能够借此学到一些 logical reasoning 的能力。并且模型中多次用的 GRU,每一层都使用 GRU 的 encoding 或者 decoding,比较有趣。
然后我认为本文的写作有一些问题,比如我自始至终也没有找到 e 的下标究竟代表什么,我的理解是每一句话都被 encode 成一个 e 作为 episodic memory,那么每次 Update 其中一个 e 都要经过所有其他的 e 是为了更好的融合所有 context sentences 的信息吗?那么每一层的 hidden states h 究竟又是什么?上一层的 hidden state 如何更新到下一层?文章中似乎没有给出明确的公式,也没有在 model figure 中展示出来,似乎写作不够明确。既然 e 是有 h 穿过层层 GRU 得到,我会揣测下一层的 h 是上一层 e 的一个 function。
THE GOLDILOCKS PRINCIPLE: READING CHILDREN’S BOOKS WITH EXPLICIT MEMORY REPRESENTATIONS作者
Felix Hill, Antoine Bordes, Sumit Chopra & JasonWeston
单位
Facebook AI Research
关键词
Memory Networks,self-supervised training,window-based memories,The Children’s Book Test(CBT)
文章来源
ICLR2016
问题
本文对于语言模型(RNN/LSTM/Memory Network 生成)到底能够多好或者在多大程度上表示 The Children’s Book 做了一项测试。测试结果表面 Memor Network 上的效果最好。
模型
文中主要对比了一系列 state-of-the-art 的模型,每个用不同的方式对之前已经读过的文本进行编码,然后进行 CBT 评比。
实验中使用的模型以及结果如下:
CBT 简介:数据来自 Project Gutenburg 所创建的数据集,里面的内容都选自儿童书籍。每 20 句话产生一个问题,让不同的语言模型去进行预测,看谁预测的效果更好。
问题产生于 20 句话中的某一句话抠掉一个词 A。候选集产生分为如下两步:
1、从构成 20 句话的词表中随机选出和抠掉词 A 具有相同词性的词集合 C 。
2、从 C 中随机抽选 10 个词作为答案的备选集。
实验最后在 CNN QA 的语料上进行测试,在新闻文章中识别命名实体,得到的准确率能到 69.4%.
资源
- n-gram language model:the KenLM toolkit (Scalable modified Kneser-Ney language model estimation.)
简评
本文提供了一种测试语言模型效果的测试方法,这对于语言模型的评判做出了贡献。在做实验过程中,作者还发现在单层记忆表示中文本被编码的数量对结果有很大的影响:存在一个范围,使得单个词信息和整个句子的信息都得以较好的保留。
Key-Value Memory Networks for Directly Reading Documents作者
Alexander H. Miller, Adam Fisch, Jesse Dodge, Amir-Hossein Karimi, Antoine Bordes, Jason Weston
单位
Facebook AI Research
Language Technologies Institute, Carnegie Mellon University
关键词
Memory Networks, Key-Value, Question Answering, Knowledge Bases
文章来源
arXiv 2016
问题
鉴于知识库有知识稀疏、形式受限等问题,本文提出了一种可以通过直接读取文档来解决 QA 问题的新方法 Key-Value Memory Networks。
模型
如下图所示,Key-Value Memory Networks(KV-MemNNs) 模型结构与 End-to-end Memory Networks(MemN2N) 基本相同,区别之处在于 KV-MemNNs 的寻址(addressing)阶段和输出阶段采用不同的编码(key 和 value)。
本文主要提出了以下几种 Key-value 方法:
1、KB Triple
针对知识库中的三元组(subject, relation, object),将 subject 和 relation 作为 Key,object 作为 Value。
2、Sentence Level
将文档分割成多个句子,每个句子即作为 Key 也作为 Value,该方法与 MemN2N 相同。
3、Window Level
以文档中每个实体词为中心开一个窗口,将整个窗口作为 Key,中间的实体词作为 Value。
4、Window + Center Encoding
该方法与 Window Level 基本相同,区别之处在于中心实体词与窗口中的其他词采用不同的 Embedding。
5、Window + Titile
很多情况下文章的题目可能包含答案,因此在上述提出的 Window 方法基础上,再添加如下 Key-value 对:Key 为窗口,Value 为文档对应的 title。
本文为了比较使用知识库、信息抽取和直接采用维基百科文档方法之间的效果,构建了新的语料 WIKIMOVIES。实验结果表明,KV-MemNNs 直接从文档读取信息比信息抽取方法的效果好,却仍比直接利用知识库的方法差不少。其中几种 Key-Value 方法中,“Window + Center Encoding”方法效果最好。此外,本文还在 WikiQA 上进行实验,验证了 KV-MemNNs 的效果。
资源
- [WikiQA](https://www.microsoft.com/en-us/download/details.aspx?id=52419)
- [WikiMovies](https://research.facebook.com/research/babi/)
简评
本篇论文提出了一个在新的 Memory Networks 变体 Key-Value Memory Networks,旨在探索在 QA 过程中,如何消除采用知识库和自由文本(维基百科)之间的效果差距(gap),并为此构建了一个新的数据集 WikiMovies。
总结
长程记忆(long-term memory)问题一直是深度学习中的一个难点,Attention 机制就是解决这一问题的经典方法。本文介绍的几篇 Memory Networks 试图通过构建长期存储记忆组件来解决过去神经网络无法存储过长内容的问题。如何存储大量的外部信息以及如何利用这些外部信息推断是 Memory Networks 乃至很多 NLP 任务的难点。本期引入的这几篇论文中,Memory Networks 提出了一个整体的框架,End-To-End Memory Networks 使 memory networks 可以端到端的训练学习。Key-Value Memory Networks 主要解决外部信息如何存储表示,而 THE GOLDILOCKS PRINCIPLE 这篇论文则在推理方面有所创新,直接利用 attention 的打分来预测答案。目前深度学习方法中,无论是存储更新长期记忆的方法还是结合长期记忆进行推理的方法都还很初级,仍需诸君努力前行。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论