卷积层与模型参数
卷积层的参数
输入张量可能有多个通道,设为k,卷积核为 m ∗ m m*m m∗m大小,有n个卷积核。由于每一个通道需要拟合一个卷积核的 m 2 m^2 m2个参数,将所有通道卷积后深度上求和(只是一种方式),再加上一个偏置参数,则所需要估计的参数个数为 ( m ∗ m ∗ k + 1 ) ∗ n (m*m*k+1)*n (m∗m∗k+1)∗n.
LeNet-5
在原有的仅全连接的神经网络的基础上,加入卷积、池化,仍保有全连接、拉直等操作。LeNet-5于1998年杨立昆提出,是第一个成功应用于数字识别问题的卷积神经网络,在Mnist的手写数据集的判别问题上,可以达到大约99.2%的正确率。
AlexNet
较LeNet-5的创新点在于:
- 激活函数从sigmoid换成relu,证明在较深的神经网络中relu表现更好;
- 使用重叠的最大值池化,步长小于卷积核的大小;
- 全连接层随机dropout部分参数,避免过拟合;
- 提出Local Response Normalization,对每一层输出进行平滑处理,后被Batch Normalization所替代;
- 使用了数据增强Data Augumentation,增加了样本量;
- GPU等方面的处理。
数据生成器
ImageDataGenerator:使用数据生成器的根本原因在于,希望用频繁读入目录下的小批次的数据集来解决资源有限的问题。以时间换取空间。
VGG
使用小卷积核和增加卷积神经网络的深度提升识别效果,共有6种网络结构。
Batch Normalization
Batch,只使用训练集中的一小部分样本对模型权重进行一次反向传播的参数更新。
原因:数据是分批次读入的,可能会有很大的变异性,因此可以进行适当的标准化。
操作:
- 均值;(无参数需要估计)
- 方差;(无参数需要估计)
- 标准化(分母加了一个 ϵ \epsilon ϵ避免为0);
- 线性变化(需要估计截距项和系数参数):保证输出不会被激活函数全部变为0,或者是没有变化。
宽模型:卷积核个数多,较深的卷积通道。
深度模型:卷积核的个数减少,模型的层数增加。
Data Augumentation
原因:矩阵对图像的表达是不充分的,通过拉伸、旋转、放大缩小、水平平移、垂直平移及水平方向的翻转来增加样本量。
- shear_range
- rotation_range
- zoom_range
- width_shift_range
- height_shift_range
- horizontal_flip = True/False
注意:旋转和平移变换会造成一个现象,由于图像中的某些位置没有像素存在,计算机会将离得最近的真是图像的像素插值进去,因此图像的边缘会看到一些莫名其妙的、横着的、斜着的或者竖着的彩色条纹,这些是没有含义的,但是并不影响分类器精度的提高。