写在前面:

作为CNN中的经典,对于刚开始入cv的小白来说,这是一篇必看的文章,以前我看AlexNet就简单地认为是卷卷积就完事了,实则不然。今天终于静下心来,好好地品了品这篇文章。

一、数据集

  • ImageNet数据集,我觉得有必要专门来看看这个数据集是怎么使用的。

二、网络架构

如果说网络的结构,那单单确实就是几次卷积,但是细品就会发现,这篇文章用到的trick是很值得我们学习的。

2.1 Relu

文章的第一个亮点,就是使用relu。至于为什么要这么做,还有**函数有什么好处等等问题,我在另一篇博客中已经提到过了。

2.2 多GPU并行化

我觉得这个问题不是出在cv上。对于目前来说许多网络训练时间一般都在一天左右,我们如何提高我们的并行性是一个值得关注的重点与难点,这个也需要我再另起一篇博客来谈谈。

2.3 LRN(局部响应归一化)

这个技巧,我也是需要再另起一篇文章做描述

2.4 最大值重叠池化

在这一部分中,有两个要点:

  • 没用之前的平均值池化,其目的是避免模糊性,而采用最大值池化
  • 将步长定为小于size,从而可以使得重复池化,这样可以获得丰富的特征

2.5 网络最终架构

读AlexNet有感
这个网络架构,说实话,这么看是真的感觉挺难的,但是5层卷积+3层全连接,其实不难,因为这是两个GPU一起训练的,所以会显得这个网络很难,那么简化版是这样:
读AlexNet有感

三、避免过拟合

alexNet最好的一点在于精度的把握,通过极深的网络从而达到精度,但是随之而来的问题就是过拟合,因此文章又给出了两种避免过拟合的方法。

3.1 数据增强

  • 可以对图像进行平移or反转
  • 对图像的RGB进行强度变换,从而引出了一个另外的东西叫PCA

3.2 Dropout

这个trick目前很多网络都在用,也是一个非常厉害的想法。总之就是,在网络中,将一些神经元隐藏,在传播过程中不起作用。

而且我个人觉得这个技术我也得再来一篇文章。

四、总结

作为深度学习的热潮之作,这篇文章无疑是顶的,这里不仅仅是网络,同时其他的技巧也一直被人们所使用,这是一篇超级好的文章,应该反复多读。

相关文章: