AlexNet学习笔记

AlexNet

概述

AlexNet是由2012年ImageNet竞赛参赛者Hinton和他的学生Alex Krizhevsky设计的。

创新点
  • 非线性激活函数ReLU
    • 选取了非线性非饱和的relu函数,ReLU函数的表达式为F(x)=max(0,z)。若输入小于0,那么输出为0;若输入大于0,那么输出等于输入。由于导数始终是1,会使得计算量有所减少,ReLU 函数的收敛速度要比sigmoid 函数和 tanh函数快。
      在这里插入图片描述
  • 局部响应归一化(LRN)
    • 对局部神经元的活动创建竞争机制
    • 响应比较大的值变得相对大
    • 抑制其他反馈较小的神经元
    • 增强模型的泛化能力
  • 提出dropout
    • 使用Dropout随机忽略一部分神经元,解决过拟合的问题
  • 多GPU训练
    • 在双gpu上运行,每个gpu负责一半网络的运算
  • 数据增强
    • 使用了数据增强后,减轻过拟合,提升泛化能力
    • 随机从256256的原始图像中截取224224大小的区域(以及水平翻转的镜像),相当于增强了(256-224)*(256-224)*2=2048倍的数据量
  • 加入动量的小批量梯度下降算法加速训练过程的收敛

Alexnet网络结构

Alexnet模型由5个卷积层和3个池化Pooling 层 ,每个卷积层都包含激活函数ReLU、池化和LRN处理,其中还有3个全连接层构成。AlexNet 跟 LeNet 结构类似,但使⽤了更多的卷积层和更⼤的参数空间来拟合⼤规模数据集 ImageNet。
在这里插入图片描述
在这里插入图片描述

Layer1卷积层
  • 输入是图像的 tensor ,然后经过卷积核大小为 ,步长为 4 卷积核数量为 96
  • 计算经过卷积后输出特征响应图大小 (227-11)/(4+1)=55,所以最终输出 55×55×96的特征响应图
  • 该层卷积核参数量(11×11×3+1)×96
  • 特征图每个元素经过 ReLU 函数操作后输出
  • 池化层输出尺寸(55-3)/(2+1)=27
  • 经过一个卷积核大小为 3×3步长为 2 的池化层后特征图大小减半27×27×96输出 tensor 深度与卷积核个数相同
Layer2卷积层
  • 输入为 27×27×96
  • 卷积 (27-5+2×2)/(1+1)=27,这一层做了填充所以在做完卷积后特征图大小不会改变,这一层卷积相当看到看到50×50 视野
  • 经过池化层 (27-3)/(2+1)=13 ,那么最后经过这一层后输出为 13×13×256 tensor
Layer3-Layer5卷积层
  • 输入的数据为1313256
  • 第三层每组数据都被尺寸为 33256的卷积核进行卷积运算,步长为1,加上ReLU,得到两组1313256的像素层
  • 第四层经过padding=1填充后,每组数据都被尺寸大小为 33192的卷积核卷积运算,步长为1,加上ReLU,输出两组1313192的像素层
  • 第五层经过padding=1填充后,每组数据都被尺寸大小为 33128的卷积核进行卷积运算,步长为1,加上ReLU,输出两组1313128的像素层
  • 经池化尺寸为3×3,步长为2,最终生成6×6×128的特征图(两个GPU,共256个)。
全连接层
  • 输入(13-3)/(2+1)=6输出6×6×256 ,将卷积进行展平
    在这里插入图片描述

  • 第六层:4096 个神经元+ ReLU

  • 第七层:4096个神经元 + ReLU

  • 第八层:1000 个神经元,最后一层为softmax为1000类的概率值.

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>