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

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

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

↓欢迎留言参与讨论↓

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SSD(Single Shot MultiBox Detector)的复现

SSD 背景 这是一种 single stage 的检测模型,相比于R-CNN系列模型上要简单许多。其精度可以与Faster R-CNN相匹敌,而速度达到了惊人的59FPS,速度上完爆 Fster R-CNN。 速度快的根本原因在于移除了 region proposals 步骤以及后续的像素采样或…

BIO、NIO、AIO三者的区别及其应用场景(结合生活例子,简单易懂)

再解释三者之前我们需要先了解几个概念: 阻塞、非阻塞:是相较于线程来说的,如果是阻塞则线程无法往下执行,不阻塞,则线程可以继续往下 执行。同步、异步:是相较于IO来说的,同步需要等待IO操作完…

使用C#插件Quartz.Net定时执行CMD任务工具2

目录 创建简易控制台定时任务步骤完整程序 创建简易控制台定时任务 创建winform的可以看:https://blog.csdn.net/wayhb/article/details/134279205 步骤 创建控制台程序 使用vs2019新建项目,控制台程序,使用.net4.7.2项目右键&#xff08…

【命令行魔法:掌握Linux基础工具开发的独门技艺】

本节目标 1.Linux 软件包管理器 2.Linux开发工具 3.Linux编译器-gcc/g使用 4.Linux项目自动化构建工具-make/Makefile 5.Linux第一个小程序-进度条 1.Linux 软件包管理器 yum 什么是软件包 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译…

MR外包团队:MR、XR混合现实技术应用于游戏、培训,心理咨询、教育成为一种创新的各行业MR、XR形式!

随着VR、AR、XR、MR混合现实等技术逐渐应用于游戏开发、心理咨询、培训、教育各个领域,为教育、培训、心理咨询等行业带来了全新的可能性。MR、XR游戏开发、心理咨询是利用虚拟现实技术模拟真实场景,让学生身临其境地参与学习和体验,从而提高…

action3录制出来的LRF文件的正确打开方式

你会发现使用大疆的产品录制出来的视频会有两种格式:LRF和MP4 这个LRF文件是低分辨率、低码率的预览文件,非常适合预览。 这个文件可以直接通过修改文件后缀转化为.mp4格式

第四代智能井盖传感器,万宾科技助力城市安全

在迈向更为智能化、相互联系更为紧密的城市发展过程中,智能创新产品无疑扮演了一种重要的角色。智能井盖传感器作为新型科学技术产物,不仅解决传统井盖管理难的问题,也让城市变得更加安全美好,是城市生命线的一层重要保障。这些平…

Windows 11 设置 wsl-ubuntu 使用桥接网络

Windows 11 设置 wsl-ubuntu 使用桥接网络 0. 背景1. Windows 11 下启用 Hyper-V2. 使用 Hyper-V 虚拟交换机管理器创建虚拟网络3. 创建 .wslconfig 文件4. 配置 wsl.conf 文件5. 配置 wsl-network.conf 文件6. 创建 00-wsl2.yaml7. 安装 net-tools 和 openssh-server 0. 背景 …

模组知识(1)-CRA-光学知识

#灵感# CRA算是光学基础知识的一部分,而且最近项目确实color shading 挺严重的。以前记的知识不全,这次再次整理一下。常学常新。 目录 sensor CRA: CRA : Lens CRA: lens CRA和sensor CRA不同大小关…

基于JuiceFS 的低成本 Elasticsearch 云上备份存储

杭州火石创造是国内专注于产业大数据的数据智能服务商,为了解决数据存储及高效服务客户需求,选择了 Elasticsearch 搜索引擎进行云上存储。基于性能和成本的考虑,在阿里云选择用本地 SSD ECS 机型自建集群。但由于是自建集群,如何…

单片机实验(一)

前言 实验一:用单片机控制多只数码管(屏)分别左、右滚动显示自己完整的学号; 实验二:用单片机控制LED1616点阵交替正序、逆序显示自己的中文姓名。 参考链接: LED数码管的静态显示与动态显示(KeilProteus&#xff0…

uboot 添加命令

前言 uboot 中有个 ping 命令&#xff0c;用来检查网络是否通畅。 我们照着这个命令添加一个 ping2 命令。 step1 cmd/net.c #if defined(CONFIG_CMD_PING2) static int do_ping2(struct cmd_tbl *cmdtp, int flag, int argc,char *const argv[]) {if (argc < 2)return …

【Phoenix】请求的生命周期

本文的目的是讨论Phoenix请求的生命周期。我们实战添加两个新的页面&#xff0c;并讨论整个过程是如何串起来的。 让我们从添加第一个新页面开始。 添加一个新页面 web应用通常通过将HTTP方法和路径映射到应用的某个函数来处理请求。Phoenix通过路由器来实现这个匹配。例如将…

uniapp app tabbar 页面默认隐藏

1.在page.json 中找到tabbar visible 默认为true,设为false则是不显示 uni.setTabBarItem({ index: 1, //列表索引 visible:true //显示或隐藏 })

【C++】-- 红黑树详解

目录 一、红黑树概念 1.概念 2.性质 二、红黑树定义 1.红黑树节点定义 &#xff08;1&#xff09;将新插入节点置为红色 &#xff08;2&#xff09;将新插入节点置为黑色 2.红黑树定义 三、红黑树插入 1.插入节点 2.控制颜色 &#xff08;1&#xff09;父亲为黑色 &#xff0…

Games104现代游戏引擎笔记 面向数据编程与任务系统

Basics of Parallel Programming 并行编程的基础 核达到了上限&#xff0c;无法越做越快&#xff0c;只能通过更多的核来解决问题 Process 进程 有独立的存储单元&#xff0c;系统去管理&#xff0c;需要通过特殊机制去交换信息 Thread 线程 在进程之内&#xff0c;共享了内存…

如何在 Nginx Proxy Manager(NPM)上部署静态网站

前言 众所周知&#xff0c;我们在之前介绍过 Nginx Proxy Manager&#xff08;以下简称 NPM) 这个反向代理的神器&#xff0c;对于一些 Docker 搭建的 Web 项目&#xff0c;NPM 能够很轻松地给他们做反向代理。 然而对于一些静态网站&#xff0c;小伙伴们可能不知道怎么用 NP…

15分钟,不,用模板做数据可视化只需5分钟

测试显示&#xff0c;一个对奥威BI软件不太熟悉的人来开发数据可视化报表&#xff0c;要15分钟&#xff0c;而当这个人去套用数据可视化模板做报表&#xff0c;只需5分钟&#xff01; 数据可视化模板是奥威BI上的一个特色功能板块。用户下载后更新数据源&#xff0c;立即就能获…

LeetCode【560】和为k的子数组

题目&#xff1a; 思路&#xff1a; 转化为前缀和问题&#xff0c;和为k&#xff0c;即为&#xff1a;前缀和差值为k的情况统计&#xff1b; 为什么要转化为前缀和呢&#xff1f;因为和为k的子数组可能有n个元素&#xff0c;但是前缀和差值为k&#xff0c;只有两个元素&#…

微机原理_9

一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案。 1.当运算结果的最高位为1时&#xff0c;标志位(&#xff09; A. CF1 B. OF1 C. SF1 D. ZF1 2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可…