目录
序言
通过上一节的学习初步认识到了计算机领域的神经网络。神经网络有大量的神经元组成,神经网络中通常由多层神经元,层与层之间使用全连接,也就是上一层所有的输出乘上权重然后累加到该神经元,最后使用激活函数将将线性转换成非线性。而同属于某一层的神经元之间不存在连接。
卷积神经网络
普通神经网络使用全连接层(图2),这样的结构复杂、参数多难以加深,便引入了卷积神经网络。提到卷积神经网络,首先需要介绍卷积的原理。现在我们不再像传统方式那样将输入经过多层神经元实现特征提取,而是使用一个名为卷积核(fliter)的结构对图像进行窗口滑动来提取特征。
下面详细介绍一下卷积核,我们使用一个5X5X3的卷积核在图像上从左至右,从上到下滑动,(图3)这5X5X3的卷积核实际上就是存放权重,在滑动的过程中会不断更新权重,生成某些物体或某些部位的模板,最后通过一个全连接层输出对于各类别的得分。(图4)
这些卷积核会不断地变多以学习到更多地特征,(图5)形成更准确地模板,前期地卷积核会学习到一些低级特征,比如边缘。卷积核学习到的特征会不断变得丰富。(图6)
通常卷积核的大小会用来控制卷积后输出的尺寸,通过下图可以看出,一个7X7的图像经过3X3的卷积核,输出为5X5。那如果步长为2呢,输出就为3X3。但当使用步长为3的时候是否无法正常滑动了,这时候就引入了填充。最终得到一个公式,输出 =(输入 + 填充X2 - 卷积核)/ 步长 + 1 。
有时候也可以用1X1来实现降低深度的功能,如下图。
关于池化和下采样,池化和下采样是为了让表征变得更小和更加可控。(图9)