点上方蓝字计算机视觉联盟获取更多干货

在右上方 ··· 设为星标 ★,与你不见不散

仅作学术分享,不代表本公众号立场,侵权联系删除

转载于:作者丨Shuchen Du、ronghuaiyang(译)

来源丨AI公园

AI博士笔记系列推荐

周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接

卷积神经网络(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

end

这是我的私人微信,还有少量坑位,可与相关学者研究人员交流学习 

目前开设有人工智能、机器学习、计算机视觉、自动驾驶(含SLAM)、Python、求职面经、综合交流群扫描添加CV联盟微信拉你进群,备注:CV联盟

王博的公众号,欢迎关注,干货多多

王博的系列手推笔记(附高清PDF下载):

博士笔记 | 周志华《机器学习》手推笔记第一章思维导图

博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择”

博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型”

博士笔记 | 周志华《机器学习》手推笔记第四章“决策树”

博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络”

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(上)

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(下)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(上)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(下)

博士笔记 | 周志华《机器学习》手推笔记第八章(上)

博士笔记 | 周志华《机器学习》手推笔记第八章(下)

博士笔记 | 周志华《机器学习》手推笔记第九章

点个在看支持一下吧

收藏 | 理解卷积神经网络中的自注意力机制相关推荐

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

    作者 | Shuchen Du 编译 | ronghuaiyang 转自 | AI公园 导读 计算机视觉中的编解码结构的局限性以及提升方法. 卷积神经网络(CNN)广泛应用于深度学习和计算机视觉算法中 ...

  2. xml文件 卷积神经网络_理解卷积神经网络中的输入与输出形状(Keras实现)

    即使我们从理论上理解了卷积神经网络,在实际进行将数据拟合到网络时,很多人仍然对其网络的输入和输出形状(shape)感到困惑.本文章将帮助你理解卷积神经网络的输入和输出形状. 让我们看看一个例子.CNN ...

  3. 【TensorFlow】TensorFlow从浅入深系列之十二 -- 教你深入理解卷积神经网络中的池化层

    本文是<TensorFlow从浅入深>系列之第12篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维 ...

  4. 如何理解卷积神经网络中的通道(channel)

    在卷积神经网络中我们通常需要输入 in_channels 和 out_channels ,即输入通道数和输出通道数,它们代表什么意思呢?本文将给出一个形象的理解. 对于通道的理解可以参考下面的这篇文章 ...

  5. 理解卷积神经网络中的输入与输出形状 | 视觉入门

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 译者|VK 来源|Towards Data Science 即使我 ...

  6. 【TensorFlow】TensorFlow从浅入深系列之十一 -- 教你深入理解卷积神经网络中的卷积层

    本文是<TensorFlow从浅入深>系列之第11篇 TensorFlow从浅入深系列之一 -- 教你如何设置学习率(指数衰减法) TensorFlow从浅入深系列之二 -- 教你通过思维 ...

  7. 如何理解卷积神经网络中的1*1卷积

    原文:http://blog.csdn.net/chaipp0607/article/details/60868689 我们都知道,卷积核的作用在于特征的抽取,越是大的卷积核尺寸就意味着更大的感受野, ...

  8. 如何理解卷积神经网络中的权值共享

    权值共享这个词最开始其实是由LeNet5模型提出来,在1998年,LeCun发布了LeNet网络架构,就是下面这个: 虽然现在大多数的说法是2012年的AlexNet网络是深度学习的开端,但是CNN的 ...

  9. 【CNN】理解卷积神经网络中的通道 channel

    在深度学习的算法学习中,都会提到 channels 这个概念.在一般的深度学习框架的 conv2d 中,如 tensorflow .mxnet ,channels 都是必填的一个参数. channel ...

最新文章

  1. 美国罪案故事第一季/全集American Crime Story迅雷下载
  2. ubuntu14.04不能安全卸载移动硬盘
  3. C++PrimerPlus学习——第九章编程练习
  4. mybatis 之动态SQL
  5. mysql-5.7.17.msi安装
  6. ArcGIS Maritime Server 开发教程(四)Maritime Service 开发实践
  7. 亲测有效!实现Chrome浏览器下载速度提升3倍!
  8. python如何让输出数据对齐、int类型和字符串都有_Python基础-基本数据类型之数字、字符串...
  9. 2021年度最全“Java面试宝典+Java核心知识集”,一箭双雕杠春招
  10. keil中下载按钮和调试按钮灰掉了
  11. 【转】常用0x000000类型颜色代码表
  12. 只道情深,奈何缘浅!
  13. 软件项目管理六要素分别是什么?
  14. 各类稀奇好用的网站,你值得拥有!
  15. 看懂nfl定理需要什么知识_NFL球队为什么不经常通过?
  16. MySQL面试常问大全
  17. 点分治+CDQ分治+整体二分全纪录
  18. 食物同时食用是否有害健康
  19. ubuntu安装mysql详细过程
  20. 新大陆物联网竞赛-Android开发-导入JAR包与添加依赖

热门文章

  1. read接收不全linux,linux下串口读写有关问题 read 一次读不全(5)
  2. 图形裁剪算法matlab,MATLAB裁剪图片
  3. 一加手机如何拷贝公交卡_手机瞬间变身公交卡!教你开通腾讯乘车卡
  4. mcrypt拓展_【PHP】Mcrypt 扩展模块安装及使用
  5. linux子系统gdp调试,Linux GDB调试 详述
  6. PHP表单提交后页面跳转,PHP在表单提交后重定向到另一个页面
  7. sql注入空格被过滤_网站渗透:SQL注入与WAF绕过思路分享
  8. python不支持prelu_MTCNN(九)更改python与c代码的PReLU为ReLU
  9. java 人脸识别jar包_java版天网人脸识别系统,获取视频流人脸识识别推送服务器展示...
  10. mongodb3 重启_手机卡顿反应慢?OPPOR9splus重启找回“新机”手感_