查看原文
其他

京东618广告精排百分位AUC提升技术方案

黄若然 于谦 京东技术 2022-08-10



Tech     


导读

京东零售推荐广告算法团队经过长期的技术探索和沉淀,针对当前京东APP推荐广告场景中遇到的冷启动现象、用户兴趣挖掘深度不足和全域数据未充分利用等主要挑战,总结归纳出了一套推荐广告精排AUC百分位的提升技术方案,该方案已于618大促前夕在京东APP完成了全量上线。读者可以从本文了解到当前京东推荐广告精排的主体框架和一些底层实现逻辑,希望能够给同行的技术工作者们带来一些经验积累和技术启发。




01 业务背景

在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了!
推荐广告是京东推荐流量的重要组成部分,它包含了多种广告素材,包括商品、聚合页、活动、店铺、视频、直播等。推荐广告的质量决定了京东平台上的用户的广告体验和京东平台的广告收入。精排是推荐广告最重要的一环,它预估用户对候选商品的点击率(Click-Through Rate),也是机器学习在推荐广告中最典型的应用环节。精排点击率预估技术是机器学习算法技术驱动业务增长的核心模块,也是技术人员持续追求最佳精度的经典领域,下图是京东推荐广告几种典型的广告素材。2022年618,京东首页进行了改版升级,广告精排技术也进行了相应升级,并应用到首页精排模型和活动智能优选等项目中。




02  技术挑战  

理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕

京东首页推荐场景的用户构成十分复杂,有的用户兴趣十分多样,有的用户兴趣较为单一,商品物料也变化迅速,这些因素对精准地建模广告点击率是极大的挑战。本文将这些挑战总结为以下三个方向:

(1)冷启动现象的有效缓解:京东的首页广告推荐场景中存在明显的用户和商品长尾现象,长尾用户和商品的数据稀疏,难以充分训练。要提升这种情况下的点击率,关键点是处理好任务中的冷启动现象,对此,本文设计了一个通用的变分特征学习框架(VELF),以更好地利用有限的数据,保障冷启动用户和广告获得更鲁棒的表征学习并避免过拟合。

(2)用户兴趣的深度挖掘:当前模型在学习用户兴趣分布时并没有很好的融入用户行为和京东物料库之间的先验知识,缺乏对整体广告推荐语义的把控,针对该问题,本文对用户兴趣网络结构进行了优化升级,设计了PPNet+、NeNet和Weighted-MMoE模块,通过对用户兴趣的深层次个性化建模来提升模型的整体预测能力。

(3)全域数据的充分利用:当前模型中,用户和广告的数据来源相对有限,对用户交互过程中产生的全域协同信息利用不够充分,限制了模型预估能力的上界。对此,本文从用户全域信息预训练和用户曝光数据建模出发,对用户全域信息做一个立体扩展以提升模型预估能力。


03  技术方案  

理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。针对面临的上述挑战,本文对精排的工程和算法进行了重点升级,给出了系统优化方案。通过系统优化,在精排点击率模型上取得了累计超过1%的AUC提升,线上广告收入提升也十分明显。当前的精排模型整体结构如下图所示,下文将从变分特征学习框架、用户兴趣网络优化和全域用户协同信息建模来介绍优化方案。

3.1 变分特征学习框架



为缓解冷启问题,优化首页推荐广告场景中存在的长尾用户及物品的处理,本文设计了一个通用的变分特征学习框架VELF),更好地利用有限的数据为冷启的用户/广告获得更可靠的特征并避免过拟合。首先对用户和广告特征通过分布估计而非点估计进行建模。同时使用变分推断(VI)的方法,对用户和广告的分布进行有效的学习。传统变分推断的方法使用标准正态作为分布的先验信息,这削弱了不同特征之间的表达各异性。为了增强用户和广告之间的信息表达,使用用户和广告相应的副属性作为各自的参数化先验信息,进而通过后验分布对先验信息进行矫正。

模型的整体框架如下图所示,其中u表示用户id,i表示商品id,c(u)和c(i)分别表示用户和商品相关的特征,z表示特征对应的embeding向量,zu和zi分别为用户和商品的embeding向量,对应图中的上下部分。在VELF中,将z的后验分布作为待学习潜在变量,通过变分推断来估计z的后验分布p(z|x),x为包含用户,商品和上下文的所有特征。

由于引入了分布建模的方法,传统的优化方式不可导,这里使用变分推断的方法进行求解,最终的损失函数可以化简为(详细的推导过程可见论文《Alleviating Cold-start Problem in CTR Prediction with A Variational Embedding Learning Framework》):

第一项为模型的似然(交叉熵损失),即希望模型的预测结果和真实的标签尽可能的相似,第二项为特征分布的约束项(KL散度),即希望学到的特征后验分布和假设的先验分布尽可能的相似。

为了增强用户和广告之间的信息表达,本文使用用户和广告相应的副属性作为各自的参数化先验信息,更好的聚合具有相似特征的用户和广告的特征空间,损失函数改写如下:

其中为通过用户和广告相应的副属性获得的各自的参数化先验信息,通过变分场,以及对参数先验分布的正则,防止过度的拟合,最终的损失函数如下:

其中:


本文的方法在公开数据上取得了较大的收益,公开数据集实验结果如下表。


上述相关工作已被推荐领域顶级会议WWW2022收录:《Alleviating Cold-start Problem in CTR Prediction with A Variational Embedding Learning Framework》。

文章链接:https://arxiv.org/abs/2201.10980

3.2 用户兴趣网络优化



为了提升用户兴趣层次化挖掘的深度,本文从强化个性化偏差,增强模型语义连接和用户分布异构化三种建模角度出发,对模型的网络结构进行了深层次优化。

1 、强化个性化偏差:PPNet+

当前的网络结构中,用户个体和目标广告的共建语义模式,未考虑在全局用户的共建语义模式基础上的个性化偏差。为增加DNN网络参数个性化,本文借鉴了快手推荐团队提出的参数个性化网络PPNet(Parameter Personalized Net),针对京东广告推荐场景,做了适配化改造,提出了PPNet+,除了选取用户ID,广告ID,三级类目ID等关键特征外,还融入了物品特征,交叉特征和用户行为特征作为门控神经网络Gate NN(Gate Neural Network)的输入特征。同时,本文还融入了用户历史点击行为和曝光序列作为side info信息,辅助PPNet+网络学习用户个性化兴趣。PPNet+模型结构示意如下:

如上图所示,PPNet+继承了PPNet的主体结构,底层由特征层(Features)和嵌入层(Embedding)构成,顶层由MLP学习并控制输出。考虑到京东首页推荐广告场景的复杂性,本文还对序列信息进行了处理,通过融合emb模块得到一个包含全域场景的fusion_emb特征向量,并将其同右侧的id 特征embedding 拼接到一起作为 Gate NN 的输入。同PPNet一样,模型左侧所有特征的 embedding 并不接受 Gate NN 的反传梯度,以减少 Gate NN 对现有特征 embedding 收敛产生的影响。同时本文还对Gate NN模块进行了改造处理,将原有的Neural Layer ReLU模块替换为了对参数更加敏感的Dice激活函数,并在Gate网络的输入层加入normalization的操作,将不同域特征的embedding输入大小能在相同的范围,帮助Gate层学习到的权重参数更好的收敛。

2、增强模型语义连接:NeNet

本文注意到,经过强化个性化偏差的模型改造,PPNet+的引入虽然增加个性化偏置能力,但这种个性化偏置能力却更容易受到短期活跃用户的行为影响,容易使模型在后续训练的过程中逐渐失去对长尾用户的兴趣的掌控能力,导致模型在每天更新时效果的逐步下降。为了弥补这个缺陷,需要对现有的网络结构补足精度,恢复其在模型训练过程中因为过度学习个性化偏置带来的梯度更新损失。为此,本文基于残差网络的思想提出了穿针引线网络NeNet (Needle Net),用以补偿模型训练过程中损失掉的梯度信息,主要思想可由公式表征如下:

   

为非线性激活函数。可以看到,NeNet融合了非线性函数的学习优势,同时又包含了原始的输入特征,通过类残差学习的思想,减少了短期活跃用户的行为带来的影响,使模型能够直接学习到底层非偏置化的向量特征。NeNet不需要保证严格的维度对齐,也没有模块深度要求,因此它可适用于大模型框架下的任何子模块上,相比于原始的残差网络,学习的参数更加灵活,可适配在模型的主向量和子网络上。3、用户分布异构化:Weighted-MMoE从京东首页入口可以发现,除主流的广告推荐外,还包含多种类广告的展示形式,即聚合页广告,活动广告,店铺广告和视频/直播广告等。通过获取在线数据和离线实验分析,可以发现不同广告场景,用户的点击消费习惯并不相同;同时,不同场景在同一界面下的展现量不同,也会导致用户兴趣的分布差异。但在当前的模式下所有场景共用一套输出,导致模型在预估时不同场景的输出相互制约,进一步限制了推荐广告的精排序效果。 针对于上述问题,本文将这些多个相互关联但又不一致的预估目标进行了综合建模,即引入多任务学习的思想来提升上下文推荐的效果。不同于传统的多任务模型的在时间上的串行关系(例如模型在推理用户是否会点击后还会推理是否下单),京东业务场景下的多任务模型更多的是一种时间上并行关系(即用户在不同场景下的点击不具有先后的承接关系)。考虑到上述两种情况下,模型依然可以共享高度相似的底层输入,为此本文引入了MMoE(Multi-gate Mixture-of-Experts)。需要注意的是,上图中tower A和tower B所用到的experts是同一套experts。对于不同的广告场景任务,模型的权重选择是不同的,所以本文为每个广告场景配备一个 Gate 门控网络。对于不同的任务,特定的 Gate n 的输出表示不同的 Expert 被选择的概率,将多个 Expert 加权求和,得到,并输出给特定的 Tower 模型,用于最终的输出。函数表达式如下:同时,本文发现,原始的MMoE只涵盖了Gate之间的相互制约关系,并未综合考虑网络层之间的信息共享和权重分配关系,为此本文对原有的模型做了一些改动,保持核心部分的专家网络能够共享底层输入信息的同时还能将这种信息通过权重分配的方式汇总到专家输出网络中,由此上述公式可改进为: 其中,N的个数随着专家数目保持一致,attention network模块负责为学习到专家信息分配权重(即weighted赋能过程),通过这样的网络设计可以让不同专家信息在反向求导时共享彼此的信息流,使模型始终维持一个统一的信息共享框架。融合用户兴趣的网络结构优化PPNet+、NeNet和Weighted-MMoE这3个策略合计精排AUC提升0.45%,对线上收入提升明显。


3.3 全域用户协同信息建模


原有精排模型的数据来源信息单薄,对用户交互过程中产生的协同信息利用不足,比如曝光数据和点击数据等,这限制了模型的预估能力上限。京东拥有多app多场景的线上线下的综合全域数据,是可以挖掘的潜在信息来源。本次升级中,本文从全域点击数据预训练和用户曝光数据建模的角度出发,以增强全域数据的利用程度,提升模型的个性化预估上限。 

用户在电商平台与商品的交互(浏览,点击,加购,搜索,购买等)信息深刻的反映了用户的兴趣。在CTR预估的任务中,用户行为建模也一直是学术界和工业界重点关注的话题。现有的用户行为建模主流方案都是基于attention的机制,将候选商品作为query,对用户行为中的不同商品计算不同的权重分数来聚合用户行为序列。在此基础上针对本文的场景进行了一系列的升级拓展,从多个视角、维度对用户和商品进行更加深入的挖掘和刻画,在离线数据和线上真实系统中都取得了非常明显的效果。

1、全域信息预训练

在端到端的CTR模型训练过程中,商品与商品之间的关系建模只会受到CTR预估准确性的影响,商品本身的相关性是被忽视的。而使用attention机制对用户行为序列处理的初衷便是希望从行为序列中挑选出与当前候选商品相关的那一部分,虽然这种相关性与前述的商品本身的相关性不完全一致,但二者是呈现正相关的,许多工作如DIN在打印attention权重时也论证了这一点,相似商品的attention分数更高。另一方面,端到端的训练过程中,商品关系的建模也仅仅使用了模型的训练数据,一般模型的训练数据只来源于其服务场景的点击曝光数据,对于训练数据覆盖率不高的长尾商品建模不充分。若直接加入其他场景的训练数据,一方面难以保证其他场景数据能正向迁移过来(实验证明,直接加数据在大场景下很难有收益),另一方面会存在如离线训练耗时成倍增加,不同场景数据特征难以对齐等诸多问题。因此,本文通过预训练的方式,使用京东全站的数据,预先建模商品之间的相关性,将其通过embdedding以及相似性分数作为后验统计特征的方式融入模型中,提升模型的表达能力。

由于在推荐系统中,用户和商品,商品和商品之间的关系非常适合使用图的方式组织,图模型在建模商品相关性之间的关系具有天然的优势。因此本文使用graph embedding的方式离线生成每个商品的embedding向量。主要生成流程如下,具体细节可参考EGES[1]。

通过graph embedding得到每个商品的预训练向量后,可通过faiss进一步得到一份离线词表,表中记录了商品库中与每个商品最相似的N个商品以及相似度分数。在模型训练的过程中,一方面可将预训练得到的商品embedding作为一种side info,与模型创建的随机初始化的商品embedding参数相结合(相加,点积或concat可根据实验效果调整)联合训练。离线实验表明,相比于随机初始化的方式,这种引入预训练graph embedding的方式可帮助模型更好的学习候选商品和用户行为中商品的关系。另一方面,由于用户行为中有很多行为与候选sku没有关系,即存在较多噪声,且序列越长,噪声信号越多,例如在SIM中提到,通过同类目过滤的方式,过滤大部分噪声。类似的,可通过faiss生成的离线词表,根据候选商品和用户行为商品间的相似度分数对分数低于阈值的不相关商品进行过滤,并将相似度分数做一些离散化处理后,作为一种后验统计特征加入模型中。

2、基于曝光信息的兴趣建模(Gama)

虽然用户的点击,加购,购买等正向行为能够反映用户的近期和长期兴趣,但在信息流推荐场景中,用户的实时兴趣也不断受平台展示出的商品的影响。例如用户在平台上浏览时可能从未点击过T恤,但平台给用户曝光过某一款T恤后,或许是因为价格很便宜,或许是因为样式用户很喜欢,用户当前时刻对T恤产生了兴趣。这一类实时兴趣由于用户的点击,加购,购买等行为没有包含过,因此无法通过这些来建模。因此,需要通过引入用户的曝光序列来刻画用户的实时兴趣。

曝光序列建模存在两方面的挑战:1.曝光序列长,计算负担大,而线上系统耗时要求较高;2.曝光序列中大多数商品与当前候选商品无关,噪声信号多。针对这两个问题,本文创造性的提出了一种门控自适应小波多分辨分析模型Gama,将无参信号处理方法和曝光序列信息获取进行了结合,解决了上述两大问题,在不降低模型性能的条件下,从海量曝光序列中自适应地挖掘多维用户兴趣,下面对本文的方法进行描述。

本文提出的模型结构如下图所示,其中主要模块包括小波分析模块(Wavelet MRA)和兴趣门控网络(Interest Gate Net)。小波分析模块,采用无参高效的小波分析方法,对曝光序列进行多层级数据分解,进而去除噪声,挖掘出用户曝光序列中蕴含的连贯兴趣。而兴趣门控网络的加入,旨在自适应地调整多分辨率的数据分解结果的聚合权重。

小波分析模块(Wavelet MRA):

针对向量化的曝光序列Eu,小波多分辨分析方法将其看作是多路信号,逐级进行数据分解,其中第J级的分解结果包括稳定的低频信号a和孤立的高频信号d,而低频信号a会继续进行下一级的分解。该多分辨分析过程可形式化为以下公式:

其中的H和G分别为低通过滤器和高通过滤器,其具体形式采用的小波基。常见的小波基包括Daubechies、Coiflet、Harr等,其形式请参考小波分析相关资料。

兴趣门控网络模块(Interest Gate Net):

对于上述分析方法获得的多路信号,最简单的使用方法是采用其平均值。但该方法无法自适应的学习到各信号分量权重,因此本文进一步提出一下兴趣门控网络。假设目标商品表征为eq,采用注意力机制可对某一信号s进行聚合:

而针对所有需要考虑的分解信号(如d1,d2,a3),可以获得用户表征wu:

其中

本文首先验证了该方法在公开数据集(Taobao)的效果,在多种基于用户兴趣的CTR建模框架中取得了约10%的效果提升,同时该方法对冷启动用户尤为有效。

同时,本文在京东数据集上也做了离线实验,取得了不错的AUC提升,线上A/B效果提升明显。

上述两项全域协同信息建模建模工作AUC累计提升0.35%,线上收入提升明显,相关工作已被机器学习顶级会议SIGIR2022收录:《Gating-adapted Wavelet Multiresolution Analysis for Exposure Sequence Modeling in CTR prediction》,文章链接:https://arxiv.org/abs/2204.14069

3.4 其他工作



在变分特征学习框架、用户兴趣网络优化和全域用户协同信息建模工作之外,在精排模型上本文还做了以下升级:对特征由XGBoost综合打分后排序,对重要特征的embedding向量做维度扩展;升级神经网络结构的Dense层为Nadam,Sparse层为adagrad;在用户行为序列中引入时间和位置信息增强序列属性丰富度;引入商品广告的主题ID频次网络子结构。综合上述技术的整体优化方案,精排模型的累计AUC收益超过1%,在精排上本文作者团队还有几个创新的工作在进展中,包括生成数据式CTR框架、Item-server分桶序列框架和Item协同替代表示学习技术。 




04 总结与展望

总结过去,京东零售广告算法定向组和工程团队经过长期的技术探索,针对模型冷启动场景、用户兴趣挖掘和全域协同建模三个维度的挑战提出了针对性的系统升级方案:变分特征学习框架、用户兴趣网络优化和全域用户协同信息建模,总结归纳出了一套推荐广告精排AUC百分位的提升技术方案,这套技术方案已于618开幕前夕在京东APP完成了全量上线。同时,本文中的技术方案也应用在了京东APP泛商品活动智能优选等项目,为京东618大促活动带来了显著收益。

京东零售广告数据与算法团队负责人林战刚表示,"过去,我们通过技术创新构建更精准的用户行为建模和预测能力,提升用户体验的同时带来了平台收益,实现了平台和用户的双赢。未来,我们将通过持续提升数据的长度、宽度、厚度,建立针对全域用户的深度理解,基于此构建更复杂更精准的智能算法模型,在新形势下助力京东广告业务发展"。展望未来,首先作者团队将积极探索新的精排技术范式,包括生成数据式CTR框架和Item协同替代表示学习技术框架。其次,在用户兴趣的深度挖掘上,作者团队构建了围绕用户特征的User Server动态表征赋能框架。面对多元的训练数据和更长更宽更厚的全域用户协同信息,作者团队设计了Item全域行为序列架构。精排点击率预估技术是机器学习算法技术驱动业务增长的核心模块,也是技术人员持续追求算法最佳精度的经典领域,作者团队会持续精进,与同行一起探索未来技术。

项目成员

黄若然、徐晓晓、吴向东、胡军士、杨晨、于谦、杨效淳、赵梓皓、陈明明、刘冲、马魁、齐浩、李健、王昆垚、徐海平、王建领、王宝、高嵩、金均生、范朝盛、彭长平


如果对我们的工作感兴趣

欢迎联系做技术交流

范朝盛:fanchaosheng1@jd.com

参考文献


[1] Wang J, Huang P, Zhao H, et al. Billion-scale commodity embedding for e-commerce recommendation in alibaba[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2018: 839-848.[2] Zhou G, Zhu X, Song C, et al. Deep interest network for click-through rate prediction[C]//Proceedings of the 24th ACM SIGKDD international conference on knowledge discovery & data mining. 2018: 1059-1068.[3] 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-of-Experts[C] //Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD '18).  2018: 1930-1939. [4] Andreas Veit, Michael Wilber, and Serge Belongie. 2016. Residual networks behave like ensembles of relatively shallow networks[C]//Proceedings of the 30th International Conference on Neural Information Processing Systems (NIPS'16). 2016: 550-558.




推荐阅读智能测试实践之路 - UI缺陷检测电商库存系统的防超卖和高并发扣减方案

微服务低代码Serverless平台(星链)的应用实践

Deferred Components-实现Flutter运行时动态下发Dart代码


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存