注意力机制的理解笔记

序言

经常会听到注意力机制,在很多应用都能落地。跟CNN,RNN(LSTM)等深度学习都是热点。而且Attention机制在机器翻译,图片描述,语音识别和文本摘要中取到很大的成功。
那么Attention机制到底是怎样子的一个存在呢?
现在举一个简单例子。
假设输入X = [0.1, 1, 0.1, 0.2, 0.2, 0.3 0.1, 0.1, 0.1, 0.2] 而该分类的Y是1。则其实 在X的第二个特征1就很好的决定了分类Y,表明第二个特征跟Y关系大。所以我们想着能不能把第二个特征的权重提高。使用的方法是Attention机制。创建一个概率数组,使得第二特征的概率大一点,最好当然是 [0,1,0,0,0,0,0,0,0,0]. 然后再跟input X相乘,直接得到 Y = 1 分类结束。

#创建mask/probs 概率--用softmax函数得出概率
probs = Dense(input_dim, actication = 'softmax')(inputs)
#再跟inputs相乘
attention_mul = merge([probs, inputs],output_shape = 32)

如果不记得softmax激活函数
softmax函数其实就是将多个神经元的输入,映射在(0,1)之间。可以当作概率的计算,公式为:
S i = e i ∑ j = 1 n e j S_i = \frac{e^i}{\sum_{j=1}^n e^j} Si=j=1nejei
【值得关注的是: ∑ i = 1 n S i = 1 \sum_{i=1}^n S_i = 1 i=1nSi=1

在论文 Attention Residual Network on Image Classification的应用
回忆论文内容
在这里插入图片描述

其中,Attention Module是由soft mask Branch和 Trunk Branch 组成
而Soft mask Branch 充当 Attention probs 来与Trunk Branch相乘。
其中概率的计算是用Sigmoid来计算出来的。
Attention Probs有三种方法可以计算:

  1. softmax ()
  2. sigmoid()
  3. L2 normalization – L2()

其中,也比较来论文提出的Attention Residual Learning(ARL)的网络结构 VS Naive Attention Learning (NAL)的网络结构。
ARL是如下的Network图:
在这里插入图片描述
NAL是看砍断了Trunk branch 的相加过程,即直接 Mask * Trunk 而不是 Mask*Trunk + Trunk。
实验结果证明 还是ARL的acc更好。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jianafeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值