Intro
业界常见的跨域建模方案主要分为两种范式[22][32][5][36][17][14][20]:1) 将源样本和目标样本进行联合和混合,然后执行多任务学习技术,以提高在所有域中的性能;2) 使用混合或数据丰富的源域数据预先训练模型,然后在数据不足的目标域中对其进行微调,以适应新的数据分布。在第一种方法中,通过不同类型的网络设计来学习特定域特征和域不变特征,其中域指标通常用于识别域。在微调范式中,该方法主要认为目标领域的数据不足以使参数得到充分训练。因此,在这种观点下,有必要先进行预训练以训练参数,然后通过目标域数据使模型收敛到最佳状态。这两种范式已被证明在某些情况下是有效的,但在某些场合可能仍有不足,我们将在下文中讨论这些局限性。
对于多任务学习解决方案来说,所有源领域数据都与目标数据混合在一起,他们假设模型架构一定能识别出差异和相似性。然而,这可能过于理想化。随着领域的变化,用户行为和项目组也可能不同,而且不同领域的数据量也可能不同。因此,训练过程很容易被数据丰富的领域所支配,导致稀疏领域的训练不足(即跷跷板效应[33][3][29])。因此,这类方法对稀疏目标域并不友好。
对于预训练和微调方案,微调过程有望利用训练参数并通过目标样本引导优化。然而,在源域训练的最优解可能是目标域的局部最小值(即非最优解微调问题[12][8])。数据分布的偏移在不同域之间广泛存在,例如,同一项目在不同域以不同创意形式显示时,点击率是不同的。当参数经过良好训练以适应源分布时,模型很难跳出并在目标域中找到新的合适最优值。因此,有必要评估源能为目标带来多少有益信息。
为了解决跨领域建模中源领域样本带来的问题,我们提出了跨领域协作迁移学习框架(CCTL)算法。CCTL 算法主要包括三个部分:对称同伴网络、信息流网络和表征增强网络。对称同伴网络训练混合模型(目标样本和源样本)和纯模型(仅目标样本)。根据两部分效果的差异,评估当前源域样本对目标域是否有帮助。信息流网络传输为每个源样本计算的样本权重,并执行域间语义配准。最后,表征增强网络作为一项辅助任务,在每个域中保持特定域的特征。本文的主要贡献如下:
为了解决跨领域建模中源领域样本带来的问题,我们提出了跨领域协作迁移学习框架(CCTL)算法。CCTL 算法主要包括三个部分:对称同伴网络、信息流网络和表征增强网络。对称同伴网络训练混合模型(目标样本和源样本)和纯模型(仅目标样本)。根据两部分效果的差异,评估当前源域样本对目标域是否有帮助。信息流网络传输为每个源样本计算的样本权重,并执行域间语义配准。最后,表征增强网络作为一项辅助任务,在每个域中保持特定域的特征。本文的主要贡献如下:
- 我们提出的 CCTL 是一个简单而有效的跨域建模框架。CCTL 可以从源域中选择有利于目标域训练的样本,并将其添加到目标域训练中,从而减少无效样本和噪声样本的引入。
- 为了评估信息从源域流向目标域的增益效率,我们提出了一个信息流网络来评估每个源域样本对目标域的潜在增益。
- 我们提出了 “表征增强网络”(Representation Enhancement Network),通过对比学习,使源域和目标域的id嵌入尽可能多地容纳不同的信息。
- 我们在工业生产数据集上对 CCTL 进行了评估,并于 2022 年将其部署到美团的展示广告系统中。一致的优越性验证了 CCTL 的有效性。截至目前,CCTL 的部署带来了 4.37% 的点击率和 5.43% 的 GMV 提升。
2.3 Symmetric Companion Network
主要描述训练目标域网络并检测源域的负迁移。通过设计对称结构,源域样本中的更多有用信息可以转移到目标域。源域和目标域在用户和项目方面具有相似性,但它们的数据分布不同。源域的信息噪声可能会对目标域产生负面影响,造成一种被称为负迁移的现象。由于没有评估源域样本对目标域的影响,简单的迁移学习技术(如预训练和微调或通过结合两个域的所有样本进行多任务学习)可能不会带来显著的改进。SCN 的主要目的是在训练过程中识别负迁移,其原理将详细说明。源域样本的评估主要由 IFN 进行,这将在第 2.4 节中介绍。
要准确评估源样本对目标域的影响,最直接的方法是比较在混合域样本上训练的模型与仅在目标域上训练的模型的性能。然后,可以根据两个模型之间离线指标的差异来计算影响。根据这一概念设计的 SCN 采用双塔网络结构,如图 2 所示。在 SCN 中,一个塔(称为混合塔)同时接收来自源域和目标域的输入,而另一个塔(称为纯塔)只接收来自目标域的输入。从控制变量的原理来看,混合塔和纯塔之间的差异完全归因于源域的影响。
2.3.1 特征嵌入。
我们将不同领域的特征编码为单次热编码,并将其映射为适合深度神经网络的高密度、低维嵌入向量。稍后将对嵌入的项目 ID 和用户行为序列(项目 ID)应用注意力机制。我们省略了注意力机制的细节,因为它不是本文的关键设计,可以由其他建模策略(如顺序编码器等)替代。最后,目标域的样本被转换成向量表示 vt i,如下所示:
其中,nt 是目标域中分类特征的数量,|| 表示向量连接操作。同样,我们对源域中的样本采用相同的嵌入技术。
值得注意的是,在实际场景中,源域和目标域的特征方案会存在差异,这会导致 vt 和 vs i 的形状不一致,从而无法使用同一个网络进行训练。本文将利用信息流网络(IFN)中的语义对齐网络(SAN)结构,将 vs 的嵌入处理为与 vt 相同的形状。详见第 2.4 节中的 IFN 章节。
2.3.2 混合塔
如图 2 所示,混合塔将有两个并行的数据输入,即同时读取源域样本和目标域样本进行训练。这样,混合塔的损耗计算如下:
其中,xi 是来自源域或目标域的样本;f 是神经网络运算的简称;L 表示损失函数,本文使用交叉熵;Θmixed 是混合网络中的可训练参数;ps i 是另一个分量的输出,表示每个源样本的权重,我们将在下一小节讨论。这样,我们就可以得到一个由源域和目标域共同训练的混合塔。
2.3.3 纯塔
纯塔只读取目标样本,与混合塔中的目标样本完全相同:
其中,xi ∈ Xt 是仅来自目标域的样本,Θ pure 是纯塔中的参数。Lpure 在训练过程中指导纯网络的反向传播,这与传统的单域训练过程相同。这样,我们就可以得到一个只由目标域训练的纯塔。
2.3.4 源域的影响
在 SCN 中,两个塔(混合塔和纯净塔)的网络结构、学习率等形状相同。唯一不同的是,混合塔会额外读取源域的样本,这些源域样本会通过反向传播的梯度影响混合塔中的网络参数。因此,我们只需要使用同一组目标域样本来计算两个塔上的损失,两个损失的差值就是源域的影响结果。幸运的是,在训练过程中,同一目标域样本上的损失已经被计算为 Losspure 和 Losstgt,因此信息增益可以定义如下:
其中,Nt 是目标样本的数量,Θpure 是 SCN 中纯塔的训练参数。项 r 代表参数被额外的源样本更新后损失减少的程度。当源域样本带来的信息为正时,SCN 中的混合塔可以更准确地预测。尤其是在预测相同的目标域样本时,Losstgt 将小于 Losspure,此时 r > 0。否则,噪声信息将导致 r <= 0,即跨域训练中出现负转移。
2.3.5 参数同步。为了减少双塔学习路径造成的偏移,我们每隔 k 步(本文中 k = 1000)进行一次参数同步,即把混合网络的参数同步到纯网络,这样 Lossmixed/src/tgt/pure 就不会因为网络学习偏移而引入过多噪声。
2.4 Information Flow Network
主要描述从 SCN 接收奖励和梯度更新,并传输源域样本权重和表示。由于并非源域样本的所有信息都有用,因此有必要进行加权传输。
SCN 能够评估负迁移,并在跨域训练过程中检测负迁移。如前所述,现有方法中的负迁移通常是由于滥用源领域样本造成的,其中有些样本对目标领域只有部分作用。例如,用户对电影和书籍的兴趣可能会重叠,但由于呈现形式的不同而无法完全匹配。
图 3 中的信息流网络(IFN)的主要功能包括三个方面:1) 评估源域单个样本对目标域的潜在利润系数。2) 评估目标与目标域模型效果最大化目标保持一致。3) 将源领域获得的信息有效转移到目标领域。
需要注意的是,IFN 主要预测单个源域样本对目标域的益处,而 SCN 则根据双塔对目标域预测准确度的差异,准确评估源域的总益处。从概念上讲,IFN 负责预测,SCN 负责评估。在第 2.4.2 节中,将详细解释 SCN 在帮助 IFN 培训中的作用。在接下来的第 2.4.1 节中,我们将首先讨论如何将源领域获得的信息有效地转移到目标领域。
2.4.1 语义对齐网络。
在本节中,我们将讨论如何解决因不同领域的特征不一致而造成的样本表示差异这一难题。在跨域迁移学习中,有效地将信息从源域迁移到目标域至关重要,然而,特征的不匹配会造成样本表示的显著差异。不同领域的特征数量可能相差悬殊,从而导致 SCN 中源领域和目标领域之间的差异。因此,一个混合网络无法同时用于两个领域的样本。
尽管面临许多挑战,迁移学习已被证明是在计算机视觉(CV)和自然语言处理(NLP)领域中的一种强大工具。迁移学习的成功归因于其能够通过语义token在不同领域之间保留跨领域信息。在计算机视觉领域,一个token可以表示构成点、线或面的像素;在自然语言处理领域,一个token可以表示为一个词语。当面对一个新场景时,尽管问题的形式可能会改变,但这些基本token与原始任务保持高度一致,从而允许知识的迁移和应用。
//
2.4.2 选择器网络
选择器网络主要负责评估源域样本对目标域的信息增益。在网络设计方面,本文使用多层 MLP 网络,最后一层使用 sigmoid 激活函数:
其中,m 是 DNN 的层数,hm-1 是 DNN 最后一层的输出,Wm 和 bm 是要训练的参数。
在之前的 SAN 结构中,源域样本 vs i 已被获取并送入双塔,以获得最终的信息增益评估。
通过 IFN 的权重 ps i,可以动态调整每个源样本的损失。因此,SCN 中的网络参数是通过目标域和加权源域的梯度更新的,因此源域的信息可以 "部分适应 "目标域。
//
选择器网络本身没有明确的标签,即没有标签信息来表明源样本是否适合目标样本。回想一下,在 SCN 结构中,已经可以评估一批源域样本对目标域的增益增加 r,但这个增益 r 是一个标量值,无法与每个源域样本一一对应,因此无法使用传统的随机梯度下降来获得更新。但值得庆幸的是,在强化学习领域已经有了解决这类问题的成熟方案,可以通过强化学习算法进行更新。
术语 rk 可视为奖励,其中 k 是批次指标。累计奖励可定义为 raccu = rk + γ ∗ rk+1 + …+ γn-k ∗ rk,其中 rn 是最后一批的奖励,γ 是权重系数,统一设置为 0.80。
最后,我们采用 REINFORCE[25] 算法更新 IFN 部分,参数更新如下:
其中,Θif n 是 IFN 的参数,ps i 是第 i 个源样本的输出权重,raccu 是累积奖励,α 控制源样本对目标域的影响程度。因此,raccu 被视为间接损失部分。为了使选择器的梯度更新更加稳定,我们每 1000 步积累一次奖励 raccu,并对 IFN 进行梯度回归,以避免批量效应的过度波动,稳定参数更新过程。
通过 SCN 的对称设计,我们可以评估源域样本的信息增益。当样本带来的信息增益为正时,SCN 中的混合塔可以更准确地预测目标,因此 Losstgt 会减小,奖励为正,即奖励促使 IFN 增加对此类源样本的权重。同样,当样本对目标域有负面影响时,Losstgt > Losspure,奖励为负,梯度更新时,IFN 的选择策略将被修正。