ABCNN: Attention-Based Convolutional Neural Network for Modeling Sentence Pairs(阅读理解)

首先这张图片是本文的基础模型,后续的工作以此展开。BCNN是一个没有添加Attention的模型

输入层

输入句子进行padding后转化成词向量

卷积层

一个窗口最后只生成一个卷积值,然后再句子长度上进行滑动,得到一个长度为sent_len+ws-1的向量(wide conv)

pooling层 

论文中提到了两种pooling层,一种是最后一个pooling层–all-ap,还有一种是中间卷积层所用的pooling层–w-ap。主要区别是池化时的窗口大小不同

all-ap:将卷积之后的结果在句长维度上进行Average Pooling, 得到一个列向量,如上图中最上面的pooling层所示。 

w-ap:使用滑动窗口的形式,以窗口宽度w对卷积输出进行Average Pooling。因为输入层经过宽卷积后会变成sent_len+w-1,之后经过窗口大小为w的pooling层后仍然会变回sent_len。这样的话,conv-pooling层就可以无限叠加起来。

本文重点:

后面作者以BCNN为基础,介绍了三种Attention机制的模型

第一种:


在卷积前进行attention,通过attention矩阵计算出相应句对的attentionfeature map,然后连同原来的featuremap一起输入到卷积层。主要的原来是将输入扩展成双通道,添加的新通道就是通过Attention Matrix计算出来的attention feature map

第二种:


在池化时进行attention,通过attention对卷积后的表达重新加权,然后再进行池化

第三种:


把前两种方法一起用到CNN中


这篇文章的主要贡献在于展示了如何在CNN中使用Attention的思路,现在有不少使用了基于Attention的CNN模型,均取得了不错的效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值