天天看点

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

作者:阿里妈妈技术

▐ 摘要

CTR(Click-through rate)预估一直是推荐/广告领域重要技术之一。近年来,通过统一模型来服务多个场景的预估建模已被证明是一种有效的手段。当前多场景预估技术面临的挑战主要来自两方面:1)跨场景泛化能力:尤其对稀疏场景;2)计算复杂度:在线计算和存储资源有限情况下如何实现多场景模型构建。

针对这两个挑战,本文提出AdaSparse,一种通过自适应学习稀疏网络的方法来实现多场景CTR预估建模。该方法为每个场景学习一个子网络结构,在计算成本增加有限的条件下,自适应平衡场景间的共性和特性,提升了模型跨场景的泛化能力。我们设计了一个辅助网络来衡量主网络每一层神经元对每个场景的重要度,并通过网络裁剪技术对不重要/冗余的神经元进行裁剪,最终为每个场景生成一个专属的子网络进行预估。此外,我们提供了一种灵活的稀疏正则方法来更好的控制网络稀疏程度,使模型在应用上更具有灵活性。

AdaSparse已在阿里妈妈外投广告系统上线,支撑了多个投放业务的CTR预估,整体取得了CTR+4.63%,CPC-3.82%的效果(CPC:点击成本,越低越好) 。该工作核心部分已收录于 CIKM2022,本文将对该方法的背景及实现进行详细介绍,欢迎阅读交流。

论 文:AdaSparse: Learning Adaptively Sparse Structures for Multi-Domain Click-Through Rate Prediction

下 载:https://dl.acm.org/doi/abs/10.1145/3511808.3557541

1. 背景

传统的CTR预估模型往往是单场景的,即假设训练样本服从同一分布。但在工业应用中,这是个很强的假设。一方面,现实中往往面临多个业务需要同时预估的工作。例如在阿里妈妈外投平台,存在多个业务方如天猫/饿了么/蚂蚁等同时进行广告投放,各业务的投放数据分布往往不同。如图1(a)所示,不同的业务方(如B5/B2)其用户和CTR效果差异较大,若合在一起训练模型可能被B1和B5两个业务主导,从而导致其他业务效果较差。另一方面,除了不同的业务可以场景划分依据,相同业务下某些特征也可以作为场景划分依据,例如“不同的广告位,用户行为差异较大”、“相同业务不同用户画像,用户行为差异也可能较大”。

如图1(b)所示,不同广告位下用户和CTR分布也有类似的差异现象。为此,我们这里定义一种“广义”的多场景:目标行为差异较大的特征,都可以作为一种多场景划分的依据。这也促使我们不断探索多场景预估技术,以通过捕捉用户在不同场景下的不同偏好来提升模型整体的效果。

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

图1:(a)基于业务的场景划分;(b) 更广义的场景划分;(c)多场景预估技术范式

图1(c)显示了多场景预估建模的抽象范式,主要面临两个挑战:1)跨场景泛化能力,为了获得更好的效果,模型需要具备建模场景共性知识和捕捉场景个性知识的能力,同时还需要在稀疏场景有一定的泛化能力。2)计算成本可控,实现多场景预估技术往往需要更多参数,但在工业级应用中,计算资源有限,模型需要兼顾效率和效果。因此,我们需要寻找一种多场景预估技术:统一的模型,具备优异的场景迁移能力,且在线性能可控。

近年来涌现了不少多场景预估工作,通过对特征或网络做一些先验设计让场景相关特征在预估中发挥更大的作用。如图2所示,我们挑选了其中几个具代表性的工作,基于场景相关特征作用点的不同,归纳出了一条优化路线:场景相关特征作用从底层embedding到上层bias,再到模型核心参数,再到网络结构。其复杂度越来越高,作用力也越来越强。具体地,如图2所示,SAML[12]最开始对底层特征embedding做两套,一套用于场景共享,一套是场景特有;SAR-NET[13]则对模型中间层的表征做场景共性和特性的平衡操作。这类方法对场景信息的使用是偏底层的,但随着网络层数增加,加之与其他特征的相互作用,最终场景特征对预估产生多少影响是无法确定的。

因此,为了让场景相关特征发挥更大作用,出现了两个方向的思路:a) 信息离目标越近可能作用越强:将场景相关特征也作用在网络上层,诞生如BiasNet,PPNET的工作;b) 直接作用于网络中的核心参数上,如参数矩阵、Normlization的参数等。在实际应用中,有时会将两个方向的方法做结合,比如STAR[5],既有上层Bias也有核心参数上做场景共性和特性的平衡。这些方法一定程度上解决了场景共性和特性的平衡,但针对稀疏场景的解决可能不足,尤其通过特征划分的广义场景很容易达到成千上万量级,稀疏场景会较多。于是后面出现了一些基于核心参数场景自适应生成的方法(如M2M[11]、APG[8]),我们的方法主要聚焦这一类,并作用于网络结构。

图2(右)展示了多场景自适应参数生成方法的常见建模范式,这类方法通过设计辅助网络以场景相关特征作为输入,输出场景相关的参数作用于主模型。这类方法容易实现跨场景知识的迁移,同时因对主网络每一层都有作用,场景相关特征对预估的影响也较强,随之而来的挑战是参数爆炸问题,这给模型收敛和存储都带来了困难。因此,我们需要寻找一种方法既可以保持准确度,又能减少参数量。

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

图2:多场景预估模型技术演进及多场景自适应参数生成建模方法

我们借鉴了网络压缩的技术来实现上述目标。网络压缩技术包括网络裁剪、矩阵低秩分解、知识蒸馏等方法,我们主要采用网络裁剪技术(Network Pruning)[3,4,10]。网络裁剪技术认为神经网络中参数往往是冗余的,从原大模型中能够找到一个准确度不弱于原模型的子网络,通过合理的裁剪便可以得到这个子网络。AdaSparse则是将网络裁剪技术和多场景参数生成技术结合,为每个场景寻找一个子网络,各子网络重叠和不重叠部分可视为学习场景的共性和特性。

为兼顾参数量和效果,AdaSparse将裁剪粒度定为神经元级,为此我们提供了一种场景相关的神经元级的权重因子方法:辅助网络以场景相关特征做输入,为主网络每一层神经元输出权重因子来衡量该神经元在该场景中的重要度。通过裁剪冗余/不重要的神经元,最终为每个场景学习到一个专属的子网络。由于神经元的数量远远小于模型参数(连接边),AdaSparse确保了较低的计算复杂度。

2. AdaSparse

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

2.1 模型概览

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

基于权重因子的不同生成方式,我们进一步细分为三种方法,分别是二值法(Bianarization)、缩放法(Scaling)、二者混合(Fusion)的方法,后续我们将详细介绍这三种方法。此外,AdaSparse对于每一层的常数项走单独的场景BiasNet来生成,因为不想限制常量bias的取值范围。同时,为了加速收敛,Pruner模块梯度反向传播时停止对场景相关特征的更新,即场景相关特征的参数更新还是来源于主网络。

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

图3:AdaSparse建模流程图

2.2 场景自适应Pruner

AdaSparse: 自适应稀疏网络的多场景CTR预估建模
AdaSparse: 自适应稀疏网络的多场景CTR预估建模
AdaSparse: 自适应稀疏网络的多场景CTR预估建模
AdaSparse: 自适应稀疏网络的多场景CTR预估建模
  • 缩放法(Scaling)。该方法动机为相同的特征对不同的场景有不同的作用,我们希望作用越大的信息权重越大。Scaling方法不做神经元裁剪,而是用一种“软裁剪”方式让冗余/噪音信息对预估结果影响较小。这里我们设置超参对权重幅度进行约束。
  • 混合法(Fusion)为上述二种方法的优势结合。

值得注意的是,这里用到的阈值函数其是一种符号函数,符号函数的特点是在断点处不可导,其他地方导数为0,这个不适合模型反向传播做梯度更新。事实上,对于符号函数求导问题业界解决也比较成熟,这里推荐三种方法:a) stop gradient方法(我们线上用的该方法):前向传播正常计算,反向传播把这个函数屏蔽掉,保证权重正常求导;

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

图4:三种权重因子实现方法

2.3 稀疏度正则

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

3. 实验及效果

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

3.1 离线实验

从表1(左)可知,“广义”多场景建模可以有效提升预估结果。由于公开数据集偏少,可以看到DCNv2效果整体弱于DNN,并且实验中发现模型不易收敛,可以尝试减少参数量。得益于场景相关特征对预估的增强和场景的冗余/噪音信息裁剪,AdaSparse取得了不错的结果。表1(右)的消融实验也可以看到,将场景的冗余/噪音信息进行个性化裁剪或权重缩放,都能取正向效果,并且二者融合有一定的效果叠加。

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

表1:离线实验

3.2 进一步分析

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

b) 对稀疏场景的泛化: 我们对场景按照曝光数进行等频分桶(5个),桶BIN1代表头部场景,其训练样本较丰富,BIN5代表长尾场景,其样本较稀疏。图5(b)显示所有的方法在头部domain上提效都更显著,但在长尾domains上AdaSparse有一定的优势,显示了AdaSparse对稀疏场景有不错的泛化能力。

c) 场景数与效果: 我们通过逐步增加场景划分的特征,看场景数与模型效果的关系,如图5(c)显示效果随着domain数量增加呈现先增加后降低的现象。该实验说明并非场景划分越多越好,需要一定经验来来设置合理的场景划分。

d) 稀疏度与效果: 图5(d)显示了不同稀疏度控制下效果的变化,可以看到效果随着稀疏度增加先提升后减少。注意到稀疏度为[0.35,0.4]时效果和Base DNN差不多,这也间接证明模型确实有冗余信息,裁剪冗余信息有潜在的提效空间。

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

图5:进一步分析

3.3 在线实验

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

4.总结与展望

本文分享的多场景CTR预估技术AdaSparse,其结合网络裁剪技术为每个场景自适应学习一个子网络来进行CTR预估,方法简单轻量级,也取得了不错的线上效果。在实践中,我们进一步发现辅助网络倾向于被大场景主导,未来我们将进一步探索更有效的缓解场景稀疏的问题,同时小场景对大场景的辅助也是值得探索的方向。

5. Reference

[1] Paul Covington, Jay Adams, and Emre Sargin. 2016. Deep neural networks for youtube recommendations. In Proceedings of the 10th ACM conference on recommender systems. 191–198.

[2] Ruining He and Julian McAuley. 2016. Ups and downs: Modeling the visual evolution of fashion trends with one-class collaborative filtering. In proceedings of the 25th international conference on world wide web. 507–517.

[3] Zhuang Liu, Jianguo Li, Zhiqiang Shen, Gao Huang, Shoumeng Yan, and Changshui Zhang. 2017. Learning efficient convolutional networks through network slimming. In Proceedings of the IEEE international conference on computer vision. 2736–2744.

[4] Jian-Hao Luo and Jianxin Wu. 2020. Autopruner: An end-to-end trainable filter pruning method for efficient deep model inference. Pattern Recognition 107 (2020), 107461.

[5] Xiang-Rong Sheng, Liqin Zhao, Guorui Zhou, Xinyao Ding, Binding Dai, Qiang Luo, Siran Yang, Jingshan Lv, Chi Zhang, Hongbo Deng, et al. 2021. One Model to Serve All: Star Topology Adaptive Recommender for Multi-Domain CTR Prediction. In Proceedings of the 30th ACM International Conference on Information & Knowledge Management. 4104–4113.

[6] RuoxiWang, Rakesh Shivanna, Derek Cheng, Sagar Jain, Dong Lin, Lichan Hong, and Ed Chi. 2021. DCN V2: Improved deep & cross network and practical lessons for web-scale learning to rank systems. In Proceedings of the Web Conference 2021. 1785–1797.

[7] Penghui Wei, Weimin Zhang, Zixuan Xu, Shaoguo Liu, Kuang-chih Lee, and Bo Zheng. 2021. AutoHERI: Automated Hierarchical Representation Integration for Post-Click Conversion Rate Estimation. In Proceedings of the 30th ACM International Conference on Information & Knowledge Management. 3528–3532.

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

[9] Runsheng Yu, Yu Gong, Xu He, Bo An, Yu Zhu, Qingwen Liu, and Wenwu Ou. 2020. Personalized adaptive meta learning for cold-start user preference prediction. arXiv preprint arXiv:2012.11842 (2020). [10] Michael Zhu and Suyog Gupta. 2017. To prune, or not to prune: exploring the efficacy of pruning for model compression. arXiv preprint arXiv:1710.01878 (2017).

[11] Qianqian Zhang, Xinru Liao, Quan Liu, Jian Xu, and Bo Zheng. 2022. Leaving No One Behind: A Multi-Scenario Multi-Task Meta Learning Approach for Advertiser Modeling. arXiv preprint arXiv:2201.06814 (2022).

[12] Yuting Chen, Yanshi Wang, Yabo Ni, An-Xiang Zeng, and Lanfen Lin. 2020. Scenario-aware and Mutual-based approach for Multi-scenario Recommendation in E-Commerce. In 2020 International Conference on Data Mining Workshops (ICDMW). IEEE, 127–135.

[13] Qijie Shen, Wanjie Tao, Jing Zhang, Hong Wen, Zulong Chen, and Quan Lu. 2021. SAR-Net: A Scenario-Aware Ranking Network for Personalized Fair Recommendation in Hundreds of Travel Scenarios. In Proceedings of the 30th ACM International Conference on Information & Knowledge Management. 4094–4103.

[14] Christos Louizos, Max Welling, and Diederik P Kingma. 2017. Learning sparse neural networks through _0 regularization. arXiv preprint arXiv:1712.01312 (2017)

继续阅读