MSDNet(Multi-Scale Dense Convolutional Networks)算法笔记
这篇论文提出了一种名为Multi-Scale Dense Convolutional Networks(MSDNet)的方法来解决分类网络在处理简单图像和复杂图像时效率不均的问题。作者指出,在测试中对输入图像进行分类时,简单图像可以较快地通过浅层网络得到结果,而复杂图像则需要较深层网络进行多次推断以获得可靠结果。为此,作者提出了一个核心思想:在一个网络中有多个分类出口(intermediate classifiers),每个出口对应不同的尺度(multi-scale feature maps)。这种设计允许网络在不同层次上提取特征,并结合密集连接模式(dense connectivity)复用特征以提高高精度层的表现。此外,作者还介绍了两种应用场景:anytime prediction和budgeted batch classification,并通过实验验证了MSDNet在计算资源有限的情况下显著优于传统模型如ResNet和DenseNet。
Multi-Resolution Dense Convolution Modules to Optimized Forecasting
针对上述问题作者提出了Multi-Scale Densenet模型来加以解决
该网络的主要组成部分是Multi-Scale Densenet(MSDNet),它主要包含两大关键模块:多尺度特征图和密集连接模式。具体功能体现在以下几个方面:多尺度特征图能够生成高层次的特征表示,并且可以在早期阶段便于分类识别;密集连接模式则允许网络在各层之间共享和跳越已有的特征信息,并通过这种机制确保后续层能够达到较高的识别精度。此外还包含一个关键模块——中间分类器系统,在这一系统中有多条独立分支可供选择和应用。
在图1中展示了采用scale=3的四层MASNet网络结构,在右侧共有四个部分分别代表网络中的每一层具体来说第一层观察发现其结构与DenseNet相似图中标注得很清楚各种符号的具体含义其中三个分类器分别位于第2、3、4层最粗粒度尺度的位置也就是最下面那个scale这一设计特别值得注意的是以第三层分类器为例它的输入不仅包括来自scale=3时l=1、2、3输出特征经过拼接处理还包含了其他相关特征信息这种设计背后的原理可以从文中进一步理解strided convolution在这里所指的就是一种下采样操作通过减少特征图的空间分辨率来实现特征提取

在文章中出现了两个贯穿全文的关键术语:即时预测和预算批量分类。这里补充说明一下:如果您对此有些疑问也不影响对文章核心思想的理解。在即时预测中,在模型处理每一张输入图像x时都会施加一个计算资源预算B>0(即每次给模型输入一张图像后根据计算资源限制给出预测结果)。而在预算批量分类中则是对包含M张图像的每一个batch进行计算资源限制B>0(假设这个batch内有M张图片,则简单图片的处理时间应小于B/M而复杂图片的处理时间应大于B/M)。对于这两个术语的不同理解意见欢迎讨论。在文中测试时作者选择的M值为128(基于ImageNet数据集)和256(基于CIFAR-100数据集)。
Figure2系统介绍了网络的基本架构。左边部分仅展示了右表中(l=4,s=3)这一层特征图的计算流程,并未展示其余复杂的连接关系以避免图表过于繁杂。实际上所有未在图中展示的具体连接都是存在的,在这种情况下类似于DensNet的设计理念。由此可知,在l=4,s=3这一层中所提取的特征不仅来自上一层的所有特征图,并且也与当前层 preceding unit的所有特征图进行了融合。为了更直观地理解各层之间具体的输入来源关系,请参考Figure1中的concatenate操作说明。值得注意的是,在Figure1所示的操作过程中有许多concatenate连接并未在当前展示出完整的路径——这些隐藏的连接实际上是将多个经过concate处理后的结果传递给后续的操作单元进行进一步计算。

弄懂了网络的大致结构后,请问一下细节部分是什么样的呢?每个分类器由两个卷积层、一个平均池化层和一个全连接层组成。
在anytime predicition阶段中,在测试过程中我们通过前向传播输入数据直到预算用尽的方式得到最终预测结果;具体来说,在batch budget classification阶段中,在测试阶段每个样本会经过网络架构直至某个分类器的预测置信度(采用softmax概率的最大值作为置信度衡量标准)达到预设阈值k后才会停止并输出预测结果。简单来说就是设定一个概率门限值,在某个分类器的置信度超过该门限时就可以立即输出预测结果了。
损失函数的具体形式如下:L(f_k)是Logistic损失函数;其中f_k表示第k个分类器;D代表训练数据集。

It is inefficient to maintain all the finer scales up to the last layer of the network. One effective strategy to reduce computational complexity is by partitioning the network into S distinct blocks along its depth dimension. Within each ith block, only the coarsest (S - i + 1) feature maps are retained for further processing. From a network structure analysis, it can be inferred that larger-scale feature maps primarily capture low-level features, which contain minimal discriminative information for classification tasks. Therefore, for classification purposes, it suffices to obtain just one feature map at each layer corresponding to that scale.
实验比较:
AEP(Anytime Error Prediction)这一指标通过对比实现在两种不同数据集上的表现来评估模型性能的变化趋势:左侧展示基于Inception-ResNet(2012)的数据集的结果;右侧则基于CIFAR-100数据集展示了结果;横轴直接反映了计算预算

Budgeted Batch Classification :如图5所示右侧部分展示了不同深度MSDNet模型在测试集上的验证性能曲线(曲线右半部分)。通过对比实验发现,在预算平均值较小时MSDNet展现出明显的优势性表现(其分类性能显著优于ResNet和DenseNet),这表明若仅采用原始网络低层的高分辨率特征进行分类将难以达到预期效果(建议采用类似本文提出的多尺度特征融合方法)

该文中的图4展示了若干易于分类和难以分类的图像样本。基于此,在前一行中可以看到这些样本都是红葡萄酒或火山岩石等明显特征明显的物体;相比之下,在后一行中提供的样本则更具挑战性。

该实验结果图基于CIFAR-100数据集构建,并旨在检验MSDNet体系架构中的三个关键要素:密集连接(Dense Connectivity)、多尺度特征图(Multi-Scale feature map)以及多分类器系统(Multiple Classifiers)。结果显示,在去除密集连接模块的情况下会导致整体准确率下降。进一步分析发现,在不使用多尺度特征图时会显著降低低预算模型(或浅层特征提取阶段)的表现。

下图展示了不同网络引入中间分类器的效果。其中红色线条与蓝色线条的差异主要体现在蓝色线条缺少密集连接性。相比之下,在红色线条中缺乏多尺度特征图这一结构。

接下来如果有时间看看代码,再对以上内容作补充。
