深度学习网络篇——ZFNet(Part3 ZFNet的实验环节)

上篇ZFNet的文章中我们简单的分享了一下ZFNet的网络结构和训练细节,这篇文章将分享ZFNet论文上的实验环节。ZFNet做了很多巧妙的实验,从这边文章中也可以看到未来深度网络发展方向的蛛丝马迹。

一、Experiments实验

1.ImageNet 2012
该数据集由1.3M / 50k / 100k的训练/验证/测试样例组成,分布在超过1000个类别中。
首先,使用(Krizhevsky等,2012)中指定的确切体系的模型,我们尝试在验证集上复制它们的结果。
1)我们在ImageNet 2012验证集,错误率达到其报告值的0.1%
2)与作者给出的错误率很一致。以此作为参考标准。
我们用新修改的模型,分析性能,获得了不错的结果。
该模型显着地打败了(Krizhevsky等,2012)的架构,击败了他们的单个模型的结果1.7%(测试top 5的成绩)。
当我们组合多个模型时,我们获得了14.8%的测试误差,发布性能中最佳。
我们注意到,这个错误几乎是ImageNet 2012分类挑战中顶级成绩(使用非卷积网络)错误率的一半,它获得了26.2%的错误(Gunji et al,2012)
在这里插入图片描述
【上图解读】ImageNet 2012分类错误率。 *表示在ImageNet 2011和2012训练集上都训练过的模型。

2.不同的ImageNet模型尺寸
1.对AlexNet:通过调整层的大小或删除层(如 调整隐含层的节点个数或者将某隐含层直接删除等)
------在每种情况下,都会使用修改后的架构从头开始训练模型。
2.移除全连接层(6,7)
------只会略微增加错误率。
------这令人惊讶的,因为它们包含大多数模型参数。
3.移除两个中间卷积层
------使错误率稍微增加。
4.去除中间卷积层和全连接层,仅有4层的模型,其分类性能显著更差。
------这表明模型的整体深度与分类效果密切相关。
5.ZFNet改变全连接层的节点个数对性能几乎没有影响
------增加中间卷积层的节点个数可以提高性能。
------扩大全连接层出现过拟合的可能。
在这里插入图片描述
【上图解读】模型的各种架构变化

3.特征泛化能力
1)为了测试模型的泛化能力,我们现在推广到其他数据集,
------即Caltech-101(Feifei等,2006),Caltech-256(Griffin等,2006)和PASCAL VOC 2012。
2)保持模型的1-7层的训练结果,使用新数据集的训练图像在顶部(适当数量的类)训练新的softmax分类器。
3)由于softmax包含相对较少的参数,因此可以从相对少量的示例中快速训练,如某些数据集的情况。
4)其他分类器(SVM)在复杂度上很相似,也对比了本文学习到的特征是否可用到其他分类器上。
5)从ImageNet学习的特征表示与其他方法使用的手工制作的特征进行比较。
6)从新训练模型的,即将层1-7重置为随机值并在数据集的训练图像上训练它们以及softmax。
Caltech-101
我们按照(Fei-fei等人,2006)的程序,每类随机选择15或30张图像进行训练,并测试每类最多50张图像,表4中报告了每类精度的平均值,使用5折训练/测试。
30张图像/类的训练需要17分钟。
预训练模型击败了来自(Bo等人,2013)的30个图像/类的最佳结果2.2%。
然而,从Caltech-101库从零开始训练的网络模型确实非常糟糕,仅达到46.5%。
说明基于ImageNet学到的特征更有效。
在这里插入图片描述
【上图解读】表4 Caltech-101历史最好的2个成绩与本模型成绩的对比
Caltech-256
我们按照(Griffin等,2006)的程序,每类选择15,30,45或60个训练图像,表5中每报告类精度的平均值。
我们的ImageNet预训练模型击败了Bo等人获得的当前最先进的结果。与(Bo等人,2013年)显着差异:60个训练图像/类别的成绩74.2%比55.2%,准确率高出19%的巨大优势。
然而,与Caltech-101一样,从新开始训练的模型也很差,分类精度只有38.8%。
在图9中,我们探讨了“一次性学习”(Fei-fei et al。,2006)制度,从另一个角度描述了基于ImageNet预学习模型的成功。
使用我们预训练的模型,只需要6张Caltech-256训练图像就可以使用10倍的图像来击败领先的方法。
显示了ImageNet特征提取器的强大功能。
在这里插入图片描述
Caltech-256分类性能,因为每个类的训练图像数量是多种多样的。 通过我们的预训练特征提取器,
每个类仅使用6个训练样例,我们超过了最佳报告结果(Bo et al。,2013)。
在这里插入图片描述
【上图解读】表5 Caltech历史最好的两个成绩与本文模型成绩的对比。
PASCAL 2012
我们使用标准的训练和验证图像在ImageNet预训练的网络上训练20路softmax分类器。
结果并不理想,因为PASCAL图像可以包含多个物体,而我们的模型只为每个图像提供单个预测。
PASCAL和ImageNet图像在本质上是完全不同的,两者是不同的完整场景。
这可以解释我们的平均表现比领先(Yan et al,2012)结果低3.2%,但是我们确实在top5上击败它们,有些类别优势很明显。
在这里插入图片描述
【上图解读】表6显示了测试集上的结果。PASCAL 2012分类结果,将我们的与ImageNet训练网络与历史前两种最好的方法进行比较([A] =(Sande等,2012)和[B] =(Yan等,2012))。

4.Feature Analysis特征分析
Imagenet预训练模型的每一层中的特征是如何区别的。
改变ImageNet模型中保留的前n层,并在顶部连接线性SVM或softmax分类器。
表7显示了Caltech-101和Caltech-256的结果。
------模型学习到的特征同样适用于SVM进行分类。
对于这两个数据集,随着保留层的增加,分类能力稳定的改进。
------当保留全部层时,获得最佳分类结果。
这支持了:当网络变得更深时,它们会学习越来越强大的特性。
在这里插入图片描述
【上图解读】分析ImageNet预训练卷积网络中,每层特征映射中包含的区分性信息。我们在来自卷积网络的不同层(如括号中所示)的特征上训练线性SVM或softmax。较高层通常产生更多的辨别性特征。

二、Discussion 讨论

1.本问题出了一种新的可视化方法
这表明这些特征不是随机的、无法解释的模式。相反,当我们提升层次时,它们显示出许多直观上令人满意的属性,例如组合性,增加不变性和类别区分性。
2. 使用可视化方法发现模型问题,并得到更好模型
例如改进Krizhevsky等人(Krizhevsky等,2012)令人印象深刻的ImageNet 2012结果
3. 通过一系列遮挡实验,模型虽经过分类训练,但对图像中的局部结构非常敏感,不仅仅使用场景上下文。
4. 对模型的消融研究表明(分层),网络的深度对模型非常重要
5. 用ImageNet训练模型,验证模型的泛化能力,推广到其他数据集。
a) 对于Caltech-101和Caltech-256,数据集足够相似,我们可以击败历史上的最佳结果。
b) 我们的预测模型不太适用于PASCAL数据,可能遭受数据集偏差;
尽管它仍然在最佳报告结果的3.2%之内,没有调整模型来适应分类任务。如果使用允许每个图像有多个对象的不同损失函数,我们的性能可能会提高。这自然会使网络也能够解决对象检测问题。

谢谢大家看到这里,也感谢以下论文和博客的支持。蟹蟹大家~
https://blog.csdn.net/loveliuzz/article/details/79080194
https://blog.csdn.net/chenyanqiao2010/article/details/50488075
https://blog.csdn.net/qq_31531635
https://blog.csdn.net/jningwei/article/details/80026826
https://www.cnblogs.com/taojake-ML/p/6287158.html

最后的最后,因为我们还是机器学习刚入门的小学生,有些理解不到位的地方还请大大们指出。博客最近两个月会每周都至少更新一篇深度学习网络篇的理解(下一周是VGG和NIN哦~),还请大家多多支持!蟹蟹!!!

猜你喜欢

转载自blog.csdn.net/weixin_43624538/article/details/84322450