论文地址:https://arxiv.org/pdf/2308.05550.pdf
论文地址:https://github.com/adxcreative/COPE
作者:白雪涵(快手)、李岩(快手)、程衍华(快手)、杨文杰(快手)、陈权(快手)、李晗(快手)
近年来,随着用户在娱乐媒体上花费的时间越来越多,用户的购买习惯也发生了巨大的变化。用户不再仅仅在商详页购买产品,而是更青睐于短视频,直播这些更具交互性的媒体形式,我们称之为富内容电商。在提高了用户体验的同时,富内容电商也带来了更多的技术挑战。最主要的挑战在于在不同的领域中,商品曝光形式的巨大差异。在实际工业场景中,为了解决商品曝光的差异,建立一个跨域的商品表征是十分重要的。一方面,统一的商品表征有利于保证用户搜索商品时在不同的商详页,短视频和直播中都能得到准确的商品。另一方面,统一的商品表征有利于平台在推荐商品时能够更好的利用用户在不同媒体上的行为信息。
图1: 跨域商品表征在富内容电商中的重要性
尽管对于工业场景来说,获得统一的商品表征是至关重要的,但是目前的大多数学术界的工作都基于商品领域的数据构建商品表征,而这种商品表征并不适合富内容电商。商品图片主要来自于精细拍摄的商家选图而在直播和短视频中,商品的位置和形态会发生巨大的变化。为了弥补其间的差异,并推动跨域商品表征的建设,本文提供了第一个大规模的跨域商品识别数据集(cRoss-dOmain Product rEcognition, ROPE)。与此同时,本文同时提出了一个跨域商品表征的基线模型(Cross dOmain Product rEpresentation, COPE),将商详页,短视频,直播映射到同一特征空间中,并在跨域商品检索和少样本分类任务中超过目前的方法。
数据收集和清洗
ROPE数据集的构建分为三个步骤。
数据统计分析
ROPE数据集是第一个大规模的跨域商品识别数据集,也是规模最大的商品数据集。如图2所示,在商品数量,样本数量上,ROPE均超过目前已有的商品数据集,同时ROPE也涵盖更多领域的数据。
图2: ROPE与其他商品数据集的比较
ROPE包括描述189,958个商品的3,056,624个商详页,5,876,527个短视频和3,495,097个直播切片。我们将整个数据集分为训练集和验证集两部分,其中训练集含有187,431个商品,包括3,025,236个商详页,5,837,716个短视频和3,464,116个直播切片。平均每个商品下包括16个商详页,31个短视频和18个直播切片。训练集中的商品类目分布如图3所示,并且呈现出长尾分布。验证集含有2,527个商品,包括31,388个商详页,29,810个短视频和30,981个直播片段。平均每个商品下面包括12个商详页,11个短视频和12个直播片段。验证集的所有数据都是经过人工标注的。
图3: 训练集中商品类目的分布
评估任务
我们在ROPE上提出两个验证任务来评估模型在跨域商品表征任务上的效果。第一个任务是跨域商品检索任务,目的是从其他的领域样本中找出描述相同商品的样本。根据搜索域和候选域的不同,共有六种任务,分别是。其中 ,, 分别表示商详页域,短视频域和直播域。第二个任务是跨域的few-shot分类任务。在本文中使用one-shot。和检索任务相似,同样有六种任务。
以 的任务为例,对于检索任务来说,我们使用验证集中的所有短视频数据组成检索的gallary集合 ,使用验证集中的所有商详页组成检索的query集合 。对于 中的每一个query,目的是寻找到在 中描述相同商品的短视频。对于ont-shot分类任务,我们从验证集的每一个商品中随机采样一个短视频,并且通过对每一个商详页寻找到最近的短视频,从而对其进行分类。
模型结构
模型框架图如图4所示,COPE整体上设计为双塔结构,同时处理视觉和文本模态。在模型的底部,我们使用共享参数的视觉编码器和文本编码器,从每一个领域的原始的图像/视频和文本中抽取特征,再通过domain-specific的投影层分别得到不同领域的商品表征。随后我们使用一个混合编码器用于聚合图像和文本表征。尽管我们的混合编码器参数是共享的,不同领域的投影层的参数是独立的。值得一提的是,由于视频和直播ASR的文本数据包含较多噪声,我们在初版的模型中并没有使用这些信息。
图4: 模型结构图
损失函数
在COPE的训练中为了对齐不同领域中的商品表征,我们使用对比损失:
其中 表示 和 之间的相关性度量。正例 表示和 描述相同商品的样本。 通过计算不同的表征得到并且 和 来自不同的领域。根据 和 的不同领域,我们使用了7种不同的相似度计算方式,对应于7种不同的损失函数。具体的损失函数定义如图5所示。
图5: 不同相似度函数实现方式图
我们使用7种损失函数的和作为最终的对比损失:
其中 表示第 个损失函数的权重。
除了对比损失之外,我们还使用了商品分类损失进行模型的训练。具体来说,我们使用一个共享参数的 作为分类器,预测不同领域样本中的商品。对于商详页,我们使用多模态表征 ,对于短视频和直播,我们使用视觉表征 和 。因此有:
其中 表示每个领域的分类分数,使用softmax函数来进行模型训练。
我们使用开源的RoBERTa进行文本编码器的初始化,使用X-CLIP进行视觉编码器的初始化。对于短视频和直播,每个视频我们从中抽取8帧,训练的batch size设置为84并且训练持续训练了80轮,我们使用带线性warmup的余弦衰减策略,warmup持续两轮。文本编码器,视觉编码器和其他的编码器的最大学习率分别设置为5e-5,5e-7和5e-3。我们使用AdawW优化器和梯度累计用来加速训练,模型在14块A10上训练两天收敛。
实现结果
我们在ROPE上评估了我们提出的COPE模型和其他多模态算法。商详页表征是通过平均图文表征得到的,短视频和直播的表征是通过对所有的视频帧求平均得到的。为了和没有在中文数据集上训练过的模型比较,我们通过将文本翻译为英文进行比较(如CLIP4CLIP和FashionCLIP)。算法在ROPE上的效果如图6所示。
图6: 模型效果图
在通用领域图文对训练的模型在图6的第一栏中比较。结果表明这些方法在跨模态检索和分类任务上的表现均比 COPE 要差。同时可以注意到,在和直播相关的任务上模型表现要比其他的任务上表现显著更差。比如,COPE 在 任务中R@1检索分数为82.58%,分类准确率为59.84%,但是在 任务上只能分别取得54.06%和34.95%的分数。直播场景中的商品形态和大小与商详页中的商品差异巨大,以及直播中商品只在部分帧中出现这两点导致了识别直播中的商品存在较大的困难。在图6第二栏中,我们比较了 COPE 和 FashionCLIP 。尽管 FashionCLIP 在商品主图和title上进行训练,仍然和 COPE 之间存在巨大的差距。这说明仅在商详页领域训练的模型不能很好的适配跨域商品识别任务。
其他数据集的表现
为了验证ROPE数据集的泛化性,我们在在ROPE上训练得到到COPE模型在其他商品数据集(Product1M,M5Product)上进行评估。结果如图7所示,结果表明,尽量没有在其他数据集上进行微调,COPE仍能实现比原来的最佳模型更好的效果。
图7: COPE在其他商品数据集上效果
分类损失有效性
在这一部分,我们验证了分类损失对我们模型的有效性,由于训练集中商品种类的数量很大,我们使用Partical-FC。如图8所示,分类损失显著增加了模型的效果。比如,使用分类损失的模型相比没有使用分类损失的模型,在P2V和L2P任务上的R@1分别提升30%和19%。
图8:分类损失模型效果比较图
采样策略
在图9中,我们比较了使用随机采样和商品平衡采样的效果,对一个共计有N个样本的batch中,随机采样意味着从全部训练集中随机抽取 个样本,而商品平衡采样意味着从训练集中采样 个商品,每个商品采集 个样本,共计 个样本。实验表明平衡的采样策略能显著提高模型效果。
图9: 采样策略模型效果比较图
可视化
我们随机采样了30个商品和对应的商详页,短视频,直播进行t-SNE可视化。可视化效果如图10所示,描述同一商品的商详页/短视频/直播距离更近,这显示了COPE在区分不同商品上的有效性。
图10: t-SNE可视化效果图
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...