A Fully Attention-Based Information Retriever
IJCNN 2018 A Fully Attention-Based Information Retriever
背景
本文解决的仍然是QA问题中基于RNNs架构的模型难以解决的一些问题和局限性,同时借着当时Transformer的热潮,提出了一种称为Fully Attention Based Information Retriever(FABIR)的QA模型,它可以简单的理解为Transformer在QA领域的应用,同时其中还涉及了一些其他的技术。
本文的贡献主要有三点:
- 提出了一种新的注意力机制:convolutional attention,它通过建立词与词之间多对多的映射关系来获取更加丰富的上下文表示
- 提出了一种用于词嵌入降维的子层:Reduction Layer,希望借此减少模型训练的参数量,加快推断过程
- 提出了一种基于列的交叉注意力机制:Column-wise cross-attention,它可以使得查询中的词更加关注文档中和查询相关的部分
related work部分对于传统的注意力机制和Transformer中的Self-Attention机制做了较为清晰的介绍,不清楚的可以直接看相关内容
模型
模型整体上由Embedding Layer、Reduction Layer、Processing Layer(四层)和Answer Selector四部分组成,如下所示:
![](/assets/blank.gif)
Embedding Layer:QA模型的输入主要包含查询和文档两部分,因此需要将两部分的输入均表示为嵌入向量的形式来作为后续的输入。这里选择的仍然是word-level和character-level两个层次的嵌入,其中word-level的词嵌入直接加载预训练的Glove,而character-level则同样是使用CNN+Max pooling获取,最终查询和文档中词的嵌入表示为两部分的拼接:
w=Highway([ww;tanh(wc)])w = \text{Highway}([w_{w};\tanh(w_{c})])w=Highway([ww;tanh(wc)])其中Highway表示Highway Network。Encoder:这部分使用的类似于Transformer的机制来获取另一种关于查询和文档的表示P,Q→EP,EQP,Q \rightarrow E_{P},E_{Q}P,Q→EP,EQ
因为这里无法序列化的处理数据,因此同样需要额外的提供位置信息。通过上述两种方式我们就可以获取到关于查询和文档两种类型的嵌入表示,它们是独立进行处理的,最终的表示是两种的融合形式。
下面介绍本文所说的三大贡献:
- Convolutional Attention:在标准的Attention中,查询和文档中的两个词pip_{i}pi对qjq_{j}qj的关注程度计算方式为: si,j=f(pi,qj)s_{i,j}=f(p_{i},q_{j})si,j=f(pi,qj)。但是这种一一对应的方式作者认为无法很好的捕获相邻的一组词所表达的复杂信息,因此这里提出了这种新的Attention,它的原理就在于一次性从两部分中分词取多个词进行计算:
si,j=f(pi−h−12,...,pi+h−12,qj−w−12,...,qj+w−12)s_{i,j}=f(p_{i-\frac{h-1}{2}},...,p_{i+\frac{h-1}{2}},q_{j-\frac{w-1}{2}}, ...,q_{j+\frac{w-1}{2}})si,j=f(pi−2h−1,...,pi+2h−1,qj−2w−1,...,qj+2w−1)
其中hhh和www分别表示卷积核的高和宽。
Column-wise cross-attention:在Self-Attention中通过对于输入自身的计算来获取的更好的表示attself(P)=attconv(P,P,P)\text{att}_{self}(P)=\text{att}_{conv}(P,P,P)attself(P)=attconv(P,P,P)
而另一种cross-Attention通过关注两个不同来源的部分来进行注意力的计算
attcross(P,Q)=crossconv(P,Q,Q)\text{att}_{cross}(P,Q)=\text{cross}_{conv}(P,Q,Q)attcross(P,Q)=crossconv(P,Q,Q)
以上两种方式都是基于行(row-wise)的形式,P中的每一个词会和Q中每一个词进行一次计算,但在实际情况中,P中的词并不总是和Q中的词具有相关性。因此,作者提出通过使用column-wise的注意力计算方式来尽量只计算相关的词Reduction Layer:在之前的研究中观察到:当词嵌入向量的维度很高时,模型在训练中容易过拟合。因此,作者在这里提出了一种对嵌入向量进行降维的层,希望借此减少模型训练的参数量,加快推断过程,而且在后面的实验部分也证明了这种方式的有效性。
它主要由Decoupled Attention、cross-attention、Feedforward、Normalization和Matrix Reduction组成,其中Matrix Reduction对于降维起着主要作用。假设输入为winputw_{input}winput,输出为wmodelw_{model}wmodel,那么简单的表述为
wmodel=Wreductionwinputw_{model}=W_{reduction}w_{input}wmodel=Wreductionwinput
另外涉及的一个部分便是Decoupled Attention:
![](/assets/blank.gif)
它可以独立的计算embedding matrix和encoder matrix,同时通过共享权值矩阵WUW_{U}WU和WKW_{K}WK及相同的输入UUU和KKK来加快计算Convolutional Attention。
- Answer Layer:这里同样是通过优化负对数似然的方式来计算答案的起始位置和结束位置所满足的概率分布,模型选择的是两层的卷积网络。
J=−(y1log(π1)+y2log(π2))J=-(y_{1} \log(\pi_{1})+y_{2} \log(\pi_{2}))J=−(y1log(π1)+y2log(π2))
实验部分可见原文~
A Fully Attention-Based Information Retriever相关推荐
- 【论文阅读】Attention Based Spatial-Temporal GCN...Traffic Flow Forecasting[基于注意力的时空图卷积网络交通流预测](1)
[论文阅读]Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting[基于注 ...
- 21.Selective Attention Based Graph Convolutional Networks for Aspect-Level Sentiment Classification阅
21.Selective Attention Based Graph Convolutional Networks for Aspect-Level Sentiment Classification阅 ...
- attention机制中的注意力图怎么画_注意力机制 | 图卷积多跳注意力机制 | Direct multihop Attention based GNN...
导读:目前GNNs通过利用self-attention机制已经取得较好的效果.但目前的注意力机制都只是考虑到相连的节点,却不能利用到能提供图结构上下文信息的多跳邻居(multi-hop neighbo ...
- 论文阅读:Semantic Aware Attention Based Deep Object Co-segmentation(ACCV2018)
协同分割论文:Semantic Aware Attention Based Deep Object Co-segmentation(ACCV2018) 论文原文 code 目录 1.简介 2. ...
- ATT-CNN(attention based CNN)
ATT-CNN文本分类,论文解读(Attention-based Convolutional Neural Networks for Sentence Classification) Attentio ...
- Gated Mechanism for Attention Based Multi Modal Sentiment Analysis 阅读笔记
GATED MECHANISM FOR ATTENTION BASED MULTIMODAL SENTIMENT ANALYSIS 阅读笔记 最近在跟进多模态的情感分析发现多模态榜一又被刷下来了,这篇 ...
- 【Attention】Dual Attention(DANet) Fully Attention(FLA)
空间注意力有助于保留细节信息,通道注意力有助于保留大物体的语义一致性. 有效使用两种注意力可以提升性能. 本文旨在记录一些常用的注意力,以及代码实现,包括两篇文章,DANet,FLA. Dual At ...
- Attention based ASR(LAS)
目录 1. Encoder-Decoder 2. 引入Attention的Encoder-Decoder(AED) 3. LAS 3.1 listen 3.2 Attention 3.3 spell ...
- 【ACNET2019】:ATTENTION BASED NETWORK TO EXPLOIT COMPLEMENTARY FEATURES FOR RGBD SEMANTIC SEGMENTATION
ACNET: ATTENTION BASED NETWORK TO EXPLOIT COMPLEMENTARY FEATURES FOR RGBD SEMANTIC SEGMENTATION ACNE ...
最新文章
- 填问卷赢280元SaaS峰会门票 与Salesforce、Zenefits现场交流!
- USACO1.3.4 Prime Cryptarithm 牛式 解题报告(模拟)
- Java集合:Map集合
- 二维随机变量期望公式_多维随机变量函数的分布
- dex2jar java 1.8_利用 dex2jar 反编译 dex文件
- 【转】十大抢手的网站压力测试工具
- c语言中除法与余数,带符号整数的除法与余数
- 程序员学习资料整理(1)
- 窗外逶迤的月光如水般倾泻
- LINUX 下播放 DVD 全攻略 (关键字 DVD-ROM LiViD fifo OMS)
- java503错误是什么_打开网页后出现503 service unavailable等字样,什么意思
- ST_Geometry
- ubuntu16.04查看opencv安装路径以及版本号
- ClickHouse在字节跳动的应用与实践
- DIY搭建黑群晖(XPEnology)备忘记载
- Windows安装Weblogic
- 装机员 Ghost Win7 Sp1 32位装机11月版
- 图像翻转(Image Flip)
- s905l android5,GitHub - hejoin/AmlogicS905LFirmwares: Amlogic S905L Android 6.0 Firmwares
- 电路交换和分组交换有什么区别?
热门文章
- 【大数据开发运维解决方案】Solr5.1+Jcseg分词器安装部署(中英文同义词、停止词配置)
- oracle sql 格式化日期,怎么在 SQL Server中 将日期格式化
- oracle access advisor,oracle11g新特性-SQL Access Advisor
- mediaPlayer的使用技巧
- 王通:当下的SEO从业者该如何升级
- 官宣,北大智能学院成立!
- 怪怪设计论: 抽象无处不在
- 2013阿里巴巴双十一准备中的技术突破与亮点
- 解决Error running IandunCustservApplication. Command line is too long. Shorten the command line
- 60天准备PMP考试-D1