欢迎光临 x-algo
关注算法在工业界应用
Hi, 这是一个关注大数据算法在工业界应用的网站

AlexNet介绍

这篇文章是对论文imagenet-classification-with-deep-convolutional-neural-networks的一篇个人笔记。

由于CNN特殊的结构,相比于全连接的网络CNN有更少的参数,所以更加容易训练;并且,在理论上也不会比全连接的网络效果上差别太多。

AlexNet有五个卷积层和三个全连接层 ,论文中发现去掉任何一个卷积层都会导致性能的下降。

图片的预处理

这里图片的预处理很简单:

  1. 找到图片宽高数值上比较小的一个,将其缩放为256,对另外一个边进行直接的剪裁。
  2. 另外一个修改图片的地方就是将图片的每一个像素都减去全局的均值。

网络结构

整个网络结构一共有8层(5层卷积+3层全连接),

ReLU激活单元缓解了sigmoid和tanh函数的梯度消失的问题,训练速度快了很多。

多GPU训练

现在应该不用考虑这个问题了,当时条件比较差,需要精心计算、设计网络结构,现在直接分布式训练整个结构就可以了。值得一说的是结构中5个卷积只有第三个卷积会运行在不同的GPU,其余是在相同的GPU训练,3个全连接在两个GPU中都有。

 

局部响应归一化

首先,要明白,作用的位置是ReLU之后,几年后Googlenet提出了更加强大的BN(Batch Normalization)

具体公式为:

QQ20170103-0

 

Overlapping Pooling

和普通的Pooling相比,就是步长小于kernel的宽度,带来两个好处:

  1. 不容易过拟合
  2. 效果变好了

整体结构说明

QQ20170103-1

避免过拟合

通过构造更多的训练数据,例如通过对同一个图片稍微对原图进行一些不大的变换,从而生成一张新的图;这种变化可以发生在CPU中,这个时候GPU正在进行上一个batch的训练,所以生成新的样本对整个的训练耗费的时间没有变化。

  1. 通过对原始图的裁剪(四个角+中心+翻转=10种),生成训练数据,然后训练。在应用的时候,分别计算出来10张图(四个角+中心+翻转=10种)的sofmax值,等权重相加然后输出即可。
  2. 通过进行PCA变换,这里作者假设图片的颜色对识别物体是没有用处的。

官方实现

https://github.com/akrizhevsky/cuda-convnet2

未经允许不得转载:大数据算法 » AlexNet介绍

分享到:更多 ()

评论 抢沙发

*

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

关注大数据算法在工业界应用

本站的GitHub关于本站