【论文阅读26】GradNorm: Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks

文章探讨了在深度多任务网络中,如何通过GradNorm算法动态调整梯度大小以平衡任务,减少过拟合,提高网络性能。GradNorm通过自适应调整权重,优化梯度平衡,简化了训练过程,尤其是在处理大量任务时。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文相关

论文标题:GradNorm: Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks(深度多任务网络中自适应损失平衡的梯度归一化研究)
发表时间:2017
领域:多任务学习损失函数优化
发表期刊:
相关代码:无
数据集:无

摘要

深度多任务网络,即一个神经网络产生多个预测输出,可以比单任务网络提供更好的速度和性能,但正确的训练具有挑战性。我们提出了一种梯度归一化(GradNorm)算法,通过动态调整梯度大小来自动平衡深度多任务模型的训练。我们表明,对于各种网络架构,对于回归和分类任务,以及合成和真实数据集,与单任务网络、静态基线和其他自适应多任务损失平衡技术相比,GradNorm提高了准确性,并减少了跨多个任务的过拟合。GradNorm也匹配或超过穷举网格搜索方法的性能,尽管只涉及单个不对称超参数α。因此,曾经是一个乏味的搜索过程,为每个添加的任务产生指数级的计算,现在可以在几次训练运行中完成,而不管任务的数量。最终,我们将证明梯度操纵使我们对多任务网络的训练动态有很大的控制,并可能是释放多任务学习潜力的关键之一。

1.引言

计算机视觉中的单任务学习在深度学习方面取得了很大的成功,许多单任务模型现在在各种任务中的表现达到或超过人类的精度。然而,一个能够实现完整场景理解的终极视觉系统必须能够同时有效地执行许多不同的感知任务,特别是在嵌入式系统的有限计算环境中,如智能手机、可穿戴设备和机器人/无人机。这样的系统可以通过多任务学习来实现,其中一个模型在多任务任务中共享权重,并在一次向前传递中进行多个推断。这些网络不仅是可扩展的,而且这些网络内的共享特征可以诱导更鲁棒的正则化,从而提高性能。在理想的极限下,我们可以拥有多任务网络的最佳状态:更高的效率和更高的性能。
一般来说,多任务网络很难训练;不同的任务需要得到适当的平衡,以便网络参数收敛到对所有任务都有用的鲁棒共享特征。

确实很难训练,因为你也不知道最合适的权重参数,完全是在瞎猫碰死耗子

迄今为止,多任务学习的方法在很大程度上试图通过操纵网络的正向传递来找到这种平衡(例如,通过构建特征之间的显式统计关系或优化多任务网络架构),但这些方法忽略了一个关键的见解:任务的不平衡阻碍了适当的训练,因为它们表现为反向传播的梯度之间的不平衡。例如,一项在训练过程中过于占主导地位的任务,必然会通过诱导具有相对较大幅度的梯度来表达这种主导地位。我们的目标是通过调整多任务损失函数来直接修改梯度幅度,从而彻底缓解这些问题。

在实践中,多任务损失函数通常被认为是单任务损失Li, L = ∑ i w i L i L=\sum_iw_iL_i L=iwiLi,其中总和运行于所有T任务。在我们的例子中,我们提出了一种自适应的方法,因此 w i w_i wi可以在每个训练步骤t: w i = w i ( t ) w_i = w_i (t) wi=wi(t)中发生变化。这种线性形式的损失函数便于实现梯度平衡,因为 w i w_i wi非常直接地和线性地耦合到每个任务的反向传播的梯度大小。然后,挑战是在每个训练步骤t中找到每个 w i w_i wi的最佳值,以平衡每个任务对最优模型训练的贡献。为了优化梯度平衡的权值 w i ( t ) w_i (t) wi(t),我们提出了一个简单的算法,当任何任务的反向传播梯度太大或太小时,它会惩罚网络。当任务以相似的速度进行训练时,就会达到正确的平衡;如果任务i的训练速度相对较快,那么它的权重 w i ( t ) w_i (t) wi(t)应该相对于其他任务的权重 w j ( t ) ∣ j ≠ i w_j (t)|_{j≠i} wj(t)j=i减少,从而允许其他任务对训练的影响更大。我们的算法可以说是类似于批处理归一化(Ioffe & Szegedy,2015),有两个主要的特征:

  • (1)我们跨任务进行规范化,而不是跨数据批处理进行规范化。
  • (2)我们使用利率平衡作为一个期望的目标来告知我们的正常化。
    我们将证明这种梯度归一化(以下简称GradNorm)可以提高网络性能,同时显著减少过拟合。
    我们对多任务学习的主要贡献如下:
  • 1.一种直接调整梯度大小的多任务损失平衡算法。
  • 2.一种匹配或超过非常昂贵的穷举网格搜索过程的方法,但只需要调优单个超参数。
  • 3.直接梯度交互作用为控制多任务学习提供了一种强大的方法。

2. GradNorm算法

2.1 定义和准备工作

对于多任务损失函数 L ( t ) = ∑ w i ( t ) L i ( t ) L (t) = \sum w_i (t)L_i (t) L(t)=wi(t)Li(t),我们旨在学习 w i ( t ) w_i (t) wi(t)的函数,其目标如下:

  • 将不同任务的梯度规范放在一个共同的尺度上,通过它我们可以推断它们的相对大小。
  • 动态调整梯度规范,使不同的任务以相似的速度训练。

为此,我们首先对相关的量进行微调,首先是关于我们将操纵的梯度。

  • W:全网络权值的子集W⊂W,我们实际应用GradNorm。选择W通常作为最后一层共享的权重,以节省计算成本
  • G W ( i ) ( t ) = ∣ ∣ ∇ W w i ( t ) L i ( t ) ∣ ∣ 2 G^{(i)}_W(t)=||∇_Ww_i(t)L_i(t)||_2 GW
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值