您的位置:首页 > 其它

ImageNet Classification with Deep Convolutional Neural Networks翻译总结

2016-08-31 09:31 549 查看
Alexnet总结笔记
论文:《ImageNet Classification with Deep Convolutional Neural Networks》

1 网络结构

网络使用了逻辑回归目标函数求得参数最优化,此网络结构如图1所示,一共有8层网络:5层卷积层、3层全连接层,还有最前面的是图像输入层。

1)  卷积层

一共有5层卷积层,由结构图可知,此结构用到了2个GPU并行计算部分的卷积层,第2、4、5卷积层是的输入是由上一层卷积层的一部分(同一个GPU上的数据)的输出传入的,而第3层卷积层的输入是由上一层卷积层的全部输入传入的。卷积层的第1、2、5层后面接了Max pooling层,其他的卷积层后面没有接池化层。

2)  全连接层

一共有3层全连接层,最后一个是1000类别分类的softmax分类器,前面两个全连接层是全部链接前面层的所有输出元素。



图1 网络结构
2 细节技术

1)  图像数据集
此网络结构要求训练和测试的图像大小是固定位256x256的RGB图像。

2)  激活函数ReLU
此网络中用的激活函数不是传统的激活函数(sigmoid、tanh),而是用的一种非线性的非饱和的ReLU函数(Rectified Linear Units)。在训练时间上,非饱和函数比饱和函数训练更快,而且这种非线性函数,不但保留了非线性的表达能力,而且由于其具有线性性质(正值部分),相比tanh和sigmoid函数在误差反向传递时,不会有由于非线性引起的梯度弥散形象(顶层误差较大,由于逐层递减误差传递,引起低层误差很小,导致深度网络地层权值更新量很小,导致深度网络局部最优)。ReLU的这些性质可以让我们训练更深的网络。

3)  局部响应归一化LRN
ReLU函数,不需要归一化来防止饱和现象,如果没有神经元产生一个正的激活值,学习就会在这个神经元发生;然而,作者发现局部归一化帮助泛化。归一化公式:



一般初始化参数k=2,n=5,和,这里的N是每一层的神经元的数量。

4)  重叠Pooling
这里的pooling区域为z*z=3*3,间隔距离为s=2.对比z=2,s=2的无重叠方式,提升0.4%的结果(感觉有点小);此外作者还发现使用重叠pooling,不容易过拟合。

5)  降低过拟合
5.1 数据增广
1、剪切图像;
2、改变图像的RGB通道的强度;
5.2 Dropout
Dropout是指在模型训练时随机让网络某些隐含层节点的权重不工作,不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了(有点抽象,具体实现看后面的实验部分)。

这里一般是取p=0.5的概率随机选取一般的节点参加训练。本网络中主要将其是应用在最后的全连接层。

6)  训练细节
这里训练模型是用了随机梯度下降法和minibatch相结合,minbatch取128。这里更新权重的公式如下:



这里D就是minibatch,是学习率,v是动量变量。这里是一开始初始化w是随机的满足服从均值为0,标准差为0.01的高斯分布。对于偏置初始化是在卷积层2、4、5层和全连接层都初始化为1,其他的层数初始化为0.对于学习率是在所有的层的值是一样大的,一开始初始化为0.01,每一次当验证错误率停止停止提高时,我们手动将学习率除以10,从开始到结束学习率减少三次。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐