知行编程网知行编程网  2022-07-02 18:00 知行编程网 隐藏边栏 |   抢沙发  2 
文章评分 0 次,平均分 0.0

理解卷积神经网络中的自注意力机制

作者丨Shuchen Du、ronghuaiyang(译)

来源丨AI公园   编辑丨极市平台

理解卷积神经网络中的自注意力机制


卷积神经网络(CNN)广泛应用于深度学习和计算机视觉算法中。虽然很多基于CNN的算法符合行业标准,可以嵌入到商业产品中,但是标准的CNN算法仍然有局限性,在很多方面还可以改进。这篇文章讨论了语义分割和编码器-解码器架构作为例子,阐明了其局限性,以及为什么自注意机制可以帮助缓解问题。

准编解码结构的局限性


理解卷积神经网络中的自注意力机制
图1:标准编解码结构

解码器架构(图1)是许多计算机视觉任务中的标准方法,特别是像素级预测任务,如语义分割、深度预测和一些与GAN相关的图像生成器。在编码器-解码器网络中,输入图像进行卷积、激活以及池化得到一个潜向量,然后恢复到与输入图像大小相同的输出图像。该架构是对称的,由精心设计的卷积块组成。由于其简单和准确,该体系结构被广泛使用。
理解卷积神经网络中的自注意力机制
图2:卷积的计算

但是,如果我们深入研究卷积的计算(图2),编码器-解码器架构的局限性就会浮出表面。例如,在3x3卷积中,卷积滤波器有9个像素,目标像素的值仅参照自身和周围的8个像素计算。这意味着卷积只能利用局部信息来计算目标像素,这可能会带来一些偏差,因为看不到全局信息。也有一些朴素的方法来缓解这个问题:使用更大的卷积滤波器或有更多卷积层的更深的网络。然而,计算开销越来越大,结果并没有得到显著的改善。

理解方差和协方差

方差和协方差都是统计学和机器学习中的重要概念。它们是为随机变量定义的。顾名思义,方差描述的是单个随机变量与其均值之间的偏差,而协方差描述的是两个随机变量之间的相似性。如果两个随机变量的分布相似,它们的协方差很大。否则,它们的协方差很小。如果我们将feature map中的每个像素作为一个随机变量,计算所有像素之间的配对协方差,我们可以根据每个预测像素在图像中与其他像素之间的相似性来增强或减弱每个预测像素的值。在训练和预测时使用相似的像素,忽略不相似的像素。这种机制叫做自注意力。
理解卷积神经网络中的自注意力机制
方程 1: 两个随机变量X和Y的协方差

CNN中的自注意力机制


理解卷积神经网络中的自注意力机制
图3: CNN中的自注意力机制

为了实现对每个像素级预测的全局参考,Wang等人在CNN中提出了自我注意机制(图3)。他们的方法是基于预测像素与其他像素之间的协方差,将每个像素视为随机变量。参与的目标像素只是所有像素值的加权和,其中的权值是每个像素与目标像素的相关。
理解卷积神经网络中的自注意力机制
图4: 自注意机制的简明版本

如果我们将原来的图3简化为图4,我们就可以很容易地理解协方差在机制中的作用。首先输入高度为H、宽度为w的特征图X,然后将X reshape为三个一维向量A、B和C,将A和B相乘得到大小为HWxHW的协方差矩阵。最后,我们用协方差矩阵和C相乘,得到D并对它reshape,得到输出特性图Y,并从输入X进行残差连接。这里D中的每一项都是输入X的加权和,权重是像素和彼此之间的协方差。
利用自注意力机制,可以在模型训练和预测过程中实现全局参考。该模型具有良好的bias-variance权衡,因而更加合理。

深度学习的一个可解释性方法


理解卷积神经网络中的自注意力机制
图5: SAGAN中的可解释性图像生成

SAGAN将自注意力机制嵌入GAN框架中。它可以通过全局参考而不是局部区域来生成图像。在图5中,每一行的左侧图像用颜色表示采样的查询点,其余五幅图像为每个查询点对应的关注区域。我们可以看到,对于天空和芦苇灌木这样的背景查询点,关注区域范围广泛,而对于熊眼和鸟腿这样的前景点,关注区域局部集中。


参考资料

Non-local Neural Networks, Wang et al., CVPR 2018
Self-Attention Generative Adversarial Networks, Zhang et al. ICML 2019
Dual Attention Network for Scene Segmentation, Fu et al., CVPR 2019
Wikipedia, https://en.wikipedia.org/wiki/Covariance_matrix
Zhihu, https://zhuanlan.zhihu.com/p/37609917

<pre style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;white-space: normal;font-family: -apple-system-font, system-ui, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;letter-spacing: 0.544px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section powered-by="xiumi.us" style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-top: 15px;margin-bottom: 25px;max-width: 100%;opacity: 0.8;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><section style="margin-bottom: 15px;padding-right: 0em;padding-left: 0em;max-width: 100%;color: rgb(127, 127, 127);font-size: 12px;font-family: sans-serif;line-height: 25.5938px;letter-spacing: 3px;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><strong style="max-width: 100%;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;font-size: 16px;font-family: 微软雅黑;caret-color: red;box-sizing: border-box !important;overflow-wrap: break-word !important;">为您推荐</span></strong></span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;">干货 | 算法工程师超实用技术路线图</section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="font-size: 14px;">吴恩达上新:生成对抗网络(GAN)专项课程</span><br  /></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;box-sizing: border-box !important;overflow-wrap: break-word !important;">思考 | 一滴水从高处落下来,会不会砸死人?</section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;"><span style="max-width: 100%;font-size: 14px;box-sizing: border-box !important;overflow-wrap: break-word !important;">周博磊自述:一个神经元的价值和一个神经病的坚持</span></section><section style="margin-top: 5px;margin-bottom: 5px;padding-right: 0em;padding-left: 0em;max-width: 100%;min-height: 1em;font-family: sans-serif;letter-spacing: 0px;opacity: 0.8;line-height: normal;color: rgb(0, 0, 0);box-sizing: border-box !important;overflow-wrap: break-word !important;">你一定从未看过如此通俗易懂的YOLO系列解读 (下)<span style="letter-spacing: 0px;"></span></section></section></section></section></section></section></section></section></section>

理解卷积神经网络中的自注意力机制

本篇文章来源于: 深度学习这件小事

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享