继续咱们的“网络结构1000变”板块,最新上新的内容主要是动态推理的网络结构,即在测试时,对于不同的输入图像,表现不同的网络结构,下面是一个代表。
有三AI知识星球-网络结构1000变
通常来说模型训练完之后结构就是固定的,测试时图片沿着固定的通路进行计算。然而测试样本本身有不同的难度,简单的样本只需要少量的计算量就可以完成任务,困难的样本则需要更多的计算量, BranchyNet就实现了不同难度的样本在测试时运行不同网络的想法,其网络结构如下:
如上图所示,它在正常网络通道上包含了多个旁路分支,这样的思想是基于观察到随着网络的加深,表征能力越来越强,大部分简单的图片可以在较浅层时学习到足以识别的特征,如上图中的Exit 1通道。一些更难的样本需要进一步的学习,如上图中的Exit 2通道,而只有极少数样本需要整个网络,如Exit3通道。这样的思想可以实现精度和计算量的平衡,对于大部分样本,可以用更小的计算量完成任务。
那么如何判断是否可以提前结束呢?采用分类信息熵就可以了,一旦该通道的分类信息熵低于某一个阈值,说明已经以很高的置信度获得了分类的结果,直到最终的通道。
在训练的时候,每一个通道都会对损失有贡献,越靠近浅层的网络权重越大。多通道的损失不仅增强了梯度信息,也在一定程度上实现了正则化。
将BranchyNet的设计思想用于LeNet,AlexNet,ResNet结构后,在不同阈值下的精度,加速比统计如下:
对于拥有N个分支的网络,需要的就是N-1个阈值,因为最后一个分支不需要阈值。从上表可以看出,在维持性能的前提下,加速效果明显,LeNet系列网络可以让超过90%的样本在第一个分支提前终止,AlexNet也超过一半,ResNet超过了40%。
更多的相关网络结构,请查阅知识星球最近的“网络结构1000变”的内容!
转载文章请后台联系
侵权必究