深度学习笔记3——AlexNet

1、背景介绍

在2012年的ImageNet竞赛中,AlexNet获得了top-5测试的15.3%error rate, 获得第二名的方法error rate 是 26.2%

AlexNet有60 million个参数和65000个 神经元,五层卷积,三层全连接网络,最终的输出层是1000通道的softmax。

训练这种规模的网络要大量的计算能力,AlexNet利用了GPU提供的大量并行能力,利用两块GPU分配网络训练的工作,大大提高了运算效率。

近60年的发展趋势:
深度学习笔记3——AlexNet_第1张图片

2、与LeNet相较

更深更大的LeNet,主要改进:

  • 丢弃法(在隐藏全连接层后加入丢弃层)
  • 由Sigmoid——>ReLu,可减缓梯度消失
  • 由平均池化——>MaxPooling
  • 数据增强(随机截取、亮度调节、色温…)

计算机视觉方法的改进:
右侧为AlexNet
深度学习笔记3——AlexNet_第2张图片

3、AlexNet网络结构

AlexNet网络包含8个网络层,5个卷积层,3个全连接层,采用两个GPU进行训练,激活函数ReLu,池化方法为MaxPooling,数据参数大概为240MB。

网络结构示意图如下:

  • 在第2个C2卷积层和第3个C3卷积层,以及最后一个卷积层C5和全连接f6层之间,GPU能全部连接;
  • 其他层中,每一个神经元只能接受同一个GPU从上一层传来的数据。
    深度学习笔记3——AlexNet_第3张图片
    深度学习笔记3——AlexNet_第4张图片

输入图像:227x227x3,远大于MNIST和CIFAR的数据样本,一般越大的输入信息完整性越高。

Conv1卷积层

  • 使用11x11的卷积核
  • stride=4,输出96个通道。
  • 输出特征图55x55x96:55=(227-11)/4+1。

LRN层norm1

  • local_size=5
  • 输出:27x27x96

pool1池化层

  • 3x3的池化核
  • stride=2
  • 输出特征图27x27x96:27=(55-3)/2+1

Conv2卷积层

  • 使用5x5的卷积核
  • stride=1,pad=2,group=2,输出256个通道,pad=2保证输入输出尺寸一样。
  • 输出特征图27x27x256:27=(27-5 + 2*2)/1+1。

LRN层norm2

  • local_size=5
  • 输出:13x13x256

pool2池化层

  • 3x3的池化核
  • stride=2
  • 输出特征图13x13x256:13=(27-3)/2+1

Conv3卷积层

  • C2卷积层和C3卷积层,GPU能全部连接
  • 使用3x3的卷积核
  • stride=1,pad=1,输出384个通道。
  • 输出特征图13x13x384:13=(13-3 + 2*1)/1+1。

Conv4卷积层

  • 使用3x3的卷积核
  • stride=1,pad=1,输出384个通道。
  • 输出特征图13x13x384:13=(13-3 + 2*1)/1+1。

Conv5卷积层

  • 使用3x3的卷积核
  • stride=1,pad=1,输出256个通道。
  • 输出特征图13x13x256:13=(13-3 + 2*1)/1+1。

pool3池化层

  • 3x3的池化核
  • stride=2
  • 输出特征图6x6x256:6=(13-3)/2+1

f6全连接层

  • 卷积层C5和全连接f6层之间,GPU能全部连接
  • 全连接:(6x6x256)x4096
  • 输出:1x1x4096

dropout层dropout6

  • 输出:1x1x4096

f7全连接层

  • 输入:1x1x4096
  • 总参数量:4096x4096
  • 输出:1x1x4096

dropout层dropout7

  • 输出:1x1x4096

f8全连接层

  • 输入:1x1x4096
  • 总参数量:4096x1000
  • 输出:1000

4、LRN局部响应归一化

使用LNR:可以使得同一位置不需要太多的高激活函数,对局部神经元的活动创造竞争机制,抑制反馈较小的神经元,放大反应大的神经元,起到侧向抑制的作用,提高了泛化能力。
深度学习笔记3——AlexNet_第5张图片
比如将4个channel落在一起,每一个channel表示卷积核提取出的特征,进行归一化:
将某一个方块作为分子,将周围三个方块的平方和作为分母:
对第二个feature map的3进行LNR(Local Response Normalized)——>0.14=3/(3X3+3X3+2X2)
对第二三个feature map的2进行LNR(Local Response Normalized)——>0.12=2/(3X3+2X2+2X2)
深度学习笔记3——AlexNet_第6张图片

5、防止过拟合,数据增强

深度学习笔记3——AlexNet_第7张图片

  • 进行平移(随机裁剪)、水平翻转,数据扩充2048倍,对于256x256的正方形图用224x224的正方形进行裁剪,水平和竖直方向都可裁32次,水平翻转再扩充2倍,所以2048=32x32x2
  • 对rgb三通道的颜色和光照的变换,使用PCA主成分分析的方法

6、防止过拟合,Dropout

Dropout示意图

在训练每一步时,随机掐死一部分神经元,使得训练时,隐藏层的每个神经元都有一半的概率被掐死(让它的输出为0,阻断其的前向传播和反向传播)
深度学习笔记3——AlexNet_第8张图片

Dropout能防止过拟合的原因

  • 模型集成,p=0.5,意味着2的(共享权重潜在网络的次方),比如一个隐藏层有10个神经元,那么就是2的10次方
  • 记忆随机抹去
  • 减少神经元之间的联合依赖性
  • 有性繁殖:每个神经元都要随机与另一个神经元协同工作

参考视频连接:https://www.bilibili.com/video/BV1UQ4y1y7A3?from=search&seid=16150507404936429349&spm_id_from=333.337.0.0

你可能感兴趣的:(深度学习,人工智能,深度学习,卷积神经网络)