HC^2:基于混合对比学习的多场景广告预估建模

news2024/11/26 4:33:17

1. 摘要

多场景广告预估建模旨在利用多场景的数据来训练统一的预估模型,以提高各个场景的效果。尽管现有研究方法在推荐/广告领域已取得了不错的提效,但现有的建模方式仍然缺乏跨场景关系的考虑,从而导致模型学习能力的限制和场景间相互关系建模的困难。在本文中,我们提出了一种用于多场景广告预估建模的混合对比学习方法HC^2。为增强跨场景数据相互关系的建模,我们精心设计了一种混合对比学习方法来协助模型捕获多个场景之间的共性和差异。该方法的核心包括两个精心设计的对比损失,即场景通用对比损失和场景个性化对比损失,其目的分别是捕获场景通用知识和场景特定知识。此外,为了使对比学习适应复杂的多场景预估背景,我们提出了一系列改进方案。实验效果表明HC^2方法能有效的提升多场景下广告预估的能力。基于该项工作整理的论文已发表在CIKM 2023,欢迎阅读交流。

论文: Hybrid Contrastive Constraints for Multi-Scenario Ad Ranking

作者: Shanlei Mu, Penghui Wei, Wayne Xin Zhao, Shaoguo Liu, Liang Wang, Bo Zheng

下载(点击↓阅读原文): https://dl.acm.org/doi/abs/10.1145/3583780.3614920

🔍 本期话题:多场景预估下,由于场景间的数据存在分布差异,该如何更好的利用不同场景之间的共性,并避免不同场景数据差异所带来的影响,有哪些有效的针对性算法方案呢?欢迎评论区留言讨论~

2. 引言

多场景推荐/广告预估旨在利用多场景的用户行为数据来训练预估模型(例如:CTR模型、CVR模型)服务于各个应用场景。作为优势,多场景建模可以利用更加丰富的数据缓解每个场景的数据稀疏问题,进而有效的提升不同场景下的推荐/广告投放效果。

多场景广告预估建模的关键在于捕捉不同场景下用户行为的共性差异,以更加充分的利用多场景的数据提升建模效果。为此,结合场景共享和场景独有的神经网络结构(例如:SharedBootom[1]、MMoE[2])被广泛的应用在多场景广告预估建模中。一般来说,场景共享的网络结构使用所有场景的数据进行优化以捕捉多个场景之间的共性,而场景独有的网络结构利用对应单一场景的数据进行优化以学习场景特定的知识,来建模出不同场景的差异。此外,一些参数动态生成模型也被提出,例如STAR[3]、APG[4],这些方法使用共享的网络结构来生成场景特有的网络参数达到多场景建模的目的,其也可以被看作结合场景共享和场景独有的神经网络结构。

尽管这些方法已经被证明在推荐/广告领域取得不错的提效,但是我们认为多场景建模中的两个关键问题还没有被彻底解决:

  • 网络结构学习能力的局限:通常结合场景共享和场景独有的神经网络结构仅根据多个场景下的特征到标签的映射关系进行优化,这种单纯有监督的信号受到训练数据质量和可用性的高度限制,同时对于集成了多场景结构的复合架构存在优化效率低的问题。

  • 场景相互关系建模的困难:由于我们难以直接获得学习不同场景间关系的直接信号,所以难以精确建模出不同场景下共性和差异。特别是跨场景的数据相互关系非常复杂,在不同的样本或上下文中会显示出不同的关联模式。

为了解决上述问题,我们考虑借用对比学习的思想来提升多场景的广告建模。对比学习旨在通过从不同的视角对比正样本和负样本的表示来增强神经网络的表达能力,在许多领域都取得了巨大的成功。通过利用不同场景下样本间显式或隐式的相关模式,它可以派生出丰富的自监督信号来增强模型学习能力(对应于第一个问题)。同时,它是在样本层面进行的,这样我们就可以设计出更为灵活的的对比损失来分别建模优化不同场景间的共性和差异(对应第二个问题)。结合这两个优势,我们可以开发出更有效的多场景广告建模方法。

基于此,我们在已有的结合场景共享和场景独有的神经网络结构上提出了一种基于混合对比学习的多场景广告预估建模方法(Hybrid Contrastive Constraints for Multi-Scenario Ad Ranking,HC^2)。HC^2设计了两种不同的对比损失:场景通用对比损失场景个性化对比损失,分别用于帮助模型更好的捕获场景通用的知识和场景独有的知识,同时为了使对比学习适应复杂的多场景广告建模任务,我们设计了一系列具体的策略和技术改进,包括对比样本的选择和扩展,对比损失的加权等等。该方法可看作是现有多场景模型的通用改进,可以被应用到各种结合场景共享和场景独有的神经网络结构中来提升多场景广告预估建模效率。

3. 方法

如图1所示,我们的方法建立在结合场景共享和场景独有的神经网络结构上,并引入了两种主要的对比学习损失,即场景通用对比损失和场景个性化对比损失。场景通用对比损失应用于场景共享的结构上,以捕捉多个场景之间的共性。场景个性化对比损失应用于场景特定的结构上,以学习特定场景的知识。这两种对比损失可以有效地探索多场景相互关系,以提高多场景中的广告建模。

87e826f827515662b7a326dead585d37.png
图1 提出方法的总体结构

3.1 任务定义&基础结构

我们首先形式化多场景广告预估任务,让 和 分别表示特征空间和标签空间,特征空间包含用户特征、广告特征和上下文特征等,标签空间是代表用户行为的二元标签,例如 CTR 预估任务中的 {点击,未点击} ,CVR 预估任务中的 {转化,未转化}

考虑个不同的广告投放场景,其中场景的样本可以表示为,代表第个样本的特征,代表样本标签。多场景广告建模旨在利用所有场景的样本来训练一个模型用于预测标签,通常采用交叉熵损失对参数进行优化:

本文提出的方法HC^2是对结合场景共享和场景独有的神经网络结构用于多场景广告建模的通用提升方法。不失一般性,我们选择代表性的 SharedBottom 结构作为基础结构来介绍本文的方法。其主要包含四个部分:特征编码,场景共享的网络结构,场景独有的网络结构,输出层。其中特征编码主要是将样本的原始输入映射成特征向量 ,场景共享的网络结构是层神经网络把特征向量映射成场景共享的中间层表示,场景独有的网络结构是层神经网络把共享的中间层表示映射成场景独有的隐层表示,最后输出层将场景独有的隐层表示输出为预测的标签信息。

3.2 场景通用对比损失 Generalized Contrastive Loss

已有的多场景广告建模预估方法主要依靠场景共享的结构从多个场景中捕获共同知识,但它仅通过端到端的特征到标签映射进行优化。对于这部分共享的结构,在训练过程中缺乏目标指导或约束使得难以精确的捕捉到场景共有的知识。为了解决这个问题,我们设计了一种改进的对比学习方法来帮助共享的结构更好地捕获场景通用知识。

3.2.1 对比损失介绍

我们设计的场景通用对比损失在经典的对比学习范式进行了两点主要的改进:1)对比样例的扩展;2)引入对比权重,形式化如下:

在标准的对比损失中,样本正例通常通过自身数据增强来构造,样本负例通过随机采样构造。为了构建更适合多场景间提取通用知识的对比学习,我们引入了标签感知的对比样本和扩散噪声增强的对比样本,作为另一个提升,原始的对比损失平等地对待每一个对比样例,我们进一步提出逆相似性分数加权机制来减少伪对比样例的影响,接下来我们详细地介绍这两部分。

3.2.2 对比样本构建

样本感知的对比样本:首先我们提出利用标签的信息来为场景通用对比损失构建对比样例。具体地,给定一个来自场景的样本,从其他场景()选取和具有相同标签信息的样本作为对比正例,从其他场景选取和具有相反标签信息的样本作为对比负例。通过拉近和的共享中间层表示和拉远和的共享中间层表示,场景通用对比损失鼓励场景共享的结构更好的捕捉不同场景间属于相同标签信息的通用知识。

扩散噪声增强的对比样本:上述提到的对比样本局限在从训练集中局部观测到的候选集合,由于对比学习中存在的各向异性问题,对比负例的中间层表示局限在由共享的网络结构生成的狭窄表示空间内,并不能反映出整体样本空间的信息。考虑到这个问题,我们受到最近扩散模型进展的启发,提出加入扩散噪声来生成更多的泛化、多样的对比负样本。具体来说,给定负样本,我们遵循标准的前向扩散过程,通过迭代向样本添加小的高斯噪声,产生一系列噪声样本 。步长由方差表控制,前向扩散过程可以表示如下:

为了生成新的负样本,我们首先对不同的时间步长进行采样,然后使用上述公式来获得相应的样本。这些噪声增强的样本更加多样化,来自更广阔的样本空间,从而提高了底层模型的泛化能力。

3.2.3 逆相似性加权

在对比学习中,构建的对比样本很可能是伪正例或伪负例,从而影响对比学习的效果。在我们的设置中,尽管来自不同场景的两个正样本具有相同的标签,但它们的原始特征可能存在很大差异,这将导致产生伪对比正例问题。类似地,伪对比负例问题也会发生。

为解决这一问题,我们根据样例间的特征相似性设计了一种自适应对比损失加权方法。其基本思想是,正样本对应该具有更大的特征相似性,而负样本对应该具有较小的特征相似性,如果情况相反,对应的样本对可能就是伪正/负例。基于这个想法,对于一对对比样本和,我们计算了它们特征embedding相似性分数的倒数,并使用它来设置作为场景通用对比损失的权重:

这种加权策略可以自适应地分配特定的权重,并在训练过程中动态更新这些权重。从最后的场景通用对比损失中可以看出,当出现伪对比正样本时,逆相似性得分会产生一个更大的值,这个值会减小优化这部分损失所对参数造成的影响。相似地,当出现伪对比负样本时,倒数相似性得分将是一个更小的值,因此对应的对比样本对对在优化目标中的贡献也会降低。

3.3 场景个性化对比损失 Individual Contrastive Loss

除了捕捉不同场景间的通用知识外,对于不同场景个性化的差异建模对于提升多场景广告建模也至关重要。现有的多场景广告建模方案通常基于对应场景的数据来直接优化场景独有的网络结构。为了更好的利用跨场景的信息,我们提出了场景个性化的对比损失来提升对于场景独有网络结构的优化。

3.3.1 场景感知的对比样例

场景个性化对比损失旨在加强场景独有的网络结构对于对应场景信息的捕捉和建模,为了实现这一点,我们选取对场景独有的隐层表示(即)进行对比学习,来减少不同场景之间的相关性。接下来我们介绍如何选取对比样本来达到这一目的。

对比正例构建:为了更好的捕捉场景独有的知识,我们考虑通过对原始样本进行数据增强来获取对比正样本。本文我们采用了添加dropout噪声的方式来对数据进行增强以获取对比正样本。具体来说,我们在场景独有的网络结构的每一层添加Dropout层来生成对比正样本。

对比负例构建:对于对比负样本,我们首先从其他场景中选取样本,然后生成其对应的场景独有的隐层表示,其中。通过拉远和,我们希望拉大场景和场景之间的差异,从而使得场景独有的网络结构专注捕捉对应场景本身的信息。除此之外,为了构建信息量更加充足的对比样本,我们进一步提出跨场景的编码策略来生成对比负例。基本的思想是,我们首先选取和锚定样本属于同一场景的样本,接着我们将其生成的共享中间层表示喂进其他场景的场景独有的网络结构中,依照这种方式来生更强的对比负例:

其中和属于两个不同的场景,所以我们称之为跨场景编码。最后我们得到如下的场景个性化对比损失:

3.4 模型优化

最后我们通过端到端的方式将主损失、场景通用对比损失和场景个性化对比损失联合优化:

其中和是调控场景通用对比损失和场景个性化对比损失影响的参数。

4. 实验

4.1 实验设置

数据集:我们选取了两个多场景数据集进行离线实验,其中一个是公开数据集AliExpress[5],另一个是我们从阿里妈妈真实广告业务构建的数据集Ali-ads。

评测任务和指:我们选取了CTR预估和CTCVR预估两个任务,评测指标为离线AUC。

4.2 离线实验结果

表1记录了两个数据集上我们提出的方法和基线方法的效果对比。可以看到,相较于其他模型,HC^2在两个数据集上都有更好的效果表现,除此之外,在数据更加稀疏的场景上(例如:AliExpress的NL和US场景),HC^2比其他方法能取得更大的提升,我们判断这是因为通过两种对比损失的约束,我们的方法能更好的利用多场景之间的关系来缓解数据稀疏问题。表2记录了消融实验的结果,可以看到设计的各个模块都有助于效果的提升,其中场景通用对比损失对效果提升的贡献最大。

0861eb8165302f91d6ad3cfba5f05a19.png
表1 在两个数据集上不同方法的效果对比
aaaa8972a954143f94d64ab67625dfcf.png
表2 消融实验结果
应用HC^2到其他结构 :我们的方法HC^2可以应用于其他多场景广告建模方法中。因此,在这一部分中,我们进行了一个实验来检验我们的方法是否可以为其他网络结构带来效果提升。具体来说,我们将我们的方法应用于多场景广告建模方法MMoE、HMoE、STAR和M2M上。如图3所示,所提出的方法可以持续提高这些网络结构的效果,进一步验证了所提出方法的有效性。
ca4e6ddded8fd112f49ea602b4047fb8.png
图2 应用HC^2到其他结构效果对比

隐藏层表示可视化:为了更好的理解场景通用对比损失对多场景模型结构的影响,我们在图3中可视化了场景共享结构中学习得到的隐藏层表示。具体来说,我们使用T-SNE将隐藏层表示的维度减少到二维空间,然后进行绘制。从图3我们可以观察到通过 SharedBottom 学习到的表示落在一个狭窄的空间中,而 HC^2 学习到的表示明显表现出更均匀的分布。这可以通过表示学习中的一致性(uniformity)概念来解释,一致性反映了表征保存信息的能力。如果表征大致均匀地分布在平面上,则它们可以保留尽可能多的数据信息。我们推测,所提出的场景通用对比损失可以有效的帮助模型从多个场景中保留更多的通用知识。

0f61d9b350279a33ee879096a5e7e188.png
图3 隐藏层表示可视化

// 更多实验结果请参考论文原文。

4.3 线上实验

我们将提出的HC^2方法部署在了阿里妈妈外投广告相关业务进行线上实验,线上整体取得了 CVR +2.51%,GMV +3.72%的效果提升。

5. 总结

本文提出了一种基于混合对比学习的多场景广告预估建模方法HC^2。主要的技术贡献在于两个对比损失的设计,即场景通用对比损失和场景个性化对比损失,旨在捕获多场景下的通用知识和特定场景知识。同时为了使对比学习更适应多场景广告建模任务,我们设计了一系列特定策略来改进对比样本和对比权重。通过有效地建模跨场景数据的相互关系,我们的方法可以普遍应用于各种多场景广告预估建模任务。离线评估和在线测试的广泛实验证明了方法的有效性。

🔍 本期话题:多场景预估下,由于场景间的数据存在分布差异,该如何更好的利用不同场景之间的共性,并避免不同场景数据差异所带来的影响,有哪些有效的针对性算法方案呢?欢迎评论区留言讨论~

▐ 参考文献

[1] Rich Caruana. 1998. Multitask Learning. In Learning to Learn. 95–133.

[2] Jiaqi Ma, Zhe Zhao, Xinyang Yi, Jilin Chen, Lichan Hong, and Ed H. Chi. 2018. Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-ofExperts. In KDD. 1930–1939.

[3] Xiang-Rong Sheng, Liqin Zhao, Guorui Zhou, Xinyao Ding, Binding Dai, Qiang Luo, Siran Yang, Jingshan Lv, Chi Zhang, Hongbo Deng, and Xiaoqiang Zhu. 2021. One Model to Serve All: Star Topology Adaptive Recommender for Multi-Domain CTR Prediction. In CIKM. 4104–4113.

[4] Bencheng Yan, Pengjie Wang, Kai Zhang, Feng Li, Jian Xu, and Bo Zheng. 2022. APG: Adaptive Parameter Generation Network for Click-Through Rate Prediction. CoRR abs/2203.16218 (2022).

[5] Pengcheng Li, Runze Li, Qing Da, Anxiang Zeng, and Lijun Zhang. 2020. Improving Multi-Scenario Learning to Rank in E-commerce by Exploiting Task Relationships in the Label Space. In CIKM. 2605–2612.

END

d44aeeea43e4023b0fcbc20e14ab9003.gif

也许你还想看 

BOMGraph:基于统一图神经网络的电商多场景召回方法

SIGIR'23 | 基于特征自适应的多场景预估建模

AdaSparse: 自适应稀疏网络的多场景CTR预估建模

阿里妈妈展示广告召回之多场景建模算法

排序和准度联合优化:一种基于混合生成/判别式建模的方案

关注「阿里妈妈技术」,了解更多~

327dd081bf79153135ca73b2fd9e3ea7.gif

喜欢要“分享”,好看要“点赞”哦ღ~

↓欢迎留言参与讨论↓

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

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

相关文章

企业APP软件定制开发的关键步骤|网站小程序搭建

企业APP软件定制开发的关键步骤|网站小程序搭建 在当今数字化快速发展的时代,企业越来越意识到拥有自己的APP软件对于提高业务效率和用户体验的重要性。然而,企业APP软件定制开发并不是一项简单的任务,它需要经过一系列关键步骤来确保最终的产…

vagrant+virtualbox的踩坑记录

vagrant virtualbox 文章目录 vagrant virtualbox一、导入虚拟机ova文件失败二、修改虚拟机的保存位置三、无法使用xshell等软件用密码进行连接四、vagrant up失败 一、导入虚拟机ova文件失败 背景:手动删除了虚拟机文件导致无法重新导入相同名称虚拟机的ova文件…

redis-5.0.8主从集群搭建、不重启修改配置文件

一、环境准备 192.168.5.100 redis-01 192.168.5.101 redis-02 192.168.5.102 redis-03 关闭防火墙、能够通网 二、安装redis [rootlocalhost ~]# wget http://download.redis.io/releases/redis-5.0.8.tar.gz [rootlocalhost ~]# tar xf redis-5.0.8.tar.gz -C /usr/loca…

C进阶---自定义类型:结构体、枚举、联合

目录 一、前言 二、结构体 2.1结构体的声明 2.2特殊的声明 2.3结构体的自引用 2.4结构体变量的定义和初始化 2.5结构体内存对齐 2.6修改默认对齐数 2.7结构体传参 三、位段 3.1什么是位段 3.2位段的内存分配 3.3位段的跨平台问题 3.4位段的应用 四、枚…

IDEA 高分辨率卡顿优化

VM设置优化 -Dsun.java2d.uiScale.enabledfalse 增加该条设置,关闭高分切换 https://intellij-support.jetbrains.com/hc/en-us/articles/115001260010-Troubleshooting-IDE-scaling-DPI-issues-on-Windows​intellij-support.jetbrains.com/hc/en-us/articles/1…

MATLAB中uiresume函数用法

目录 语法 说明 示例 按下按钮后恢复执行 使用函数调用恢复执行 uiresume函数的功能是恢复暂停程序的执行。 语法 uiresume uiresume(f) 说明 uiresume 恢复与当前图窗 (gcf) 关联的对应 uiwait 调用暂停的程序执行。 uiresume(f) 恢复与图窗 f 关联的对应 uiwait 调用…

【C#学习】给FormClosing增加消息响应函数

第一步:增加消息句柄 第二步:编写消息函数 private void Form1_FormClosing(object sender, FormClosingEventArgs e) {//add your code hereserialPort1.Close();}

人工智能 :一种现代的方法 第七章 逻辑智能体

文章目录 前言人工智能 :一种现代的方法 第七章 逻辑智能体7.1 基于知识的智能体7.2 Wumpus世界7.4 命题逻辑7.5 命题逻辑定理证明7.5.1推导和证明7.5.2 归结原理7.5.3 horn子句和限定子句7.5.4 前向链接和后向链接 7.6 有效命题逻辑模型求解7.6.1完备的回溯算法7.6…

分类预测 | Matlab实现QPSO-SVM、PSO-SVM、SVM多特征分类预测对比

分类预测 | Matlab实现QPSO-SVM、PSO-SVM、SVM多特征分类预测对比 目录 分类预测 | Matlab实现QPSO-SVM、PSO-SVM、SVM多特征分类预测对比分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现QPSO-SVM、PSO-SVM、SVM分类预测对比,运行环境Matlab2018b…

EtherCAT从站EEPROM组成信息详解(1):字0-7ESC寄存器配置区

0 工具准备 1.EtherCAT从站EEPROM数据(本文使用DE3E-556步进电机驱动器)1 字0-字7ESC寄存器配置区组成信息详解 1.1 ESC寄存器配置区组成规范 对于EtherCAT从站来说,EEPROM的字0-字7组成的ESC寄存器配置区决定了从站上电后ESC能否正常工作…

Java —— 多态

目录 1. 多态的概念 2. 多态实现条件 3. 重写 重写与重载的区别 4. 向上转型和向下转型 4.1 向上转型 4.2 向下转型 5. 多态的优缺点 6. 避免在构造方法中调用重写的方法 我们从字面上看"多态"两个字, 多态就是有多种状态/形态. 比如一个人可以有多种状态, …

物联网主机E6000:动环监控的新革命

多协议、多接口的全能主机 在物联网时代,数据的采集和处理已经成为了企业运营的重要环节。而物联网主机E6000,就是这个时代的全能选手。它支持多种协议和接口,无论是视频、设备还是DCS系统的数据,都能轻松接入并进行采集处理。这种…

深度学习+python+opencv实现动物识别 - 图像识别 计算机竞赛

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数:3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 inception_v3网络5 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 *…

Android 10.0 framework层设置后台运行app进程最大数功能实现

1. 前言 在10.0的定制开发中,在系统中,对于后台运行的app过多的时候,会比较耗内存,导致系统运行有可能会卡顿,所以在系统优化的 过程中,会限制后台app进程运行的数量,来保证系统流畅不影响体验,所以需要分析下系统中关于限制app进程的相关源码来实现 功能 2.framewo…

一款快速从数据库中提取信息工具

DataMiner 介绍 DataMiner是一款数据库自动抽取工具,用于快速从数据库中提取信息,目前支持 mysql、mssql、oracle、mongodb等数据库,可导出CSV、HTML。 功能 支持对所有数据库数据进行采样,并指定采样数量。 支持对指定数据库…

Fabric多机部署启动节点与合约部署

这是我搭建的fabric的网络拓扑 3 个 orderer 节点;组织 org1 , org1 下有两个 peer 节点, peer0 和 peer1; 组织 org2 , org2 下有两个 peer 节点, peer0 和 peer1; 以上是我的多机环境的网络拓扑,使用的是docker搭建的。我的网络…

计算机毕业设计选题推荐-二手交易跳蚤市场微信小程序/安卓APP-项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

系列一、JVM的架构图

一、JVM的位置 JVM是运行在操作系统之上的,它与硬件没有直接的交互。 二、JVM的架构图

Ps:利用 AI 技术创建人像皮肤图层蒙版

Photoshop 并没有提供专门选择人像皮肤的工具或命令(色彩范围中的肤色选择非常不精准),但较新版的 Camera Raw 滤镜则提供了基于 AI 技术的选择人物并创建面部和身体皮肤蒙版的功能。 如果能将 Camera Raw 滤镜中创建的 AI 皮肤蒙版转换成 Ps…

在docker下安装suiteCRM

安装方法: docker-hub来源:https://hub.docker.com/r/bitnami/suitecrm curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/suitecrm/docker-compose.yml > docker-compose.yml//然后可以在docker-compose.yml文件里修…