淘宝躺平轻应用场景是目前淘宝家装垂类中比较重要的场景,主要通过内容的推荐来引导家装品类的商品成交,从实际产品界面上可以发现,内容的图像信息在整屏的占比较高。我们认为图像信息应当对用户的一跳点击、跳转商品页等行为能提供较为有效的信息输入。此外,图像不同于item id等id类特征需要一定的曝光量才能逐步学习到合适的embedding,图像本身就包含了足量的信息。同时在当时躺平推荐的算法设计中,非结构化的图像、文字等数据也一直是建模中一个缺失的部分。基于以上原因我们着手尝试将图像信息融入到推荐系统的算法中。
▐ 具体场景图示
躺平主界面
▼
主界面点击后进入内容无尽流
▼
点击商品进入商品详情页
▐ Highlight
Image is important for users' click decision
Image is informative
Image is missing in our RS
推荐系统优化
从以上分析以及我们阅读的大部分论文[1][2][3][4][5][6][7][8][9][10]中,我们发现,图像信息可以应用于推荐系统中的各个环节,包括召回、排序以及优化对新内容的Explore & Exploit。此外从图像输入的形式上,可以分为使用原始图像做为输入或者是预训练好的CNN模型的embedding做为输入。我们将其总结为下图所示的象限图。
下面我们会逐一介绍在这些环节中的应用图像数据的成果、尝试以及一些思考。从模型运算效率以及建模的复杂性方面考虑,目前我们对图像的处理是通过一个预训练的模型提取对应的图像embedding,然后应用于实际业务中。预训练模型为基于躺平图像数据训练的mobilenet[11]家居分类模型,提取了64维embedding来使用。在下文中,基于数据脱敏的要求,仅列出相对提升的百分值供读者参考。
▐ 召回:Visual4Match
直接使用图像向量召回
我们尝试的第一个思路是在召回环节,添加一路与图像信息强相关的召回,来帮助提升最终的转化率效果。流程图如下所示。在我们的业务流程中,绝大多数请求都是由手猜的引流商品带入,所以我们使用了引流商品的封面图图像embedding做为种子,在BE中通过向量召回相似内容做为一路召回。遗憾的是在线上ab中始终无法取得对baseline的提升。主要原因我们认为是基于图像向量直接做相似召回,在已经相对完善的推荐系统中可能并没能提供更多有价值的信息。因此我们下一步准备尝试利用用户点击数据对图像embedding做一定的改造,使得召回的内容更优质。
备注:BE为阿里生产上使用的召回引擎
基于监督模型优化图像向量召回
考虑到我们希望对全量内容进行召回,同时兼顾线上的rt增长不要太大,一个常见的解决方案就是双塔模型。双塔模型训练完成后,可以离线提前计算item侧embedding,导入BE的向量召回引擎中,用户+context侧embedding可以通过RTP实时计算,做为向量召回的seed。整体的工程链路如下图所示
Type | 离线AUC |
Baseline双塔模型 | / |
+引流商品及内容封面图Embedding | +2.72% |
我们首先做了一个初步的离线实验,用于印证,加入图像embedding之后可以带来的提升。在离线AUC实验中可以看到,仅仅简单加入图像embedding相关的部分特征,对比baseline AUC就有可观增长。可惜的是这版双塔模型虽然在单路召回中,对比直接使用图像向量召回,pctr和uctr都有显著提升,但是在AB实验中,AB桶并未能展现出优势。主要原因我们认为,在已经相对完善的召回链路中,需要较高的离线AUC才有可能在目前的召回链路中脱颖而出,从而对线上效果产生正面影响。通过参考Google在双塔模型上的一系列工作[8][9],我们将point-wise loss改为sampled softmax,同时增加了Label Aware Attention模块[10]处理用户多兴趣向量,使用Attention模块处理内容以及内容挂载商品的图片embedding关系,将User和Item塔原先的DNN结构改造为WDL结构[12]
Label Aware Attention 计算
Embuseri为User塔产出的用户多兴趣向量,N为用户的兴趣个数。这里我们参考了[10]的假设,认为用户的兴趣是多样的。Embitem为Item塔产出的内容表征向量,Embuser为经过Label Aware Attention后得到的最终用户向量
Label Aware Attention 将用户的多兴趣向量与Item塔产出的向量分别做内积,然后计算softmax,得到每个用户兴趣向量对应的权重,再将用户多兴趣向量加权求和,得到最终的用户向量。在这里,与当前Embuseri关联更紧密的用户兴趣向量占有更高的权重,在训练过程中可以更有效表达多兴趣的建模目的。
Image Embedding Attention 计算
在初期建模中,简单拼接引流商品及内容封面图的embedding到原有的特征中,就可以获得离线AUC收益,但是随着增加更多的图像信息,例如增加内容挂载的商品图embedding,我们实验发现简单的拼接embedding已经无法获得更多收益了。这里我们认为,图像embedding本身是来自图像分类模型,其embedding对推荐或者点击率预估的增益作用需要通过一定的解构学习来体现。内容挂载的商品一般有3-4个,多的会有6-8个,无脑拼接embedding大大增加了输入的维度,也增大了模型学习的难度。因此我们需要设计一定的模型结构来帮助模型学习。一个相对比较简单的思路就是使用Attention的方式。我们认为挂载商品在内容封面图中一般都有各自的位置和大小,建模这种权重关系,可以帮助我们获得一个更好的挂载商品图embedding表达。
Embbitem为经过Image Embedding Attention之后输出的挂载商品图embedding,Embbitemi为内容中挂载的各个商品图embedding,
DNNi计算了每个挂载商品图embedding的原始权重,再经过一个softmax得到最终的权重,最后加权相加。featitem包含了内容以及挂载商品相关的特征。最终得到的Embbitem拼接到了原特征中,做为Item塔的输入。更进一步来看,如若为了优化计算效率,DNNi也可以替换成向量内积计算等比较简单的形式,如若为了优化模型的效果,还可以考虑将引流商品图和挂载商品图做一些Attention的处理,我们在后续的模型优化中也确认,这些点都可以提供收益。
下面我们来看一下全部模型优化做完之后的离线AUC提升,可以确认离线AUC的提升还是非常显著的:
Type | 离线AUC |
Baseline双塔模型 | / |
+引流商品及内容封面图Embedding +内容挂载商品图及image embedding att +sampled softmax +用户MIND embedding及label aware att +基础结构改为WD | +13.18% |
单路召回对比 “1.1直接使用图像向量召回”的最初版本,提升也非常显著
线上7天AB实验
最终全链路pctcvr提升 +1.16%
已有召回链路优化
在原召回链路中,其中一路使用淘宝数据训练了i2i模型,得到引流商品与商品间的共现权重,通过求和内容中的商品共现权重来获得给定引流商品下内容的共现权重,具体计算如下
其中
itemx为引流商品,contenty为我们想要计算的内容候选,itemi为contenty中的挂载商品。在求和过程中,并未能考虑到挂载商品和内容本身的关联关系,但是显然,一个内容在展现时,不同挂载商品在内容图中的位置、面积等都是会影响到用户后续点击(即二跳点击)的有效因素,举例如下图。显然龙骨、芦荟在画面中重要性远低于沙发,用户点击这张内容图,更大可能是对沙发感兴趣。
那么,我们应该如何来描述这种挂载商品和内容在图像上的关联关系呢?在上文中,我们训练双塔模型时,曾使用DNNi来学习挂载商品和内容的关联关系,应用在Attention模块中。
那么使用DNNi的输出,经过softmax之后是不是就可以直接用来表征挂载商品和内容在图像上的关联关系呢?在实际使用时,我们发现这样的Attention输出结果,并不够鲁棒。在部分内容中,可以较好表达挂载商品和内容在图像上的关联关系,但是在另一些内容中,则输出的Attention Score存在问题。
我们认为,这主要是由于DNNi是通过数据训练出来的,在训练数据中存在长尾效应,部分内容得到了充分训练,而长尾的内容则输出的Attention Score相对随机。所以我们进一步寻求更鲁棒的解法。一个简单思路是,如果我们直接计算图像embedding的内积是不是就足够了?
通过实际验证发现,确实如此,由Mobilenet提供的图像embedding本身经过大量内容图片的训练,并且不受到点击率预估的训练集长尾效果的影响,所提供的embedding更为鲁棒。例如
在上述内容图中,田园装饰画占据了当之无愧的C位,其次为棉麻抱枕和年轮茶几,龙骨盆栽在画面最边缘的位置,甚至只有一部分出境。而计算得出的weight较好得描述了上述关系。经过优化之后的共现权重计算如下
以上优化上线AB效果
链路pctcvr提升 +1.25%,而且从以上结果中可见,提升主要来自于二跳的点击率提升,符合我们之前的分析。
▐ 排序:Visual4Rank
一般在推荐系统中,分为召回和排序两个阶段,召回是从海量的产品中快速筛选出足够多的候选池,给到排序模型做最终的打分和输出。因此排序模型的优化对线上结果能产生直接影响。排序模型baseline我们选择了团队同学开发的MMoE模型。
在排序模型的优化中,我们主要使用了打分内容的封面图embedding、引流商品图embedding以及用户历史点击过的内容封面图embedding,对这三种embedding做了two-level attention[4]处理,得到最终的特征,与原特征拼接到一起送入到MMoE模型中。
two-level attention的设计初衷,在上文中也有提及,“图像embedding对推荐或者点击率预估的增益作用需要通过一定的解构学习来体现”,two-level attention就是对这种解构学习的一种具体实现,在embedding的处理上分为两个level,第一个level是对embedding中每个元素去计算对应attention score (feature weight),即我们认为在图像embedding中,每个维度所表达的信息在推荐和点击率预估中,只有一部分是有效的,我们通过元素这个层面的attention score来筛选;第二个level是embedding层面,即我们认为内容封面图、引流商图、历史点击内容图,这些数据中,也仅有一部分对推荐和点击率预估有增益效果,需通过attention score(item weight)来筛选。那么最终的two-level attention结构如下图所示:
新增feature会拼接到原有的特征中送入最后的MMoE模型训练。
离线AUC对比
线上7天AB实验
整体一跳、二跳转化率都有一定提升,并且我们发现在模型优化上,我们做得并没有双塔模型那么多,但是最终转化率收益上还要高于双塔模型,表明在排序上优化收益要比召回侧的优化收益更好一些。
▐ Explore & Expolit:Visual4EE
在线上原有链路中,为了能有效学习到新内容的id类embedding特征,我们会使用Thompson Sampling对新内容做定坑的展示,来保证新内容一定的曝光量。Thompson Sampling是通过线上的点击情况来实时调整曝光策略的算法,但是并未能考虑到用户对内容的偏好。在拥有了图像embedding之后,我们有了更好的描述内容的特征,在不依赖id类特征的条件下,我们可以利用用户特征、内容的静态特征(例如封面图、风格、挂载商品类别、叶子类目等)来构建双塔模型,应当可以大幅提升EE链路的曝光效率,提升这一链路的转化率。基于我们在Visual4Match中开发的双塔模型,我们调整了输入特征,训练得到了用于EE的双塔模型。上线后效果如下:
单路召回对比
由于EE这条链路在线上的曝光占比较小,线上AB对比,对最终转化率提升为 +0.35%。
结语
图像信息在推荐的召回、排序以及EE链路中,都可以提供可观的最终转化率提升,合并优化后转化率提升+4.23%。目前我们主要利用了pre-train CNN 模型的embedding来表征图像信息,本身embedding的表征和我们的最终目标推荐与点击率预估是存在天然的gap,所以我们使用了大量attention结构来解构图像embedding,达到最终的优化目标。
下一步我们尝试将 CNN模型 / Vision Transformer 直接整合到我们的排序模型中,通过端到端训练来直接优化图像embedding,目前也有了一些初步结果,如果有机会的话希望来给大家分享Visual4Rec 2.0。
以上就是我们在将图像信息应用到躺平推荐中的一些工作经验分享,如果大家有认为不对或者有疑问的地方,欢迎指正、讨论。本工作获得了团队和工程同学的许多帮助,最终获得收益,在此表示感谢!
参考文献
[1] Ups and Downs: Modeling the Visual Evolution of Fashion Trends with One-Class Collaborative Filtering, WWW 2016
[2] Sherlock: Sparse Hierarchical Embeddings for Visually-aware One-class Collaborative Filtering, IJCAI 2016
[3] Visually-Aware Fashion Recommendation and Design with Generative Image Models, ICDM 2017
[4] Attentive Collaborative Filtering: Multimedia Recommendation with Item- and
Component-Level Attention, SIGIR 2017
[5] Category-Specific CNN for Visual-aware CTR Prediction at JD.com, KDD 2020
[6] Learning Compositional, Visual and Relational Representations for CTR Prediction in Sponsored Search, CIKM 2019
[7] What You Look Matters? Offline Evaluation of Advertising Creatives for Cold-start Problem, CIKM 2019
[8] Sampling-Bias-Corrected Neural Modeling for Large Corpus Item Recommendations, RecSys 2019
[9] Mixed Negative Sampling for Learning Two-tower Neural Networks in Recommendations, WWW 2020
[10] Multi-Interest Network with Dynamic Routing for Recommendation at Tmall, CIKM 2019
[11] MobileNetV2: Inverted Residuals and Linear Bottlenecks, CVPR 2018
[12] Wide & Deep Learning for Recommender System, The Workshop on Deep Learning for Recommender Systems, ACM 2016
✿ 拓展阅读
作者|邦祝
编辑|橙子君
出品|阿里巴巴新零售淘系技术