注意力机制可视化_AReLU: 基于注意力机制的线性整流单元(项目已开源)

ef49b0442d9f83ace48f53dc1e1635f2.png

AReLU: Attention-based-Rectified-Linear-Unit

AReLU: Attention-based-Rectified-Linear-Unit​arxiv.org densechen/AReLU​github.com
1eedcc526e0145a5b52ef9228ec020ec.png

摘要

近年来,相比于早期不可学习的激活函数(Sigmoid,Tanh,ReLU...),大家发现能够动态学习的新一代的激活函数(PReLU,SLAF,PAU...)往往在训练过程中可以使网络学习到更加丰富的特征,从而提高网络性能。同时,注意力机制的使用,也使得网络性能得到了进一步的提升。在本文中,作者提出了一种新的注意力模型ELSA(ELement-wise Sign-based Attention)。相比于传统较为复杂的注意力模型,ELSA的最大特点是其仅仅只包含两个可学习参数,并且计算过程十分简便。另外,作者巧妙的将ELSA与ReLU函数紧密的结合在一起,提出了AReLU函数:一种基于注意力机制的可动态学习的线性整流单元。相比于其他激活函数,该函数的最大特点是:其能够保证网络在很小学习率下的快速收敛。这个良好的性质,对于很多特殊的任务(例如迁移学习)有着非常关键的应用。

方法

  1. 注意力机制

66b0ba4eac57c334217ee5ddfc8bad88.png
不同粒度的注意力机制

根据注意力机制中不同的作用粒度,作者将目前常见的注意力机制划分成三种类型。其中 Element-wise attention 拥有着最精细的作用粒度。

2. ELement-wise Sign-based Attention (ELSA)

作者提出了一种新的细粒度的注意力机制模型,并称之为基于符号的注意力机制。

89a28f6263e3925a874eda199df8fd2e.png
ELSA注意力机制的函数表达

其中,C是剪裁操作,作用是将alpha的值限制在[0.01, 0.99]之间,sigmoid函数则是为了将beta的值限制在[0,1]之间。该注意力机制,会根据当前输入的符号值,来给出合理的注意力值。相比于现有的注意力模块,该模块增加的计算开销可以忽略不计,同时其引入的额外参数也仅仅只有alpha和beta两个参数。即便如此简单的一个注意力模块,作者将它和ReLU函数合并后,却发挥了意想不到的作用。

3. AReLU: Attention-based Rectified Linear Units
首先,为了更好的将ELSA和传统的函数层表达形式统一起来,作者将ELSA改写成如下形式:

246f0c80facb742fc927d7b308d540d4.png

同时,作者给出了ReLU函数的表达形式:

eb4944a382ff9ac14a9bcab39d154f84.png

然后,将二者相加:

18df734fcc845e5dc6634d105cbb0520.png

就得到了AReLU的表达形式。在这里,相加的操作,类似于将ELSA作为残差结构加入到原有的ReLU中。

从AReLU的梯度推导中:

d0d2a801b7e9074cdb89e05e8995f91b.png

我们可以直观的看出,AReLU函数会对不同数据的梯度产生放大和缩小两种效果。而放大部分恰好是输入中大于零的部分,也就是传统激活函数中被激活的部分,而缩小的部分,恰好是输入数据中小于零的部分,也就是传统激活函数中被认为是没有激活的部分。正是这个非常好的特性,使得AReLU函数可以使网络在训练过程中更快的达到一个更好的状态,从而整体上大幅度加快了网络的收敛速度。

实验

1.alpha、beta的初始化参数选择

646263688860a2ddec947803c3322ea5.png

通过简单的实验,作者认为,AReLU函数自身对alpha、beta的初始化参数并不敏感。但是选择一个较为合理的值,可能会有助于在训练过程中得到更好一些的效果。

2. 对比实验

原文中作者做了许多的对比实验,几乎比较了现有的所有激活函数。

de7836c01dbc845b6b7a415d9bf4a4cf.png

从上图中我们可以很明显的感受到AReLU在学习率较小的时候,训练网络所带来的巨大优势。

同时,作者也展示了AReLU在迁移学习中的应用。

26cc0541c938f18c374bab14435c0421.png

另外为了更好的突出ELSA的效果,作者使用gradcam方法,可视化了AReLU在CIFAR100上的实验效果。

c6462b4ad0cae31906088ac15e580376.png

可以明显的感受到,整合了ELSA的AReLU函数,相比于ReLU函数,网络更加关注输入数据中和目标相关的区域。

另外作者也简单展示了AReLU函数在处理分割任务时的表现。

ab85b043cd8860f8eaa246ed9ae5be8f.png

还有许多实验结果,可以参考原文,这里不一一列出。(该项目已开源。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值