[PaperReading]*Bi-Directional Attention Flow For Machine Comprehension

概述

attention一直在做的,是将原本的数据信息,有重点有方向地进行总结。这篇文章注意到一个问题,那就是在attention机制上,之前的工作总是在得出attention权重后对于原数据进行总结summary,这使得得到了attention结果的同时,丢失了部分原数据的信息,并且还可能破坏训练得到的attention的意义(个人觉得做乘法取概率不一定是attention的最终归宿)。本文就以上问题,提出了新的想法,对于计算出的attention结果,不做summary,将attention的信息和原信息一样向下一层传递,避免因为summary过早,造成原信息的损失。在此基础上提出了attention flow的概念,并针对特定的文本理解模型,设计了双向attention flow,这里的双向针对的是文本context和提问query,不只query要对context形成attention,context也要对query形成attention,这样的方式被称为双向Bi-Directional Attention Flow。

模型

机器学习的模型的层次性,一层一层的操作,可能会执行相同的事,也可能执行不同的任务,但是一层接一层的操作让模型变得容易实现和理解。大部分模型下一层的输入是上一层的输出,这样对层次的分析很方便划分,resnet的残差操作或是其他网络的highway结构,是对这种结构的突破。在本文中的attention flow的提出,在我看来(纯个人观点)是对类似highway的突破。突破点在于,它其实很类似一个另类数据增强的操作,增强的部分是数据的逻辑性,然后把数据新的处理结果和原数据一同传入下一层。在这里插入图片描述
上图是论文中的模型结构图,明显的分层模型。论文原文对每一层都有清晰的描述。
Character Embed Layer: 字母级别的embedding,之后对每个单词通过CNN等操作,整合为word level的Embedding, d d d维;
Word Embed Layer: 预训练的word embedding,文中采用的是GLOVE词向量, d d d维;

前两层得到的两个不同的embedding结果,经过一个,两层highway网络,转化为新的 d d d维结果,context转化为 X ∈ R d × T X \in \mathbb{R}^{d \times T} XRd×T,query转化为 Q ∈ R d × J Q \in \mathbb{R}^{d \times J} QRd×J

Contexual Embed Layer: 输入为前两部分的embedding的结合每一个词是一个维度为 d d d的向量,利用双向LSTM对于文本进行编码,每一个方向的输出维度均为 d d d,最后结合为一个 2 d 2d 2d维度的向量。对于长度分别为context长度 T T T和query长度 J J J的结果,分别有 H ∈ R 2 d × T H \in \mathbb{R}^{2d \times T} HR2d×T,和 U ∈ R 2 d × J U \in \mathbb{R}^{2d \times J} UR2d×J,包括context编码 h i h_i hi和query编码 u i u_i ui
Attention Flow Layer: 得到了 H H H U U U编码后,进行双向attention操作。之后将attention的结果通过一个函数进行整合,最终的结果是将 H H H,C2Q的attention结果 U ~ \widetilde{U} U ,Q2C的attention结果 H ~ \widetilde{H} H ,三者经过一定结合,传入后续结构。
Model Layer: 两层的双向LSTM编码;
Output Layer: softmax判断答案在context中的起始点和终结点。

总结

attention flow的思路是从原本的attention的形成模式中,保留attention却又不想失去原信息提出的中和方案。辛辛苦苦计算出来的特征,一个summary可能会丢弃掉不少。highway的模式在网络中起到的效果是值得探讨的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值