美文网首页
AlexNet 论文阅读总结

AlexNet 论文阅读总结

作者: 不要瞎想 | 来源:发表于2019-12-11 13:18 被阅读0次

        看了两篇最新的较为复杂的论文,再来看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 \times 224的区域作为新的输入图像。对每张224\times 224的图像,进行水平reflection,作为新的输入图像。

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

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

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

        《Improving neural networks by preventing co-adaptation of feature detectors》

    相关文章

      网友评论

          本文标题:AlexNet 论文阅读总结

          本文链接:https://www.haomeiwen.com/subject/xqsogctx.html