为你的主网络添加一个侧网络
机器学习
2020-07-28 v1 机器学习
摘要
随着深度神经网络性能和普及度的提升,其计算成本也随之增加。有许多有效的技术可减小网络的计算占用(量化、剪枝、知识蒸馏),但这些技术得到的模型无论输入如何,计算成本都相同。人类的反应时间随所执行任务的复杂度而变化:较易的任务(例如区分狗与船)比更难的任务是(例如区分两个外观相似的犬种)执行得快得多。受此观察驱动,我们开发了一种通过向大型预训练网络(我们称之为 MainNet)附加一个小的分类层(我们称之为 SideNet)来实现自适应网络复杂度的方法。给定输入,SideNet 若通过其 softmax 获得的置信度超过用户设定的阈值,则返回分类结果,仅当置信度过低时才将其传递给大型 MainNet 作进一步处理。这使我们能灵活地权衡网络性能与计算成本。实验结果表明,添加到预训练 ResNet 和 BERT MainNet 上的简单单隐藏层感知机 SideNet,在图像与文本分类任务上以最小的性能下降实现了计算量的大幅降低。我们还强调了我们方法的另外三个可取性质,即 SideNet 获得的分类是经过校准的、可与其他计算缩减技术互补,并且它们能够轻松探索计算-精度空间。
引用
@article{arxiv.2007.13512,
title = {Add a SideNet to your MainNet},
author = {Adrien Morisot},
journal= {arXiv preprint arXiv:2007.13512},
year = {2020}
}
备注
15 pages, 6 figures