ImageNet Classification with Deep Convolutional Neural Networks(Alexnet)


ImageNet Classification with Deep Convolutional Neural Networks(Alexnet)

1.创新的地方

(1)使用ReLu函数作为CNN的激活函数

(2)使用dropout防止过拟合

(3)使用重叠最大池化

(4)提出了LRN层

2.摘要

(1)提出了一个深度卷积网络,在ImageNet LSVRC2010,top1和top5错误分别是37.5%、17.0%远远好于之前的表现

(2)神经网络有6000万个参数,650000神经元,5个卷积层(某些卷积层后面有池化层)和三个全连接层

(3)为减少全连接层的过拟合,使用了一个dropout的正则化方法

3.图片预处理

(1)大小归一化
将图像进行下采样到固定的256×256分辨率,给定一个矩形图像,首先缩放图像短边长度为256,然后从结果图像中裁剪中心的256×256大小的图像块
(2)减去像素平均值
所有图片的每个像素值都减去所有训练集图片的平均值

3.架构

3.1ReLU非线性

  1. 训练速度比之前的sigmod和tanh快,只需要判断输入是否大于0
  2. 解决了之前激活函数的梯度消失问题(在正区间)

3.2局部响应归一化

提出了LRN层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。(ps,博客上都说他其实没什么用)

3.3重叠池化

在CNN中使用重叠的最大池化。此前CNN中普遍使用平均池化,AlexNet全部使用最大池化,避免平均池化的模糊化效果。并且AlexNet中提出让步长比池化核的尺寸小,这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。Alexnet设置s=2,z=3,这个方案分别降低了top-1 0.4%,top5 0.3%的错误率。且论文提到重叠池化的模型更难过拟合。

3.4整体架构

8个带权重的层,前5层是卷积层,剩下3层是全连接层。最后一层是1000维softmax输入

3.5减少过拟合

3.5.1.数据增强

方法一:水平翻转和图像变换(随机裁剪)

训练时:随机裁剪224224的图片和进行水平翻转,所以数据增大了(250-224)平方2=2048倍

在测试时,网络通过提取5个224x224块(四个边角块和一个中心块)以及它们的水平翻转(因此共十个块)做预测,然后网络的softmax层对这十个块做出的预测取均值。

方法二:PCA Jittering

3.5.2.dropout

训练时使用Dropout随机忽略一部分神经元,以避免模型过拟合。Dropout虽有单独的论文论述,但是AlexNet将其实用化,通过实践证实了它的效果。在AlexNet中主要是最后几个全连接层使用了Dropout。(也有论文,单独看下)
朴素思想:以0.5的概率让隐藏层的输出为0,失活的神经元不再进行前向传播且不参与反向传播

alexnet:前两个全连接层使用dropout,会减少过拟合,但会使训练迭代次数翻一倍

为什么dropout有效

  1. 组合思想
    隐式的模型集成(参考专知课程)
    在这里插入图片描述
  2. 正则思想
    下图,紫色点这个神经元,不愿意把赌注放给任意输入(或特征),因为他们随时可能被删除,不愿给任何一个输入加上太多权重,因此该单元通过这种方法积极的传播开来,并为四个输入增加一点权重,通过传播所有权重,dropout将产生收缩平方范数的效果(参考NG课程)
    在这里插入图片描述

4.学习细节

随机梯度下降来训练模型,batch size为128,动量是0.9(详见6.动量),权重衰减为0.0005

使用均值是0,标准差是0.01的高斯分布对每一层的权重进行初始化。2,4,5卷积层和全连接层偏置初始化为1,其余层偏置初始化为0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值