在以AI技术为支持的推荐、搜索、广告等业务中,点击率预估(CTR)一直是技术攻坚的核心,同时也是AI技术在业务落地中最难实现的技术方向之一。近日,来自京东广告团队的一篇论文《Category-Specific CNN for Visual-aware CTR Prediction at JD.com》,即《在京东,视觉助力点击率预估——基于给定类目信息的卷积神经网络》被KDD2020成功收录。论文构建了一种基于特定类目的卷积神经网络(Category-Specific CNN, CSCNN),该算法有效利用了电商领域中丰富的商品类目信息,创新性的将商品类目信息与商品主图共同作为主图特征提取模块的输入,提取基于特定先验类目信息的商品主图特征,大大提高了CTR预估的准确度。
尽管京东的广告业务在业界起步的比较晚,但增速却让人刮目相看。这其中很大一部分原因得益于AI技术在广告业务的大范围应用。据京东商业提升事业部广告质量部负责人包勇军介绍,京东机器学习在2015年正式应用在在线广告中,初版排序模型使用浅层FM base的超稀疏模型,浅层模型时代的模型工作,主要着眼在业务理解和特征提取。这为以后模型发展技术路线奠定了一定的迭代基础,相对于当时许多tree base model架构的业务线,京东更容易向神经网络迁移。在2016年,商业提升事业部部署LR-DNN模型架构,基于Theano框架离线训练,自研在线severing服务。模型上线早于google的wide & deep模型发布,虽然较w&d模型设计和使用略显粗糙,但是也是将深度学习算法引入广告生产环境中的一次大版本升级,对于部门有举足轻重的意义。2017年,商业提升事业部的算法部门将整个模型基础架构进行升级,9N机器学习平台进行内功修炼,内核迁移到工业界主流的TensorFlow平台,完善作为工业生产平台的所有配套模块。
2018年后,模型算法进入业务建模时代,算法升级从特征加工、模型调参,迈向业务理解建模的新阶段。模型迭代升级进入快车道,业务指标显著增长。模型建模出现新的细分方向,同时,模型建模迭代也推动自研机器学习平台9N的升级。京东将精力更多的放在用户刻画、预估商品刻画、用户和商品关系的建模上,同时致力于发现模型应用中的使用短板,解决模型规模、学习效率、参数更新实时性等关键技术问题:
Multi task DCN主要解决了两个问题。首先将LR-DNN升级到DCN,将算法工程师从特征选择交叉的繁重工作中解放。其次采用多路输出的模型解决position bias。
User Memory Net静态用户刻画。长期行为更致力于刻画用户内在属性和偏好,并可以排除由外界因素导致的用户短期兴趣波动。由于使用了很长的用户行为,在线serving架构设计存在难点。
Category Specific CNN (CSCNN)是一种使用CNN抽取图像信息,并和CTR任务端到端联合优化的建模方法。一方面,需要考量高效离线训练及线上serving的方法。另一方面,和传统只以图片为输入的CNN不同,CSCNN将电商场景下丰富、具有强视觉先验的“商品类目标注”作为CNN输入的一部分,降低CNN训练的难度。CSCNN可以从商品图中提取到标题/类目等特征刻画不出的细节,并对冷启商品有更好的泛化。
KFAtt(KF Attention model for user behavior sequence)是用户实时行为序列建模的方法。整体我们采用Transformer的框架建模时序及用户行为和当前target的关联,是综合考量线上serving和后期迭代的扩展性的技术选型,实验验证效果优于流行的DIN和DIEN。我们进一步指出传统attention存在的问题,并直接对attention机制做出了改进。在用户兴趣多变、异质行为差异巨大电商场景下,KFAtt比传统attention表现出更优的效果。
Realtime Graph Convolutional Network (RGCN)是用户-商品实时关系图建模的方法。对于长尾和冷起阶段的商品,借助关系图可以得到更丰富的表示;对于活动、促销,实时关系图也可以更快捕获商品的时变特性。
目前机器学习已经在京东广告的各个环节得到深入应用。后续我们会逐一为大家进行详细介绍。此次入围KDD的论文,就是机器学习在广告CTR模型生产环境中结合图像信息的CTR建模的应用,接下来让我们一起详细了解一下这篇论文
广告点击率(Click Through Rate, CTR)预测问题,即已知用户、广告、环境等信息,预测该用户点击该广告的概率,是广告领域的最根本问题之一。精准的广告点击率预测是整个广告系统的基石,直接关系到京东数亿活跃用户的使用体验与百万广告主的切身商业利益。
在电商领域中,商品普遍以商品主图搭配文字描述的格式展示给消费者。相比于文字描述,商品主图往往包含更多的细节的、直观的商品信息,具有更强的视觉冲击力,直接影响用户偏好。因此,提取商品主图中的丰富的视觉特征,能有效挖掘商品特性,从而为CTR预测提供强有力的支持。
图一、电商广告示意图,红框内为商品主图。因其占面积大、表达的信息多和更吸引的用户注意力,故其特征的有效提取,对于后续CTR预测,有着至关重要的作用。
我们的目标是:在百亿规模的训练样本上,构建一种CNN有效抽取视觉特征,并和CTR任务联合训练。与此同时,满足线上系统的平响要求。
引入视觉信息的CTR预估中,业界通常会采用一种后融合的方式。做法是:采用现成、经典的CNN结构(Inception[1], ResNet[2], SeNet[3] 等)抽取图片特征,并与其他非视觉特征(如广告商品的类目信息、用户的个人特征、广告位置时间等)以后融合的方式,一起作为CTR预估模型的输入。
图二、现有的商品主图特征提取技术的缺点,红色虚线框为现有技术缺失部分。主图特征提取模块缺失了商品类目作为CNN的输入,无法精确地提取基于特定商品类目的主图特征,限制了CTR预估的准确性。
然而这种业界通用的做法,一直面临两个重要的问题:
工业级广告CTR预估系统需要满足线下快速训练和线上低延迟服务两项重要技术要求。 然而,由于CNN的运算速度远远慢于CTR预估系统的其他模块,它可能成为整个CTR预估系统的运算瓶颈。所以,在实际CTR预估系统中应用CNN来提取图像特征通常是极为困难的。
现有的商品主图特征提取模块,绝大多数搬迁自经典的、原本用于图像分类的CNN结构。在原本的图像分类任务中,图像的类别是未知的、待预测的,因此这些CNN结构并没有把图像的类别作为输入。而在CTR预估中,电商商品的类别是被清晰的标注的,并且极有可能含有能辅助图像特征提取的,丰富的视觉先验。在业界常用的,视觉特征与非视觉特征“后融合”的结构中,CNN没有有效利用“商品类别”这一重要信息,从而可能提取到与当前类目无关的特征,浪费了CNN有限的表达能力。相反,如果我们能设计一种新的CNN结构,有效利用商品类别信息,那么提取到的基于特定类目的视觉特征,会极大地降低CNN的训练难度。
旨在有效利用电商领域中丰富的商品类目信息,我们将商品类目信息与商品主图共同作为主图特征提取模块的输入,从而提取基于特定先验类目信息的商品主图特征。算法命名为基于特定类目的卷积神经网络(Category-Specific CNN, CSCNN)。相比于现有的主图特征提取技术,我们提取的主图特征能更为精确地描述商品特征,触达用户偏好,提升CTR预估的性能。
设计灵感最初来源于SeNet 和CBAM[4],即用轻量级的自身注意力网络刻画卷积特征之间的内在联系。亮点在于我们创新性地在每一个卷积层,都加入了类目信息,从而使基于特定类目的注意力网络能学到既重要又专注于特定类目的视觉特征。
图三、商品主图特征提取的流程图,为了清晰表述,本图只突出单一层的变换模块。实际中,该Attention结构可加在多层卷积网络中。
商品主图I通过多层卷积神经网络处理。在每一层CNN后,本层CNN的输出一个特征图张量(Tensor)F,该特征图张量经过通道注意力模块Mc 的变换后,调整为新的特征图张量F’,进一步经过空间注意力模块Ms变换后,调整为特征图张量F’’,这个特征图张量F’’作为本层输出的特征图,被输入到下一层CNN中处理。如图三。
我们来具体介绍下,通道注意力和空间注意力模块内部结构。
CNN的输出特征图张量F,先经过通道注意力模块Mc调整为F’,具体流程如图四(上): 首先,特征图F经过空间维度的压缩,得到了C维的Maxpooling和Avgpooling向量。两者分别拼接上C’维的类目特征向量Akc通过全连接层变换为两个C维向量后相加,得到一个C维的通道注意力向量,与原特征图广播后元素相乘后,得到调整后的特征图张量F’。总结为:
其中类目特征向量Akc,因类目k而异,和其他网络参数一起随机初始化后通过反向传播算法迭代优化。
图四、通道注意力模块和空间注意力模块
通道注意力调整后的特征图张量F’,经过空间注意力模块Ms调整为F’’,具体流程如图四(下):首先,特征图F’经过通道维度的压缩,得到了WH维的Maxpooling和Avgpooling矩阵。两者拼接上WH维的类目特征向量Aks,共同通过7*7的卷积核变换后,得到一个HW维的空间注意力矩阵,与原特征图广播元素相乘后,得到调整后的特征图张量F’’。总结为:
其中类目特征向量Aks,因类目k而异,和其他网络参数一起随机初始化后通过反向传播算法迭代优化。
经通道和空间维度两次调整后的特征图张量F’’,已经包含了类目k的先验信息,被作为了下一个卷几层的输入。以上两个调整模块,可以用在各个卷积层中,使得整个网络能提取基于特定类目先验信息的商品主图特征。
图五、在线模型系统架构
离线训练:CSCNN模块与整个CTR预估预估模型(Deep & Cross Net[5])共同训练。为了解决CNN的计算瓶颈问题,加速训练,我们采用了一种特殊的采样方式[6]。集中25个,有相同图像的广告训练样本在同一个训练Batch中。如此CNN图像特征提取可以只计算一次,然后广播到这个训练Batch中的25个样本。现在我们可以在一天内完成150亿广告展示样本、1.77亿图片的联合训练。
离线词表生成:商品图像和商品类目信息被共同输入到训练好的CSCNN模块中,计算商品图像的视觉特征向量。在线预估系统加载这些视觉特征,作为CNN模块的替代,输入到CTR预估系统中。结合一定的频次控制策略,20GB的词表可以覆盖第二天的90%的线上流量。
在线服务:在线服务系统接收到一条CTR预估请求后,会根据广告ID,从图像特征词表中直接查询视觉特征向量,与非视觉特征一起输入到CTR预估模型中计算。在3 Million/second的流量峰值中,我们的CPU在线服务系统能把TP99延迟严格控制在20ms以内。
我们的实验设计主要关注于两方面:
测试CSCNN模块的,有效提取特定类目信息的视觉特征的能力。为了排除庞大的CTR系统中的多方干扰,我们选择了Amazon Benchmark 数据集,和简单的线性CTR预估模型Bayesian Personalized Ranking (BPR).
我们进一步测试CSCNN对于整个CTR系统的提升。包括在京东广告系统收集的150亿训练样本的工业数据集,和真实流量的Online A/B Test.
具体结果如图:
图六、Amazon Benckmark数据集上的AUC比较。我们的算法显著优于State-of-the-Art。得益于图像信息和商品类目信息的加入和有效早融合
图七、Amazon Benckmark数据集上的AUC比较。不同的Attention机制中,都可以通过加入CSCNN模块获得一致提升。证明了CSCNN的优秀适应性。
图八、Amazon Benckmark数据集上的AUC比较。网络Backbone结构,都可以通过加入CSCNN模块获得一致提升。证明了CSCNN的优秀适应性
图九、工业数据集 & Online A/B Test。CSCNN贡献了线下AUC和线上CTR的显著提升。
我们提出了一种基于给定类目信息的卷积神经网络。通过CNN图像特征提取与商品类目信息的早融合网络结构,有效的强调了既重要、又直接跟特定类目相关的视觉特征。从而显著提升CTR预估的准确性。匹配高效的基础架构,CSCNN现在被应用到京东搜索广告系统的主流量中,服务于数亿活跃用户。
雷锋网雷锋网