注意力机制及各种卷积层学习

怎么感觉我可能博客打开方式不对呢?想着记录下学习,但是有挺多的东西,就像程序里面的库有各种依赖库一样,要学习一件事情,需要另外一件事情的支持,然后又转过去学习另一件事情。。导致一堆草稿,一堆写一半的博客。。

注意力机制

注意力机制在NPL中和CV中都有挺多应用的,我这只讲在CV中的,因为不懂NPL。网上挺多大佬写得挺详细的。大佬链接
直观理解:重点关注目标区域。
注意力机制在CV中的应用主要有三种,一种是在空间域上的应用,一种是在通道域上的运用,一种是混合域。

在空间域上的应用:

这个就跟我们人一样,一眼看过去,我们总是会注意到那些显眼的地方,而不去注意到其他位置。在空间域上的应用就是让网络去注意那些“显眼”的地方,怎么去注意”显眼“的地方呢?哪些地方又是属于“显眼”的呢?主要解决的就是这两个问题。
一张图片,把它划分成几块,比如划分成3X3或者其他的,每一块给定一个权重,权重大的地方就是“显眼”的位置。。突然感觉池化层也算是运用到了注意力机制啊0-0.那怎么来得到这个权重呢?目前是用深度学习的方法得到权重。得到权重后,和原图像一乘,输出的结果就因为有权重的关系,注意力机制就体现出来了,权重大的更“显眼”.
在这里插入图片描述

在通道域上的应用:

跟在空间域上不同,有些人把注意力机制运用在通道域上,他们认为每个通道的权重应该是不一样的,重要的通道应该被关注,不重要的通道应该忽略。那怎么来获得权重信息呢,也是运用到了深度网络的方法,用神经网络训练一个1X1XC的参数,C为通道层数,与原通道相乘,结果就是每一个通道都被这个权重定义重要程度,权重大的更重要些。比较简单。。
在这里插入图片描述

混合域:

这种方式是把空间域跟通道域结合起来,因为空间域,每一个通道的权重是一样的,忽略了通道域中信息,而在通道域中,对通道内信息池化平均,忽略了通道内局部信息。结合这两者的信息,就能设计出混合域注意力机制模型。
大佬链接里面的图看得不是很清楚。我专门去找了原论文来看。吐槽下,只说个论文[8],论文[8]是啥也不说。论文链接
理解的话,也比较简单,通道域上的注意力机制是乘上1X1XC的参数,这个就是呈上NXNXC的参数,但是这样有可能会直接破坏网络深层的信息,就把之前的特征张量也作为下一层的输入,可以得到的特征更为丰富,从而能够更好的注意关键特征。
在这里插入图片描述

卷积层

卷积层挺多的,深度可分离卷积,空洞卷积,空间可分离卷积等等的。

2D卷积

这个应该是最常见也最常用的卷积了,因为做图像卷积,基本就是用的2D卷积。工作原理如下动态图所示。二维图像是可以用三个矩阵表示,RGB三色素表示有3个通道,每个像素点都有一个色素值,每个通道都可以表示成一个矩阵,下示动态图就是一个大小为3X3的卷积核,在大小为5X5的“矩阵”上做卷积操作,每个点对应相乘再相加,得到的值放入对应的绿色矩阵中,白色的是填充,填充大小为1,填充的值一般都取零。
对于图像而言,一般是由3个通道,同样是如此,比如大小是5X5X3的输入,通道数是3,大小是5,卷积核是3X3X3,每一层都是对应相乘,再相加,最后把结果加起来就得到一个值。感觉比较简单,没啥好说的。
在这里插入图片描述

1D卷积

1D卷积也会用到,作用:
1、在不改变特征图尺寸的前提下去改变通道数。因为大小就是1X1嘛,所以不会改变图像尺寸,但是可以增加或者减少卷积核的个数来改变通道数。
2、增强了网络局部模块的抽象表达能力。同时,再经过卷积后用激活函数进行激活,也能增强网络局部模块的抽象表达能力。

3D卷积

感觉主要是用在处理视频流方面吧。视频流多引入了一个时间维度,跟3D卷积的相合性挺好的。
3D卷积一个大小为3的卷积核就是3X3X3(一个通道,并不是3个通道),虽然在2D卷积中多通道看起来也挺像3D卷积的,但是是不一样的,在2D中,卷积核并不会朝着RGB这个方向去移动,在3D中,卷积核会朝着这个方向移动相乘再相加。最后得到一个值。
在这里插入图片描述

深度可分离卷积

深度可分离卷积是一个轻量级的卷积,计算量要少很多。
跟2D卷积不同,深度可分离卷积分成两部分,逐通道卷积和逐点卷积,逐通道卷积就是如下图所示,输入通道数为3,那就有3个3X3的卷积核,每个卷积核只对当前通道做卷积,跟2D的多通道相比就是少了加法运算,而且卷积核的个数就是通道个数。经过逐通道卷积得到的通道数跟原图像通道数是一样的。
在这里插入图片描述
接下来就是逐点卷积。用大小为1,通道数为3的卷积核对图像进行卷积操作,需要多少深度,就有多少个卷积核。如下图所示。
在这里插入图片描述
跟常规的2D卷积的计算量相比:
2D卷积:输入通道是3,需要得到的通道数是128,就需要128个3X3X3的卷积核,参数的个数为3X3X3X128=3456。
深度可分离卷积的参数个数:3X3X3+128X3=411。
少了非常多的计算量。

空洞卷积

空洞卷积能在相同的计算下获得更大的视野,在检测大物体上是有优势的。但是,在检测细微物体上,效果是没2D卷积好的。下图就是空洞卷积的工作原理,跟2D卷积差不多,只是卷积核不同,2D卷积是3X3,9个数,这个也是9个数,但是是5X5。空洞卷积会有一个空洞率,当空洞率为1时候就是2D卷积,当空洞率为2时候,就如下图。等等的。
在这里插入图片描述

分组卷积

目的依然是为了减少参数计算量的问题。
把输入的通道数分成g组,同样的,2D卷积核的层数需要跟输入通道数一致,2D卷积核也被分成g组,输入的通道数是c1,为HXWXc1,被分成g组,每组为HXWX(c1/g),卷积核的层数同样被分成g组,大小为h1Xw1X(c1/g),如果输出通道为c2,每组都有c2个这样的卷积核。每组独立进行2D卷积。如下图所示
在这里插入图片描述
如果是个7X7X3的输入。3个通道,分成3个组,每个组的卷积核就是3X3X1,需要输出126个通道,则每组需要42个卷积。则分组卷积计算量为:3X3X42X3=1134.
分组卷积分成g个组,则计算量只有正常2D卷积的(1/g)。

空间可分离卷积

差点把这个知识点搞忘了。空间可分离卷积同样是减少参数计算量的。把卷积核矩阵用一个n行1列的矩阵和一个1行n列的矩阵表示,比如,一个3X3的卷积核,是有9个参数,一个3X1的矩阵与一个1X3的矩阵做矩阵乘法,也能得到一个3X3的矩阵。但是参数记录上就从9个参数变成了6个参数。
比如:
在这里插入图片描述
其他的就跟2D卷积一样,没啥变化。

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值