【学生论坛】详解记忆增强神经网络
2018/11/15 17:57:16紫冬君 中国科学院自动化研究所

CASIA点击蓝字关注我们↑↑↑↑

主 题 简 介
记忆增强神经网络(Memory Augmented Neural Network,MANN)是在传统的神经网络模型基础上增加存储模块以及相应的读写机制的一类模型。
如果这样的类比成立,则进一步的,在普通的RNN模型上加入不同的存储模块则可以类比下推自动机(Pushdown Automata,PDA)、图灵机(Turing Machine,TM)等。

DFA

PDA

LBA
从形式语言的角度来说,上下文无关文法(CFG)以及其对应的PDA可以建模程序语言,能够处理递归文法结构,下图简单的以计算表达式的解析(parsing)来举例:

使用栈分析算术表达式语法结构
工作记忆模型结构图
与现代计算机(图灵机)相类比,二者都是具有进行临时存储以及调用长match期记忆的match机制,这两个系统也都具有中央控制单元。所以从这一角度来match说,计算机从某种程度上来说可以看作多工作记忆的模仿,而本文涉及到是在模拟工作记忆机制。
推文内容
MANNs分类体系
工作记忆相关模型可以按照两个分类方式进行划分,一个是简单的读写match机制的有无,可以分为无读写、只读(如注意力机制,attentmatchion)和既读又写;另一个分类方式是按照存储的结构或者说是按照类比于自动机理论体系的分类方式,分无外部存储、栈式外部存储以及无限制的随机存储。
MANN框架一
另一个更加具体的框架适用于下文提到的诸多模型,特别是类比于自动机理论设计的MANNs,框架如图:

MANN框架二
SARNN结构
实验一:形式文法语言模型任务
任务的目标是预测出某(形式文法)语言的句子的关键部分,与语言模型类似,是给定句子的前一部分的输入,预测下面的字符,具体任务如下图所示:

形似文法语言模型任务
其中标黑的为关键部分,评价时以关键部分的预测准确率作为指标。
实验结果如下图:

形似文法语言模型任务实验结果
通过分析训练好的SARNN模型的读写模式(下图),可以看出模型学习到了类似于背景知识介绍中提及的自顶向下规约(bottom-up reduction)的策略,不过这里使用了两个栈。

SARNN更新栈动作规律
实验二:位于动词数形式预测的语法依存任务
任务用语言模型的形式来进行,给定自然语言一句话的一部分,预测谓语动词的具体单复数形式。另外任务(样本)的难度也可以依据主语与代判定谓语动词之间所隔名词个数(干扰词,attractors)来划分。

谓语动词单复数预测任务

谓语动词单复数预测任务实验结果
可以被RNN模型表达,从机器学习的理论(no free lunch理论等)上来说,对模型施加合理先验信息往往能够使问题更容易解决,也即在特定任务上的学习能力更强。
NTM结构
实验一:序列转换拷贝任务
这个任务要求模型读入一个(随机采样的)向量序列,输出同样的向量序列,使用均方误差来评价模型的预测准确性。在该任务上各个模型的训练曲线。

训练曲线
可以发现NTM模型拟合数据集收敛速度更快,一定程度上反映其学习能力较强。对输入输出向量序列进行可视化,可以得到下图:

测试可视化结果
实验二:更多的神经科学中关于记忆的序列转换任务
这个实验是关于改进的NTM模型进行的。下面的表格展现的是神经科学中常用的测试记忆能力的实验示意,以接下来要说明的任务“Ignore”为例,表格中这一行中标识
代表在不同时刻的输入,
代表在不同时刻的输出,输入是一串序列
,其中
和
都是随机采样的向量序列,要求的输出
,即要求模型遗忘偶数时刻位置的子串。

记忆相关任务
使用类似于任务一中的学习到的策略可视化方式可以得到下图:

两种可能策略
在这一任务于之前的任务不同,理论分析可知应有两个策略能够完成这一任务,即覆盖策略(overwrite)和略过(skip)策略:
覆盖策略:模型依次存入子序列
、
的数据于内存的连续位置,在读入
时将寻址位置移回存入
的初始位置,将
数据覆盖,如此循环存入信息
略过策略:模型依次存入子序列
,在读入
时固定寻址位置不动直至读取到
的内容。
MANN第一类框架
在这一框架中的第(2)步与第(3)步中,信息处理可以表达为:

其中
为一个打分函数,例如可以采用简单的内积运算来实现。更进一步的来说,每一时刻T被读取/选择的内存单元可以表达为:

与其他MANNs模型的寻址面临的问题一样,这一寻址操作并不可微,也可以采用访问内存单元的期望近似:

一组句子{Xi}使用两组embedding(A和C)表示,这里句子向量的表示采用简单的词向量加权求和的方式表达:


其中Lj和TA(i)用于表达位置信息。模型每次寻址读取内存内容的方式为:


也即用期望近似寻址读取内存。
和
为不同的推理时刻
所采用的embedding,可以简单的采取如下方式:


使用表示当前推理时刻的状态表示,对其更新方式为:

其中
为问题的embedding表示。最终将
送入多层神经网络进行分类。
实验一:阅读理解式回答
该任务是给定一些已知事实(若干个句子,往往时序相关),给一个问题,在词表中选出一个单词作为答案。如下表所示:

阅读理解式问答样例
每一列代表一个样本,黑色字体的句子为已知事实,蓝色字体的句子为问题,红色字体标出的是答案。解决这类问题的一般策略为根据答案在已知事实中逆向回溯寻找答案(backward chaining,回退式链式推理)。下表给出各个模型的准确率对比:

阅读理解式问答实验结果
其中,第二列标出的“Strongly Supervised MemNN”为在这节提到的模型的基础上训练阶段给出强监督信息(即被指示每个推理阶段应关注哪个词)训练得到的模型。可以看出使用情景记忆的模型MemN2N可以在不使用强监督信息的情况下取得相对较好的性能。
该模型在这个任务上学习到的策略为上文提及的backward chaining,将每一个推理时刻模型关注到不同句子的强度可视化,可以得到下图:

backward chaining策略
任务二:逻辑推理
这里的逻辑推理任务是用prolog程序表达的。样例如下表所示:

prolog逻辑推理任务样例
实验结果如下表(IMA为针对任务设计的模型,DMN为较通用的情景记忆模型):

prolog逻辑推理任务实验结果
其学习到的策略与之前任务中展示的类似:

逻辑推理中的backwardchaining策略
短文本分类任务样例
实验结果
这个模型在多个短文本数据集(新闻、Twitter数据、微博数据)上进行了实验,与其他模型可以拉开较大差距。

实验结果
分析其信息处理机制,对测试样本
处理过程中,处理单词“wristband”时模型对给个主题词关注强度进行可视化,得到下图:

神经主题模型对主题词关注强度可视化
可以看出,模型对最相关的主题词“biber justin”关注强度最大,与之前分析一致。
Story of Convolution Network – 卷积网络的故事(Part 4):从深度学习的角度分析David Hubel和Torsten Wiesel的成果,研究者们得到了简化的大脑功能分区图。在这个简化的图中,研究者们着重关注了被称为 V1区的脑区——也称初级视觉皮层(primary visual cortex)。
AI爱新词

文章为作者独立观点,不代表自动化所立场。
更多精彩内容,欢迎关注
中科院自动化所官方网站:
http://www.ia.ac.cn
欢迎后台留言、推荐您感兴趣的话题、内容或资讯,小编恭候您的意见和建议!如需转载或投稿,请后台私信。
作者:王克欣
审稿:周玉
文稿:SFFAI(人工智能前沿学术论坛)
来源:人工智能前沿讲习班
排版:康扬名
编辑:鲁宁

长按关注解锁更多智能之美
中科院自动化研究所
微信:casia1956
欢迎搭乘自动化所AI旗舰号!
http://weixin.100md.com
返回 中国科学院自动化研究所 返回首页 返回百拇医药