1. 2012年 和他的学生推出了AlexNet 。在当年的ImageNet 图像分类竞赛中,AlexeNet 以远超第二名的成绩夺冠,使得深度学习重回历史舞台,具有重大历史意义。
      • 广义的卷积层:包含了卷积层、池化层、ReLULRN 层等。
      • 广义全连接层:包含了全连接层、ReLUDropout 层等。

    1. 网络结构如下表所示:

      • 输入层会将3@224x224 的三维图片预处理变成3@227x227 的三维图片。

      • 第二层广义卷积层、第四层广义卷积层、第五层广义卷积层都是分组卷积,仅采用本GPU 内的通道数据进行计算。

        第一层广义卷积层、第三层广义卷积层、第六层连接层、第七层连接层、第八层连接层执行的是全部通道数据的计算。

      • 第二层广义卷积层的卷积、第三层广义卷积层的卷积、第四层广义卷积层的卷积、第五层广义卷积层的卷积均采用same 填充。

        其它层的卷积,以及所有的池化都是valid 填充(即:不填充 0 )。

      • 第六层广义连接层的卷积之后,会将feature map 展平为长度为 4096 的一维向量。

    2.2 设计技巧

      • 使用ReLU 激活函数。
      • 使用dropout、数据集增强 、重叠池化等防止过拟合的方法。
      • 使用百万级的大数据集来训练。
      • 使用GPU训练,以及的LRN 使用。
      • 使用带动量的 mini batch 随机梯度下降来训练。

    2.2.1 数据集增强

    1. AlexNet 中使用的数据集增强手段:

      • 随机裁剪、随机水平翻转:原始图片的尺寸为256xx256,裁剪大小为224x224

        • 每一个epoch 中,对同一张图片进行随机性的裁剪,然后随机性的水平翻转。理论上相当于扩充了数据集 二、AlexNet - 图1 倍。

        • 在预测阶段不是随机裁剪,而是固定裁剪图片四个角、一个中心位置,再加上水平翻转,一共获得 10 张图片。

          用这10张图片的预测结果的均值作为原始图片的预测结果。

      • PCA 降噪:对RGB空间做PCA 变换来完成去噪功能。同时在特征值上放大一个随机性的因子倍数(单位1 加上一个 的高斯绕动),从而保证图像的多样性。

        • 每一个epoch 重新生成一个随机因子。
        • 该操作使得错误率下降1%
    2. AlexNet 的预测方法存在两个问题:

      • 裁剪窗口重叠,这会引起很多冗余的计算。

      改进的思路是:

      • 执行所有可能的裁剪方式,对所有裁剪后的图片进行预测。将所有预测结果取平均,即可得到原始测试图片的预测结果。
      • 减少裁剪窗口重叠部分的冗余计算。

      具体做法为:将全连接层用等效的卷积层替代,然后直接使用原始大小的测试图片进行预测。将输出的各位置处的概率值按每一类取平均(或者取最大),则得到原始测试图像的输出类别概率。

      下图中:上半图为 的预测方法;下半图为改进的预测方法。

      二、AlexNet - 图2

    2.2.2 局部响应规范化

    1. 局部响应规范层LRN:目地是为了进行一个横向抑制,使得不同的卷积核所获得的响应产生竞争。

      • LRN 层现在很少使用,因为效果不是很明显,而且增加了内存消耗和计算时间。
      • AlexNet 中,该策略贡献了1.2% 的贡献率。
    2. LRN 的思想:输出通道 在位置 二、AlexNet - 图3 处的输出会受到相邻通道在相同位置输出的影响。

      其中:二、AlexNet - 图4 为输出通道 在位置 二、AlexNet - 图5 处的原始值, 为归一化之后的值。二、AlexNet - 图6 为影响第 通道的通道数量(分别从左侧、右侧 二、AlexNet - 图7 个通道考虑)。 为超参数。

      一般考虑 二、AlexNet - 图8

    2.2.3 多GPU 训练

    1. AlexNet 使用两个GPU训练。网络结构图由上、下两部分组成:一个GPU运行图上方的通道数据,一个GPU 运行图下方的通道数据,两个GPU 只在特定的网络层通信。即:执行分组卷积。

      • 第二、四、五层卷积层的核只和同一个GPU 上的前一层的feature map 相连。
      • 第三层卷积层的核和前一层所有GPUfeature map 相连。
      • 全连接层中的神经元和前一层中的所有神经元相连。

    2.2.4 重叠池化

    1. 一般的池化是不重叠的,池化区域的大小与步长相同。Alexnet 中,池化是可重叠的,即:步长小于池化区域的大小。

      重叠池化可以缓解过拟合,该策略贡献了0.4% 的错误率。

    2. 为什么重叠池化会减少过拟合,很难用数学甚至直观上的观点来解答。一个稍微合理的解释是:重叠池化会带来更多的特征,这些特征很可能会有利于提高模型的泛化能力。

    2.2.5 优化算法

    1. AlexNet 使用了带动量的mini-batch 随机梯度下降法。

    2. 标准的带动量的mini-batch 随机梯度下降法为:

      二、AlexNet - 图9

      而论文中,作者使用了修正:

      • 其中 二、AlexNet - 图10 , ,二、AlexNet - 图11 为学习率。