zoukankan      html  css  js  c++  java
  • AlexNet

    AlexNet

    paper: 《ImageNet Classification with Deep Convolutional Neural Networks》

    亮点

    • 使用``ReLU`激活函数
    • 使用LRN局部响应归一化
    • 使用重叠的池化操作
    • 使用Dropout减少过拟合
    • ImageNet LSVRC-2010比赛上达到top-1 errors rate 37.5%; top-5 errors rate 17.0%。

    网络结构

    ReLU

    相比于传统的(tanh(x))(frac{1}{1+e^{-x}})激活函数,ReLU缓解了梯度消失的问题,训练速度也更快。

    ReLU(f(x) = x, (x>0); f(x)=0,(other))

    LRN(Local Response Normalization)

    LRN

    (a^i_{x,y})是经过ReLU后的值,Nkernel的数量,(alpha、eta、k、n)均为超参数。公式的含义为将相邻的nkernel的对应位置的值进行计算,起到局部抑制的作用(有人说这并没有什么用)。

    Overlapping Pooling

    传统的池化操作类似于按照网格一个个处理,相邻的网格彼此不重叠。本文中的池化操作网格部分有重叠。

    完整的网络结构

    这个部分论文中对细节说的并不是很清楚(padding等信息)

    完整的网络结构

    接下来逐层说明具体的网络结构:

    input: [3, 224, 224]

    ``conv1`:

    • kernels: 96(分成了图中上下两个部分,在两块GPU上训练的。)
    • kernel_size: 11
    • padding: [1, 2]
    • stride: 4
    • output: [96, 55, 55]

    ``LRN`

    Maxpooling1:

    • kernel_size: 3
    • padding: 0
    • stride: 2
    • output: [96, 27, 27]

    ``conv2`:

    • kernels: 256
    • kernel_size: 5
    • padding: [2, 2]
    • stride: 1
    • output: [256, 27, 27]

    LRN

    Maxpooling:

    • kernel_size: 3
    • padding: 0
    • stride: 2
    • output: [256, 13, 13]

    conv3:

    • kernels: 384
    • kernel_size: 3
    • padding: [1, 1]
    • stride: 1
    • output: [384, 13, 13]
    • 连接上一层的两个部分

    conv4

    • kernels: 384
    • kernel_size: 3
    • padding: [1, 1]
    • stride: 1
    • output: [384, 13, 13]

    conv5

    • kernels: 256
    • kernel_size: 3
    • padding: [1, 1]
    • stride: 1
    • output: [256, 13, 13]

    Maxpooling:

    • kernel_size: 3
    • padding: 0
    • stride: 2
    • output: [256, 6, 6]

    全连接层都是会连接上一层的所有kernel,最后一层全连接层的大小取决于分类的数量,前两层全连接网络使用了Dropout操作。

    减少过拟合

    数据增强

    随机裁剪224*224大小的图像块,并做水平映射。

    修改RGB通道的强度,通过主成分分析在三个通道上加一个数。

    Dropout

    随机使50%的神经元失活,这样就得到了很多不同结构的网络,减少了过拟合。

    实验

    数据集ImageNet LSVRC-2010

    • 15,000,000张图片
    • 22,000个类别

    设备:GTX 580 3GB GPUs*2

    训练时间:5~6天

    预处理:下采样到256*256。对于长方形的图片,将短边采样到256,然后沿中心裁剪256 * 256部分的图片。训练集中的图片减去对应图片平均像素值。

    优化器:SGD,batch = 128,momentum =0.9,weight decay = 0.0005,lr = 0.01

    每层的权重通过高斯分布随机初始化,2、4、5和全连接层的bias初始化为1,其余部分bias初始化为0.

  • 相关阅读:
    记一次省赛总结
    护网杯一道密码学的感想
    配置phpstudy+phpstorm+xdebug环境
    python 模板注入
    hash扩展攻击本地实验
    kali rolling更新源之gpg和dirmngr问题
    web信息泄露注意事项
    ctf常见php弱类型分析
    文件上传小结
    ctf变量覆盖漏洞
  • 原文地址:https://www.cnblogs.com/xiaowk/p/14602599.html
Copyright © 2011-2022 走看看