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

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

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结构图


image.png

1.conv表示卷积层

2.FC表示全连接层

3.conv3表示卷积层使用3x3 filters

4.conv3-64表示 深度64

5.maxpool表示最大池化


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

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

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


目录
相关文章
|
机器学习/深度学习 资源调度 算法
CNN 基本部件-常用激活函数
CNN 基本部件-常用激活函数
397 0
|
7月前
|
机器学习/深度学习 存储 自然语言处理
一文带你了解【深度学习】中CNN、RNN、LSTM、DBN等神经网络(图文解释 包括各种激活函数)
一文带你了解【深度学习】中CNN、RNN、LSTM、DBN等神经网络(图文解释 包括各种激活函数)
303 0
|
机器学习/深度学习 算法 数据挖掘
手撕 CNN 经典网络之 AlexNet(理论篇)
大家好,我是红色石头! 第一个典型的CNN是LeNet5网络,而第一个大放异彩的CNN却是AlexNet。2012年在全球知名的图像识别竞赛 ILSVRC 中,AlexNet 横空出世,直接将错误率降低了近 10 个百分点,这是之前所有机器学习模型无法做到的。
287 0
|
机器学习/深度学习 人工智能 资源调度
深度学习入门基础CNN系列——批归一化(Batch Normalization)和丢弃法(dropout)
批归一化方法(Batch Normalization,BatchNorm)是由Ioffe和Szegedy于2015年提出的,已被广泛应用在深度学习中,其目的是对神经网络中间层的输出进行标准化处理,使得中间层的输出更加稳定。丢弃法(Dropout)是深度学习中一种常用的抑制过拟合的方法,其做法是在神经网络学习过程中,随机删除一部分神经元。训练时,随机选出一部分神经元,将其输出设置为0,这些神经元将不对外传递信号。
611 1
深度学习入门基础CNN系列——批归一化(Batch Normalization)和丢弃法(dropout)
|
数据采集 机器学习/深度学习 PyTorch
手撕 CNN 之 AlexNet(PyTorch 实战篇)
详细介绍了 AlexNet 的网络结构,今天我们将使用 PyTorch 来复现AlexNet网络,并用AlexNet模型来解决一个经典的Kaggle图像识别比赛问题。
198 0
|
机器学习/深度学习
深度学习入门基础CNN系列——池化(Pooling)和Sigmoid、ReLU激活函数
池化是使用某一位置的相邻输出的总体统计特征代替网络在该位置的输出,其好处是当输入数据做出少量平移时,经过池化函数后的大多数输出还能保持不变。比如:当识别一张图像是否是人脸时,我们需要知道人脸左边有一只眼睛,右边也有一只眼睛,而不需要知道眼睛的精确位置,这时候通过池化某一片区域的像素点来得到总体统计特征会显得很有用。由于池化之后特征图会变得更小,如果后面连接的是全连接层,能有效的减小神经元的个数,节省存储空间并提高计算效率。
488 1
深度学习入门基础CNN系列——池化(Pooling)和Sigmoid、ReLU激活函数
|
机器学习/深度学习 定位技术
DNN、CNN和RNN的12种主要dropout方法的数学和视觉解释(三)
DNN、CNN和RNN的12种主要dropout方法的数学和视觉解释(三)
335 2
DNN、CNN和RNN的12种主要dropout方法的数学和视觉解释(三)
|
机器学习/深度学习
DNN、CNN和RNN的12种主要dropout方法的数学和视觉解释(一)
DNN、CNN和RNN的12种主要dropout方法的数学和视觉解释(一)
243 1
DNN、CNN和RNN的12种主要dropout方法的数学和视觉解释(一)
|
机器学习/深度学习 PyTorch TensorFlow
迁移学习篇之如何迁移经典CNN网络-附迁移学习Alexnet,VGG,Googlenet,Resnet详细代码注释和方法-pytorch
迁移学习篇之如何迁移经典CNN网络-附迁移学习Alexnet,VGG,Googlenet,Resnet详细代码注释和方法-pytorch
迁移学习篇之如何迁移经典CNN网络-附迁移学习Alexnet,VGG,Googlenet,Resnet详细代码注释和方法-pytorch
|
机器学习/深度学习
DNN、CNN和RNN的12种主要dropout方法的数学和视觉解释(二)
DNN、CNN和RNN的12种主要dropout方法的数学和视觉解释(二)
226 0
DNN、CNN和RNN的12种主要dropout方法的数学和视觉解释(二)

热门文章

最新文章