从公式看,卷积就是相乘再相加的过程
从这张图看,卷积就是之前的点对当前点的影响。有人说,卷积就是瞬时行为的持续性后果。
在CNN的卷积操作中,其实也是先相乘再相加,这里通过卷积核,实现一个目的,就是周围像素点对中心像素点的影响。
那不同的卷积核,对图像的影响是不同的:
去噪:
挑出,垂直边界货水平边界
那有人,可能会问了,那想提取某个特殊的特征,这个卷积核怎么去设置呢?那其实这个卷积核的值可以先随便预设一个,然后训练后通过反向传播进行优化。
也就是说,我们可以通过不同的卷积核挑出来不同特征,然后再将这些特征作为全连接层的输入。特征本身的个数也可以预设,特征的个数和卷积核的个数相等。
这里我也就发现了卷积的主要目的了:
一开始我们的对象是成千上万的像素,如果我们一开始就使用全连接层,比如我们现在有4563个像素,那将构建如下图的全连接层:
这样就会有太多的w和b需要调整,增加训练的难度,所以我们先需要通过卷积提取特征,过滤无关紧要的信息,然后再通过全连接层,输出概率。
那现在看下这个卷积层的运行过程:
那或者过程就是将卷积核盖到原图上,做相乘再相加的操作,每完成一次这样的操作就平移一次。那图中将原图扩充了一圈,这个骚操作叫做Padding,作用如上图中文字所述。
再平移的时候,还有个骚操作,“一次平移多个格子”,到达缩小图片的作用。
这个就是步幅,和接下来的要讲的池化有着类似的功效。
在一般卷积神经网络中,卷积层后面紧接着跟着一个池化层:
具体作用,请参考上图。
现在从整体的角度看一看:
上图中,虽然写了三个卷积核,但是其实是一个卷积核的三个通道(RGB),这里要十分注意,
卷积核的个数和特征种类是一一对应的,而不是图片的通道数。
从下图就能看出,三个通道的的特征最后要汇总,还是归为一个特征。这个卷积核的维度问题,我放到最后讲解。
池化之后得到的是一个较小特征矩阵,在这个矩阵中包含的是一个特征的所有数据,为了后续计算的方便,会进行一个扁平化的处理:
上图中池化后的矩阵为13*13=169,扁平化之后的一条数据就169个数据。
因为,上图中只有一个卷积核,所以只有一种特征,那如果有两种特征,扁平化因该看到的是这种效果:
1 X作图片为输入,看成一个三维的数据。Ci表示通道数(如:RGB),这个和卷积核的Ci是必须相等的。后面两个是图片的宽和高.
2 W就是卷积核它一个是四维,C0表示的是特征的个数,也是卷积核的个数,Ci上面说了是通道数。后面两个是图片的宽和高。
3 Y就是特征采集部分的输出,你会发现Ci不见了,那是因为不管你图像是几个通道,最终都会相加进行特征汇总,而变成一维。而C0就是特征种类和W的第一个维度相同。后面两个是图片的宽和高。
下面就看一个两种特征的情况(两个卷积核的例子):
W0 和W1就分别是两个卷积核(图种,把卷积核的偏置项b也画出来了),最终就得到了两种特征输出。
最后从第一个商用的神经网络卷积模型来整体看一看:
图中蓝色线左侧,为特征提取部分,包含了卷积和池化,右边就是全连接层,进行分类。
参考资料中的视频都是非常经典的(第二个可以不看),可以反复观看。
参考资料:
【视频课件资料见置顶评论】深度学习入门必学丨神经网络基础丨卷积神经网络丨循环神经网络_哔哩哔哩_bilibili
卷积究竟卷了啥?——17分钟了解什么是卷积_哔哩哔哩_bilibili
从“卷积”、到“图像卷积操作”、再到“卷积神经网络”,“卷积”意义的3次改变_哔哩哔哩_bilibili
【数之道 31】使用Excel深度剖析卷积神经网络模型,12分钟理解全部知识点_哔哩哔哩_bilibili