AlexNet相比传统的CNN(比如LeNet)有哪些重要改动呢:Data Augmentation,Dropout, ReLU激活函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AlexNet相比传统的CNN(比如LeNet)有哪些重要改动呢:Data Augmentation,Dropout, ReLU激活函数相关的知识,希望对你有一定的参考价值。

## AlexNet相比传统的CNN(比如LeNet)有哪些重要改动呢:


AlexNet相比传统的CNN(比如LeNet)有哪些重要改动呢:

(1) Data Augmentation

       数据增强,这个参考李飞飞老师的cs231课程是最好了。常用的数据增强方法有:

  • 水平翻转
  • 随机裁剪、平移变换
  • 颜色、光照变换

(2) Dropout

       Dropout方法和数据增强一样,都是防止过拟合的。Dropout应该算是AlexNet中一个很大的创新,以至于Hinton在后来很长一段时间里的Talk都拿Dropout说事,后来还出来了一些变种,比如DropConnect等。

(3) ReLU激活函数

       用ReLU代替了传统的Tanh或者Logistic。好处有:

  1. ReLU本质上是分段线性模型, 前向计算非常简单,无需指数之类操作;
  2. ReLU的偏导也很简单,反向传播梯度,无需指数或者除法之类操作;
  3. ReLU不容易发生梯度发散问题, Tanh和Logistic激活函数在两端的时候导数容易趋近于零,多级连乘后梯度更加约等于0;
  4. ReLU关闭了右边,从而会使得很多的隐层输出为0,即网络变得稀疏,起到了类似L1的正则化作用,可以在一定程度上缓解过拟合。

       当然,ReLU也是有缺点的,比如左边全部关了很容易导致某些隐藏节点永无翻身之日,所以后来又出现pReLU、random ReLU等改进,而且ReLU会很容易改变数据的分布,因此ReLU后加Batch Normalization(批次规范化) 也是常用的改进的方法。

(4) Local Response Normalization

       Local Response Normalization要硬翻译的话是局部响应归一化,简称LRN,实际就是利用临近的数据做归一化。这个策略贡献了1.2%的Top-5错误率。

归一化是一种无量纲处理手段,使物理系统数值的绝对值变成某种相对值关系简化计算,缩小量值的有效办法

(5) Overlapping Pooling

       Overlapping的意思是有重叠,即Pooling的步长比Pooling Kernel的对应边要小。这个策略贡献了0.3%的Top-5错误率。

(6) 多GPU并行

       这个不多说,比一臂之力还大的洪荒之力。


VGG:视觉几何图形组

       VGG结构图

AlexNet相比传统的CNN(比如LeNet)有哪些重要改动呢:Data


 

1.conv表示卷积层
2.FC表示全连接层
3.conv3表示卷积层使用3x3 filters
4.conv3-64表示 深度64
5.maxpool表示最大池化

VGG16包含了16个隐藏层(13个卷积层和3个全连接层)
VGG19包含了19个隐藏层(16个卷积层和3个全连接层)

 VGG很好地继承了AlexNet的衣钵,一个字:深,两个字:更深。


以上是关于AlexNet相比传统的CNN(比如LeNet)有哪些重要改动呢:Data Augmentation,Dropout, ReLU激活函数的主要内容,如果未能解决你的问题,请参考以下文章

DNN结构演进History—CNN( 优化,LeNet, AlexNet )

CNN-2: AlexNet 卷积神经网络模型

深度学习方法:卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning

卷积神经网络-进化史从LeNet到AlexNet

(2012, AlexNet) ImageNet Classification with Deep Convolutional Neural Networks

CNN网络架构演进:从LeNet到DenseNet