神经网络-注意力机制

1 注意力简介

计算机视觉(computer vision)中的注意力机制(attention)主要是想让系统学会把注意力放在感兴趣的地方,具备注意力机制的神经网络能够自主学习注意力机制。近几年来,深度学习与视觉注意力机制结合的研究工作,大多数是集中于使用掩码(mask)来形成注意力机制。掩码的原理在于通过另一层新的权重,将图片数据中关键的特征标识出来,通过学习训练,让深度神经网络学到每一张新图片中需要关注的区域,也就形成了注意力。

1.1 引入注意力机制的原因

1、计算能力的限制:目前计算能力依然是限制神经网络发展的瓶颈,当输入的信息过多时,模型也会变得更复杂,通过引入注意力,可以减少处理的信息量,从而减小需要的计算资源。
2、优化算法的限制:虽然局部连接、权重共享以及池化 pooling 等优化操作可以让神经网络变得简单一些,有效缓解模型复杂度和表达能力之间的矛盾。但是,比如循环神经网络中的长序列输入,信息“记忆”能力并不高。

2 注意力机制的分类

1、聚焦式(Focus)注意力:是一种自上而下的有意识的注意力,“主动注意” 是指有预定目的、依赖任务的、主动有意识地聚焦于某一对象的注意力。
2、显著性(Saliency-Based)注意力:是一种自下而上的无意识的注意力,“被动注意” 是基于显著性的注意力,是由外界刺激驱动的注意,不需要主动干预,也和任务无关。池化(Max Pooling) 和 门控(Gating) 可以近似地看作是自下而上的基于显著性的注意力机制。

3 注意力的形式

注意力有两种形式,一种是软性注意力(soft attention),另一种则是硬性注意力(hard attention)。

软性注意力更关注区域或者通道,而且软性注意力是确定性的注意力,学习完成后直接可以通过网络生成,最关键的地方是软性注意力是可微的,这是一个非常重要的地方。可以微分的注意力就可以通过神经网络算出梯度并且前向传播和后向反馈来学习得到注意力的权重。

硬性注意力与软性注意力不同点在于,首先硬性注意力是更加关注点,也就是图像中的每个点都有可能延伸出注意力,同时硬性注意力是一个随机的预测过程,更强调动态变化。当然,最关键是硬性注意力是一个不可微的注意力,训练过程往往是通过增强学习(reinforcement learning)来完成的。

注意力机制一般可以分为三步:一信息输入二计算注意力分布三根据计算的注意力分布来对输入信息进行处理

令:

  1. x\in R^{d} 为输入向量
  2. X = \left [ x_{1},x_{2},... ,x_{N} \right ]  为N个输入样本
  3. q\in R^{k} 为查询向量或特征向量
  4. z\in \left [ 1,N \right ]  为注意力变量,表示被选择信息的位置,比如 z = i 表示选择了第 i 个输入向量

3.1 软性注意力

软性注意力(Soft Attention)是指在选择信息的时候,不是从 N 个信息中只选择1个,而是计算 N 个输入信息的加权平均,再输入到神经网络中计算。

1、计算注意力分布 \alpha _{i}

在给定 q 和 X  下,选择第 i  个输入向量的概率 \alpha _{i}为:

\alpha _{i} = p(z = i\parallel X , q)

      = softmax(s(x_{i , q}))

       = \frac{exp(s(x_{i} , q))}{\sum_{j=1}^{N} exp(s(x_{i} , q))}

其中:

 \alpha _{i} 称为注意力分布

s(xi​,q)称为注意力打分函数

2、加权平均

注意力分布α i 可以解释为给定查询 q  时,第 i 个输入向量关注的程度,软性注意力选择机制是对它们进行汇总:
att(X , q) = \sum_{i=1}^{N}\alpha _{i}x_{i}

                = E_{z\sim p(z|X , p)}\left [ x \right ]

3.2 硬性注意力

硬性注意力(Hard Attention)是指只选择输入序列某一个位置上的信息。

硬性注意力有两种实现方式:

(1)选取最高概率的输入信息

att(X , q) = x_{i} , where  j = arg  max_{i=1}^{N} \alpha _{i}

(2)另一种硬性注意力是通过在注意力分布式上随机采样的方式实现

硬性注意力的缺点:

硬性注意力基于最大采样或者随机采样的方式选择信息,导致最终的损失函数与注意力分布之间的函数关系不可导,因此无法在反向传播时进行训练。

参考:

原文链接:https://blog.csdn.net/coffee_cream/article/details/109095154

原文链接:https://blog.csdn.net/weixin_39552472/article/details/110746151

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值