一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于信息熵动态赋权的多任务学习自适应平衡方法与流程

2021-10-24 09:16:00 来源:中国专利 TAG:学习 自适应 平衡 机器 方法


1.本发明属于机器学习技术领域,具体涉及一种基于信息熵动态赋权的多任务学习自适应平衡方法。


背景技术:

2.机器学习通过经验知识改善计算机算法的性能以实现智能自主的学习工作,是人工智能的核心技术之一。但机器学习技术通常需要大量的学习样本,尤其是最近广为流行的深度学习模型通常需要海量标记样本来训练网络。然而,在很多应用中,训练样本的某些任务标签很难收集或者人工标注比较费时费力。在这种情况下,可以利用多任务学习来最大化地利用每个任务中有限的训练样本。
3.多任务学习旨在联合学习多个相关的任务来提升每个任务的泛化性能,在自然语言处理和计算机视觉等领域得到了广泛的应用。其中每个任务可以是一般的学习任务,例如有监督的任务(例如分类或回归问题)、非监督任务(例如聚类问题)、强化学习任务或者多视图学习任务等等。
4.近年来,深度学习极大地提升了各种计算机视觉任务的性能,而多任务学习在一个模型中联合学习多个任务从而获得较好的泛化性能和较低的内存占用,两者的结合即深度多任务学习研究取得了巨大的进展。但目前深度多任务学习仍然存在以下几个问题:(1)不同子任务之间信息交流不够充分而难以完全发挥多任务学习的优势;(2)现有大多数mtl研究的损失函数通常由子任务的损失线性加权得到,其依赖于人为经验而缺乏适应性。
5.当前的深度多任务学习研究主要集中在网络结构和优化策略方面的设计:
6.网络结构研究上,在深度神经网络中进行多任务学习机制主要有两种方式,即硬参数分享和软参数分享。其中,硬参数分享通常在所有任务之间共享隐藏层,同时保留多个特定于任务的输出层。由于同时学习的任务越多,模型越需要找到适用于所有任务的表达,所以硬参数分享大大降低了过拟合的风险。另一方面,软参数分享中,每一个任务都有自己的模型和对应参数,然后对模型参数距离进行正则化调整以增大参数的相度。
7.优化策略研究上,大多数多任务学习相关工作都简单地将各个任务的权重设置为固定比例,但这种方式严重依赖于人为经验,且在某些情况下,不合适的权重可能导致某些子任务无法正常工作。因此,不同于设计多任务分享模型的结构,另一部分研究着力于平衡不同任务对网络的影响,包括不确定性权重、梯度归一化算法和动态权重平均策略等研究。
8.综上所述,由于多任务模型包含有多种学习任务,如何自适应地平衡不同任务间的重要性具有重要的研究意义。


技术实现要素:

9.本发明为了提高多任务学习模型的泛化性,通过对不同任务的特点及多任务模型应用的需求分析,在模型优化策略上设计了一种基于信息熵动态赋权的多任务学习自适应平衡方法,即在模型训练过程中动态调整各个任务损失函数的相对权重,实现多任务学习
模型的自适应训练与准确预测。
10.所述的基于信息熵动态赋权的多任务学习自适应平衡方法,具体步骤如下:
11.步骤一,搭建多任务学习模型m,通过当前多任务学习模型m对输入图像进行模型推断和归一化处理,得到不同类型的归一化概率图;
12.初始多任务学习模型m包含一个共享编码器和三个任务特定解码器。
13.多任务学习模型m对输入图像进行模型推断后生成三个像素级任务输出,分别为语义分割输出图p
s
、深度估计输出图p
d
和边缘检测输出图p
b
,对每个任务输出图分别进行归一化处理,得到不同类型的归一化概率图,具体为:
14.1)语义分割输出图p
s
,采用softmax函数进行处理,得到归一化后的语义分割概率图:
[0015][0016]
其中,m为语义分割总类别数,i表示预测图中第i层语义类别,p
s,i
为模型输出图p
s
的第i层语义分割数值图,而p’s,i
则表示归一化后的第i层语义分割概率图p’s

[0017]
2)边缘检测输出图p
b
,采用sigmoid函数进行处理,得到归一化后的边缘检测概率图p’b

[0018][0019]
3)深度估计输出图p
d
,利用对数空间离散化策略将深度回归任务转化为分类任务,采用softmax函数得到归一化后的深度分类概率图;
[0020]
首先,采用对数空间离散化策略将连续空间的深度值离散划分为k个子间隔对应k个类别;
[0021]
具体为:将深度值区间[d1,d2]映射到[d1 1,d2 1],记为[d
′1,d
′2],并按照离散化深度阈值d
k
进行划分,得到k个子间隔{[d0,d1],[d1,d2],...,[d
k
‑1,d
k
]}。
[0022]
离散化深度阈值d
k
定义为:
[0023][0024]
然后,将深度估计真值按照上述策略离散化为深度分类真值;
[0025]
即当深度估计真值处于[d
k
‑1,d
k
]时对其分配类别k,并以深度分类真值训练深度任务分支。
[0026]
最后,在训练阶段得到深度分类预测图,并采用softmax函数进行处理,获得归一化后的深度分类概率图p’d,k

[0027]
深度分类概率图为:
[0028][0029]
其中,k为深度分类总类别数,k表示第k个深度类别,p
d,k
表示第k层深度分类预测图,p’d,k
表示归一化后的第k层深度分类概率图。
[0030]
步骤二,利用归一化后的概率图计算多任务损失函数,对当前多任务学习模型m进行初步训练;
[0031]
具体为:
[0032]
首先,采用交叉熵函数计算获得的归一化各类型概率图对应的损失;
[0033]
交叉熵损失函数l
t
为:
[0034][0035]
其中,y
t
为各任务对应的one

hot形式有监督类别标签;t为s、d或b,即p

t
是语义分割、边缘检测或者深度估计任务的归一化概率图;c为各任务对应的总类别数,i表示预测图中第i层类别。
[0036]
然后,按照每个任务的固定权重来构建等权加和多任务损失函数l
mtl
为:
[0037][0038]
最后,利用多任务损失函数l
mtl
进行网络模型的梯度反传和参数更新,迭代训练得到初步训练后的多任务学习模型。
[0039]
步骤三,在初步训练的多任务学习模型m的基础上,利用信息熵动态赋权算法构建最终的自适应多任务损失函数l

mtl

[0040]
具体为:
[0041]
首先,利用各类别多层概率图计算每个任务的信息熵值e
t

[0042][0043]
其中,w和h分别为概率图行和列坐标,w和h分别为概率图行和列长度的最大值;c为概率图的通道值数,c为各个任务对应的类别总数。
[0044]
然后,利用信息熵值分配各个任务的相对权重w
t

[0045]
相对权重w
t
为:
[0046][0047]
当任务的预测结果越差时,输出概率图不确定性越高,对应信息熵值也就越大。因此对预测性能较差的任务分配较大权重,可以使模型侧重训练相应任务。
[0048]
最后,根据各任务的相对权重以及交叉熵损失函数l
t
,通过赋权求和方式构建最终的自适应多任务损失函数。
[0049]
最终的自适应多任务损失函数l

mtl
为:
[0050][0051]
步骤四,利用最终的自适应多任务损失函数l

mtl
进行反向传播,获得当前多任务学习模型m的参数梯度,并利用梯度下降算法更新当前多任务学习模型m的参数,完成一次迭代训练;
[0052]
步骤五,迭代训练完成后,获得新的多任务学习模型m1,返回步骤三进行下一次迭代,直至多任务学习模型m1达到收敛,终止训练。
[0053]
本发明的优点在于:
[0054]
(1)本发明一种基于信息熵动态赋权的多任务学习自适应平衡方法,采用离散化策略将回归任务转化为分类任务,可以有效应对不同类型任务,算法适用性强;
[0055]
(2)本发明一种基于信息熵动态赋权的多任务学习自适应平衡方法,利用任务输出的预测图计算信息熵,不需要对模型结构设计或者参数更新过程进行更改,简洁高效、即插即用;
[0056]
(3)本发明一种基于信息熵动态赋权的多任务学习自适应平衡方法,基于信息熵值动态调整任务损失函数的权重,能够自适应平衡各个任务的相对重要性,进而提升整体任务性能。
[0057]
(4)本发明一种基于信息熵动态赋权的多任务学习自适应平衡方法,能有效提取模型的通用共享特征和任务特定特征,快速均衡地完成多任务学习模型的训练。
附图说明
[0058]
图1是本发明基于信息熵动态赋权的多任务学习自适应平衡方法的整体流程图;
[0059]
图2是本发明中多任务学习模型的示意图;
[0060]
图3是本发明中回归任务离散化的示意图。
具体实施方式
[0061]
下面结合附图并以计算机视觉中的联合实现语义分割、深度估计和边缘检测的多任务学习网络为例,对本发明的具体实施方法作进一步的详细说明。
[0062]
本发明提出一种基于信息熵动态赋权的多任务学习自适应平衡方法,采用分阶段训练,首先利用固定权重的多任务损失函数进行预训练,然后利用动态赋权的自适应多任务损失函数进行动态训练。在模型训练过程中,信息熵算法能够有效对每个任务的预测结果进行评估,并通过动态赋权策略调整任务的相对权重,使多任务预测模型更加关注并提升性能相对较差的任务,从而实现不同任务性能自适应的平衡学习。
[0063]
本发明是一种基于信息熵动态赋权的多任务学习自适应平衡方法,如图1所示,包括以下步骤:
[0064]
步骤一,初始化网络参数,并进行训练获得初始多任务学习模型。
[0065]
构建基于“单编码器

多解码器”的多任务学习网络模型,如图2所示,具体为:
[0066]
编码器包含所有任务共享的网络参数,采用在imagenet上预训练的骨架网络(例如resnet)进行初始化。解码器包含任务特定的网络参数,每个任务对应一个解码器,采用随机参数初始化方式。本实施例中设定需要求解三个任务:语义分割、深度估计和边缘检测,则多任务学习模型包含一个共享编码器和三个任务特定解码器。
[0067]
三个任务分别经解码器输出后,得到三个交叉熵损失l1、l2和l3,将各任务对应的相对权重w1、w2和w3与其交叉熵损失通过赋权求和,得到多任务损失函数l
mtl

[0068]
l
mtl
=w1l1 w2l2 w3l3[0069]
步骤二,通过多任务学习模型对输入图像进行模型推断和归一化处理,得到不同类型的归一化概率图;
[0070]
多任务学习模型对输入图像进行模型推断后生成三个像素级任务输出,分别为语
义分割输出图p
s
、深度估计输出图p
d
和边缘检测输出图p
b
,对每个任务输出图进行归一化处理,得到不同类型的归一化概率图,具体为:
[0071]
1)语义分割输出图p
s
,采用softmax函数进行处理,得到归一化后的多分类语义分割概率图:
[0072][0073]
其中,s为语义分割总类别数,i表示预测图中第i个语义类别,p
s,i
为模型输出图p
s
的第i层语义分割数值图,而p’s,i
则表示归一化后的第i层语义分割概率图。
[0074]
2)边缘检测输出图p
b
,采用sigmoid函数(等价于二分类softmax函数)进行处理,得到归一化后的边缘检测概率图p’b

[0075][0076]
3)深度估计输出图p
d
,利用对数空间离散化策略将深度回归任务转化为分类任务,采用softmax函数得到归一化后的深度分类概率图;
[0077]
首先,如图3所示,采用对数空间离散化策略将连续空间的深度值离散划分为k个子间隔对应k个类别,具体为:
[0078]
将深度值区间[d1,d2]映射到[d1 1,d2 1],记为[d
′1,d
′2],并按照离散化深度阈值d
k
进行划分,得到k个子间隔{[d0,d1],[d1,d2],...,[d
k
‑1,d
k
]}。
[0079]
离散化深度阈值d
k
定义为:
[0080][0081]
然后,将深度估计真值按照上述策略离散化为深度分类真值,即当深度估计真值处于[d
k
‑1,d
k
]时对其分配类别k,并以深度分类真值训练深度任务分支。
[0082]
最后,在训练阶段得到深度分类预测图,并采用softmax函数进行处理,获得归一化后的深度分类概率图p’d,k

[0083]
深度分类概率图为:
[0084][0085]
其中,k为深度分类总类别数,k表示第k个深度类别,p
d,k
表示第k层深度分类预测图,p’d,k
表示归一化后的第k层深度分类概率图。
[0086]
在本发明的实施例中,取k=80进行深度估计的离散化。深度分支的监督真值为分类形式,因此深度估计任务在这里也是直接以深度分类的形式进行训练。
[0087]
步骤三,对多任务学习模型进行初步训练;
[0088]
由于初始化模型预测的各个任务结果误差较大且不稳定,因此需要初步训练多任务网络模型,具体为:
[0089]
首先,采用交叉熵函数计算获得的各类型归一化概率图对应的损失:
[0090]
[0091]
其中,y
t
为各任务对应的one

hot形式有监督类别标签;t对应步骤一中的各个任务,可以表示为s、d或b,即p

t
是语义分割、边缘检测或者深度估计任务的归一化概率图;c为各任务对应的总类别数,i表示预测图中第i层类别。
[0092]
其次,构建等权加和多任务损失函数l
mtl
为:
[0093][0094]
在初步训练过程中,为每个任务的损失函数赋予相等的固定权重。
[0095]
然后,利用多任务损失函数l
mtl
进行网络模型的梯度反传和参数更新,训练一定迭代次数后获得的多任务学习模型可以进行初步的任务预测。
[0096]
步骤四,在初步训练得到的多任务学习模型基础上,利用信息熵动态赋权算法构建自适应多任务损失函数,进一步优化训练多任务学习模型。
[0097]
具体为:
[0098]
首先,利用各类型多层概率图计算每个任务的信息熵值e
t

[0099][0100]
其中,w和h分别为概率图行和列坐标,w和h分别为概率图行和列长度的最大值;c为概率图的通道数,c为各任务对应类别总数;
[0101]
然后,利用信息熵值分配各个任务的相对权重w
t

[0102]
信息熵可以反应预测概率图的不确定性,因此可以利用任务输出概率图的信息熵分配相对权重:
[0103][0104]
当任务的预测结果越差时,输出概率图不确定性越高,对应信息熵值也就越大。因此对预测性能较差的任务分配较大权重以使模型侧重训练相应任务。
[0105]
最后,根据各任务的相对权重以及交叉熵损失函数l
t
,通过赋权求和方式构建整体自适应多任务损失函数。
[0106]
整体自适应多任务损失函数l

mtl
为:
[0107][0108]
步骤五,利用整体自适应多任务损失函数l

mtl
进行反向传播,获得模型参数梯度,然后利用梯度下降算法更新模型参数,完成一次迭代训练;
[0109]
步骤六,模型参数更新后,获得新的多任务学习模型。返回步骤四进行下一次迭代,直至多任务学习模型达到收敛,终止训练。
[0110]
由于每次网络参数更新后,各个任务的预测性能会发生变化,因此其对应的相对权重也会发生动态改变,从而实现网络模型训练中损失函数的自适应调整。
[0111]
以上实施例仅针对语义分割、深度估计和边缘检测三个特定任务进行说明,但是本发明方法的应用不局限于上述三个特定任务,还可以应用于其他任务,也可以应用于三
个以上的任务情况,根据实际情况对多任务学习模型进行调整。包含其他任务或者三个及以上任务的情形,都属于本发明所解决的技术问题范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜