论文札记之 - End-To-End Memory Networks

简介:     Yann Le Cun 大犇在 nips2016 列举 AI 的一些 obstacles,其中提到 Intelligence & Common Sence = Preception + Predictive Model + Memory  + Reasoning & Planning,其后有一些 slide 专门介绍了 Memory Netwo
    Yann Le Cun 大犇在 nips2016 列举 AI 的一些 obstacles,其中提到 Intelligence & Common Sence = Preception + Predictive Model + Memory  + Reasoning & Planning,其后有一些 slide 专门介绍了 Memory Network 在 bAbI tasks ( Facebook AI 的文本理解/推理任务生成器 ) 上的应用。

摘要
    文章提出 End-To-End 的 Memory Networks 框架,是一种新型的 RNN 架构,在输出最终结果之前会从一个外部存储器中多次循环读取数据,同时对2015年 J.Weston 提出的 Memory networks 进行对比,认为是其模型的连续形式,并且之前的模型不是很容易用bp进行训练,而且在网络的每一层需要监督学习。作者认为 End-To-End 是其模型的一大特点,能够从 input 到 ouput 直接训练,可以在很多任务上进行拓展,包括一些实现监督学习比较困难的任务,如语言模型,现实领域的监督问答等等。

bAbI 简介

    下图是这篇 ETE Memory Network 在 bAbI Tasks 上应用的截图,方便了解下 bAbI  任务,左上是存储在 memory 中的 story ,也就是上下文,左下是 Question 和 Answer , 右边是 Answer生成的概率分布,整体来看类似于阅读理解任务。

     s3

实现方法
    摘要中和 J.Weston 15年提出的网络进行了对比,简要的介绍下 J.Weston 的 Memory Networks。 网络是由一个 memery m 和 I、G、O、R 四个组件构成,I 对输入特征进行 map,映射到特征表示空间 input ;G 组件利用 input 更新 memory ;O 组件类似 RNN 的输出,根据最新的输入 input 和 memory 中的状态 state , 输出 output 向量. R 组件就是对 output 进行解码,转换成设计好的输出形式,如 actions, labels。看起来和 LSTM 区别不大, memory 类似 LSTM 的 cell 。
    本文中的 End-To-End Memory Networks 实现方法也基本类似,模型包含了 memory,就是一串输入向量,一个 query,一个 output,和一个最终的 answer。
    看下模型的框架,如下图所示,(a)是单层的结构,(b) 是多层的结构,就好比是左边是 RNN 的一个神经元,右边是一串。
  framework
   在一层模型中有如下的计算流
  1. Input memory represention :  上下文首先通过 embedding 矩阵 A 得到 m , 然后 输入 query embedding 为 u , 经过s1 , 生成 weight 向量 p .
  2. Output memory represention : 上下文再通过 embedding 矩阵 C 得到 c,将weight向量 pc 做点积  s2 ,的,得到输入向量 o .
  3. Generating the final prediction:  输出向量 o 和 query 的 embedding 向量 u sum 后 接一个softmax s3产出最终结果 a 。
  4. 模型的参数应该是不少的,AC 参数矩阵的 size 是 d * V ; W 参数矩阵的 size 是 V * d , V是词典的大小,d 是embedding 的维度。
   对把单层结构连成串之后,如右图所示,计算过程比较直观,就不赘述了,作者提出了两种节约参数的方法:
  1. Adjacent : 当前层的 embedding 权值矩阵,是上一层的输入 embedding 权值矩阵 s4
  2. Layer-wise (RNN-like) : 参考 RNN 的方式,在时间序列上的参数共享 s5s6 .
实验细节

   总体来看,模型框架不是很复杂,作者对实验中的一些细节进行提及,比如,如何做 sentence representation ,第一种做法是采用 BoW 方法,对句子中所有的 word 的 embedding 进行 sum ,但是缺点很明显,失去了word的位置信息。 因此需要把位置信息 encode 进去,称为 position encoding (PE ) , 做法也比较简单,如下
  1. 对于句子 xi , 有 j 个 words,  A 是 embedding 矩阵, BoW 的做法  s6
  2. 加入 position encoding 后,s7 , l 是一个列向量,s8 , J  是句子中词的个数.
   另外一个细节是,对于上下文语料而言,对 memory 的要求不仅仅局限于对阅读语料进行 embedding ,而是需要进行上下文推理,比如 bAbI 图中的 "mary went back to the bathroom" , "mary moved to the office",模型需要定位到 mary 的时间线,从而推理 mary 现在不在 bathroom,而是在 office 。所以作者提出 temporal encoding , 将 memory 的计算调整为  s8 ,  s9是一个专门encodes 时序信息的参数矩阵 s9的第 i 行,对输出 c 也是同样的操作  s9 , s9 和  s11 都是在训练过程中进行学习。

结语
   文章开始提出的模型框架并不复杂,但是在实验过程中不断的优化,提出 position encoding 和 temporal encoding 方法进行优化,还是值得学习的,在实际例子中也可以尝试下。

References

[1] J. Weston, S. Chopra, and A. Bordes. Memory networks. In International Conference on Learning Representations (ICLR) , 2015.

[2] Sainbayar Sukhbaatar,Arthur Szlam,JasonWeston, and Rob Fergus.End-To-End Memory Networks.Proceedings of NIPS, 2015.

[3] https://github.com/facebook/MemNN/blob/master/README.md
   


    
相关文章
|
8月前
|
算法
Single TPR论文解读
Single TPR是2015年提出来的,是基于TPR的进一步改进,TPR论文解读可以参考Topical PageRank(TPR)论文解读_Trouble…的博客-CSDN博客。
69 0
|
8月前
|
机器学习/深度学习 自然语言处理
【论文精读】COLING 2022 - DESED: Dialogue-based Explanation for Sentence-level Event Detection
最近许多句子级事件检测的工作都集中在丰富句子语义上,例如通过多任务或基于提示的学习。尽管效果非常好,但这些方法通常依赖于标签广泛的人工标注
55 0
|
8月前
|
自然语言处理 算法
【论文精读】COLING 2022 - CLIO: Role-interactive Multi-event Head Attention Network for DEE
将网络上的大量非结构化文本转换为结构化事件知识是NLP的一个关键但尚未解决的目标,特别是在处理文档级文本时。
36 0
|
机器学习/深度学习 计算机视觉
Faster R-CNN : end2end 和 alternative 训练
Faster R-CNN 实际上就是由 Fast R-CNN 和 RPN 两个网络结合的,可以使用 end2end 和 alternative 两种方式来训练,两种方法训练出来的网络准确度基本没有多大的区别,但是使用 end2end 训练,即端到端训练可以节省很多时间。这篇文章参考 Ross' Girshick 在 ICCV15 上的演讲报告,主要讲 end2end 方法。
127 0
《Constrained Output Embeddings for End-to-End Code-Switching Speech Recognition with Only Monolingual Data》电子版地址
Constrained Output Embeddings for End-to-End Code-Switching Speech Recognition with Only Monolingual Data
51 0
《Constrained Output Embeddings for End-to-End Code-Switching Speech Recognition with Only Monolingual Data》电子版地址
ICPC Greater New York Region 2020 (模拟)
ICPC Greater New York Region 2020 (模拟)
73 0
《Investigation of Transformer based Spelling Correction Model for CTC-based End-to-End Mandarin Speech Recognition》电子版地址
Investigation of Transformer based Spelling Correction Model for CTC-based End-to-End Mandarin Speech Recognition
75 0
《Investigation of Transformer based Spelling Correction Model for CTC-based End-to-End Mandarin Speech Recognition》电子版地址
|
机器学习/深度学习 算法 数据挖掘
Paper:He参数初始化之《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet C》的翻译与解读
Paper:He参数初始化之《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification》的翻译与解读
|
数据挖掘 Python
第四周编程作业(一)-Building your Deep Neural Network: Step by Step(一)
第四周编程作业(一)-Building your Deep Neural Network: Step by Step(一)
253 0
|
资源调度
第四周编程作业(一)-Building your Deep Neural Network: Step by Step(二)
第四周编程作业(一)-Building your Deep Neural Network: Step by Step(二)
112 0