LeNet-5

LeNet(LeNet-5,5代表有参数的层)由两个部分组成:

特征提取部分:由两个卷积层和两个平均池化层组成;全连接层:由三个全连接层组成。

模型单元结构:

一个卷积层、一个sigmoid激活函数,一个池化层

数据的传输:

卷积层输入为4维的数据 (B,C,W,H)

卷积层输出为4维的数据 (B,C,FW,FH)

全连接层的输入为2维数据 (B,L)

全连接层的输入为2维数据 (B,FL)

  1. 输入 28x28x1 灰度图
  2. 卷积核 5x5x1x6,填充 2,步幅1,输出为 28x28x6
  3. 2x2 池化核,步幅 2,输出为 14x14x6
  4. 卷积核 5x5x6x16,步幅1,输出为 10x10x16
  5. 2x2 池化核,步幅 2,输出为 5x5x16
  6. 全连接层,展平400个数据与120个神经元连接
  7. 全连接层,120个神经元与84个神经元连接
  8. 全连接层,84个神经元与10个输出神经元连接
    卷积增加通道数,池化缩小特征图,组合使用 sigmoid 激活函数

AlexNet

  1. 输入 227x227x3
  2. 卷积核 11x11x3x96,步幅 4,输出为 55x55x96 conv1
  3. 最大池化核 3x3,步幅 2,输出为 27x27x96
  4. 卷积核 5x5x96x256,步幅 1,填充 2,输出为 27x27x256 conv2
  5. 最大池化核 3x3,步幅 2,输出为 13x13x256
  6. 卷积核 3x3x256x384,步幅 1,填充 1,输出为 13x13x384 conv3
  7. 卷积核 3x3x384x384,步幅 1,填充 1,输出为 13x13x384 conv4
  8. 卷积核 3x3x384x256,步幅 1,填充 1,输出为 13x13x256 conv5
  9. 最大池化核 3x3,步幅 2,输出为 6x6x256
  10. 全连接层,展平 6x6x256 个属于与 4096个神经元连接
  11. 全连接层,4096个神经元与4096个神经元连接
  12. 全连接层 ,4096个神经元与1000个输出神经元连接

dropout

随机使得一些神经元失活

图像增强

通过对训练图像进行随机变换(如旋转、缩放、翻转、裁剪、色彩调整等)来增加训练数据的多样性,从而提升模型的泛化能力和鲁棒性。

PCA 增强

  1. RGB三通道进行 normalization 处理,均值 0,方差 1
  2. 展平 (H * W, 3) 的矩阵
  3. 计算协方差矩阵 (3,3)(协方差矩阵是一个描述各变量(如R、G、B通道)两两之间线性相关程度的方阵,其对角线元素为各变量的方差,非对角线元素为对应变量的协方差。协方差是衡量两个随机变量线性相关程度的统计量,其值为两变量与其各自均值偏差乘积的期望值。
  4. 对协方差矩阵特征分解,得到特征向量 (3,3) 和特征值 (3,1)
  5. 抖动系数矩阵 (3,1) 乘以特征值 (3,1) 内积,得到矩阵 (3,1) 转置为 (1,3) 与 特征向量 (3,3) 相乘得到矩阵 (3,1)
  6. 矩阵 (3,1) 加到 RGB 三个通道上

LRN正则化

局部归一化,使得其中比较大的值变得相对更大

设置超参数(

总结

  1. 使用 Relu 代替传统的 sigmoid 或 tanh 作为激活函数
  2. 使用 dropout 减少过拟合
  3. 使用重叠的最大池化(重叠即步长小于池化核大小)
  4. 使用了三种数据扩增技术
  5. 使用LRN正则化

VGG