京东零售推荐广告算法团队经过长期的技术探索和沉淀,针对当前京东APP推荐广告场景中遇到的冷启动现象、用户兴趣挖掘深度不足和全域数据未充分利用等主要挑战,总结归纳出了一套推荐广告精排AUC百分位的提升技术方案,该方案已于618大促前夕在京东APP完成了全量上线。读者可以从本文了解到当前京东推荐广告精排的主体框架和一些底层实现逻辑,希望能够给同行的技术工作者们带来一些经验积累和技术启发。
京东首页推荐场景的用户构成十分复杂,有的用户兴趣十分多样,有的用户兴趣较为单一,商品物料也变化迅速,这些因素对精准地建模广告点击率是极大的挑战。本文将这些挑战总结为以下三个方向:
(1)冷启动现象的有效缓解:京东的首页广告推荐场景中存在明显的用户和商品长尾现象,长尾用户和商品的数据稀疏,难以充分训练。要提升这种情况下的点击率,关键点是处理好任务中的冷启动现象,对此,本文设计了一个通用的变分特征学习框架(VELF),以更好地利用有限的数据,保障冷启动用户和广告获得更鲁棒的表征学习并避免过拟合。
(2)用户兴趣的深度挖掘:当前模型在学习用户兴趣分布时并没有很好的融入用户行为和京东物料库之间的先验知识,缺乏对整体广告推荐语义的把控,针对该问题,本文对用户兴趣网络结构进行了优化升级,设计了PPNet+、NeNet和Weighted-MMoE模块,通过对用户兴趣的深层次个性化建模来提升模型的整体预测能力。
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散度),即希望学到的特征后验分布和假设的先验分布尽可能的相似。
为了增强用户和广告之间的信息表达,本文使用用户和广告相应的副属性作为各自的参数化先验信息,更好的聚合具有相似特征的用户和广告的特征空间,损失函数改写如下:
其中为通过用户和广告相应的副属性获得的各自的参数化先验信息,通过变分场,以及对参数先验分布的正则,防止过度的拟合,最终的损失函数如下:
其中:
本文的方法在公开数据上取得了较大的收益,公开数据集实验结果如下表。
文章链接:https://arxiv.org/abs/2201.10980
3.2 用户兴趣网络优化
为了提升用户兴趣层次化挖掘的深度,本文从强化个性化偏差,增强模型语义连接和用户分布异构化三种建模角度出发,对模型的网络结构进行了深层次优化。
1 、强化个性化偏差: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
3.3 全域用户协同信息建模
原有精排模型的数据来源信息单薄,对用户交互过程中产生的协同信息利用不足,比如曝光数据和点击数据等,这限制了模型的预估能力上限。京东拥有多app多场景的线上线下的综合全域数据,是可以挖掘的潜在信息来源。本次升级中,本文从全域点击数据预训练和用户曝光数据建模的角度出发,以增强全域数据的利用程度,提升模型的个性化预估上限。
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协同替代表示学习技术。
总结过去,京东零售广告算法定向组和工程团队经过长期的技术探索,针对模型冷启动场景、用户兴趣挖掘和全域协同建模三个维度的挑战提出了针对性的系统升级方案:变分特征学习框架、用户兴趣网络优化和全域用户协同信息建模,总结归纳出了一套推荐广告精排AUC百分位的提升技术方案,这套技术方案已于618开幕前夕在京东APP完成了全量上线。同时,本文中的技术方案也应用在了京东APP泛商品活动智能优选等项目,为京东618大促活动带来了显著收益。
京东零售广告数据与算法团队负责人林战刚表示,"过去,我们通过技术创新构建更精准的用户行为建模和预测能力,提升用户体验的同时带来了平台收益,实现了平台和用户的双赢。未来,我们将通过持续提升数据的长度、宽度、厚度,建立针对全域用户的深度理解,基于此构建更复杂更精准的智能算法模型,在新形势下助力京东广告业务发展"。展望未来,首先作者团队将积极探索新的精排技术范式,包括生成数据式CTR框架和Item协同替代表示学习技术框架。其次,在用户兴趣的深度挖掘上,作者团队构建了围绕用户特征的User Server动态表征赋能框架。面对多元的训练数据和更长更宽更厚的全域用户协同信息,作者团队设计了Item全域行为序列架构。精排点击率预估技术是机器学习算法技术驱动业务增长的核心模块,也是技术人员持续追求算法最佳精度的经典领域,作者团队会持续精进,与同行一起探索未来技术。
项目成员
如果对我们的工作感兴趣
欢迎联系做技术交流
范朝盛:fanchaosheng1@jd.com
参考文献
Deferred Components-实现Flutter运行时动态下发Dart代码