一、摘要
了解CNN必读的一篇论文,有些东西还是可以了解的。
二、结构
1、 Relu的好处: 1、在训练时间上,比tanh和sigmod快,而且BP的时候求导也很容易
2、因为是非饱和函数,所以基本不会出现梯度消失的情况
Relu只要控制好learing rate,可以说是完胜之前的激活函数,也因此可以帮助我们训练更深层次的网络。
现在对Relu的进一步增强还有研究,有兴趣可以了解。
2、GPU并行计算在当时是个很好思路,不过作者的trick就有点...虽然说是通过cross-validation得到的结论,但我觉得对以后的研究,意义不是很大
3、局部归一化应该也是一个trick,暂时没接触过..以后再看看
4、overlapping pooling也是在后来没怎么听说过的..
三、减少过拟合
1、数据增加
(1)图像变换
这是一个非常好,也非常常用且非常实用的方法...
原始图像为一个大图a,想把一短边缩小到256维得到b,然后在b的中心取256*256的正方形图片得到c,然后在c上随机提取224*224的小图片作为训练样本,然后在结合图像水平反转来增加样本达到数据增益。这种增益方法是样本增加了2048倍,允许我们运行更大的网络。
(2)调整RGB值
具体思路是:对三个channel分别做PCA分析,得到主成成分后,在相应的维度上做一些jittter,增加或减少一些服从高斯分布,标准差为0.1的随机变量,这样可以得到一些和原来相似且有意义的数据。
2、Dropout
这也是一个相当牛逼的技术,通过对神经元概率话的激活,既可以达到多个模型combine的效果(因为每次的结构都不同,但又共享参数),有不用花太多的时间去训练多个网络。
四、思考
有几个问题还是可以拎出来想想的。
1,两个GPU基本是一样的环境,但训练出来的卷积核却完全不同,why?
2.还是网络结构的问题,为什么这样就可以...
五、总结
说实话,看完这篇论文并没有学到太多,不是这篇文章不牛逼,而是太牛逼了,以至于后面大多数CNN方面的研究都用到了里面的理论,所以很多都有种似曾相识的感觉,但作为CNN的翻身之作,确实值得一读!