MetaBalance

然而,在个性化推荐中从辅助任务进行迁移学习的一个主要挑战是梯度大小可能严重失衡,从而对目标任务的性能产生负面影响。如前所述,这种迁移学习通常在多任务网络上进行,该网络通常由一个具有共享参数的底层和几个特定任务层组成。在训练过程中,每个任务都有相应的损失,而每个损失相对于该多任务网络的共享参数都有相应的梯度。这些梯度的总和(目标任务和辅助任务的梯度)会影响共享参数的更新方式。因此,梯度越大,对共享参数的影响就越大。因此,如果辅助损失的梯度远大于目标损失的梯度,那么共享参数将受到该辅助任务而非目标任务的最大影响。因此,目标任务可能会被辅助任务淹没,导致性能下降。另一方面,如果辅助梯度远小于目标梯度,则该辅助任务的影响可能太弱,无法协助目标任务。这种梯度大小的不平衡在工业推荐系统中很常见:图 1(b) 和图 1© 重点展示了阿里巴巴的两个例子,分别说明了目标任务梯度如何被辅助任务所支配,以及一些辅助任务的梯度如何小到只能为目标任务提供微弱的信息。

那么,我们该如何克服这种梯度失衡呢?一种简单且常用的方法是通过网格或随机搜索来调整任务损失(或梯度)的权重。然而,这种固定的任务权重并不是最佳的,因为梯度大小在整个训练过程中会发生动态变化,而且如图 1 所示,不平衡可能会因共享参数的不同子集而异。此外,调整多个辅助任务的权重也非常耗时。

本文提出的 MetaBalance 是一种新颖的算法和灵活的框架,可从梯度大小的角度调整辅助任务,以更好地辅助目标任务。具体来说,MetaBalance 有三种策略:(A)加强目标任务的主导地位–在每次训练迭代中谨慎减少比目标梯度幅度大的辅助梯度;(B)加强从弱辅助任务中转移知识–谨慎扩大比目标梯度幅度小的辅助梯度;以及(C)MetaBalance 在同一迭代中同时采用(A)和(B)两种策略。在缺乏足够先验知识的情况下,采用哪种策略被视为一个数据驱动问题,可根据目标任务验证集的性能经验选择最佳策略。

此外,MetaBalance 还有三个主要特点:
(1) 辅助梯度可以在整个训练过程中动态平衡,并针对共享参数的不同子集进行自适应平衡,这比任务损失的固定权重更加灵活;
(2) MetaBalance 通过防止辅助任务过于强大以至于主宰目标任务或过于弱小以至于无法帮助目标任务来确定目标任务的优先级,这可以通过选择三种策略中的一种来轻松监控;
(3)下一个重要问题是,辅助梯度的大小应该减小或增大多少?我们设计了一个松弛因子来控制这个问题,以便使 MetaBalance 灵活地适应不同的情况。松弛因子也可以根据目标任务验证数据集的性能进行经验选择。

总之,MetaBalance 提供了一个灵活的框架,用于调整辅助梯度,以便从梯度大小的角度更好地改进目标任务。在阿里巴巴的两个真实用户行为数据集上进行的大量实验表明了 MetaBalance 的有效性和灵活性。具体来说,我们有四个目标观测点:

  • 通过从验证集中选择最佳策略和松弛因子,MetaBalance 可以显著提高目标任务的测试精度,这表明通过 MetaBalance 可以更好地将辅助知识转移到目标任务中。
  • MetaBalance 在调整辅助任务以改进目标任务方面的表现明显优于以往的方法。例如,在 NDCG@10 方面,我们观察到比最强基线显著提高了 8.34%。
  • MetaBalance 中只有一个超参数(松弛因子)需要调整,与任务数量无关。因此,MetaBalance 只需要少量的训练运行,这比调整任务损失权重更有效,因为随着任务数量的增加,任务损失权重的计算量也会增加。
  • MetaBalance 可以与 Adam、Adagrad 和 RMSProp 等几种流行的优化器很好地协作,这表明 MetaBalance 有可能广泛应用于多种场景。

在辅助学习中,有几种方法[7, 17, 34]被提出来调整辅助任务,以避免出现辅助任务主导目标任务或与目标任务竞争的情况,即如果辅助梯度的方向与目标梯度的方向相冲突,则会被降低权重或屏蔽掉。我们将在附录(第 A.1.1 节)中详细介绍这些方法,并将它们与所提出的 MetaBalance 进行比较。特别是,MetaBalance 不会对有冲突方向的辅助梯度进行惩罚,而是从梯度大小的角度加强目标任务的主导地位。在实验中,MetaBalance 比这些基于梯度方向的方法显示出更好的泛化效果。

多任务学习 [26, 32] 用于通过联合训练多个任务来提高学习效率和预测准确性。共享底层模型[32]是一种常用的结构,其中特定任务的塔层网络接收来自共享底层网络的相同表征。

在多任务学习中,有人提出了平衡所有任务联合学习的方法,以避免一个或多个任务对网络权重产生主导影响的情况 [4, 14, 19, 23, 27] 。虽然这些方法对目标任务没有特殊偏好(如本文的重点),但我们在第 A.1.2 节(附录)中讨论了它们与 MetaBalance 的联系,并在第 5 节中与它们进行了实验比较。

problem statement

我们的目标是通过在多任务网络上训练与目标任务同时进行的辅助任务来提高目标任务的测试准确性,其中可以转移辅助任务中的有用知识,从而使网络的共享参数趋向于为目标任务提供更强大的特征。在个性化推荐的背景下,目标任务通常是预测用户是否会与某个商品进行交互(如购买或点击),这可以表述为一个二元分类问题。测试准确率是根据用户与之互动的概率排序的前 K 个项目与用户实际互动的地面实况项目集来衡量的。

让 θ 表示共享参数的一个子集。例如,θ 可以是共享底层网络中多层感知器的权重矩阵或偏置向量。θ 是通过联合最小化目标任务损失 Ltar 和辅助任务损失 Laux,i 来学习的,i = 1, …, K:

在这里插入图片描述
我们假设通过梯度下降法更新 θt,学习率为 α:
在这里插入图片描述

其中,t 表示迷你批次的第 t 次训练迭代(t = 1、2…T),Gt total 是 Lt total与 θ 的梯度关系:
在这里插入图片描述

其中,Gtotal 相当于将目标损失和辅助损失的梯度相加。为了简化符号,我们有

在这里插入图片描述

如公式 3 和 2 所示,梯度的大小越大,该梯度对更新 θ 的影响就越大。

4 PROPOSED METHOD

4.1

如上所述,Gtar 和 Gaux,i , …, Gaux,K 之间的大小不平衡可能会对目标任务优化产生负面影响。为了缓解这种不平衡,我们提出了 MetaBalance,通过三种策略和一个放松因子(将在下一小节详细介绍)来动态、自适应地平衡辅助梯度的大小。

算法 1 介绍了 MetaBalance 的基本版本,包括四个步骤:
(1) 计算梯度。在每次训练迭代中,我们首先分别计算 Gttar 和 Gtaux,i(第 2 行和第 4 行)。(2) 应用策略。在第 5 行中,我们可以选择缩小比目标梯度大的辅助梯度,或者扩大比目标梯度小的辅助梯度,或者同时应用两种策略。可以根据目标任务的验证性能来选择策略。(3) 平衡梯度。接下来,通过除以 ∥Gtaux,i ∥ 将 Gtaux,i 归一化为单位矢量,然后通过乘以 ∥Gttar ∥ 将 Gtaux,i 重定标为与 Gttar 相同的大小(第 6 行)。(4) 更新参数。之后,通过求和 Gttar 和平衡 Gtaux,1, … 得出 Gttotal(第 9 行)。Gtaux,K 相加。然后,利用 Gttotal 按照梯度下降等优化规则更新θ(第 10 行)。由于步骤(3)和步骤(4)是完全分离的,因此 MetaBalance 可以与 Adam 和 Adagrad [8] 等最常用的优化器协同工作。

在这里插入图片描述

(1) 可自动缩小比 Gttar 大得多的 Gtaux,i,从而防止一项或多项辅助任务对目标任务的支配作用。(策略 A)(2) 可自动扩大比 Gttar 小得多的 Gtaux,i,从而加强相应辅助任务的知识转移。(策略 B)(3) 如有必要,可同时执行(1)和(2)。(策略 C) (4) 根据目标任务在验证数据集上的表现选择策略,这是针对特定任务和数据集的经验最佳策略。(5) 由于第 6 行中的∥Gttar ∥ ∥Gtaux,i∥可视为 Gtaux,i 的动态权重,因此 MetaBalance 可以在整个训练过程中动态平衡 Gtaux,i。(6) 如图 1 所示,梯度大小的不平衡在同一网络的不同部分是不同的(例如,在 MLP 中,辅助梯度可能比目标梯度大得多,但在嵌入层中,辅助梯度可能比目标梯度小得多)。由于 MetaBalance 可以方便地分别应用于共享参数的各个部分(θ 是算法 1 的输入),因此不同部分的训练可以分别进行自适应平衡。(5)和(6)使得 MetaBalance 比使用固定权重计算任务损失更加灵活。

4.2

下一个问题是如何灵活调整 Gaux,i 和 Gtar 之间的大小接近度,以适应不同的场景?我们设计了一个松弛因子 r 来控制这种幅度接近度,算法 1 的第 6 行使用了该因子:

在这里插入图片描述
其中,如果 r = 1,则 Gtaux,i 的大小与 Gttar 完全相同。如果 r = 0,则 Gtaux,i 保持原来的大小。r 越大,∥Gtaux,i ∥ 越接近 ∥Gttar ∥。因此,r 可以平衡每个辅助梯度和目标梯度之间的幅值信息。

图 2 说明了 r 对幅度接近性的影响。我们观察到,在图 1(b)中,当 r = 0 时,目标梯度被辅助梯度所支配,其幅度要大得多。相反,当 r = 1 时,所有梯度都与图 2(d)中的目标梯度具有相同但非常小的幅度。在这两个极端之间,图 2(b)(r = 0.2)和图 2©(r = 0.7)以更适中的方式平衡了梯度大小,使 ∥Gtaux,i ∥ 更接近 ∥Gttar ∥,但并不完全相同–可以部分保留原来的大小。

此外,r 还会影响每个辅助任务的权重。我们可以进一步将算法 1 中的第 6 行重新表述为

在这里插入图片描述
其中,wt aux,i 是 Gtaux,i 的权重:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值