背景介绍在机器学习领域,无监督学习(或称自监督学习)一直被认为是最有价值的领域之一。在ISSCC2019上,知名人工智能研究者、图灵奖获得者YannLeCun给出了他的“蛋糕图”2.0版本,并再次强调了自监督学习的地位,认为自监督学习是一个通往未来的共同道路通往人工智能的可能道路。事实上,自监督学习并不是一个新概念。在NLP领域,已经有很多相关的应用。自监督学习的本质是通过数据本身来构造训练目标,从而达到不需要人工标注的目的。例如word2vec使用skip-gram训练方法,通过词来预测上下文;然后谷歌提出的Bert使用MaskedLM和Nextsentenceprediction来实现预训练。本质上,原始数据用于构建训练目标。自监督学习方式与我们的实际场景有很高的契合度。在现实世界中,海量数据不存在所谓的标签系统。例如,在内容维度,作者创作的图文,既无法融入标准的标签体系,也无法形成日处理百万级数据的标签团队。级数据。通过自监督学习获取这部分信息成为必经之路。一户一户灯应用是淘宝装修垂直类目中的主要流量入口,以内容导购的形式满足家居领域用户的购买需求。在去年Visual4Rec的工作中(详见https://mp.weixin.qq.com/s/LmON8pQ8TvPTfN2spblzDQ),我们主要使用预训练的imageembedding对finesorting、recall和EE三个环节进行了优化。在线效果不错。基于去年的工作,我们希望进一步探索自监督学习获得的嵌入质量对推荐、分类和搜索的影响。我们从2020年开始在imageembeddingextraction上尝试了一些imageself-supervisedlearning模型,以及DharmaAcademyM6预训练模型在multi-modalembeddingextraction上的效果,并在线上线下的不同环节做了详细的验证。本文是卓切在天平天天算法组实习期间的工作总结。理论基础?图像自监督学习2020年以来,图像自监督算法在学术界取得了长足的进步。基于图像随机变换+infoNCEloss的设计范式,对SOTA进行了逐步刷新。基于自监督算法训练的无监督图像Embedding在下游使用线性分类器,其分类精度开始逐渐接近甚至超过CNN训练的分类精度。在实际场景中,我们主要使用EVTorch团队提供的Mocov2[1]模型和SwAV[2]模型进行测试验证。这里简单介绍一下SwAV的模型原理。图1显示了SwAV与一般自监督对比学习的核心区别。Fig1SwAV与一般自监督对比学习的区别一般自监督对比学习主要是通过对图像的随机变换(比如随机加入少量噪声、轻微的颜色变化、随机裁剪等),如下所示。我们认为,这种细微的变化对图像本身的语义表达没有影响。图2ImageRandomTransform同一张图片不同变换作为正样本,不同图片不同变换作为负样本,在embedding层进行对比训练的例子,如下图,其中是编码函数(代表学习方程),和是正样本,是负样本的集合,通过上述公式优化。从上面的公式我们可以发现,假设一个百万级别的数据集,在embeddings之间做两两比较的计算开销是非常大的。学术界对此提出了一些解决方案。比如Moco系列的memorybank的思路就是对embedding本身进行近似,将历史计算出的embedding存储在一个memorybank中,以供后续对比研究。在此基础上,SwAV算法提出或许我们不需要对两对图片的embeddings做比较学习。我们可以近似任务,首先对嵌入进行聚类,然后通过聚类了解两对之间的关??系。关系。在图1中,表示编码函数直接输出的embedding,表示映射矩阵,将embedding映射到聚类原型,即在一个batch中,通过SwappedPrediction缩短正样本之间的距离,距离不同图之间是引入了聚类的统一区间限制,以保证负样本之间的聚类距离。具体公式如下:SwappedPrediction,对于映射向量,作者认为同一张图片不同变化产生的embedding,经过不同的映射向量后,应该映射到同一个cluster聚类统一极限,即在同一个batch,不同图片对应的cluster会被平均选择给SwAV算法。通过将嵌入之间的比较学习简化为集群之间的比较学习,大大降低了计算开销。同时在线聚类时引入统一约束,使模型不会陷入普通解,从而获得高质量的图像自监督嵌入。?M6多模态预训练M6(Multi-ModalitytoMulti-ModalityMultitaskMega-transformer)是阿里巴巴集团达摩院开发的一种基于稀疏MoE的多模态预训练模型。基于万亿级参数的预训练模型,我们利用淘宝商品的数据进行对比学习,得到我们最终使用的模型。稀疏MoE可以在增加参数量的同时保持较低的计算开销。在Whale框架的支持下,可以获得更好的计算效率。SparseMoE定义如下,是输入的表示。经过门函数的参数计算,然后通过softmax,选择最上面的权重。假设一共有专家,其中,过滤后得到top的门值,然后进行softmax计算,得到最终用于乘以专家输出值的权重。是专家i的输出结果。在实际使用中,模型的每次运算只使用有限数量专家的输出,可以减少一部分计算量。在分布式训练场景中,我们可以进一步将不同的专家放在不同的worker中。在具体的项目实施中,需要考虑负载均衡,保证稀疏设置的合理性。具体实现和算法实现可以参考[4]场景实践?场景、风格KNN召回一致性率在每户每户的轻应用场景中,训练了Mocov2和SwAV两个版本的自监督图像模型通过使用轻应用内容的封面图像,分别提取图像的嵌入;此外,使用M6预训练模型为轻应用内容的封面标题提取多模态嵌入;我们比较的基线是目前在线使用的预训练图像嵌入。比较方法是使用种子内容(seed),基于不同embeddings的KNN召回结果,比较召回的内容场景、风格标签和种子内容场景,以及风格标签的一致性率。指数越高,一致性越好。计算方法为欧氏距离。这种比较主要可以反映contentembedding在场景和风格上的语义表达能力,可以在一定程度上反映embedding的语义表达能力。+w表示对嵌入进行白化的结果。对embedding进行白化后进行KNNrecall,主要参考文献[5]。基于Bert模型输出embedding的白化处理可以大大提高recall的相关性。表1为记录结果特征召回内容风格一致性率召回内容场景一致性率Online0.635510.62783Online+w0.637040.63452Moco-v20.613980.68160Moco-v2+w0.615380.68738SwAV0.642290.71147SwAV+w0.61362060232M+w0.61362060232M.7(6dim)0.716070.70221表1不同embeddings在风格和场景召回一致性率表现结果上的分析Mocov2在风格一致性率上略低于baseline,但在场景一致性率上优于baseline。总体来说,优势并不明显。M6和SwAV的嵌入输出在风格和场景召回一致性方面明显优于Mocov2和在线使用的嵌入基线。M6的风格召回一致性率明显优于其他嵌入。经过进一步调查,我们发现这主要来自题主提供的信息。在标题中,会有大量关于风格的描述性语句。白化操作将在每次嵌入的基础上进行。额外的改进主要是由于我们使用了基于欧氏空间假设的欧氏距离计算。白化操作可以在embedding的原始几何空间的基础上选择合适的正交基,可以拟合欧几里得空间假设,也符合文献[5]中提到的Assumptions。Visualization从可视化结果也可以发现,在线使用的embeddings和Mocov2产生的embeddings在KNNrecall后仍然有一些badcases,而SwAV和M6的recall结果比较直观,看起来更好。此外,我们的可视化主要使用主封面图像。SwAV作为纯imageembedding使用,在视觉一致性上优于M6的结果。后者使用封面图片和内容标题。?M6&SwAVcontentcoverfeaturesaddedtosorting在KNNrecall实验中,我们初步验证了SwAV和M6产生的embeddings在某些语义表达维度上具有优势。接下来,我们进一步验证添加M6&SwAV嵌入后的在线精细排序模型。auc指标的变化(粗体为最优指标,下划线为次优指标),如下图。在所有特征中,我们只添加或替换封面图像的嵌入特征。比较基准是不使用内容封面图像的嵌入特征的特征集。三个实验分别是:1.只增加内容封面图像的预训练嵌入特征;2.只增加了内容封面图片SwAV自监督学习得到的图片嵌入特征。,3.只添加内容标题+封面图片的M6预训练embedding特征。SwAV和M6的嵌入已被白化。在内容点击、详情页点击、商家详情页点击中,选取了三个任务预测的AUC值。全量数据测试,我们选择了两个时间段进行训练和测试。此外,为了进一步验证效果,我们还对近7天新发布的内容进行了测试。Allexperimentswererunfor3timestotaketheaveragevalueandvariancevalue.ThespecificresultsareasfollowsFeaturectr_aucctcvr_aucBusinessDetailsPageBehavior_aucNoImageFeature0.65426±0.001250.67302±0.005060.68214±0.00970Online0.65545±0.000350.67250±0.004080.67486±0.00812M6+w0.65570±0.001270.67673±0.004110.68759±0.00655SwAV+w0.65568±0.001440.67572±0.006510.68547±0.01055Table20611~0617训练0618测试特征ctr_aucctcvr_auc商详页行为_aucNoImageFeature0.66242±0.000960.68005±0.002730.68821±0.00550online0.66649±0.000510.68404±0.003510.68670±0.00514M6+w0.66509±0.001510.68450±0.005130.69332±0.01052SwAV+w0.66402±0.000950.68324±0.000760.69033±0.00173Table30701~0707测试0708测试模型ctr_aucctcvr_auc商详页行为_aucNoImageFeature0.71587±0.004540.73770±0.004190.70397±0.00985online0.71907±0.005880.74005±0.005210.71821±0.01793M6+w0.72516±0.001130.74885±0.005740.71666±0.00317Table4AUCcomparisonresultsofnewlyreleasedcontentinthelast7daysAnalysisofimageembeddingfeaturesormulti-modalembeddingfeaturesofnewcontent,comparedontheofflineaucindicatorsofthethreetasksBaselinesthatdonotusesuchfeatureshaveacertainimprovement,andtheimprovementisrelativelystable.Usingtrainingandtestdataindifferentperiods,addingM6embeddinghasaslightimprovementorisbasicallythesameasusingonlineembedding.此外,我们在近7天发布的新内容测试中进一步发现,M6embedding的提升会更加明显,这表明对于缺乏统计特征的新发布内容,M6多模态特征将发挥更重要的作用。线下AUC指标的提升也比较明显。Online我们对加入了M6embedding的模型进行了onlineab,7天内观察到pctcvr+2.6%avg_ipv+1.51%?其他场景图像分类大量论文对图像自监督学习进行了实验验证,自己-基于预训练的监督Finetune对模型下游任务(分类/检测等)的效果优于end2end训练。这里基于预训练的SwAV模型,我们对平躺货物场景的图像进行叶子类别的分类模型实验。共有3519个类别。使用SwAV预训练模型作为Backbone比直接使用ResNet50模型要好。分类器效应。Typetop1-accuracytop-5accuracyResNet5073.72%92.85%SwAV74.67%93.22%Table5SwAV预训练提升下游分类任务Metriclearning在有好货的图片搜索场景中,我们主要使用metriclearning优化图片特征,主要评价指标为召回产品的IdentityRecall@N,即召回Top-N产品中与querygraph属于同一产品的query数量占总query数量的比例。由于我们的测试集是目标检测+商品锚点信息自动合成的数据集,具有一定的噪声,而且每个querymap只对应一个真实的同一个商品(实际上一个query可以对应多个商品),所以我们get指标会偏低。结论是使用预训练的自监督模型作为Backbone,效果会更好。IdentityRecallR@1R@5R@10R@15R@20no-pretrain11.56%18.55%21.47%22.62%24.26%pretrained14.23%21.85%25.28%26.68%28.97%表6SwAV预训练分析下游指标提升结果learningtasks:使用预训练的自监督模型对下游任务进行Finetune可以带来更明显的提升。综上所述,使用海量无标签数据进行自监督训练,可以极大地利用业务中的实际数据,同时解耦标签对大规模预训练(如使用ImageNet预训练)的依赖,并且它更贴近实际业务场景。通过SwAV、M6等方法预训练得到的embedding具有良好的语义表达特性,不仅提高了推荐效果,而且利用SwAV自得到的embedding改进了实际业务场景的图像分类和图像搜索模型-监督。
