当前位置: 首页 > 专利查询>奇跃公司专利>正文

用于深度多任务网络中自适应损失平衡的梯度归一化系统和方法技术方案

技术编号:24767124 阅读:118 留言:0更新日期:2020-07-04 11:59
公开了用于训练多任务网络的系统和方法。在一个方面,训练多任务网络包括确定相对于多任务网络的网络权重由每个任务的任务权重调整的单任务损失的梯度范数,以及基于该任务的单任务损失的该任务的相对训练速率。随后,可以确定梯度损失函数,包括(1)针对每个任务确定的梯度范数与(2)对应目标梯度范数之间的差。可以使用梯度损失函数相对于该任务的任务权重的梯度来确定该任务的更新任务权重,并将其用于训练多任务网络的下一个迭代中。

Gradient normalization system and method for adaptive loss balancing in deep multitask networks

【技术实现步骤摘要】
【国外来华专利技术】用于深度多任务网络中自适应损失平衡的梯度归一化系统和方法相关申请的交叉引用本申请要求2017年10月26日提交的美国专利申请号62/577,705、2017年12月16日提交的美国专利申请号62/599,693、2018年2月8日提交的美国专利申请号62/628,266以及于2018年7月9日提交的美国专利申请号62/695,356的优先权,其每个申请题为“用于深度多任务网络中自适应损失平衡的梯度归一化系统和方法”,并且其每一个的全部内容通过引用整体并入本文。版权声明该专利文件的公开的一部分包含受版权保护的材料。版权所有者不反对任何人以专利与商标局专利文件或记录中的形式复制专利文件或专利公开的内容,但保留其他所有版权。
本公开总体上涉及用于机器学习的系统和方法,并且更具体地涉及训练机器学习模型。
技术介绍
深度神经网络(DNN)是一种计算机器学习方法。DNN属于一类人工神经网络(NN)。利用NN,可以构建模拟生物神经网络的特征的计算图。生物神经网络包括对计算很重要的特征,并负责生物系统的许多功能,这些功能本文档来自技高网...

【技术保护点】
1.一种用于训练多任务网络的系统,包括:/n非暂时性存储器,其被配置为存储:/n可执行指令,以及/n多任务网络,用于确定与多个任务相关联的输出;以及/n与所述非暂时性存储器通信的硬件处理器,所述硬件处理器由所述可执行指令编程为:/n接收与用于所述多个任务的多个参考任务输出相关联的训练图像;/n对于所述多个任务中的每个任务,/n相对于所述多任务网络的多个网络权重,确定由所述任务的任务权重调整的(1)使用具有所述训练图像作为输入的所述多任务网络所确定的所述任务的任务输出与(2)与所述训练图像相关联的所述任务的对应参考任务输出的单任务损失的梯度范数;以及/n基于所述任务的所述单任务损失确定所述任务的...

【技术特征摘要】
【国外来华专利技术】20171026 US 62/577,705;20171216 US 62/599,693;20181.一种用于训练多任务网络的系统,包括:
非暂时性存储器,其被配置为存储:
可执行指令,以及
多任务网络,用于确定与多个任务相关联的输出;以及
与所述非暂时性存储器通信的硬件处理器,所述硬件处理器由所述可执行指令编程为:
接收与用于所述多个任务的多个参考任务输出相关联的训练图像;
对于所述多个任务中的每个任务,
相对于所述多任务网络的多个网络权重,确定由所述任务的任务权重调整的(1)使用具有所述训练图像作为输入的所述多任务网络所确定的所述任务的任务输出与(2)与所述训练图像相关联的所述任务的对应参考任务输出的单任务损失的梯度范数;以及
基于所述任务的所述单任务损失确定所述任务的相对训练速率;
确定包括(1)针对每个任务所确定的梯度范数与(2)对应的目标梯度范数之间的差的梯度损失函数,所述对应的目标梯度范数是基于以下来确定的:(a)所述多个任务的平均梯度范数,(b)所述任务的所述相对训练速率,以及(c)超参数;
确定所述梯度损失函数相对于所述多个任务中的每个任务的任务权重的梯度;以及
使用所述梯度损失函数相对于所述任务权重的所述梯度,确定所述多个任务中的每个任务的更新任务权重。


2.根据权利要求1所述的系统,其中,所述硬件处理器还由所述可执行指令编程为:确定(1)使用具有所述训练图像作为输入的所述多任务网络所确定的每个任务的任务输出与(2)与所述训练图像相关联的所述任务的所述对应任务输出的单任务损失。


3.根据权利要求2所述的系统,其中,所述非暂时性存储器被配置为还存储:与所述多个任务相关联的多个损失函数。


4.根据权利要求3所述的系统,其中,为了确定所述单任务损失,所述硬件处理器还由所述可执行指令编程为:使用所述多个损失函数中与所述任务相关联的损失函数来确定(1)使用具有所述训练图像作为输入的所述多任务网络所确定的每个任务的任务输出与(2)与所述训练图像相关联的所述任务的所述对应任务输出的所述单任务损失。


5.根据权利要求1所述的系统,其中,所述硬件处理器还由所述可执行指令编程为:
确定包括由每个任务的任务权重调整的所述单任务损失的多任务损失函数;
确定所述多任务损失函数相对于所述多任务网络的所有网络权重的梯度;以及
基于所述多任务损失函数的所述梯度,确定所述多任务网络的更新网络权重。


6.根据权利要求1所述的系统,其中,由所述任务权重调整的所述单任务损失的所述梯度范数是由所述任务权重调整的所述单任务损失的L2范数。


7.根据权利要求1所述的系统,其中,所述梯度损失函数是L1损失函数。


8.根据权利要求1所述的系统,其中,所述硬件处理器还由所述可执行指令编程为:将所述多个任务的所述梯度范数的平均值确定为所述平均梯度范数。


9.根据权利要求1所述的系统,其中,所述对应的目标梯度范数是基于以下来确定的:(a)所述多个任务的平均梯度范数,(b)所述任务的所述相对训练速率的逆,以及(c)超参数。


10.根据权利要求9所述的系统,其中,所述硬件处理器进一步由所述可执行指令编程为:将所述多个任务的所述平均梯度范数乘以所述任务的所述逆相对训练速率的所述超参数的幂确定为所述对应的目标梯度范数。


11.根据权利要求9所述的系统,其中,为了基于所述任务的所述单任务损失来确定所述任务的所述相对训练速率,所述硬件处理器还由所述可执行指令编程为:基于所述任务的所述单任务损失与所述任务的另一单任务损失的损失比率,确定所述任务的所述相对训练速率的逆。


12.根据权利要求11所述的系统,其中,为了确定所述任务的所述相对速率的逆,所述硬件处理器还由所述可执行指令编程为:确定所述任务的所述损失比率与所述多个任务的损失比率的平均值的比率,作为所述相对训练速率的逆。


13.根据权利要求1所述的系统,其中,为了确定所述梯度损失函数的所述梯度,所述硬件处理器还由所述可执行指令编程为:确定所述梯度损失函数相对于所述多个任务中的每个任务的任务权重的梯度,同时保持所述任务的所述目标梯度范数不变。


14.根据权利要求1所述的系统,其中,所述硬件处理器还由所述可执行指令编程为:归一化所述多个任务的所述更新权重。


15.根据权利要求14所述的系统,其中,为了归一化所述多个任务的所述更新权重,所述硬件处理器还由所述可执行指令编程为:将所述多个任务的所述更新权重归一化到所述多个任务的数量。


16.根据权利要求1所述的系统,其中,所述多个任务包括回归任务、分类任务、或它们的组合。


17.根据权利要求16所述的系统,其中,所述分类任务包括感知、面部识别、视觉搜索、手势识别、语义分割、对象检测、房间布局估计、长方体检测、照明检测、同时定位和映射、重新定位、语音处理、语音识别、自然语言处理、或其组合。


18.根据权利要求1所述的系统,其中,所述多任务网络包括多个共享层和包括多个任务特定过滤器的输出层。


19.根据权利要求18所述的系统,其中,所述多任务网络的所述输出层包括仿射变换层。


20.一种用于训练多任务网络的方法,包括:
在硬件处理器的控制下
接收多个训练数据中的训练数据,每个...

【专利技术属性】
技术研发人员:Z·陈V·巴德里娜拉亚楠A·拉比诺维奇
申请(专利权)人:奇跃公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1