摘要
神经网络模型:
1)大小:6千万参数,65万个神经元,5个卷积层,3个全连接层。
2)训练方法:
1.使用不饱和神经元和高效的GPU
2.使用“dropout”正则化减少过拟合
3)训练效果:
错误率:15.3%
介绍
前面的模型不足:训练的数据集小,模型的能力也不支持大规模数据,泛化能力弱,即使易训练的CNN训练成本也高。
解决措施:用了高度优化的GPU和更好的特征减少训练时间,特征也提高了性能。用了有效的技术防止过拟合。
数据集处理
对图像缩放至固定的256*256的分辨率,使用原始的RGB值。
整体架构
1)使用非饱和非线性ReLU函数来提高梯度下降速度。
AlexNet将sigmoid激活函数改为更简单的ReLU激活函数。⼀⽅⾯,ReLU激活函数的计算更简单,它不需要如sigmoid激活函数那般复杂的求幂运算。另⼀⽅⾯,当使⽤不同的参数初始化⽅法时,ReLU激活函数使训练模型更加容易。当sigmoid激活函数的输出⾮常接近于0或1时,这些区域的梯度⼏乎为0,因此反向传播⽆法继续更新⼀些模型参数。相反,ReLU激活函数在正区间的梯度总是1。因此,如果模型参数没有正确初始化,sigmoid函数可能在正区间内得到⼏乎为0的梯度,从而使模型⽆法得到有效的训练。
2)跨GPU并行化提高训练速度
3)应用局部相应归一化来提高泛化能力
4)层叠池化提高泛化能力
在AlexNet的第一层,卷积窗口的形状是11*11。由于大多数ImageNet 中的图像的宽和高比MNIST图像的多10倍以上,因此需要一个更大的卷积窗口来捕获目标。第二层的卷积窗口形状被缩减为5*5,然后是3*3。此外,在第一层,第二层和第五层之后,加入窗口形状为3*3,步幅为2 的最大池化层。最后⼀个卷积层后有两个全连接层,分别有4096个输出。这两个巨⼤的全连接层拥有将近1GB的模型参数。由于早期GPU显存有限,原版的AlexNet采⽤了双数据流设计,使得每个GPU只负责存储和计算模型的⼀半参数。
减少过拟合
1)数据增强
1.1对图像进行平移和水平反射来增加数据集规模
1.2改变RGB通道强度。
方法:对训练集的数据集的RGB像素集执行PCA
方案原理:物体身份不受光照强度和颜色变化的影响。
2)Dropout
2.1特点:
以0.5的概率将每个隐藏神经元的输出设置为0。“退出”的神经元不参与正向传递,也不参与反向传播。每次输入时,神经网络都会对不同的体系结构进行采样,但所有这些体系结构都共享权重。一个神经元不能依赖于特定的其他神经元的存在,被迫学习更多的鲁棒特征.
2.2优点:
1.降低减少测试误差的成本
2.增加泛化能力
细节
1)使用随机梯度下降训练模型,发现少量衰减对模型学习很重要,这能减少模型训练误差。
2)所有层使用相同的学习率,训练中手动调整,采用当验证错误率不再随着当前学习率而提高时,将学习率除以10。