Multi-exit Network

关键词:Multi-exit, 动态网络,Anytime prediction, budgeted batch classification
参考:https://blog.youkuaiyun.com/c9Yv2cf9I06K2A9E/article/details/120340325
NPL中的multi-exit调研 :https://github.com/txsun1997/awesome-early-exiting
在这里插入图片描述
【Improving the Accuracy of Early Exits in Multi-Exit Architectures via Curriculum Learning】2021-IJCNN
关键词:课程式学习
code(tf):https://gitlab.au.dk/maleci/MultiExitCurriculumLearning
任务: image classification
数据集:CIFAR 10,CIFAR 100
训练方法:classifier-wise training, curriculum learning(创新点)
multi-exit常见训练方法:
(1):end-to-end, one-stage, 联合训练所有branch的loss,每个branch的loss有一个超参数权重。问题:该方法对branch位置敏感,一个branch的acc可能受其他branch影响
(2):layer-wise, 分级训练, n-stage,第一次训练模型直到第一个branch的部分,第二次冻结之前的权重,训练模型剩余部分直到第二个branch的部分,依次进行。
(3):classifier-wise, n-stage, 首先训练backbone+final exit,然后冻结backbone,单独训练每个branch
本文选择classifier-wise是因为每个branch独立,因此其位置和数量也可以任意设置。而end-to-end、layer-wise方法对branch的位置和数量是敏感的。
curriculum learning见课程式学习 Curriclum Learning,主要包含一个sorting function设计和pacing function设计
常见的sorting function:
(1):基于先验知识的度量
(2):teacher网络的得分来衡量,再训练student网络。如果teacher和student采用同一个网络,则称为self-taught。
(3):强化学习
文中采用第二种方法:two stage,用一个teacher network获得样本得分衡量样本难易度,按照得分顺序输入student network来训练。
文中指出一些情况下anti-curriculum效果更好,需要都尝试一下。
网络backbone:DenseNet201, MobileNet, ResNet152, InceptionV3
Exit branch设计:
(1)数量:2
(2)结构:见下图, 参考自“Triple wins: boosting accuracy, robustness and efficiency together by enabling input-adaptive inference”
(3)位置:文中对exit位置进行了讨论:
每个exit的位置取决于主干网的架构。
我们发现,在backbone中稍后面的放置一个exit并不一定会提高该分支的整体准确性,可能在更前的位置效果更好。
一般来说,exit位于“自然块”之后,例如concatenation layer,residual connection, dense block之后,它们的性能更好
(4)退出策略:branch输出的概率作为置信度
在这里插入图片描述

在这里插入图片描述
【MULTI-SCALE DENSE NETWORKS FOR RESOURCE EFFICIENT IMAGE CLASSIFICATION】2018 ICLR
关键词:DenseNet, 多尺度

参考:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值