ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

  • Institute:University of Illinois at Urbana-Champaign
  • Author:Jiahui Yu, Linjie Yang, Ning Xu, Jianchao Yang, Thomas Huang
  • GitHub:https://github.com/JiahuiYu/slimmable_networks

Introduction

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

(1)Different devices have drastically different runtimes for the same neural network.(相同网络在不同设备的运行时间不同)

(2)The availability of hardware resources on the same device even changes greatly over different times.(相同设备在不同时间的可用资源不同)

(3)In contrast to width (number of channels), reducing depth cannot reduce memory footprint in inference.(减少深度不能在推理阶段减少内存消耗,网络的计算图取决于宽度配置)

研究问题:给定资源预算,如何及时,自适应且有效地在网络运行时延和精度中达到平衡?对此提出了Slimmable neural network,优点有:

(1) For different conditions, a single model is trained, benchmarked and deployed.(不同条件只需训练一个网路)

(2) A near-optimal trade-off can be achieved by running the model on a target device and adjusting active channels accordingly.(通过调整激活通道来达到权衡)

(3) The solution is generally applicable to (normal, group, depthwise-separable, dilated) convolutions, fully-connected layers, pooling layers and many other building blocks of neural networks. It is also generally applicable to different tasks including classification, detection, identification, image restoration and more.(适用于多种结构,多种任务)

(4) In practice, it is straightforward to deploy on mobiles with existing runtime libraries.(部署简单)

RELATED WORK

Model Pruning and Distilling.通过大模型的Soft-targets和中间层表示来训练小模型

Adaptive Computation Graph.适应性地构建神经网络计算图

Conditional Normalization.

Method

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

1.TRAINING

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

朴素训练共享Batch Normalization层,通过不同switch子网训练损失的不加权总和来计算模型的总损失。(积累所有switch子网的反向传播梯度,然后更新权重)但是朴素训练方式仅有0.1%的准确率。原因推断是:对单个通道,switch导致上一层不同数量的输入通道带来不同的均值和方差,影响共享BN层的处理。(特征聚合)

对比INCREMENTAL TRAINING:

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

性能下滑原因:AB间新增的连接影响了A和B权重的联合适应

2.SWITCHABLE BATCH NORMALIZATION(S-BN)

BN:

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

y是输入, y′输出, γ, β 分别是尺度因子和偏置, μ, σ2 是当前batch的平均值和方差。为了解决不同均值和方差的问题,本文使用的是S-BN,每个子网的BN私有化。BN和S-BN区别:

1.BN在测试阶段使用的是所有训练图片的平均和方差的移动平均统计信息。

2.S-BN在测试阶段独立的标准化特征平均值和方差。

S-BN优点主要在于参数量少,部署时运行时长少。

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

Naive training 和training withS-BN训练都比较稳定,但是Naive验证误差不稳定,而S-BN都是稳定下降的曲线。

Experiments

ImageNet classification:

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

性能相较于单独训练的网络有所提升,由于S-BN参数量增加了一点。( Flops不变的意思?

More Switches :

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

相较于独立训练的,多switch的能有更好表现。 (但不是越多越好)

OBJECT DETECTION, INSTANCE SEGMENTATION AND KEYPOINTS DETECTION:

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

Slimmable优于单独训练。作者认为原因在于隐式蒸馏 (?)和更丰富的监督信号

Visualization and discussion

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

总体上说同一通道在网络中扮演着相似的角色。随着width增加,逐渐从识别白色[255,255,255]变成识别黄色[255,255,0]。

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

浅层中,平均值,方差,偏置和缩放因子相近。深层中统计信息差异增加。说明不同开关中相同通道学习的信息也会有轻微的变化。

评价:本文是Slimmable三部曲第一部,一次训练的模型通过 可切换的channel数量 就能解决不同运行环境的需求,非常有开创性的工作。

Original: https://www.cnblogs.com/huang-hz/p/16633442.html
Author: hhzcarl
Title: ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/806766/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球