AlexNet

​AlexNet CNN 架构赢得了 2012 年的 ImageNet ILSVRC 挑战赛:它达到了 17% 的 top-5 的错误率,而第二名错误率只有 26%! 它由 Alex Krizhevsky(因此而得名),Ilya Sutskever 和 Geoffrey Hinton 开发。 它与 LeNet-5 非常相似,只是更大更深,它是第一个将卷积层直接堆叠在一起,而不是在每个卷积层顶部堆叠一个池化层。 表 13-2 介绍了这种架构。

AlexNet - 图1

​为了减少过拟合,作者使用了前面章节中讨论的两种正则化技术:首先他们在训练期间将丢失率(dropout 率为 50%)应用于层 F8 和 F9 的输出。其次,他们通过随机对训练图像进行各种偏移,水平翻转和改变照明条件来进行数据增强。

​AlexNet 还在层 C1 和 C3 的 ReLU 步骤之后立即使用竞争标准化步骤,称为局部响应标准化(local response normalization)。 这种标准化形式使得在相同的位置的神经元被最强烈的激活但是在相邻的特征映射中抑制神经元(在生物神经元中观察到了这种竞争激活)。 这鼓励不同的特征映射特殊化,迫使它们分开,并让他们探索更广泛的特征,最终提升泛化能力。 公式 13-2 显示了如何应用 LRN。

AlexNet - 图2

  • AlexNet - 图3 是位于特征映射i的神经元的标准化输出,在某行u和列v(注意,在这个等式中我们只考虑位于这个行和列的神经元,所以uv没有显示)。
  • AlexNet - 图4 是在 ReLU 步骤之后,但在归一化之前的那个神经元的激活。
  • kαβr是超参数。 k称为偏置,r称为深度半径。
  • AlexNet - 图5 是特征映射的数量。

​例如,如果r = 2且神经元具有强激活,则将抑制位于其上下的特征映射中的神经元的激活。

​在 AlexNet 中,超参数设置如下:r = 2α= 0.00002β= 0.75k = 1。这个步骤可以使用 TensorFlow 的local_response_normalization()操作来实现。

​AlexNet 的一个名为 ZF Net 的变体由 Matthew Zeiler 和 Rob Fergus 开发,赢得了 2013 年 ILSVRC 的挑战。 它基本上是 AlexNet 的一些调整的超参数(特征映射的数量,内核大小,步幅等)。