深度学习模型动态分支选择的推理方法及系统转让专利
申请号 : CN202110122098.8
文献号 : CN112446439B
文献日 : 2021-04-23
发明人 : 李发成 , 袁施薇 , 张如高 , 虞正华
申请人 : 魔视智能科技(上海)有限公司
摘要 :
权利要求 :
1.一种深度学习模型动态分支选择的推理方法,其特征在于,包括:S101、构建并训练用于图片的语义分类、语义检测或者语义分割的深度学习模型,所述深度学习模型包括编码器、分支选择器以及分别一一对应不同的分支类别的多个解码分支,所述深度学习模型被训练为:
由所述编码器从输入的图片中提取多个初级特征;
由所述分支选择器识别并输出初级特征的分支类别;
由解码分支通过与分支类别对应的特征权重组对所有初级特征进行处理得到深层特征、对所述深层特征进行识别输出推理结果;
S102、将所述编码器、分支选择器以及各解码分支的特征权重组部署到边缘计算设备中,在输入推理任务图片后,输出初级特征和分支类别;
S103、将所述多个解码分支部署到边缘计算设备中,根据步骤S102输出的分支类别选择相应的解码分支,由该解码分支接收步骤S102输出的初级特征,输出推理结果。
2.根据权利要求1所述的一种深度学习模型动态分支选择的推理方法,其特征在于,所述编码器采用常用深度卷积神经网络模型的浅层部分的结构。
3.根据权利要求2所述的一种深度学习模型动态分支选择的推理方法,其特征在于,所述编码器采用ResNet、Inception或者MobileNet的浅层部分结构。
4.根据权利要求3所述的一种深度学习模型动态分支选择的推理方法,其特征在于,所述分支选择器通过对初级特征进行分类,输出与解码分支数量相同的矢量,并对该矢量进行取最大值位置操作得到被选择的解码分支的编号,所述分支选择器由全局平均池化层、全连接层、激活层以及全连接层构成。
5.根据权利要求4所述的一种深度学习模型动态分支选择的推理方法,其特征在于,所述解码分支采用常用深度卷积网络模型的深层部分的结构。
6.根据权利要求5所述的一种深度学习模型动态分支选择的推理方法,其特征在于,所述解码分支采用ResNet、Inception或者MobileNet的深层部分结构。
7.根据权利要求1或6所述的一种深度学习模型动态分支选择的推理方法,其特征在于,所述深度学习模型通过端对端训练策略进行训练:将多个解码分支设计为相同的结构,训练时用组卷积形式等价替代多个解码分支的组合;
将分支选择器的输出通过复制拓宽后接入在组卷积部分输出处,最后接入最终任务输出部分,从而实现端对端训练;
部署时,将组卷积拆分为独立的解码分支,然后由分支选择器的输出决定解码分支。
8.根据权利要求1或6所述的一种深度学习模型动态分支选择的推理方法,其特征在于,所述深度学习模型通过分步训练策略进行训练:先将编码器和分支选择器作为整体训练为一个分类器,类别输出与解码分支对应;
根据训练好的模型权重,将编码器输出的初级特征作为各个解码分支的输入,然后根据推理任务分别训练各个解码分支;
当上述两个步骤训练收敛完成后,再组合联合训练直至最后模型收敛。
9.一种深度学习模型动态分支选择的推理系统,其特征在于,包括存储模块,所述存储模块包括由处理器加载并执行的指令,所述指令在被执行时使所述处理器执行根据权利要求1‑8任一项所述的一种深度学习模型动态分支选择的推理方法。
说明书 :
深度学习模型动态分支选择的推理方法及系统
技术领域
背景技术
要求,这是因为对于数据密集型的复杂任务,通常需要复杂的卷积神经网络模型才能很好
地拟合任务,过于轻量型的模型会欠拟合。
层特征),一般称作为编码,然后神经网络的更深层部分识别这些初级特征,得到更深层的
特征(如车轮特征),最后识别这些更深层的特征输出推理结果,一般称作为解码,传统的深
度卷积神经网络模型中只有一个大的解码器,该解码器只有一套特征权重组来对初级特征
进行处理和对深层特征进行识别,但我们发现当输入包含较大不同类别的特征的图片时,
在神经网络的深层部分,也就是解码部分,往往会存在一部分特征是冗余的,导致神经网络
的计算存在冗余。以分类任务为例,区分特征相差较多的两个类别,比如人和车,神经网络
的编码部分会提取一些初级特征,通过解码部分的特征识别后,某些层的一些通道可能会
生成类似车轮特征,但这些特征对于识别人来说是冗余的。
发明内容
推理方法及系统。
分支,所述深度学习模型被训练为:
一种深度学习模型动态分支选择的推理方法。
过对应分支类别的初级特征输入以及相应的输出进行训练分别得到不同的特征权重组,能
专注于对应分支类别的初级特征的处理和深层特征的识别以完成更加复杂的分类或者表
征的生成,从而降低计算冗余,提升推理速度,满足边缘计算设备的实际应用需求。
附图说明
具体实施方式
分支13,该深度学习模型被训练为:
分支类别。
中的某类识别,也可以是不同表征形式的任务。区别于传统深度卷积神经网络中的解码器
只有一套特征权重组,本发明中的每个解码分支13通过对应分支类别的初级特征输入以及
相应的输出进行训练分别得到不同的特征权重组,使其在被选择后通过与分支类别对应的
特征权重组,对所有初级特征进行处理得到深层特征、对深层特征进行识别输出推理结果,
由于每个解码分支13分别具有对应分支类别的一套特征权重组,使得每个解码分支能够专
注于处理相应分支类别的初级特征和识别相应分支类别的深层特征,从而减少冗余,提升
推理速度。
型为例,浅层部分是指MobileNet的第一层卷积层和前两个尺度的瓶颈结构(bottleneck)。
作(Argmax)得到被选择的解码分支的编号,如输出的矢量为[0,0,1,0,0,0,0,0,0,0],进行
Argmax操作后,得到解码分支的编号为3。分支选择器由全局平均池化层、全连接层、激活层
以及全连接层构成,由最后一个全连接层输出上述矢量并进行Argmax操作。
的瓶颈结构。每个解码分支13的结构可以相同也可以不相同,视任务而定。
不能够直接动态选择权重,只能变通地根据中间输入选择不同分支,故不能将本发明深度
学习模型整体部署在专用加速器上,需要将编码器、分支选择器、解码分支拆分为两个阶段
分别部署。
输出中间特征(初级特征)以及分支选择器的输出类别;步骤S103作为第二阶段部署所有解
码分支。
输入,最终得到输出。
过程能够降低复杂多类别分类任务的冗余,每个解码分支的特征权重组专注于识别所属分
支类别的特征,从而能够在较少权重下得到更精细类别的识别能力。举例来说,如果一个分
类任务需要识别不同种类的车和穿不同衣服的人,分支选择器可以按照人和车对初级特征
进行初步分类,然后分别由精细分类人的解码分支和精细分类车的解码分支分别对所有初
级特征进行进一步的精细分类,识别出穿不同款式的人和不同种类的车。
输出。比如,在辅助驾驶视觉感知中的前方主要目标识别任务中,对于人需要输出人的姿态
关键点,对于车辆则需要输出三维的长宽高等信息。在这个应用场景中,分支选择器识别出
人和车的初级特征,然后分别选择人的解码分支和车的解码分支分别输入所有初级特征,
对应人的解码分支最后输出了人的姿态关键点,对于车辆的解码分支则输出了车辆的三维
立体框。在传统的深度卷积神经网络中,则需要让一个大的解码器通过多次计算,分别得到
不同任务的输出,而每次计算整个解码器都需要参与,所以存在计算冗余。
分支的权重进行剪枝,从而在权重上和特征上双重压缩算力冗余,达到最佳加速效果。
练样本和对应最终标注,分支选择器能够自动地完成训练;而分开训练策略需要根据具体
任务,额外提供分支选择器的类别标注,分支选择器需要通过监督学习训练,一般流程是第
一阶段先训练编码器和分支选择器的权重,第二阶段固定住编码器权重,单独训练不同的
解码分支的权重,或者加入分支选择器一起训练。
示。
器分支数量。n个结构一致的解码分支可以结合为一个大的组合解码器,这个组合解码器的
每一层卷积由n个解码分支对应层的卷积组成,等价于通道数是单个分支对应卷积通道数n
倍的组卷积。组合解码器直接接入编码器输出的中间特征,并输出组合特征,定义其形状为
(N,nxC,H,W),N为批次大小,nxC为中间特征的通道数,对应n组输出特征,其中C为单一分支
的通道数,H,W分别为特征的高宽尺度大小。
矢量与组合卷积输出的组合特征在通道上相乘,得到选择后的组合特征,然后通过卷积或
者全连接得到最终输出,训练时由随机小批次梯度回传方法优化该输出与样本标签构成的
损失函数。
不同的权重。
阶段先只训练父类分类器。第一阶段训练完成后,固定住编码器的权重,根据当前分支选择
器的输出,动态选择对应解码分支,然后优化子类的损失函数,并且同步优化由分支选择器
输出父类损失函数。
同的任务,避免一个大模型耗费冗余计算量完成多形式任务输出。
器执行本说明书上述一种深度学习模型动态分支选择的推理方法部分中描述的根据本发
明各种示例性实施方式的步骤。
式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算
设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备
上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计
算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网
(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商
来通过因特网连接)。
的变化、变型都将落在本发明的权利要求书范围内。