分享

深度学习基础知识之卷积...

 行走在理想边缘 2022-06-08 发布于四川

计算机视觉领域,常用的就是卷积神经网络,那卷积是什么呢?卷积其实是信号处理中的一个概念,可以从信号处理角度来理解卷积的物理意义:

推荐看此文章的举例说明部分:https://www.jianshu.com/p/0aafb2211304

那么CNN中的卷积是什么样的?先来解释几个概念。

图像的定义:一个二维函数 f ( x , y ) f(x,y) f(x,y) x x x y y y是空间坐标,而 f f f在任意坐标 ( x , y ) (x,y) (x,y)处的幅度称为图像在该点处的亮度或者灰度,灰度的值叫做像素值。

1. x x x y y y对应我们一幅图像的宽高,宽高相乘就是图像的分辨率。
2.坐标 ( x , y ) (x,y) (x,y)处的 f f f就是图像的像素值。
3.像素值的取值范围0-255。
4.只有一个通道叫灰度图像,RBG三个通道叫彩色图像。
5.图像就是矩阵,灰度图像就是一个二维矩阵【 高 宽】,彩色图像就是三维矩阵【高 宽 通道】(可以理解为一个长方体的高长宽)。

单通道卷积

卷积核:图中3×3的阴影矩阵,小的数字就是卷积核这个矩阵的值

卷积核在 2 维输入数据上从左到右,从上到下滑动,卷积核和原始图像做矩阵乘法,每滑动一次,都会得到一个数值,就是特征图的一个像素格,也就是说之前的3*3=9个像素格,经过卷积之后得到一个新的像素格。

在这里插入图片描述

总结:

  1. 卷积:将一个二维矩阵变成另一个二维矩阵的过程。
  2. 卷积核这个矩阵的值,就是我们常说的权重值。

卷积中常用的操作

  1. Padding

    在单通道卷积那幅图中,我们看到输入图像是 5 ∗ 5 5*5 55大小,输出图像是 3 ∗ 3 3*3 33大小,那么一些边缘信息就会被我们忽略掉,边缘上的像素永远不在卷积核的中心,因为内核没有任何东西可以扩展到边缘之外。但是我们希望输出的尺寸等于输入,甚至大于输入。那就需要 padding 来解决这个问题。

    Padding:用 0 0 0填充图像边缘,扩大原始图像的大小,为了不影响效果,所以在原始图像边缘填充像素值 0 0 0,下图虚线格中全部是0。

    padding有三种模式,full,valid和same。

    full在深度学习中,几乎不用。

    valid:就是没有填充,所以边缘信息被忽略,叫做无效。(我是这么认为<_>)

    same:就是有填充的。

    padding是针对边缘信息要不要忽略而设置。

在这里插入图片描述

  1. strides

    我们希望输出的特征图尺寸减小,我们可以用池化来做(每 2×2 网格的平均值/最大值将空间维度减半),在卷积里,我们通过设置步长就可以达到这样的效果。

    Stride 的想法是改变卷积核的移动步长跳过一些像素。

    Stride 是 1 表示卷积核滑过每一个相距是 1 的像素,是最基本的单步滑动,作为标准卷积模式。

    Stride 是 2 表示卷积核的移动步长是 2,跳过相邻像素。

    在这里插入图片描述

    Stride 是 3 表示卷积核的移动步长是 3,跳过 2 个相邻像素。

    stride不管padding的模式,只是为了缩放图片的尺寸。

  2. 权值初始化

    权值初始化就是初始化卷积核这个矩阵的初始值。

    初始化方式有很多,例如 h e _ n o r m a l , l e c u n _ n o r m a l , T r u n c a t e d N o r m a l , R a n d o m N o r m a l 等 等 he\_normal,lecun\_normal,TruncatedNormal,RandomNormal等等 he_normal,lecun_normal,TruncatedNormal,RandomNormal

    具体可参考此文章:https://zhuanlan.zhihu.com/p/93289249

多通道卷积

上面我们介绍了单个输入通道的图像。实际上,我们图像大部分还是 3 通道的,通道数只会增加你的网络深度。通常我们会将图像的通道视作一个整体,强调其整体的一面而不关注各自的差异。

单通道的时候我们管小的权值矩阵叫做卷积核,在多通道时,每个输入通道都对应有一个卷积核,这多个卷积核的集合我们叫做滤波器,但是事实上,大家还是叫他为卷积核。

单通道时,一个卷积核输出一个特征图,在多通道时,一个滤波器也是输出一个特征图,那么他是怎么操作的呢?

滤波器的每个卷积核在各自的输入通道上滑动,产生各自的计算结果。

每个通道上的卷积核的值都是不同的,值越大那么就会越突出这个通道上的信息。

在这里插入图片描述
然后将每个通道处理的结果汇在一起形成一个通道。滤波器的卷积核各自产生一个对应通道的输出,最后整个滤波器产生一个总的输出通道。

在这里插入图片描述
我们经常看到一个偏置:偏置在这里的作用是对每个输出滤波器增加偏置项以便产生最终输出通道。【计算方式:对每一个像素格加上偏置】
在这里插入图片描述

在代码中有个参数时滤波核的数量,有多少滤波核就有多少个feature map。

感受野

感受野,从名字上看就是你看到了多少东西,例如:有一台电脑和一部手机,我们在看相同的一个电影,显然电脑屏幕和手机屏幕大小不一样,但是我们看到的画面是一样的,但是对比一下,在电脑上,我可能能够看到电影的画面非常细致,用手机可能看的不是那么清晰,但是不管用哪个看,我们都能知道电影的情节时怎么发生的。这也就是感受野,也是根据卷积的步长决定了我们感受野的大小。

卷积可视化网站:https://poloclub./cnn-explainer/

参考文章:https://blog.csdn.net/qq_28168421/article/details/81117352

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多