【论文】A Collaborative Transfer Learning Framework for Cross-domain Recommendation

news2024/9/20 22:48:31

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 的选择策略将被修正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2099254.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

时序优化的常见

本期求职笔试题目来源大疆硬件逻辑岗&#xff0c;共2道题&#xff0c;涉及知识点包含&#xff1a;时序约束中异步时钟的设置、典型时序优化方法。 33、根据约束关系set_clock_groups -async -group {CLK1CLK3}{CLK2}&#xff0c;下图哪些路径会进行时序检查( )&#xff08;多选…

三、电路知识笔记

三、电路知识 3.1 单位换算 1 英寸2.54 厘米25.4mm 1mil (即毫英寸)1/1000inch0.0254mm 普通杜邦线的间距为2.54mm即0.1英寸&#xff08;inch&#xff09; 3.2 贴片元件焊接 中温焊锡膏使用吹风枪焊接时&#xff0c;参考参数&#xff1a; 300度 风速4 &#xff08;可焊接贴片…

CtfShow中的misc17解法

第一步&#xff1a; 首先拿随波逐流打开看看&#xff0c;没发现啥突破点&#xff0c;很正常 第二步&#xff1a;使用kali中的binwalk命令&#xff0c;解析出一个文件夹&#xff0c;打开压缩包后发现没什么东西 第三步&#xff1a;结合题目给的提示&#xff0c;使用tweakpng打开…

前端【CSDN创作优化3】CSDN自定义模块:解决保存CSDN自定义模块时显示fail

【CSDN创作优化3】CSDN自定义模块&#xff1a;解决保存CSDN自定义模块时显示fail 写在最前面遇到的问题&#xff1a;保存CSDN自定义模块时显示fail1.符号问题&#xff1a;删除所有符号2.超出字符长度限制&#xff1a;压缩保存3.li模块不见了&#xff1a;小窗口正常显示元素 &am…

你以为AI只能写代码?来看看最新的AI工具,一句话让AI直接生成一个应用程序!

AI写代码是目前大家熟知的能力&#xff0c;无论是告诉GPT、kimi、Claude还是通义千问他们都能迅速生成出长串的代码。 但是AI在软件工程领域的能力仅限于此吗&#xff1f; “我想开发一个小游戏&#xff0c;你可以帮我开发出来吗” 想必大家肯定在GPT或者是国内大模型上问过…

【Bug】Ubuntu22.04英伟达驱动安装失败,重启后服务器卡在进入系统/grub的页面

目录 报错内容1、安装英伟达驱动&#xff1a;Failed to initialize NVML: Driver/library version mismatch2、重启后卡在系统页面3、在解决完问题2后&#xff0c;尝试继续解决问题1&#xff0c;还是失败4、能ping通服务器但是无法ssh连接 解决方案1、重启后卡在系统页面&#…

全球1km分辨率人口分布栅格数据

我们在《全国省市县三级“七普”人口数据分享》一文中&#xff0c;为你分享过全国人口数据。 现在再为你分享全球1km分辨率人口分布栅格数据&#xff0c;你可以在文末查看该数据的领取方法。 全球1km分辨率人口分布 人口空间分布数据是在各项研究中经常使用的数据&#xff0…

UXR0134A Infiniium UXR 系列示波器:13 GHz,4 通道

新利通 UXR0134A Infiniium UXR系列示波器 ——13 GHz&#xff0c;4 通道—— 简述 UXR0134A 是 Infiniium UXR 系列实时示波器之一&#xff0c;拥有 13 GHz 带宽和 4 个通道。 功能特点 主要特点 ⚫13 GHz 带宽 ⚫4 个全带宽通道 ⚫10 位 ADC ⚫所有通道都提供 128 …

ArcGIS Pro 3.1下载分享

在使用了很长一段时间ArcGIS Pro 3.0之后&#xff0c;终于迎来了ArcGIS Pro 3.1的更新&#xff0c;这里为你分享一下ArcGIS Pro 3.1的安装步骤。 软件介绍 ArcGIS Pro 3.1 是由Esri发布的地理信息系统 (GIS) 软件的较新版本&#xff0c;作为 ArcGIS 桌面应用程序家族中的核心…

【13年12月CCF计算机软件能力认证】:出现次数最多的数、ISBN号码、最大的矩形、有趣的数、I‘m stuck!

题目概括出现次数最多的数暴力枚举&#xff0c;非常简单ISBN号码直接模拟&#xff0c;非常简单最大的矩形用到双指针&#xff08;优化枚举&#xff09;&#xff0c;非常简单有趣的数用到了数学知识排列组合&#xff0c;有一定思维难度I’m stuck!我用到了两个dfs来解决&#xf…

JavaScript学习文档(12):什么是正则表达式、语法、元字符、修饰符

目录 一、正则表达式 1、什么是正则表达式 2、语法 3、元字符 &#xff08;1&#xff09;边界符 &#xff08;2&#xff09;量词 &#xff08;3&#xff09;字符类&#xff1a; &#xff08;4&#xff09;用户名验证案例 4、修饰符 &#xff08;1&#xff09;过滤敏感…

数据解读——基于《择偶偏好中的性别差异和社会阶层异质性——基于选择实验法的探索》

原始文章&#xff1a;《择偶偏好中的性别差异和社会阶层异质性——基于选择实验法的探索》 参考文章&#xff1a;条件Logistic回归模型 这是一篇关于研究不同性别&#xff0c;不同阶层(城乡户口&#xff1b;受教育程度)在择偶偏好上的差异的文章&#xff0c;择偶偏好包含以下6…

实际开发中git在IDEA中的使用

相信搜索这个的同学代码都已经拉取到本地了&#xff0c;并且已经在idea中打开了。 1.一般我们从远程colone下来的代码默认是在主分支下的&#xff0c;也就是说我们从远程的主分支拉取的代码并且在本地创建了一个主分支。 2.一般主分支是不允许修改的&#xff0c;所以我们可以基…

Guitar Pro v8.1最新图文安装教程

在音乐的世界里&#xff0c;GuitarPro 8无疑是一款让人眼前一亮的神器。它不仅为吉他爱好者提供了前所未有的便捷&#xff0c;更以其强大的功能和实用性&#xff0c;成为了音乐创作与学习不可或缺的工具。这篇文章将深度解析GuitarPro 8的独特之处&#xff0c;探讨它如何改变音…

测试:TestGRPCDiscovery

目录 测试:TestGRPCDiscovery 类定义 方法 async def asyncSetUp(self): async def asyncTearDown(self): async def test_discovery(self): 总结 这是一个关于算力共享中环形结构通讯机制的项目图的功能模型解释。以下是根据所给信息对项目功能的概述: 项目结构: 项…

使用deekpseek v2开发中国象棋游戏

使用AI可以完成简单程序&#xff08;如&#xff1a;五子棋&#xff09;&#xff0c;甚至都不要调试即可以运行&#xff0c;但逻辑规则复杂的程序就需要反复的调整&#xff0c;修改运行BUG&#xff0c;优化运行性能。&#xff08;如&#xff1a;中国象棋&#xff0c;支持提示目标…

NVIDIA H200与AMD MI300X:前者高利润率是否合理?

近年来&#xff0c;人工智能芯片巨头NVIDIA与AMD的竞争愈发激烈。尽管NVIDIA在AI计算解决方案市场占据主导地位&#xff0c;但在2023年末&#xff0c;AMD推出号称全球最快的AI芯片Instinct MI300X后&#xff0c;开始对NVIDIA构成了挑战。然而&#xff0c;经过一段时间的市场检验…

Sevenstar CS200A使用简明教程(485通信类型变送器)

该文章仅供参考&#xff0c;编写人不对任何实验设备、人员及测量结果负责&#xff01;&#xff01;&#xff01; 文章主要介绍流量计的硬件连接、软件配置、数据读写以及流量计气体计算。 1 硬件连接 2 软件配置 将流量计硬件部分正确连接后&#xff1a; 打开“CS200单台控…

scrapy 爬取微博(一)【最新超详细解析】:创建微博爬取工程

本项目属于个人学习记录&#xff0c;爬取的数据会于12小时内销毁&#xff0c;且不可用于商用。 1 初始化环境 首先我们需要有python环境&#xff0c;先安装一下python&#xff0c;然后配置环境变量&#xff0c;这边给出windows的配置&#xff1a; 我这边的安装目录是D:\pyt…

逆向工程核心原理 Chapter 21 | Windows消息钩取

开始DLL注入章节的学习。 知识点学习 消息钩子 这里主要是要弄明白Windows GUI程序的工作模式/流程。 GUI以事件驱动方式工作。核心概念&#xff1a;message queue 最具代表性的&#xff1a;MS提供的spy SetWindowsHookEX() SetWindowsHookExA 函数 (winuser.h) - Win32 a…