我是靠谱客的博主 安详柠檬,最近开发中收集的这篇文章主要介绍Universally Slimmable Networks and Improved Training Techniques_ICCV_2019,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

简述:Slimmable Networks可以调整网络运行宽度的网络。在这项工作中,作者提出了一个系统化的方法来训练universally slimmable networks (US-Nets),并提出了两个改进的训练技术sandwich ruleh 和 inplace distillation,。

单个神经网络能在任意宽度下运行吗?
这使作者对特征聚合产生了新的思考。作者想:在深度神经网络中,单个神经元的输出的值是所有输入神经元以可学习参数(权重)加权的集合,即 y = ∑ i = 1 n w i x i y=sum_{i=1}^{n} w_{i} x_{i} y=i=1nwixi。这个公式说明了,每个输入通道(或者一组输入通道)可以视为输出神经元的残差分量。因此说宽的网络性能应该不会比窄的网络性能差(瘦网络的准确性总是可以通过学习新的零连接来实现),所以有
∣ y n − y k + 1 ∣ ≤ ∣ y n − y k ∣ ≤ ∣ y n − y k 0 ∣ left|y^{n}-y^{k+1}right| leqleft|y^{n}-y^{k}right| leqleft|y^{n}-y^{k_{0}}right| ynyk+1ynykynyk0
这个有界的不等式表明,一个具有离散宽度的可瘦身的网络Slimmable Networks可以在两者(最大和最小)之间以任意宽度运行,因为残差随宽度的增加而减小。但是对于batch normalization (BN)在训练和测试时是不一样的,所以需要特殊对待。

作者提出的 universally slimmable networks(US-Nets)可以在大范围内任意宽度运行。三个问题被解决:

  1. 如何处理BN层。
  2. 如何有有效训练US-Nets。
  3. 与训练单个网络相比,我们还可以在US-Nets中探索什么来提高整体性能。

对于第一个问题,作者采用switchable batch normalization,即在可瘦身网络中对不同子网络采用独立的批处理归一化。在训练后计算所有宽度的BN统计量。

对于第二个问题,作者受到上文公的式启发。在US-Net中,所有宽度的性能都受到模型在最小宽度(如0.25倍)和最大宽度(如1.0倍)的性能的限制。换言之,优化性能下界和上界可以隐式地在所有宽度上优化模型。因此,在每次训练迭代中,作者不是随机采样n个宽度,而是按照最小宽度、最大宽度和 ( n − 2 ) (n-2) (n2)随机采样宽度来训练模型。这被称之为三明治规则(the sandwich rule),并表现出了更好收敛行为和整体性能。

对于第三个问题作者采用的方法是inplace distillation(原地蒸馏),在每个训练迭代中将知识从全网络传输到子网络。在三明治规则中,会训练 n n n个网络,作者将最大宽度网络训练使用真实的标签,其它 ( n − 1 ) (n-1) (n1)宽度采用最大宽度的预测标签,它可以在训练中就地的采用,没有额外的计算和记忆成本。

作者的贡献:

  1. 首此提出了能够训练的单一网络可以执行在任意的宽度的方法。
  2. 进一步提出了两种改进的训练技术在US-Nets背景下,以加快训练过程和提高测试的准确性。
  3. 作者做了大量实验和 ablation studies
  4. 我们进一步深入研究了US-Nets关于(1)宽度下限k0 ;(2)宽度因子d;(3)每次训练迭代的采样宽度数 n n n;(4)BN后统计s的子集大小
  5. 他们的方法也可以用训练不均匀US-Nets,每一层可以自己调整宽度比,而不是采用全局宽度比。
  6. 在这里插入图片描述

最后

以上就是安详柠檬为你收集整理的Universally Slimmable Networks and Improved Training Techniques_ICCV_2019的全部内容,希望文章能够帮你解决Universally Slimmable Networks and Improved Training Techniques_ICCV_2019所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部