基于Attention机制的图像应用
2021-08-07高政霞
高政霞
(兰州资源环境职业技术学院 信息工程学院,甘肃 兰州 730021)
1 Attention机制的概念和分类
1.1 Attention机制的概念
目前,Attention没有严格的数学定义。认知科学中,信息处理存在局限,人类选择性关注信息中最为关键的部分信息,同时忽略其他可见信息,这种机制通常称为Attention机制。例如,人类在阅读书籍时通常关注和处理少量的字、词、句,看世界的时候,关注特定区域以了解所需知识。
在学术界,Attention也是一种方法论。如处理图像时,利用神经网络提取特征,Attention机制通常作为一部分约束加入神经网络中,使模型的处理结果更为精确,并且能够硬性选择输入的某些区域或者给各特征分配不同权重。神经网络中滑动窗口方法以及图像中传统的局部特征提取和显著性检测都可视为Attention机制。
1.2 Attention机制的分类
Attention[1]起源于人类视觉研究,在计算机视觉中,Attention机制主要指的是神经网络中的Attention机制,从这个角度将Attention机制分为四大类:基于输入项的柔性注意力(Item-wise Soft Attention)、基于输入项的硬性注意力(Item-wise Hard Attention)、基于位置的柔性注意力(Location-wise Soft Attention)、基于位置的硬性注意力(Location-wise Hard Attention)[2]如表1所示。
表1 神经网络中Attention机制的四种类型
在计算机视觉中,往往使用神经网络处理大量的输入信息来提取图像特征,而且理论上网络越深提取的特征更精确,但如果借鉴人脑的Attention机制,可以大大提高效率,有选择性地提取关键信息来处理,从这个层面上可将Attention机制分为两类:
1.2.1 聚焦式(Focus)注意力
Focus是一种自上而下的有意识的Attention机制,可以说是一种主动注意,指的是有选择性、有预定目标、依赖于任务并且自主有意的聚焦某一个对象的Attention机制。在人工神经网络中所提到的Attention机制一般都指的是聚焦式注意力。
1.2.2 显著性(Saliency-based)注意力
Saliency-based也是一种自上而下的有意识的Attention机制,但属于被动注意,主要是在外界的刺激驱动下的注意,无需主动干预,不依赖于任务,比如神经网络中的最大池化(Max-pooling)和门控(Gating)机制相当于显著性注意力。
2 Attention原理
Attention机制是一种寻址(Addressing)过程,只专注于特征的神经网络,输入能够进行特定选择,Attention可将输入设为,特征向量,Attention向量,Attention网络。那么计算如公式(1)所示:
⊙表示对应按元素相乘的运算。本文引用Soft Attention和Hard Attention来讲解Attention原理,Soft Attention指相乘时掩膜值(mask of values)在0到1,而Hard Attention表示掩膜值(mask of values)被强制分为0或1两种(),Hard Attention可用来掩饰指数的特征向量,这样就增加了维度。神经网络的本质是一个函数逼近器,在理解Attention的重要形式考虑到依赖于它的架构,可近似不同类型的函数。
神经网络的应用一般是链矩阵乘法和对应元素的架构中,此时特征向量只在加法时相互起作用。Attention机制能用于特征相乘的掩膜(mask),该操作使神经网络逼近的函数空间大大扩展,其使得全新的用例成为可能。
3 Attention图像应用
当前计算机视觉领域的研究,如模式识别、图像处理、目标追踪、图像检索、目标检测等等,使用Attention机制很广泛。而Attention作为一种思想便于结合多种不同模型,且Attention并不依赖于任何框架。
3.1 Attention延伸
2021年1月李扬志等[3]提出一种时空注意力图卷积网络(STA-GCN)模型进行人体骨架动作识别,识别精度能够很好地通过空间注意力机制和时间注意机制的结合挖掘判别力时域片段。Lin等[4]提出一种用于图形分割的任务解耦方法,利用深层网络得到较为粗糙的图像分割结果图Attention Map,进行预测舰船船头船尾靠岸的大致位置(如图1所示)。
图1 STA-GCN
基于多特征注意力机制的视觉应用有效聚合语义分割网络,在图文评论情感分析中Attention有效利用端对端学习方式,通过多层次文本特征和层次化图像特征进行空间注意类引导。
3.2 Attention推理
武维等[5]提出一种深度注意力流行度预测模型构建基于Attention-LSTM进行捕捉流行趋势状况并挖掘时序信息,高维度文本特征提取作者通过实验表明模型优良,可见Attention机制在预测、推理等方面也有很好的应用前景。人脸识别、人脸监测中Attention机制的应用对于情绪分类、美丽预测、年龄预测等方面也有非常广阔的应用前景。
吴若有等[6]提出一种基于注意力机制和CNN的低照度图像增强算法用来改善图像质量,在提高图像清晰度、避免颜色失真上效果明显,可以有效地改善图像质量,而且对于美图的进一步增强有一定优势。
3.3 Graph Attention Network
Graph Attention Network(GAT)是目前炙手可热的研究方向,其中引入了Attention机制通过学习邻居的权重来更好地实现对邻居的加权聚合。它的优点在于对噪音邻居的鲁棒性更好,而GAT也赋予了深度学习领域中相关提出模型的可解释性。对于GAT的工作内容如图2所示。
图2 GAT工作内容
GAT首先学习了图2左边中节点i和节点j之间的Attention权重aij,其次基于Attention权重{a11,…,a16}来对阶段{1,2,…,6}的表示h1,…,h6进行加权平均,最终得到节点1的表示h'1。Attention网络有很多设计方式,可以将节点i和节点j的表示拼接,再映射成标量,但这样会导致Attention值非对称,也就是eij≠eji。除了拼接外,可以进行邻居信息的聚合,但需要对各节点邻居的Attention进行归一化操作。归一化后的Attention权重才是真正的聚合系数。此时的归一化会导致Attention权重非对称性。因此求解Attention权重分子分母都是非对称的情况,所以aij也是非对称的。那么非对称在图像数据中有何用呢?例如在抖音中,一个大咖和一个粉丝互相关注,但是大咖和粉丝相互之间的重要性明显是不一样的。对于粉丝来说大咖的重要性显而易见,但是对于大咖来说,这一个粉丝对他的重要性有可能忽略不计。
所以完整的图注意力公式如下:
3.4 Attention机制主要应用方式
Attention机制主要应用的方式大概有学习权重分布,即通过构造的Attention模型从而自动去学不同尺度的权重,进行融合;任务聚焦或解耦,即将图像分类和分割任务进行解耦,使用Attention Map对浅层网络的损失进行引导,并且通过反向传播得到目标特征位置上的损失,其他地方的损失不反传。
Attention机制发展至今,研究学者们依然在通过各种方面对其进行改进,随之还产生了很多形式,比如Soft Attention、Hard Attention、Global Attention、Local Attentio n、Self-Attention(又称为intra Attention)等。变种花样何其多,但并不脱离其本质结构。
4 讨论
Attention机制在深度学习、人工智能、数据挖掘等领域有重大应用,并且在开展创新创业大赛及技能类竞赛和相关项目中应用前景广阔。但根据目前研究进展来看也有些许难点有待解决,主要体现在:
(1)如何将其更好地融入到职业教育中,挖掘最大的应用潜能。
(2)缺少基于Attention机制的教育相关的数据集,需要我们不断扩展完善。
5 结论
综合分析,Attention机制这个概念特别新颖而且应用强,它的出现可以推动很多相关工作,扩展了神经网络的功能,可近似更加复杂的函数,能够帮助研究者专注于输入信息的特定部分,提高计算机视觉任务的效率和提取性能,为各个研究领域注入了活力,目前不仅在计算机视觉领域应用广泛,而且在语音识别、自然语言处理、认知和推理、人机交互等不同的类型任务中都能看到Attention机制的身影,它的前景非常广阔。