通俗理解卷积神经网络原理+学习资料

文章有点长,但字数不多, 

学习卷积神经网络资料 https://www.bilibili.com/video/BV1AJ411Q72b?from=search&seid=2878038664318579685

大白话讲解卷积神经网络工作原理https://www.bilibili.com/video/BV1sb411P7pQ

通俗理解卷积神经网络原理+学习资料

卷积基本操作 :对图像做平滑,如下图,其结果中的每个值都来源于原对应位置和其周边6个元素与一个3X3矩阵【这也被称作核(Kernel, 3X3)】的乘积:

通俗理解卷积神经网络原理+学习资料

通俗理解卷积神经网络原理+学习资料
两个步长的情况

 

步长(stride)和边界(padding)

在整个图像范围内一次移动一个像素。我们可以把它定义成一个超参数(hyperparameter),从而来表示我们想让权值矩阵在图像内如何移动。如果权值矩阵一次移动一个像素,我们称其步长为 1。滑动的步长叫stride记为S。S越小,提取的特征越多,但是S一般不取1,主要考虑时间效率的问题。S也不能太大,否则会漏掉图像上的信息

由于filter的边长大于S,会造成每次移动滑窗后有交集部分,交集部分意味着多次提取特征,尤其表现在图像的中间区域提取次数较多,边缘部分提取次数较少,怎么办?

在输入图像四周填充 0 边界可以解决这个问题。我们也可以在高步长值的情况下在图像四周填加不只一层的 0 边界。

 

 

通俗理解卷积神经网络原理+学习资料通俗理解卷积神经网络原理+学习资料

卷积神经网络参数调节交互https://ezyang.github.io/convolution-visualizer/index.html

通俗理解卷积神经网络原理+学习资料

池化:有时图像太大,我们需要减少训练参数的数量,它被要求在随后的卷积层之间周期性地引进池化层。池化的唯一目的是减少图像的空间大小。池化在每一个纵深维度上独自完成,因此图像的纵深保持不变。池化层的最常见形式是最大池化

通俗理解卷积神经网络原理+学习资料 通俗理解卷积神经网络原理+学习资料

全连接层

卷积神经网络构成 卷积——**——卷积——**——池化——......——池化——全连接——分类或回归

通俗理解卷积神经网络原理+学习资料

输出维度

理解每个卷积层输入和输出的尺寸可能会有点难度。以下三点或许可以让你了解输出尺寸的问题。有三个超参数可以控制输出卷的大小。

 

1. 过滤器数量-输出卷的深度与过滤器的数量成正比。请记住该如何堆叠每个过滤器的输出以形成**映射。**图的深度等于过滤器的数量。

2. 步幅(Stride)-如果步幅是 1,那么我们处理图片的精细度就进入单像素级别了。更高的步幅意味着同时处理更多的像素,从而产生较小的输出量。

3. 零填充(zero padding)-这有助于我们保留输入图像的尺寸。如果添加了单零填充,则单步幅过滤器的运动会保持在原图尺寸。

 

我们可以应用一个简单的公式来计算输出尺寸。输出图像的空间尺寸可以计算为([W-F + 2P] / S)+1。在这里,W 是输入尺寸,F 是过滤器的尺寸,P 是填充数量,S 是步幅数字。假如我们有一张 32*32*3 的输入图像,我们使用 10 个尺寸为 3*3*3 的过滤器,单步幅和零填充。

 

那么 W=32,F=3,P=0,S=1。输出深度等于应用的滤波器的数量,即 10,输出尺寸大小为 ([32-3+0]/1)+1 = 30。因此输出尺寸是 30*30*10。



参考链接:https://www.zhihu.com/question/39022858/answer/203073911