本文为 AI 研习社编译的技术博客,原标题 :
Review: MSDNet — Multi-Scale Dense Networks (Image Classification)
作者 | Sik-Ho Tsang
翻译 | 莫尔•哈该、Yao Lu、Winteryangwt、唐里、鸢尾
编辑 | 王立鱼
原文链接:
https://towardsdatascience.com/review-msdnet-multi-scale-dense-networks-image-classification-4d949955f6d5
本文讲述了康奈尔大学、复旦大学、清华大学和Facebook人工智能研究(FAIR)联合开发的多尺度密集网络MSDNet。该网络的作者在2017年的CVPR中提出了DenseNet(超过2900次引用,并获得了最佳论文奖)。并在2018年的 ICLR 中提出MSDNet(多尺度密集网络)得到了数十次引用。
使用MSDNet,训练多个不同资源要求的分类器来自适应不同的测试时间。因此,对于高性能计算设备,图像经过整个网络来完成图像分类。对于有限计算资源的设备,图像提前退出网络来完成相对粗略的图像分类。现在来让我们来看一下这个网络是如何工作的。
大纲:
-
计算受限的图像分类概念
-
MSDNet 架构
-
对随时分类和预算批分类的评估。
-
网络约减和惰性计算
-
结果
1. 计算受限的图像分类概念
这里有两种对计算受限的图像分类的设置。
1.1 随时分类
-
给出任意的时间点,网络能强制输出预测。
-
例如:安卓应用上的移动APP。
1.2 预算批分类
一个固定的计算预算在一组大量的样例中共享,且花费在简单和困难样例上的时间并不平均。这在大型机器学习应用中很有用。
例如:搜索引擎,社交媒体公司、在线广告代理商,都要在有限硬件上处理大量数据。
截至2010年,谷歌图像搜索已经索引了超过100亿张图片,以后可能增长到1万亿张。一个新的模型处理每张图片即使慢了0.1秒,额外的开销也会增加3170年的CPU时间。
在预算批分类设置中,公司可以将节约在简单样例上的计算量用在困难样例上,从而提高平均准确度。
MSDNet的示例
如上图所示,MSDNet是一个多尺度的DenseNet。上面的路径用于没有缩小尺寸的图像,下面的路径用于更小尺度的图片。
举个例子,我们想分类一张猫的图片。在通过这个网络的过程中,这个分类有了0.6的分类置信度,大于阈值。我们可以提前离开,剩下的网络直接跳过,这样省下“简单”图像的计算时间。
另一方面,对于“困难”图像,我们可能需要经过更深的网络直到分类置信度高于阈值。
因此,通过平衡花费在“简单”和“困难”图像的时间可以节省计算时间。
2. MSDNet架构
2.1. 架构
MSDNet架构
-
它的垂直布局是微型的S层卷积网络(S=3)。
-
对于第一层(l=1),通过下采样来获得较粗尺度的特征图。
-
对于l=1,尺度为s的后续层 ,所有尺度为s和s-1的前面层的特征图被连接。