DeepLearning 笔记(一) ImageNet Classification with Deep Convolutional Neural Networks


1. ReLU

ReLU(Rectified Linear Units)其实就是普通神经网络中的激活函数,其形式如:,它是不饱和线性函数。 
最原始的神经网络输出函数是sigmoid: 或者 tanh:,它们是饱和线性函数。

究竟啥是饱和非线性函数呢?可以分成两部分来理解。饱和其实就是看函数自变量x很大的时候其函数值如果变动很小,那么就称其为饱和。而非线性就无需多讲。

这些函数的缺点之一是计算所耗时间比较长,在CIFAR-10数据集上,训练到25%的错误率,ReLU的速度是tanh的6倍。还有一个缺点是对于该层输入的数据最好是要做归一化,否则当逐层累积后输入数据可能会变得很大,导致激励函数的输出值变动不大,非线性的性质被削弱。而ReLU则没有这种问题。

2. Multi-GPU

官方新版caffe已经支持多GPU训练,但是还没有试过,也没有读过源码,所以这部分先略过。

3. LRN

LRN(Local Response Normalization)层是用来做归一化的。此片论文的作者发现,虽然ReLU层对于很大的输入x,仍然可以有效的学习,但是他们发现即使这样,对数据进行归一化对于学习来说还是有帮助的。PS:最近读的一篇paper说这个层没什么卵用,具体在以后的笔记中介绍啦。

表示在(x,y)这个位置上,以kernel i来计算后,经过的激励后的输出。经过LRN层后,作为下一层输入的数据变为: 


其中N是该层的feature map总数,n表示取该feature map为中间的左右各n/2个feature map来求均值。论文中使用的参数是: 。每一层ReLU后面都接一层LRN。

论文中提到使用LRN来训练他们的网络,在imageNet上top-1和top-5的错误率分别下降了1.4%,1.2%

4. Overlapping Pooling

Pooling层一般用于降维,将一个kxk的区域内取平均或取最大值,作为这一个小区域内的特征,传递到下一层。传统的Pooling层是不重叠的,而本论文提出使Pooling层重叠可以降低错误率,而且对防止过拟合有一定的效果。

个人理解,使Pooling层重叠,可以减少信息的损失,所以错误率会下降。但是对防止过拟合的效果,文章也只是说slightly,目测意义不大。

5. Reducing Overfiltering

过拟合一直是DeepLearning的大敌,它会导致训练集的error rate非常小,而测试集的error rate大部分时候很大。克服过拟合本文提到了两个方法:

<1>数据扩增

简而言之就是对现有数据进行变换,使得总数据量得到提升。可以对图片进行集合变换,如平移,水平翻转等,论文中把原始图像缩放到256X256,然后分别取四个corner以及中间的224X224大小的patch,以及其flip后的patch来训练。论文还提到了对图片的RGB通道进行强度改变。即在训练集的RGB通道上做PCA,但是不降维,只取特征向量和特征值,对训练集上每张图片的每个像素加上值: 


其中 分别表示特征向量和特征值, 表示高斯随机变量(均值为0,方差为0.1).

<2>Dropout

dropout层一般用在FC层之后,每次forward的时候FC之前层的每个神经元会以一定的概率不参与forward,而backward的时候这些单元也不参与。这种方式使得网络强制以部分神经元来表示当前的图片,很大限度上降低过拟合。但是这样一定程度上会延长训练的时间,因为随机性不只是会打乱过拟合的过程,也会打乱正常拟合的过程。 
在test的时候,不使用dropout,使所有神经元参与运算,给他们的结果乘以0.5来作为输出值。

其实,最后不乘0.5也是可以的。如果在分类的时候使用的不是原来的softmax,那么只要特征之间可以区分就行了,乘不同的系数只是放大或者缩小了这种差别。

6. weight decay


其中,是最后的结果,是增量,是学习率,0.0005是weight decay的值,0.9是momentum的系数。 
weight decay一般是作为正则化项来避免过拟合的,但是论文说这里的weight decay可以减少训练错误率,还没有想到是为啥,欢迎大神指点。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值