AlexNet总结

https://blog.csdn.net/Rasin_Wu/article/details/80017920html

https://blog.csdn.net/chaipp0607/article/details/72847422网络


AlexNet

AlexNet在2012年的ImageNet图像分类大赛中夺得第一名,将top-5错误率瞬间提高了百分之十以上。以后,CNN重回历史舞台。 首先看一下它的网络结构:dom

 

AlexNet网络结构这是论文中的给出的结构图,看起来很复杂,咱们简化一下。AlexNet网络结构这是吴恩达深度学习课程中给出的讲义(注意这里输入的是的{227* 227 * 3}格式,与论文中有所不一样,可是对网络结构没有影响)。ide

 

AlexNet的网络结构

  1. Conv_1: 卷积层,输入:{227 *227 *3},使用{96}{11 * 11 * 3}核卷积,步长为{4},卷积以后长宽为{\lfloor\frac{227-11}{4}\rfloor+1 = 55},因此输出格式为{55 * 55 * 96}函数

  2. Max-pooling:输入为{ 55 * 55 * 96},pool:{3 * 3 },步长为:2,因此pool以后长宽为:{\lfloor\frac{55 - 3}{2}\rfloor + 1 = 27},输出为:{27 * 27 * 96}性能

  3. Conv_2:卷积层,输入:{27 * 27 * 96},使用{256}{5 * 5 * 96},步长为{1},padding为same. Padding经常使用的有两种same,valid:学习

    • SAME padding:测试

      {outheight = \lceil\frac{float(inheight)}{float(strides[1])}\rceil}

      {outwidth =\lceil\frac{float(in_width)}{float(strides[2])}\rceil}

    • VALID padding:大数据

      {outheight = \lceil\frac{float(inheight - filterheight)}{ float(strides[1])}\rceil + 1} {outwidth = \lceil\frac{float(inwidth - filterwidth )}{float(strides[2])}\rceil + 1}

    因此此时Padding为左右两边均是{2}。输出结果:{27 * 27 *256}..net

  4. Max-pooling:输入为:{27 * 27 *256},pool为{3 * 3 },步长为{2},长度为:{\lfloor\frac{27 - 3}{2}\rfloor + 1 = 13},输出结果为:{13 * 13 * 256}

  5. Conv_3,Conv_4,Conv_5:输入输出均为{13 * 13 * 256},步长为{1},核为{3 * 3 * 256},Padding为Same。

  6. Max-pooling:输入{13 * 13 * 256},pool:{3 * 3},步长为{2}输出结果为{6 * 6 * 256},也就是{9216}个特征变量。

  7. FC:全链接层有两个隐藏层,从{9216 \Rightarrow 4096 \Rightarrow 4096 \Rightarrow_{softmax}   1000}

AlexNet高性能的解释

  1. 非线性激活函数:ReLU
  2. 防止过拟合的方法:Dropout,Data augmentation
  3. 大数据训练:百万级ImageNet图像数据
  4. 其余:GPU实现,LRN归一化层的使用

ReLU

优势:

  1. ReLU本质上是分段线性模型,前向计算很是简单,无需指数之类操做;
  2. ReLU的偏导也很简单,反向传播梯度,无需指数或者除法之类操做;
  3. ReLU不容易发生梯度发散问题,Tanh和Logistic激活函数在两端的时候导数容易趋近于零,多级连乘后梯度更加约等于0;
  4. ReLU关闭了右边,从而会使得不少的隐层输出为0,即网络变得稀疏,起到了相似L1的正则化做用,能够在必定程度上缓解过拟合。

缺点:

左边所有关了很容易致使某些隐藏节点永无翻身之日,因此后来又出现pReLU、random ReLU等改进,并且ReLU会很容易改变数据的分布,所以ReLU后加Batch Normalization也是经常使用的改进的方法。

Data Augmentation

  1. 从原始图像(256,256)中,随机的crop出一些图像(224,224)。【平移变换,crop】
  2. 水平翻转图像。【反射变换,flip】
  3. 给图像增长一些随机的光照。【光照、彩色变换,color jittering】

AlexNet 训练的时候,在data augmentation上的处理:

  1. 随机crop。训练时候,对于256*256的图片进行随机crop到224*224,而后容许水平翻转,那么至关与将样本倍增到{((256-224)^2)*2=2048}
  2. 测试时候,对左上、右上、左下、右下、中间作了5次crop,而后翻转,共10个crop,以后对结果求平均。做者说,不作随机crop,大网络基本都过拟合(under substantial overfitting)。
  3. 对RGB空间作PCA,而后对主成分作一个{(0, 0.1)}的高斯扰动。结果让错误率又降低了1%。

Dropout

结合多个训练模型能够减小测试偏差,可是在神经网络中,训练每一个模型都须要大量的时间,代价昂贵。Dropout经过在隐藏层中以rate几率随机将部分神经元输出设置为0,这些神经元既不参于前向传播,也不参与反向传播。因此每次提出一个输入,该神经网络就尝试一个不一样的结构,可是全部这些结构之间共享权重。由于神经元不能依赖于其余特定神经元而存在,因此这种技术下降了神经元复杂的互适应关系。在测试时只须要除以{\frac{1}{1-rate}}

Local Response Normalization

 

LRN局部响应归一化原理是仿造生物学上活跃的神经元对相邻神经元的抑制现象(侧抑制)。

 

本质上,这个层也是为了防止激活函数的饱和的。

  1. {n=5} 是神经元的影响范围。
  2. {k=2,\alpha=10^{-4},\beta=0.75}是超参数。

参考资料:

 

 


 

参考文章:https://www.cnblogs.com/gongxijun/p/6027747.htmlhttps://blog.csdn.net/hjimce/article/details/50413257https://blog.csdn.net/taoyanqi8932/article/details/71081390--------------------- 做者:Rasin_Wu 来源:CSDN 原文:https://blog.csdn.net/Rasin_Wu/article/details/80017920 版权声明:本文为博主原创文章,转载请附上博文连接!

相关文章
相关标签/搜索