
京东的广告业务在业界起步比较晚,但增速却让人刮目相看。
在以 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 现在被应用到京东搜索广告系统的主流量中,服务于数亿活跃用户。