AlexNet论文阅读总结

看了两篇最新的较为复杂的论文,再来看AlexNet打打基础,感觉像是喝了好多美酒回来再品清茶,有一种简简单单中窥见朴素的智慧之感,看完了觉得很舒心,这样的论文我能再看一打哈哈哈哈

论文的精华部分主要集中在Section 4,其次是Section 5。下面开始进入正题:

一、Section 4部分中提到的模型亮点和值得借鉴的特征有:

1、ReLu —— 只向小于0的输出值下手,大于0的值保持不变,因此是non-saturating的。

区别于传统的tanh和sigmoid非线性函数,ReLu这种非线性方式不对所有神经元都执行非线性操作。具体的说,ReLu只将小于0的神经元调整为0,其它的神经元值都维持不变。这种方式有如下优点:

a)    正向传播和反向传播时,计算速度非常快。不像tanh或者sigmoid函数一样,需要很多的乘法。

b)    相对于tanh和sigmoid非线性函数来说,ReLu的收敛速度非常快。这是做实验得出来的结论。如下图,其中黑线是使用Relu时的收敛过程,而虚线是使用tanh时的收敛过程。

c)    在反向传播时,不容易出现梯度消失的情况。【这一条参考博文:https://blog.csdn.net/qq_35554139/article/details/94205786,其中还讲了非线性函数为什么可以采用多种形式,有待研究】

2、多GPU同时训练——设计合理的模型,利用多GPU进行计算。

由于现在GPU可以互相直接访问内存空间,因此利用多GPU计算可以提高并行计算效率。

当模型很大的时候,一个GPU可能放不下一个完整的模型,此时将模型拆分到多个GPU中去,既提高计算速度,也削弱了GPU对模型大小的限制。

不过我觉得这种多GPU分布计算的代码,对编程能力要求会很高。现在的我还是没法完全理解的。

3、Local response normalization (局部反应正则化??) ——对元素进行横向压制以增强泛化能力。

不知道理解成Batch normalization的变种可不可以(原谅我菜,第一个想到的就是BN了),虽然LRN不需要计算样本平均值和协方差。

作者想用LRN达到 横向压制(Lateral inhibition) 的作用,通过四个超参数 k, alph, beta, n,来对每个神经元输出进行宽度为n的处理和计算。貌似是可以实现generalization,为什么能做到我也不是很理解。公式如下:

4、Overlapping pooling —— 就是现如今的池化层。

跟卷积很像,就是函数变了变。作者这里把s和z的关系讲的更清楚。s是每个池化区域的中间元素间隔的距离。z \times  z是池化区域的面积。当 s == z,即间隔距离就是边长的时候,任意两个池化区域是没有交集的。当 s < z的时候,池化区域之间就有overlap的地方了。

二、防过拟合的方法

1、增加数据——两种方法,一种是增加图像的总张数,一种是增加每张图像的输入成分(即维度)。

a)  增加图像总张数:对每张图像,取224 x 224的区域作为新的输入图像。对每张224 x 224的图像,进行水平reflection,作为新的输入图像。

b)  增加图像输入维度:主成分分析法PCA,增加变量。

2、dropout——每个输出神经元有0.5的概率输出为0,使得每次训练的都是不同的模型,然而这些模型都共享参数。

具体有待学习Hinton大神的论文:

《Improving neural networks by preventing co-adaptation of feature detectors》
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值