4、Reducing Overfitting实践技术应用
由于神经网络的结构存在6千万个参数 尽管ILSVRC的1000类使每个训练样本从图像到标签的映射上强加了10比特的约束,但这不足以学习这么多的参数而没有相当大的过拟合。它使用了两种方式来避免过拟合。
4.1、Data Augmentation数据增强
第一种数据增强方式包括产生图像平移和水平翻转。我们从256× 256图像上通过随机提取224 × 224的图像块(以及这些图像块的水平翻转)实现了这种方式,然后在这些提取的图像块上进行训练,最终的训练样本是高度相关的。没有这个方案,我们的网络会有大量的过拟合,这会迫使我们使用更小的网络。在测试时,网络会提取5个224 × 224的图像块(四个角上的图像块和中心的图像块)和它们的水平翻转(因此总共10个图像块)进行预测,然后对网络在10个图像块上的softmax层的预测结果进行平均。
第二种数据增强方式包括改变训练图像的RGB通道的强度。具体地,我们在整个ImageNet训练集上对RGB像素值集合(一个pixel有三个值RGB也就是(224 * 224)* 3 这么大的矩阵,224 * 224是行数,3是列数),执行主成分分析(PCA)。对于每幅训练图像,我们这个大矩阵的主成分,大小成正比的对应特征值乘以一个随机变量,随机变量通过均值为0,标准差为0.1的高斯分布得到。
4.2、Dropout
Dropout,它会以0.5的概率对每个隐层神经元的输出设为0。那些用这种方式“丢弃”的神经元不再进行前向传播并且不参与反向传播。因此每次输入时,神经网络会采样一个不同的架构,但所有架构共享权重。这个技术减少了复杂的神经元互适应,因为一个神经元不能依赖特定的其它神经元的存在。
因此,神经元被强迫学习更鲁棒的特征,这让它在与许多不同层的神经元的连接时更为有效。在测试时,我们使用所有的神经元但它们的输出乘以0.5,这是对指数级的dropout网络的预测分布的几何平均一种合理的估计。
5、基于GUI界面的AlexNet图像分类实践
该项目目的是为了验证AlexNet对于图像分类的效果,以及基于不同阈值设定的结果对比,同时为了方便大家看到好的呈现效果,使用了GUI可视化的功能。
5.1、项目目录
5.2、 网络结构搭建
5.3、数据预处理
5.4、训练结果展示
5.5、基于GUI测试部分
通过以上GUI显示结果可以看出,整个网络结构对于整体的预测算是正确的,但是还是不够全面,也会出现错误,这个能也是AlexNet选择大卷积核的局限。