Dynamic Memory Networks & DMN+

动态记忆网络(DMN)是一种用于自然语言处理的模型,适用于问答、情感分析和词性标注等问题。DMN通过输入模块、问题模块、情节记忆和回答模块来处理任务。DMN+是对DMN的改进,引入输入融合层和双向GRU,提高在bAbI任务和视觉问答中的性能。实验表明,多轮迭代对于性能提升至关重要。
摘要由CSDN通过智能技术生成

DMN

1.Introduction

如上文所说,很多NLP问题可以视为QA问题,作者给出了一个例子,同时包含QA, Sentiment Analysis和Part-of-speech tags:
这里写图片描述

所以作者提出了DMN来解决这三种问题。DMN的流程如下:

  1. 将输入和问题转换为内部表示
  2. 根据问题迭代地检索相关的facts
  3. 由DMN的memory模块根据facts和问题进行推理,给出相关的信息
  4. 由回答模块将相关信息转化成答案。

2.Dynamic Memory Networks

DMN的总体结构如图:
这里写图片描述

2.1 Input Module

输入模块通过GRU来编码句子。GRU的输入是word embedding vectors. 对于一个多句子的文本,在每个句子末尾加上一个分隔符(End-of-Sentence),当输入是EOS,取此时的隐含层状态h表示当前这个句子,编码后的句子记作{ si }

2.2 Question Module

对Question的编码也使用GRU, 不过参数与Input Module独立。question就是一个句子,所以question的编码 q 就是最后一个隐含层状态

2.3 Episodic Memory

这个模块将Input Module的输出 st 作为输入,通过attention机制生成对每一个输入fact的门限g,然后根据g计算出情节e,最后把e输入到GRU中生成episodic memory m . 有时候输入一轮{s_t}不能很好的记住所有需要的fact,所以需要迭代多轮。如下图:
这里写图片描述
图中迭代了两轮, 最后生成了两个memory m1 m2

  • attention: 第i轮迭代,t时刻,输入为 ct , 上一轮的记忆为 mi1 , 问题为 q , 则:

    git=G(ct,mi1,q)
    其中:

    G(c,m,q)=σ(W(2)tanh(W(1)z(c,m,q)+b(1)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值