RAM与QA相关文章资源列表

RAM并非Random-Access Memory,而是DL领域时下热门的Reasoning, Attention, Memory。NIPS2015将于12月5日组织一个RAM (Reasoning, Attention, Memory) workshop,组织方则是Facebook AI Research的Jason Weston (Memory Networks作者) ,Reference列表中的文章都挺不错,近日查阅了几篇QA相关的文章及资源整理如下。整理粗糙,望谅解。文章列表从近日最新的工作往前开始追溯:
(如下文章中引用率出自Google scholar-2015/11/02)

[1]. 《Empirical Study on Deep Learning Models for QA
时间:2015/10/26,单位:US IBM Watson,作者:Yang Yu
数据集:Facebook’s bAbI (问答系统)
动机:深入探究Memory组件和Attention机制在解决QA问题中的应用。虽然之前的文章中有提及很相关的工作神经图灵机(NTM,Neural Turing Machine)和神经机器翻译(NMT,Neural Machine Translation)模型,且很多工作已经采用机器翻译模型解决QA任务,但并没有论文采用NMT和NTM解决QA问题。因而本文在Facebook的人工构造QA数据集上融合并对比了当下热门三种DL方法:Neural Machine Translation,Neural Turing Machine及Memory Networks。
结论:融合Memory组件和Attention机制在解决QA问题上具有巨大潜力。
亮点:对比了三种工作在QA问题上的效果,将QA问题拆成两部分:寻找Supportings 和 进行Response,其中前面部分需要基于Memory进行(Soft-)Search,而后部分需要在候选Suppportings上进行Attention,因而将MemNN和NMT工作的结合得到更好的效果。

[2]. 《Ask Me Anything: Dynamic Memory Networks for Natural Language Processing
时间:2015/06/24,单位:MetaMind-Socher,作者:引用:2
数据集:Facebook’s bAbI (问答系统)、WSJ-PTB (词性标注)、SST (情感分类)
方法:输入序列化文本的向量化表示采用GRU,比LSTM复杂度低。模型全部采用向量化表示而无需字符串匹配及人工特征构造。
贡献:将NLP的大多数问题都看成QA问题,采用统一的NN模型解决问答问题、词性标注和情感分类问题。

[3]. 《Large-scale Simple Question Answering with Memory Networks
时间:2015/06/05,单位:Facebook AI Research,作者:Antoine Bordes,引用:3
数据集:The SimpleQuestions dataset
方法:结合Freebase和Memory Network

[4]. 《End-To-End Memory Networks
时间:2015/03/31,单位:NYU&Facebook AI Research,作者:Sainbayar Sukhbaatar,引用:6
数据集:Facebook’s bAbI、Penn TreeBank、Text8
实现:https://github.com/facebook/MemNN (官方Matlab+lua)
https://github.com/jacoxu/MemN2N-babi-python 纯Python复现Matlab,带界面非常友好
https://github.com/npow/MemN2N python基于Lasagne框架,复现度90%(一些原文细节被疏忽)
https://github.com/fchollet/keras/blob/master/examples/babi_memnn.py Python基于Keras框架,对MemN2N一种不同的理解角度。
动机:类似于《Memory Networks》的工作,采用Recurrent attention model + large external memory,然而本工作采用一种End-to-end模式进行训练,无需知道背景信息中哪些是支撑事实[1]。更适用于实际场景。采用一种神经机器翻译策略的扩展方法。该模型可灵活地解决QA问题(对比Memory Networks)及语言建模问题(对比RNN和LSTM)。

[5]. 《Towards AI-Complete Question Answering: A Set of Prerequisite Toy Tasks
时间:2015/02/19,单位:Facebook AI Research,作者:Jason Weston,引用:17
数据集:发布Facebook’s bAbI (问答系统) 人工构造数据 v1.2版11.1M,解压后112M
工程:https://github.com/facebook/bAbI-tasks lua
动机:a). 认为QA系统应该先在人造数据集上取得突破性进展才能比较好的应用于开放域非人造数据集中。当现实数据不够大时,研究方法通常会设计较为复杂的方法并陷入局部收敛问题中,而设计一种人造数据是避免此问题一种比较好的途径。
b). 传统的对话是很难评估的,这是AI的长远问题,而问答系统中对问题的响应是比较容易评估的。
c). 传统的QA方法是基于大规模知识库,并采用人工构造模版及特征。
d). 对之前的MemNNs的一些问题进行改进。
内容:发布的数据包含20类QA任务:
1). 1条相关事实;2). 2条相关事实;3). 3条相关事实;4). 2条主宾关系;5). 3条主宾关系;6). 是否问题;7). 计数问题;8). 清单问题;9). 简单否定;10). 不确定知识;11). 基本指代;12). 联合事件;13). 复合指代;14). 时间处理;15). 基本演绎;16). 基本归纳;17). 空间位置;18). 尺寸大小;19). 寻找路径;20). 行为动机
如上20类人工构造的QA任务比较简单,每个任务只有150 个词、4个执行者、6个位置、3个物体。因而目前仍无法取代真实数据,只能做为一种补充数据。
数据介绍:
数据集有两种,其中一种每个任务有1,000条训练数据,1,000条测试数据,而另外一种则每条任务有10,000条训练/测试,论文中采用前者。同时,数据语言分为英语、北印度语和随机组合词。切勿将数据按照任务类型分开训练模型,AI的目的正是要致力于训练统一的模型应用于多种不同任务。

[6]. 《Neural Turing Machine
时间:2014/10/20,单位:Google DeepMind,作者:Alex Graves,引用:45
实现:https://github.com/shawntan/neural-turing-machines
动机:如同《Memory Networks》所述,传统的RNN方法记忆能力有限,通过外置记忆组件执行一些图灵机基本操作,如Copy和Recall等,意义非凡。
亮点:对Memory进行分布式写操作,不同于其他两个工作进行one-hot形式的写操作。

[7]. 《Memory Networks
时间:2014/10/15-ICLR,单位:Facebook AI Research,作者:Jason Weston,引用:28
数据集:1. (Fader et al., 2013) – 14M三元组
2. 构造的问答数据,也就是后来使用bAbI数据的雏版
工程:https://github.com/npow/MemNN (Theano)
背景:早期的QA系统是存储很多文档作为M,后期通过构建知识库作为M,而近期更多地采用NN和Embedding方法。
动机:传统RNN的问题是隐层状态和权重太少,而记忆能力比较差。融入long-term Memory如同动态知识库记忆更长内容并进行Reason。
难点:如何对神经记忆组件进行无缝地读和写操作。
方法:记忆组件M,输入特征层I(将输入文本映射成向量化表示),泛化单元G(更新记忆单元M中的陈旧知识),输出层O(根据当前记忆状态M和输入文本I生成输出向量),响应单元R(将输出向量O转化成可交互内容,如文本或动作)。
故事:如文章最后提到,此工作仅仅比DeepMind的神经图灵机(Neural Turing Machine)的工作早一点点在arXiv上发布,两份工作在Memory上的研究较为相近。而Memory Network宣称的不同之处在于1). 自己的工作可以存储14M的句子;2). 实验设置不同,图灵机在模拟计算机的基本操作,如copy和recall,而本工作在于知识推理。不过从引用数上可以看出,神经图灵机问题能引起更广泛的关注度。

[8]. 《Neural Machine Translation by Jointly Learning to Align and Translate
时间:2014/09/01,单位:不来梅雅各布&蒙特利尔大学,作者:Dzmitry Bahdanau,引用:132
工程:https://github.com/kyunghyuncho/dl4mt-material/blob/master/session2/nmt.py
动机:不同于传统的统计机器翻译系统,神经机器翻译完全采用大规模的神经网络模型。而大多数神经机器翻译方法均采用encoder-decoder模式,将源文本编码成固定长度的向量化表示。问题是随着句子长度增长,基于此模式的翻译性能大幅度恶化。为避免此问题,本方法在encoder-decoder模式中融入一种自动对齐策略。
亮点:为解决翻译问题中的Alignment,提出Attention机制。

[9]. 《Hierarchical Memory Networks for Answer Selection on Unknown Words
时间:2016/09/,单位:中科院自动化所
代码:https://github.com/jacoxu/HMN4QA
动机:基于层次化记忆和注意力机制的Answer Selection模型。Memory Network的记忆单位为句子,抽取的语音信息不够精准。而NMT的记忆单位为词,当段落中的词较多时计算量较大。本文采取句粒度和词粒度的层次化记忆网络进行Joint Training,既保证在段落中快速推理进行句子定位,又可在候选句子集合的词粒度记忆单元上进行更精致地词注意力选择。不同层次记忆单元之间采用k-max pooling进行信息采样,过滤冗余信息,减少计算量。借鉴Pointer Network的选择机制,实验结果表明在未登录词的Selection上表现出”Zero-shot”的性能。

讨论:
[1]. Memory Networks,Neural Machine Translation 和 Neural Turing Machine 这三种模型均可进行End-to-end 模式训练的 Encoder-decoder框架,大致相同。因应用领域不同而分别关注于 Reasoning,Attention 和 Memory;
[2]. Neural Machine Translation 中的 Attention 概念 和 Memory Networks 中的 (Soft-)Search 概念 及 Neural Turing Machine 中的 Addressing 概念 并无太大区别,都是为了从非定长记忆单元中提取信息并融合得到固定长度的向量化表示。

本文出处:http://jacoxu.com/?p=1741

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>