背景技术:
1、搜索引擎是促进例如在数据库中定位电子存储的信息的计算机程序。搜索引擎通常用在分布式计算机系统中,诸如连接到因特网的那些,用于向用户提供信息。在一个示例实现中,用户可以以搜索查询的形式向搜索引擎提供输入,该搜索查询可以包括与所寻找的信息相关的一个或多个词。搜索引擎搜索满足搜索查询的信息并将该信息作为搜索结果的集合返回给用户。
技术实现思路
1、本说明书涉及例如在交易平台上处理用户对信息的查询,并且特别地涉及响应于使用图像的用户查询处理该查询并且从图像的数据集(例如,来自交易平台(exchangeplatform)上的列表(listing)的图像)返回与该查询中包括的图像相似的图像的集合。
2、一般而言,本说明书中描述的主题的一个创新方面可以体现在如下方法中,该方法包括以下动作:从客户端设备接收请求使用第一输入图像搜索图像的数据集的查询,其中该查询包括针对第一输入图像的第一图像数据;将第一图像数据输入到多任务分类模型中,该多任务分类模型被训练成响应于特定图像的图像数据从图像的数据集标识一个或多个图像,其中多任务分类模型是使用对应于多个分类任务的多个分类头(classificationhead)来训练的神经网络,其中多任务分类模型是使用针对每个相应分类任务的单独损失函数(loss function)来训练的,并且其中多个分类任务包括基于单独训练数据集的一个或多个分类任务;获得用于第一图像数据的第一嵌入(embedding)作为来自用于训练的多个分类头之前的神经网络的层以及响应于第一图像数据的输出;使用第一嵌入并从与图像的数据集中的图像相对应的多个嵌入中标识与第一输入图像相似的图像的集合;以及响应于接收到的查询并针对在客户端设备上的显示提供图像的集合。该方面的其他实施例包括对应的计算机系统、装置以及记录在一个或多个计算机存储设备上的计算机程序,每个都被配置为执行所述方法的动作。
3、前述和其他实施例中的每个都可以可选地单独或组合地包括以下特征中的一个或多个。特别地,一个实施例组合地包括以下所有特征。在一些实现中,动作包括使用多任务分类模型生成用于图像的数据集中的图像的多个嵌入。在一些实现中,标识与第一输入图像相似的图像的集合包括:使用最近邻算法计算第一嵌入和多个嵌入中的每个嵌入之间的相应距离度量;从多个嵌入中标识对应距离度量满足预定阈值的嵌入的集合;以及确定对应于所标识的嵌入的集合的图像的集合。在一些实现中,从多个嵌入中标识对应距离度量满足预定阈值的嵌入的集合包括以下之一:从计算的距离度量中标识具有前n个距离度量的嵌入的集合,其中n是预定阈值并且n是大于1的整数,或者标识具有每个都满足或超过预定阈值的相应距离度量的嵌入的集合。
4、在一些实现中,多个分类任务包括基于低分辨率图像的细粒度分类学(taxonomy)分类以及以下中的至少一个或多个:细粒度分类学分类;顶级分类学分类;或主要颜色(primary color)分类。在一些实现中,基于低分辨率图像的细粒度分类学分类是基于用户上传的图像而不是平台上传的专业图像的细粒度分类学分类。
5、在一些实现中,动作包括训练多任务分类模型,包括:为每个分类头及其对应的分类任务标识训练图像和对应的标签的集合的相应训练数据集,其中训练数据集是单独的(separate)并且每个训练数据集用于训练特定的分类头;从每个训练数据集采样多个训练图像和对应的标签以形成训练小批次(mini-batch);将训练小批次作为输入提供给多任务分类模型;使用多任务分类模型为训练图像的小批次中的每个训练图像生成嵌入;针对多个分类头中的每个分类头计算损失值,损失值基于从对应于分类头的训练数据集获得的训练图像的分类头的输出的比较;以及使用针对分类头的相应计算的损失值来优化多个分类头中的每个分类头。在一些实现中,从每个训练数据集采样多个训练图像和对应的标签以形成训练小批次包括:针对于每个分类头,从每个训练数据集采样相等数量的训练图像和对应的标签。在一些实现中,使用稀疏分类交叉熵函数(sparse categorical crossentropy function)来计算损失值。
6、在一些实现中,多任务分类模型包括:基于efficientnet或resnext的神经网络;用于每个分类任务的单独分类头;以及用于每个相应分类头的softmax激活。在一些实现中,使用分类头的相应计算的损失值来优化多个分类头中的每个分类头包括:标识给定训练图像和标签的索引值;确定索引值是第一分类头的有效索引值;以及响应于确定索引值是第一分类头的有效索引值,使用使用给定训练图像和标签计算的损失值来优化第一分类头。在一些实现中,确定索引值是第一分类头的有效索引值包括:确定索引值包括在第一分类头的有效索引值的集合中。
7、一般而言,本说明书中描述的主题的第二创新方面可以体现在用于训练多任务分类模型的方法中,其中该多任务分类模型是一种神经网络,该神经网络使用对应于多个分类任务的多个分类头来训练,并且使用针对每个相应分类任务的单独的损失函数来训练,其中训练包括动作,所述动作包括针对每个分类头及其对应的分类任务标识训练图像和对应的标签的集合的相应训练数据集,其中训练数据集是单独的并且每个训练数据集用于训练特定的分类头;从每个训练数据集采样多个训练图像和对应的标签以形成训练小批次;将训练小批次作为输入提供给多任务分类模型;使用多任务分类模型为小批次训练图像中的每个训练图像生成嵌入;为多个分类头中的每个分类头计算损失值,损失值基于从对应于分类头的训练数据集获得的训练图像的分类头的输出的比较;以及使用分类头的相应的计算的损失值来优化多个分类头中的每个分类头。该方面的其他实施例包括对应的计算机系统、装置以及记录在一个或多个计算机存储设备上的计算机程序,每个都被配置为执行所述方法的动作。
8、前述和其他实施例中的每个都可以可选地单独或组合地包括以下特征中的一个或多个。特别地,一个实施例组合地包括以下所有特征。在一些实现中,使用稀疏分类交叉熵函数来计算损失值。
9、可以实现本说明书中描述的技术以实现以下优势中的一个或多个。例如,通过在嵌入引擎的训练中包括多个分类,在本文档中描述的搜索系统技术可以改进用于标识相似项的生成的嵌入,相似项例如是类似于由客户端设备提供的诸如用户拍摄的照片之类的搜索输入的项。通过将单独的数据库——例如,数据存储、数据源或诸如此类——用于训练,包括用于审视(review)具有类似于可能作为搜索输入上传的照片的特性的照片的数据库,所描述的技术可以进一步改进嵌入生成,例如,通过生成表示第一对象的用户拍摄的照片的嵌入,所述用户拍摄的照片类似于表示相同的第一对象的专业人员拍摄的照片(例如,用于交易平台上的产品列表)。
10、在一些实现中,单独的数据源用于训练。例如,具有稀有属性的训练图像可以例如在用于训练之前被下采样。可以对具有在数据集中或要搜索的数据项中更频繁地看到的属性的训练图像进行上采样——例如,复制或重复地用于训练和调整所描述的相关模型。
11、所描述的技术可以改进生成的嵌入,例如,用于用户拍摄的照片或专业照片。例如,要搜索的图像可以包括用户拍摄的照片或专业照片——例如,来自在线资源或来自交易平台中的列表的照片。所描述的技术可以改进对任何类型的输入数据的嵌入的生成,任何类型的输入数据包括用户拍摄的照片或专业照片。改进的嵌入可以改进从数据库,例如,任何数据源,检索相关图像或其他项。
12、所描述的技术可以包括学习如何生成嵌入的模型,所述嵌入可以捕捉任意数量的可视属性,可视属性除其他之外诸如是类别、子类别、颜色、材料、形状。通过学习捕捉这些信号,训练的模型可以改进对那些属性中相似的项的检索。例如,曾经仅关于颜色和类别训练的模型可能能够更有效地检索相似类别和颜色的相似项,但不一定是相似材料的相似项。为了提供相关的有关项,包括多个属性可以是有益的。
13、所描述的技术还可以改进下游过程。例如,用于检索或推荐者排名(ranking)模型的多模式(multimodal)嵌入模型可以通过使用捕捉可视属性的不同集合的嵌入来改进,例如,所述可视属性对于给定下游任务是重要的,诸如用于检索或推荐者排名模型的多模式嵌入模型。
14、本说明书的主题的一个或多个实施例的细节在附图和下面的描述中阐述。根据说明书、附图和权利要求书,主题的其他特征、方面和优势将变得清楚。
1.一种方法,包括:
2.根据权利要求1所述的方法,还包括:
3.根据权利要求2所述的方法,其中,标识与第一输入图像相似的图像的集合包括:
4.根据权利要求3所述的方法,其中,从多个嵌入中标识对应距离度量满足预定阈值的嵌入的集合包括以下之一:
5.根据权利要求1所述的方法,其中,多个分类任务包括基于低分辨率图像的细粒度分类学分类以及以下中的至少一个或多个:
6.根据权利要求5所述的方法,其中,基于低分辨率图像的细粒度分类学分类是基于用户上传的图像而不是平台上传的专业图像的细粒度分类学分类。
7.根据权利要求5所述的方法,还包括训练多任务分类模型,包括:
8.根据权利要求7所述的方法,其中,从每个训练数据集采样多个训练图像和对应的标签以形成训练小批次包括:
9.根据权利要求7所述的方法,其中,使用稀疏分类交叉熵函数来计算损失值。
10.根据权利要求7所述的方法,其中,多任务分类模型包括:
11.根据权利要求7所述的方法,其中,使用分类头的相应计算的损失值来优化多个分类头中的每个分类头包括:
12.根据权利要求11所述的方法,其中,确定所述索引值是第一分类头的有效索引值包括:
13.一种系统,包括一个或多个计算机和其上存储指令的一个或多个存储设备,所述指令在由一个或多个计算机执行时可操作以使一个或多个计算机执行操作,所述操作包括:
14.根据权利要求13所述的系统,其中,操作包括:
15.根据权利要求14所述的系统,其中,标识与第一输入图像相似的图像的集合包括:
16.根据权利要求15所述的系统,其中,从多个嵌入中标识对应距离度量满足预定阈值的嵌入的集合包括以下之一:
17.根据权利要求13所述的系统,其中,多个分类任务包括基于低分辨率图像的细粒度分类学分类以及以下中的至少一个或多个:
18.根据权利要求17所述的系统,其中,基于低分辨率图像的细粒度分类学分类是基于用户上传的图像而不是平台上传的专业图像的细粒度分类学分类。
19.根据权利要求17所述的系统,其中操作包括训练多任务分类模型,包括:
20.一个或多个计算机存储介质,所述一个或多个计算机存储介质编码有指令,所述指令在由一个或多个计算机执行时使一个或多个计算机执行操作,所述操作包括: