当前位置: 首页 > news >正文

Universally Slimmable Networks and Improved Training Techniques 解读

一、论文基本信息

论文题目:Universally Slimmable Networks and Improved Training Techniques

作者:Jiahui Yu、Thomas Huang

发表会议:ICCV 2019

方法简称:US-Net,Universally Slimmable Network

论文链接:CVF Open Access / arXiv

官方代码:JiahuiYu/slimmable_networks

这篇论文的核心目标是训练一个“宽度可任意调节的单一网络”。普通模型训练完成后宽度固定,静态剪枝后也只能得到一个固定小模型;而 US-Net 希望一个模型在运行时可以根据资源预算选择不同宽度。论文明确提出,US-Net 将原来的 slimmable network 从“只能在预定义宽度集合中切换”扩展到arbitrary width,并提出sandwich ruleinplace distillation来提升训练效果。(arXiv)

这篇论文不是传统意义上的通道剪枝方法。它不会训练完后永久删除某些通道,而是训练一个共享权重的超网络,运行时根据宽度比例截取前若干通道来形成不同子网络。官方代码与模型也由作者开源在JiahuiYu/slimmable_networks。(arXiv)


二、论文要解决的问题

深度模型部署时经常会遇到一个现实问题:不同设备的计算能力差别很大,同一个模型可能要部署到服务器、高端手机、低端移动端、摄像头、嵌入式设备等环境中。如果每一种计算预算都单独训练一个模型,训练、调参、存储和维护成本都会很高。

传统压缩方法通常有两种思路。

一种是静态压缩,例如通道剪枝、filter pruning、低秩分解、量化等。这类方法会得到一个固定模型。问题是:一个固定模型只能对应一个固定计算预算。

另一种是动态推理,例如根据输入样本动态跳过 block 或通道。这类方法可以根据样本难度改变计算量,但通常涉及 gate、policy network、强化学习或动态稀疏卷积,实现复杂度较高。

US-Net 关注的是另一个问题:

能不能只训练一个模型,让它在运行时根据资源预算自由切换宽度?

早期 Slimmable Neural Networks 已经证明,一个网络可以在几个离散宽度之间切换。但它的问题是宽度集合是预先固定的,不能任意选择中间宽度。Slimmable Neural Networks 的核心是训练一个可在多个宽度下运行的共享模型,并使用 switchable batch normalization 解决不同宽度的 BN 统计差异。(arXiv)

US-Net 进一步提出:

不应该只支持几个固定宽度,而应该支持一个范围内的任意宽度。

例如设备预算刚好适合,那么模型就应该可以直接以宽度运行,而不必重新训练一个模型。


三、核心思想

US-Net 的核心思想可以概括为一句话:

把一个宽网络看成由多个窄网络嵌套组成的共享权重模型,运行时只使用前 (k) 个通道,就得到一个对应宽度的子网络。

假设某一层完整宽度有 (n) 个通道,如果运行宽度比例为 (r),那么实际使用通道数大致为:

当 r=1.0 时,使用完整网络。

当 r=0.5 时,只使用前一半通道。

当 r=0.25时,只使用前四分之一通道。

这种设计的关键在于:所有宽度共享同一套权重。

也就是说,子网络、子网络和子网络不是三个独立模型,而是同一个模型中不同宽度的子结构。小宽度网络使用前面的通道,大宽度网络在小宽度基础上继续增加后面的通道。

论文用部分通道聚合来解释这种嵌套关系。完整输出可以写成:

如果只使用前 (k) 个通道,则输出为:

随着 (k) 增大,会逐渐接近完整输出。因此,更宽的子网络可以看作在更窄子网络的基础上继续补充表达能力。这个视角解释了为什么一个共享权重网络有可能支持连续宽度运行。

这里最需要强调的是:

US-Net 的目标不是得到一个最小模型,而是得到一个可以覆盖多个计算预算的模型族。


四、US-Net 与普通剪枝的区别

US-Net 很容易被误解为一种通道剪枝方法,但它和传统剪枝有明显区别。

传统通道剪枝通常会永久删除一部分通道,得到一个固定结构的小网络。剪枝完成后,所有输入都使用同一个小模型。

US-Net 不永久删除通道,而是保留完整模型。运行时根据宽度比例选择前多少通道参与计算。

所以,传统剪枝更像是:

训练一个模型,然后剪成一个固定小模型。

US-Net 更像是:

训练一个共享权重的大模型,同时让它内部所有宽度的子网络都可用。

这带来一个非常重要的优势:

一个 US-Net 可以提供连续的 accuracy–efficiency trade-off。

部署时不必为不同设备保存多个模型,只需要选择合适宽度即可。


五、关键问题一:任意宽度下的 BatchNorm

US-Net 最大的技术难点之一是 BatchNorm。

在普通网络中,BN 在训练阶段使用 mini-batch 统计量,在推理阶段使用训练期间累积的 running mean 和 running variance。问题是,不同宽度的子网络激活分布不同,因此 BN 的均值和方差也不同。

如果只支持几个固定宽度,可以为每个宽度保存一套 BN 统计量。这就是早期 Slimmable Network 中的Switchable Batch Normalization

但 US-Net 支持任意宽度,如果每个宽度都保存一套 BN,数量会非常大,几乎不可行。

论文给出的解决方案是BN post-statistics

核心做法是:

训练阶段不为每个宽度单独维护 BN 统计量;训练完成后,固定网络权重,再为目标宽度重新统计 BN 均值和方差。

具体过程是:选择一个目标宽度,用少量训练样本前向传播,重新计算该宽度下 BN 的 mean 和 variance,然后用于推理。

这一步很关键,因为它让 US-Net 不需要在训练时存储无数套 BN 参数。论文实验也表明,重新统计 BN 并不需要完整训练集,少量图像就能得到接近完整统计的效果。

因此,US-Net 支持任意宽度的第一个基础是:

用训练后 BN 重新统计,替代训练时保存所有宽度的 BN。


六、关键问题二:如何高效训练所有宽度

如果一个网络支持很多宽度,那么训练时不可能每个 iteration 都遍历所有宽度。比如从 (0.25\times) 到 (1.0\times),中间可能有大量可选宽度。如果全部训练,成本会非常高。

所以 US-Net 必须解决一个问题:

每次训练只采样少数几个宽度,如何让整个宽度范围都学好?

论文提出了一个非常简单但有效的训练规则:Sandwich Rule。

它的做法是,每个 mini-batch 不随机采样所有宽度,而是固定包含三类宽度:

最大宽度。

最小宽度。

若干随机中间宽度。

例如每次训练 4 个宽度,那么可以包含,再随机采样两个中间宽度。

为什么这样有效?

因为最大宽度通常代表模型能力上界,最小宽度代表模型能力下界。只要最大和最小宽度都被稳定优化,中间宽度通常也能被更好地约束。

所以 Sandwich Rule 的本质是:

用最小宽度和最大宽度夹住整个宽度空间,再用随机中间宽度覆盖细节。

这个策略简单,但非常重要。它避免了完全随机采样导致最小宽度训练不足,也保证最大宽度始终保持较强表达能力。


七、关键问题三:小宽度子网络怎么学得好

US-Net 中所有宽度共享权重,但不同宽度的容量差别很大。

最大宽度子网络参数最多,表达能力最强;最小宽度子网络通道少,容量小,如果只用普通 hard label 训练,很容易性能不足。

为了解决这个问题,论文提出Inplace Distillation,原位蒸馏

它的核心做法是:

在同一个 mini-batch 中,先运行最大宽度网络,用真实标签训练最大宽度;然后把最大宽度网络的输出作为软标签,去监督其他较小宽度子网络。

也就是说,最大宽度子网络同时扮演 teacher,小宽度子网络扮演 student。

这个设计很巧妙,因为它不需要额外训练一个 teacher 模型,也不需要额外蒸馏阶段。teacher 和 student 都来自同一个 US-Net。

传统蒸馏是:

先训练 teacher,再训练 student。

US-Net 的 inplace distillation 是:

同一个网络内部,最大宽度实时指导小宽度。

这对小宽度模型尤其重要。论文实验显示,inplace distillation 对小宽度子网络有明显提升,而对最大宽度影响很小。

因此,US-Net 的第三个核心技巧是:

用最大宽度网络作为内部 teacher,提升所有小宽度子网络的性能。


八、完整训练流程

US-Net 的训练过程可以概括为以下步骤。

第一,确定宽度范围,例如 ([0.25,1.0])。

第二,每个 iteration 根据 Sandwich Rule 选择若干宽度,包括最小宽度、最大宽度和随机中间宽度。

第三,先运行最大宽度网络,用真实标签计算损失。

第四,把最大宽度网络的输出固定下来,作为其他宽度的蒸馏目标。

第五,运行最小宽度和随机中间宽度,用最大宽度输出作为软标签计算蒸馏损失。

第六,累积多个宽度的损失,更新共享权重。

第七,训练完成后,对需要使用的目标宽度重新计算 BN post-statistics。

第八,部署时根据设备预算选择对应宽度运行。

这个流程的核心逻辑是:

最大宽度保证上限,小宽度保证下限,中间宽度通过采样覆盖;最大宽度同时作为 teacher,帮助小宽度训练。


九、实验设置

论文主要在三个任务上验证 US-Net。

第一个任务是ImageNet 图像分类,主要使用 MobileNet v1 和 MobileNet v2。MobileNet v1 是较典型的轻量 CNN,MobileNet v2 包含 inverted residual 结构,因此可以验证 US-Net 在不同移动端架构上的效果。论文结果显示,US-Net 在 MobileNet v1 和 MobileNet v2 上都优于单独训练模型和 4-switch slimmable baselines 的平均表现。(arXiv)

第二个任务是DIV2K 图像超分辨率,使用 WDSR 网络。这个实验说明 US-Net 的思想不只适用于分类网络,也可以扩展到低层视觉任务。(arXiv)

第三个任务是Atari Breakout 强化学习,用来验证 US-Net 在强化学习场景中的可行性。论文摘要也提到,除了 ImageNet 分类,US-Net 还在图像超分辨率和深度强化学习任务上做了实验。(arXiv)

这说明作者并不是只想证明一个 ImageNet 技巧,而是希望说明:

宽度可伸缩训练是一种更通用的网络训练范式。


十、实验结果解读

10.1 ImageNet 上,US-Net 优于单独训练和固定宽度 Slimmable Network

在 MobileNet v1 和 MobileNet v2 上,US-Net 的平均表现优于 individually trained networks 和 4-switch slimmable networks。论文摘要和 CVF 页面都明确提到,US-Net 在 ImageNet 分类任务中相较于单独训练模型和 4-switch slimmable baseline 有更好的表现。(arXiv)

这个结果很重要,因为它说明:

共享权重并不一定会削弱子网络性能。

直觉上,人们可能认为每个宽度单独训练应该更好,因为它没有权重共享冲突。但 US-Net 通过 Sandwich Rule 和 Inplace Distillation,使小宽度子网络能够从大宽度网络中获得更强监督,因此某些宽度甚至可以超过单独训练的小模型。

这说明 US-Net 的优势不仅是节省训练成本,也可能带来更好的小模型性能。


10.2 任意宽度带来连续 FLOPs–Accuracy 曲线

US-Net 的一个重要价值是:训练一次后,可以直接评估大量宽度下的 accuracy–FLOPs 曲线。

传统模型压缩通常是一个预算训练一个模型。如果想知道 150M、200M、250M、300M FLOPs 下的精度,就需要训练或剪枝多个模型。

US-Net 不一样。它训练完成后,可以直接选择不同宽度,重新统计 BN,然后测试精度。

所以它能提供一条连续的精度–计算量曲线。

这对部署非常重要,因为真实设备预算往往不是整齐的 (0.25\times)、(0.5\times) 这种离散点,而可能是任意延迟或功耗约束。

这里的核心意义是:

US-Net 让模型部署从“选择一个固定模型”,变成“在同一个模型内选择合适宽度”。


10.3 Sandwich Rule 稳定了整个宽度区间

论文的消融实验显示,单纯随机采样宽度不如 Sandwich Rule 稳定。原因很直观:随机采样可能导致最小宽度训练不足,而最小宽度往往是最难训练的子网络。

Sandwich Rule 每次都训练最小和最大宽度,使得两个端点都被充分优化。中间宽度处在这两个端点之间,因此也更容易获得稳定性能。

可以这样理解:

最大宽度负责保证模型能力上界。

最小宽度负责保证压缩极限下的性能。

随机中间宽度负责覆盖连续范围。

这个设计虽然简单,但对 US-Net 训练非常关键。


10.4 Inplace Distillation 明显提升小宽度网络

小宽度子网络容量有限,如果直接使用真实标签训练,监督信号比较硬,容易学得不够好。Inplace Distillation 让小宽度网络学习最大宽度网络的 soft prediction,其中包含类别之间的相似关系,比 one-hot label 信息更丰富。

例如图像中某个类别虽然真实标签是 “cat”,但最大宽度网络可能同时给 “tiger”“dog”“fox” 一些非零概率。这种软分布可以帮助小模型学习更细致的类别关系。

所以,Inplace Distillation 的作用不是简单提高训练技巧,而是:

让小宽度子网络继承最大宽度子网络的知识。

这也是 US-Net 能让小宽度表现较好的关键原因。


10.5 BN post-statistics 让任意宽度真正可用

没有 BN post-statistics,US-Net 很难真正支持任意宽度。

因为不同宽度下,BN 的均值和方差不同。如果使用错误 BN 统计量,即使权重本身训练好了,推理精度也会明显下降。

BN post-statistics 的意义在于:

宽度切换后,只需要用少量样本重新校准 BN,而不需要重新训练权重。

这使 US-Net 的任意宽度运行变得实际可行。


十一、方法优点

11.1 一个模型适配多个资源预算

US-Net 最大的优点是:

只训练和保存一个模型,就可以覆盖多个计算预算。

这在实际部署中非常有价值。不同设备可以选择不同宽度,不需要为每个设备单独训练、保存和维护一个模型。


11.2 支持任意宽度,而不是固定几个宽度

早期 slimmable network 只能在预定义宽度之间切换。

US-Net 支持一个范围内的大量宽度选择。

这使模型可以更精细地适配延迟、功耗、内存或 FLOPs 约束。


11.3 不需要额外 teacher

Inplace Distillation 直接使用最大宽度子网络作为 teacher。

这比传统知识蒸馏更方便,因为不需要额外训练 teacher,也不需要保存额外模型。


11.4 训练技巧简单有效

Sandwich Rule 和 Inplace Distillation 都很简单,容易实现,但对训练效果影响明显。

这也是这篇论文的重要价值:它不是依赖复杂结构,而是通过训练策略提升共享权重子网络的性能。


11.5 为后续弹性网络和一次训练多模型提供基础

US-Net 的思想后来影响了很多 elastic network、once-for-all network 和 one-shot NAS 方法。比如 AutoSlim 就利用 slimmable network 来快速评估不同通道配置,并进一步搜索每层通道数。AutoSlim 论文也明确将 slimmable model 用作一次性评估不同 channel configurations 的基础。(arXiv)

因此,US-Net 的意义不仅在于一个具体模型,而在于提出了一种:

共享权重、多宽度、一次训练、多预算部署的训练范式。


十二、方法局限

12.1 它不是固定小模型

US-Net 本身不会输出一个固定压缩模型,而是保留完整网络,并根据宽度选择子网络运行。

如果部署目标是得到一个完全固定、无需宽度切换、无需 BN 校准的小模型,那么 US-Net 不是最直接的方案。


12.2 通道选择是前缀式的

US-Net 通常使用前 (k) 个通道构成窄网络。

这意味着通道存在隐式顺序:前面的通道会被所有宽度共享,后面的通道只在大宽度下使用。

这种方式简单高效,但也有限制:

它不能为每个宽度自由选择任意通道组合。

例如某个宽度真正最优的通道集合可能不是前 (k) 个通道,但 US-Net 默认只能采用前缀子网络。


12.3 需要重新统计 BN

虽然 BN post-statistics 成本不高,但它仍然是额外步骤。

如果部署时频繁切换到很多从未校准过的新宽度,就需要提前准备这些宽度的 BN 统计量,或者在部署端进行校准。

这在某些严格部署环境中可能不方便。


12.4 共享权重存在优化冲突

所有宽度共享一套权重,这会带来不同子网络之间的训练冲突。

大宽度希望后面通道充分发挥作用,小宽度则希望前面少数通道足够强。不同宽度对同一组权重的梯度方向可能并不完全一致。

Sandwich Rule 和 Inplace Distillation 可以缓解这个问题,但不能完全消除共享权重带来的限制。


12.5 主要是统一宽度倍率

US-Net 主要讨论的是所有层使用同一个 width multiplier。

但实际网络中,不同层的冗余程度并不相同。有些层可以剪得更多,有些层对精度更敏感。统一宽度虽然简单,但不一定是最优结构。

后续一些工作会进一步研究每层独立通道数搜索,这也是 US-Net 思想继续发展的方向。


十三、整体评价

这篇论文的核心价值在于,它把模型压缩从“为每个预算训练一个模型”,推进到“一个模型覆盖多个预算”。

US-Net 不直接删除通道,也不根据每张输入动态选择路径,而是根据部署预算选择宽度。它更关注的是budget-adaptive inference,也就是给定一个资源预算后,模型可以立刻切换到合适宽度。

它的三个关键技术分别解决了三个核心问题:

BN post-statistics 解决任意宽度下 BN 统计不一致的问题。

Sandwich Rule 解决不能训练所有宽度的问题。

Inplace Distillation 解决小宽度子网络性能不足的问题。

这三个技巧组合起来,使一个共享权重网络可以在很宽的宽度范围内稳定运行。


十四、一句话总结

《Universally Slimmable Networks and Improved Training Techniques》提出 US-Net,使一个神经网络能够在给定范围内以任意宽度运行;它通过 BN post-statistics 解决不同宽度的 BN 统计问题,通过 Sandwich Rule 高效训练最小、最大和随机中间宽度,并通过 Inplace Distillation 让最大宽度子网络指导小宽度子网络,从而实现一次训练、多宽度部署,为后续弹性网络、AutoSlim 和 Once-for-All 类方法奠定了重要基础。

http://www.jsqmd.com/news/1208888/

相关文章:

  • 别再靠小单打磨品质!这是技术创业者最致命的误区
  • RPA的边界在哪?AI Agent如何突破这些边界:企业级智能自动化的全链路演进解析
  • 小自考推荐—中南财经政法大学会计专业 - 武汉中职最新信息发布
  • 05-08-YooAsset源码-Unity缓存系统与内存管理
  • GPT-5.6三档模型全线发布,Codex并入ChatGPT迈入Agent时代
  • 01 什么是量化金融?
  • 2026年7月最新北海防水补漏权威指南:卫生间/屋面/外墙/地下室正规施工+透明报价+避坑全攻略 - 吉林同城获客
  • FlashAttention技术解析:提升大模型训练效率的关键优化
  • 苹果M7 Ultra芯片:1.5TB统一内存如何重塑本地AI与高性能计算
  • UVa 684 Integral Determinant
  • 鸿蒙三方库 | harmony-utils之NetworkUtil默认网络与绑定网络详解
  • Linux包管理工具YUM核心机制与实战配置
  • 运放电路设计中电阻选型的核心要点与实战技巧
  • 2026年7月最新合肥积家官方售后服务热线与网点地址查询 - 积家官方售后服务中心
  • 如何用psd2fgui一键将PSD设计稿转换为FairyGUI资源包:游戏UI开发效率提升300%
  • 【iOS】离屏渲染
  • 企业自动化选型:RPA、Workflow、Agent到底有什么区别?——深度拆解企业级AI Agent与传统自动化的技术范式演进
  • 论文里的气象数据从哪来?揭秘高水平研究背后的“数据基础设施”
  • VMware安装操作系统KylinOS V10
  • 有质量的海报灯箱广告牌怎么选?实体店老板最关心的20个采购问题全解答 - 品牌报告
  • SAM 2模型解析:医疗影像分割实战与优化
  • 望友DFX软件赋能优特科技:破解人才断层与流程割裂,实现PCBA设计零缺陷
  • CH32X035芯片U盘固件更新方案与实现
  • Claude Code安装配置与核心功能实战指南:内置浏览器与智能代码补全
  • Kimi K2.6:用自然语言调度React+Three.js+Shader工程链路
  • AI智能体开发:Harness与Loop工程的核心差异与实践
  • 第二阶段:SPI 控制器注册
  • 微信里哪个小程序能免费去水印:实测几款工具的真实体验 - 科技热点发布
  • SpringBoot双重防御体系:SpringSecurity集成XSS与SQL注入协同防护实践
  • Stable Diffusion模型瘦身终极方案,单卡3090跑动12GB SDXL-LyCORIS模型(附量化精度损失对照表)