【论文阅读笔记】MULTI-SCALE DENSE NETWORKS FOR RESOURCE EFFICIENT IMAGE CLASSIFICATION

MSDNet是一种图像分类方法,该方法通过在单一网络中设置多个分类出口来适应不同难度级别的图像分类任务。它利用多尺度特征映射和密集连接性解决了传统神经网络中分类器位置依赖性和相互影响的问题。

Gao Huang(Cornell University),  ICLR 2018 best Papers

文章链接:https://arxiv.org/pdf/1703.09844.pdf

代码链接:https://github.com/gaohuang/MSDNet

        本文由香奈儿大学的几位教授撰写,获得ICLR2018最佳论文。文章基于CNN,提出一种图像分类方法:在现实中对图像分类难度不一,采用一个固定的框架对图片进行分类时有时不够灵活,比如使用复杂网络对简单图片分类比较浪费资源,而使用简单网络对复杂图片进行分类效果又不够好。文章提出下图的网络架构:


        主要思想就是在一个网络中有多个分类出口,对于简单图像可以直接从前面某个分类出口得到结果,而难分类的网络可能要到网络后面的某一层才能得到可靠的结果,而且这些分类出口并不是简单在一个网络的一些层直接引出,毕竟浅层特征直接用来分类的效果是非常差的,因此采用的是multi-scale的特征。

        文章的两个setting是Anytimeprediction和Budgeted batch classification。Anytime prediction部分通过设置阈值budget,相当于计算资源的限制条件,相当于每次给模型输入一张图像,然后根据计算资源限制来给出预测结果。budgeted batch classification中是对每一个batch的输入图像都有一个computationalbudget B>0,假设这个batch里面包含M张图像,那么可能简单图像的耗时要小于B/M,而复杂图像的耗时要大于B/M。

       文章的的两个核心结构是multi-scale feature mapsanddense connectivity。其中multi-scalefeature maps

文章解决的两个核心问题:

问题1:传统神经网络学习图片特征是通过前面层次的fine scale和后面层次的coarse scale完成,分类器的分类精度与分类器的位置高度相关,位于前面的分类器由于缺乏coarse scale导致分类效果较差。

解决1multi-scalefeature maps

Thefeature maps at a particular layer and scale are computed by concatenating theresults of one or two convolutions: 1. the result of a regular convolutionapplied on the same-scale features from the previous layer (horizontalconnections) and, if possible, 2. the result of a strided convolution applied onthe finer-scale feature map from the previous layer (diagonal connections). Thehorizontal connections preserve and progress high-resolution information, whichfacilitates the construction of high-quality coarse features in later layers.The vertical connections produce coarse features throughout that are amenableto classification.

问题2:前面的分类器会影响后面的分类器分类效果。

解决2:Dense connectivity。Dense connectivity将每一层与相关的层全部连接起来,允许后面的层通过短期优化的特征,使得最终的分类器仍然保持很高的准确度。而且最终分类器的分类效果与中间分类器无关。

       本文提出的MSDNet如图:


         文章使用的数据集:CIFAR-10, CIFAR-100(Krizhevsky & Hinton, 2009) and ILSVRC 2012,对数据进行了data-augmentation预处理。

       使用的loss function: Lgistic loss functions

       训练使使用SGD更新梯度。




### 多尺度密集网络在深度高动态范围成像中的应用 多尺度密集网络(Multi-Scale Dense Networks, MSDNets)通过引入不同尺度的感受野,在处理图像时能够捕捉到更多的细节信息。这种特性使得MSDNets非常适合用于深高动态范围(Deep High Dynamic Range Imaging, Deep HDR Imaging)。HDR技术旨在扩展传统低动态范围(LDR) 图像的亮度范围,从而更真实地反映现实世界的光照条件。 #### 应用背景 传统的单张LDR照片无法充分表示场景中存在的极端亮暗对比度变化。为了克服这一局限性并实现高质量的HDR重建,研究人员探索了多种方法和技术。近年来,基于卷积神经网络(CNNs)的方法逐渐成为主流解决方案之一[^1]。 #### 实现原理 MSDNet利用其独特的架构设计来增强特征提取能力: - **跨层连接**:每一层都与其后的所有层次相连,形成密集连接模式; - **复合增长率**:随着网络加深而逐步增加通道数,有助于保持梯度流动稳定性和参数效率; - **多分支结构**:允许模型在同一时间学习多个分辨率下的表征,进而提高对于复杂光影效果建模的能力; 这些特点共同作用下,使MSDNet能够在输入几张曝光不同的LDR图片作为训练样本的情况下有效地预测出对应的HDR图像[^2]。 ```python import torch.nn as nn class MultiScaleDenseBlock(nn.Module): def __init__(self, num_layers=8, growth_rate=32): super(MultiScaleDenseBlock, self).__init__() layers = [] for i in range(num_layers): layer = _make_layer(in_channels=i*growth_rate + input_channels, out_channels=growth_rate) layers.append(layer) self.block = nn.Sequential(*layers) def _make_layer(in_channels, out_channels): return nn.Conv2d(in_channels=in_channels, out_channels=out_channels, kernel_size=(3, 3), padding='same') ``` 此代码片段展示了如何构建一个多尺度密集块的基础框架,其中包含了若干个由卷积操作组成的子模块。实际应用中还需要加入批量归一化(Batch Normalization),激活函数(ReLU)等组件以完善整个网络的设计。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值