论文研读(一)——ALEXnet

这是这个系列的第一篇

论文题目:

ImageNet Classification with Deep Convolutional Neural Networks

 

论文系列汇:

   1. VGG论文

 

论文中两个名词解释:

归一化:

数据变成(0,1)或者(1,1)之间的小数。主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速。归一化的缩放是“拍扁”统一到区间(仅由极值决定)

 

正则化:(normalization)

正则化是为了防止过拟合。主要是类似增加规则的方式,限制过拟合的。具体比较复杂建议自己搜索。

 

   AlexNet的新技术点(即大牛论文的contribution),如下:

 

(1)ReLU作为激活函数。

 

    ReLU为非饱和函数,论文中验证其效果在较深的网络超过了SIgmoid,成功解决了SIgmoid在网络较深时的梯度弥散问题。

 

(2)Dropout避免模型过拟合

 

  结合多个不同的训练模型是降低错误率的很好的办法,但是这对于一个需要训练很久的大型网络例如alexnet来说成本太大了,dropout就是一种非常巧妙的办法。它会以0.5的概率对每个隐层神经元的输出设为0。那些“失活的”的神经元不再进行前向传播并且不参与反向传播。这样提高了每个卷积层的独立识别能力,对其他卷积层的依赖下降。因此每次输入时,神经网络会采样一个不同的架构,但所有架构共享权重。

 

(3)重叠的最大池化

 

重叠池化:通过控制步长和size的关系使pooling的窗口有交叠,可以达到提高精度的效果,同时减少过拟合。之前的CNN中普遍使用平均池化,而Alexnet全部使用最大池化,避免平均池化的模糊化效果。

 

(4)提出LRN层(现在已经证明效果不佳)

 

(5)GPU加速(现在已经不常用了)

 

(6)数据增强

 

方法一: 随机从256*256的原始图像中截取224*224大小的区域(以及水平翻转的镜像),相当于增强了(256-224)*(256-224)*2=2048倍的数据量。从四个角和中央取图像块(有五块),加上水平翻转后的五块,(共十块)喂入模型中进行训练。(类似于一个增加训练集的操作)并对这10个图像块的softmax预测值做平均。使用了数据增强后,减轻过拟合,提升泛化能力。避免因为原始数据量的大小使得参数众多的CNN陷入过拟合中。

 

方法二:改变训练图像中的RGB通道的强度:遍历ImageNet训练集,在RGB像素值的集合上使用PCA使已知的主成分加倍,比例为对应特征值乘以一个随机变量。而随机变量服从均值为0,标准差为0.1的高斯分布

 

代码实现见:https://blog.csdn.net/u012679707/article/details/80793916

 

参考资料:

  1. https://www.jianshu.com/p/b22f2d8f8af0
  2. https://blog.csdn.net/temis_x/article/details/81459340
  3. https://blog.csdn.net/u012679707/article/details/80793916
  4. http://blog.itpub.net/31077337/viewspace-2158712/

 

猜你喜欢

转载自blog.csdn.net/qq_35307005/article/details/86663697