【阅读笔记】【DNN早退】BranchyNet: Fast Inference Via Early Exiting From Deep Neural Networks

系列文章目录



【阅读笔记】【DNN早退】BranchyNet: Fast Inference Via Early Exiting From Deep Neural Networks

ICPR 2016 哈佛
阅读笔记,非全文翻译


摘要

  • 提出了BranchyNet,允许一些样本在已经拥有高预测置信度时提前退出网络
  • 观察到,神经网络前面几层学习到的特征就已经足以用于分类
  • 可以提升准确率和减少推理时间

1 引言

在这里插入图片描述

  • 实验中发现,如果是为了提高性能,一个分支上没必要叠加很多卷积层
  • Contributions
    • 早退分支可以快速推理
    • 分支在联合优化中作为正则项
    • 减缓梯度消失现象

2 背景和相关工作

  • 剪枝没法用GPU加速
  • 剪枝、低秩近似等压缩方法可以和本文的BranchyNet结合起来
  • Panda等人提出了CDL,在每个卷积层后加一个线性分类器,观察输出,判断是否可以提前结束推理

3 BranchyNet

  • 只考虑一级分支,即分支上不再有分支

A 架构

  • 如图1,按顺序编号,添加分支之前的推理图就是原模型baseline

B 训练BranchyNet

  • 联合优化,所有分支的损失函数通过权重wn做加权和
    在这里插入图片描述
    在这里插入图片描述

C 快速推理

  • 观察分支处的熵,小于阈值T则提前退出网络
    在这里插入图片描述
    在这里插入图片描述

4 结果

在这里插入图片描述

  • 作者发现,用训练过的baseline网络的权重来初始化BranchyNet,比随机初始化BranchyNet权重,会带来更好的分类准确性。
  • 很多样本都在浅层退出了推理,加快了平均的推理速度
  • 甚至BranchyNet提高了一些分类准确率

在这里插入图片描述

  • 图3,每个点代表不同的阈值T

5 分析和讨论

A 超参数灵敏度

  • 给前面的分支更多的权重,则提升了后面分支的准确性,因为相当于添加了正则项
  • 图4表明了T如何影响在第一个分支推出的样本的数量
  • T的选取应该实际考虑综合推理时间和准确率,因人而异
  • 第一个分支的退出位置由数据集决定

B 调整阈值T

  • 作者只是实验了多个T,然后根据需求筛选
  • 作者期待自动化选取,以后可能使用Meta-Recognition方法来估计未见样本的特征,自动调整T

C 分支结构的影响

  • 分支的层数不能太多,前一个分支不能超过后面的分支的层数和计算量(否则也没必要设置这个分支了,分支就是为了减少计算)
  • 但同时,前一个分支应该有更多层,后一个分支的层应该更少

D 对缓存的影响

在这里插入图片描述

  • 因为有很多的样本从前面层退出了,所以缓存命中率提高了,加快了推理速度

结论

  • BranchyNet提高了推理速度,可与模型压缩等方法结合起来,不局限于分类任务

短小精悍

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值