卷积神经网络
全连接神经网络的瓶颈
把图像拉成拉成一维的向量作为输入层;
隐层神经元的参数个数为前一层神经元个数+1;
在全连接神经网络中,当图像较大时,参数就会非常多,因此会出现过拟合和计算困难的情况,而且也不容易学习出有效的东西,此时卷积神经网络就出现了;
全连接神经网络对一些表示成向量形式特别是简洁的向量形式特别有效,比如适合处理小的图像,或则把一些处理过的数据获得的简洁结果作为输入;
卷积神经网络
卷积神经网络层次结构
卷积神经网络分为卷积层、激活层、池化层和全连接层;
卷积神经网络的工作流程
图像输入——>卷积核组——>获得结果——>全连接神经网络——>分类
基于卷积核组的图像表示
卷积神经网络的卷积核和纹理的原理基本一致;
如果特征响应图某一点较亮,说明原图像这一点存在该特征;
卷积网络中的卷积核
- 不仅具有宽和高,还具有深度,常写成如下形式: 宽度 x 高度 x 深度
- 卷积核参数不仅包括核中存储的权值,还包括一个偏置值
设计卷积核
只需要设计卷积核的W,H和卷积核个数,因为卷积核深度由前一层的卷积核个数决定;
卷积网络中的卷积操作
特征响应图中每个位置上的值反映了图像上对应位置是否存在卷积核所记录的基元结构信息;
浅层次的卷积核只是记录边缘,深层次的卷积核记录可能就是一个模板;
卷积步长
边界填充
特征响应图组尺寸计算
池化操作
池化的作用
对每一个特征响应图独立进行,降低特征响应图组中每个特 征响应图的宽度和高度,减少后续卷积层的参数的数量,降低计算资源耗 费,进而控制过拟合。
- 降低计算资源消耗;
- 扩大感受野,即卷积核变大,方差变大;
池化操作
对特征响应图某个区域进行池化就是在该区域上指定一个值来 代表整个区域。
常见的池化操作
- 最大池化——使用区域内的最大值来代表这个区域;
- 平均池化——采用区域内所有值的均值作为代表。
最大池化可以理解成这几个位置都表现出了某一特征,只是表现强度和位置不一样,把最大强度的选出来;
池化层的超参数
池化窗口和池化步长
池化示例
池化操作不用填充边;
卷积神经网络如何与全连接神经网络相连
- 用均值:把每一个特征响应图展成一个向量,即r1,r2….(r表示向量)
- 用均值:求每个特征响应图的均值,即r1,r2….(r表示均值)
损失函数&优化算法
- 损失函数:交叉熵损失
- 优化算法:SGD、带动量的SGD以及ADAM
图像增强
存在的问题
过拟合的原因是学习样本太少,导致无法训练出能够泛化到新数 据的模型。
数据增强
是从现有的训练样本中生成更多的训练数据,其方法是利用多种能 够生成可信图像的随机变换来增加样本。
数据增强的目标
模型在训练时不会两次查看完全相同的图像。这让模型能够 观察到数据的更多内容,从而具有更好的泛化能力。