ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ICLR2019:(Slimmable)SLIMMABLE NEURAL NETWORKS

2022-08-28 22:32:10  阅读:164  来源: 互联网

标签:Slimmable 训练 方差 不同 ICLR2019 NEURAL BN 255


  • 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

  (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

 1.TRAINING

  Naive Training/Training slimmable neural network :

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

  对比INCREMENTAL TRAINING:

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

 2.SWITCHABLE BATCH NORMALIZATION(S-BN)

  BN:

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

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

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

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

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

Experiments

   ImageNet classification:

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

  More Switches :

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

  OBJECT DETECTION, INSTANCE SEGMENTATION AND KEYPOINTS DETECTION:

 

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

Visualization and discussion

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

 

 

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

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

标签:Slimmable,训练,方差,不同,ICLR2019,NEURAL,BN,255
来源: https://www.cnblogs.com/huang-hz/p/16633442.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有