CN112074828A - 训练图像嵌入模型和文本嵌入模型 - Google Patents
训练图像嵌入模型和文本嵌入模型 Download PDFInfo
- Publication number
- CN112074828A CN112074828A CN201980029223.1A CN201980029223A CN112074828A CN 112074828 A CN112074828 A CN 112074828A CN 201980029223 A CN201980029223 A CN 201980029223A CN 112074828 A CN112074828 A CN 112074828A
- Authority
- CN
- China
- Prior art keywords
- image
- training
- embedding
- search
- embedding model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 290
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000003860 storage Methods 0.000 claims abstract description 27
- 230000004044 response Effects 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 37
- 238000011524 similarity measure Methods 0.000 claims description 17
- 238000013527 convolutional neural network Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 abstract description 17
- 230000008569 process Effects 0.000 description 44
- 230000006870 function Effects 0.000 description 37
- 238000010801 machine learning Methods 0.000 description 21
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000003062 neural network model Methods 0.000 description 10
- 230000026676 system process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241001600609 Equus ferus Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 241000009334 Singa Species 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/55—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/40—Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
- G06F18/41—Interactive pattern learning with a human teacher
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Abstract
包括在计算机存储介质上编码的计算机程序的用于训练图像嵌入模型的方法、系统和装置。在一个方面,一种方法包括:获得包括多个训练示例的训练数据,其中每个训练示例包括:包括第一图像和第二图像的图像对;以及指示以下中的一项或更多项的选择数据:(i)图像对的共同点击率,和(ii)图像对的相似图像点击率;以及使用训练数据来训练具有多个图像嵌入模型参数的图像嵌入模型。
Description
技术领域
本说明书涉及使用机器学习模型来处理数据。
背景技术
机器学习模型接收输入,并基于接收到的输入产生输出,例如预测输出。一些机器学习模型是参数模型,并基于接收到的输入和模型的参数值产生输出。
一些机器学习模型是深度模型,其采用多层模型针对接收到的输入产生输出。例如,深度神经网络是包括输出层和一个或更多个隐藏层的深度机器学习模型,每个隐藏层将非线性转换应用于接收到的输入以产生输出。
发明内容
本说明书描述一种被实现为在一个或更多个位置中的一台或更多台计算机上的计算机程序的训练系统,该训练系统使用从搜索系统的历史查询日志导出的训练数据来训练图像嵌入模型和文本嵌入模型。
根据第一方面,提供一种由一个或更多个数据处理装置执行的方法,该方法包括:获得包括多个训练示例的训练数据,其中每个训练示例包括:包括第一图像和第二图像的图像对;以及指示以下中的一项或更多项的选择数据:(i)图像对的共同点击率,以及(ii)图像对的相似图像点击率,其中:图像对的共同点击率表征用户响应于第一图像和第二图像两者由搜索查询的搜索结果同时识别而选择第一图像和第二图像两者的频率;以及图像对的相似图像点击率表征用户响应于第一图像或第二图像由分别包括第二图像或第一图像的搜索查询的搜索结果识别而选择第一图像或第二图像的频率;以及使用训练数据来训练具有多个图像嵌入模型参数的图像嵌入模型,其中,对于所述多个训练示例中的每个,所述训练包括:使用图像嵌入模型处理训练示例的第一图像,以生成第一图像的嵌入;使用图像嵌入模型处理训练示例的第二图像,以生成第二图像的嵌入;确定第一图像的嵌入与第二图像的嵌入之间的相似性度量;以及至少部分地基于以下来调整图像嵌入模型参数:(i)第一图像的嵌入与第二图像的嵌入之间的相似性度量,以及(ii)训练示例的选择数据。
在一些实施方式中,训练数据使用网络搜索系统的历史查询日志生成。
在一些实施方式中,每个训练示例的共同点击率指示用户响应于该训练示例的第一图像和第二图像两者由搜索查询的搜索结果同时识别而选择该训练示例的第一图像和第二图像两者的次数的分数。
在一些实施方式中,每个训练示例的相似图像点击率指示用户响应于第一图像或第二图像由分别包括第二图像或第一图像的搜索查询的搜索结果识别而选择第一图像或第二图像的次数的分数。
在一些实施方式中,图像嵌入模型包括卷积神经网络。
在一些实施方式中,调整图像嵌入模型参数包括:确定损失函数的梯度,该损失函数取决于:(i)第一图像的嵌入与第二图像的嵌入之间的相似性度量,以及(ii)训练示例的选择数据;以及使用该梯度来调整图像嵌入模型参数。
在一些实施方式中,损失函数包括基于训练示例的选择数据确定的倍数缩放因子。
在一些实施方式中,倍数缩放因子被确定为训练示例的共同点击率和相似图像点击率的线性组合。
在一些实施方式中,确定第一图像的嵌入与第二图像的嵌入之间的相似性度量包括:确定第一图像的嵌入与第二图像的嵌入之间的欧几里德距离。
在一些实施方式中,该方法可以进一步包括接收查询图像以及使用通过根据在此描述的任何方面或实施方式的方法获得的训练后的图像嵌入模型来处理该查询图像。作为示例,处理查询图像可以包括确定查询图像与搜索索引中的多个图像之间的相应的相关性得分。
根据另一方面,提供一种方法,其包括:接收查询图像以及使用通过根据在此描述的任何方面或实施方式的方法获得的训练后的图像嵌入模型来处理该查询图像。作为示例,处理查询图像可以包括确定查询图像与搜索索引中的多个图像之间的相应的相关性得分。
根据第二方面,提供一种系统,其包括:一台或更多台计算机;以及通信上耦合到所述一台或更多台计算机的一个或更多个存储设备,其中所述一个或更多个存储设备存储指令,该指令在由所述一台或更多台计算机运行时使所述一台或更多台计算机执行包括先前描述的方法的操作的操作。
根据第三方面,提供一种或更多种存储指令的计算机存储介质(其可以是或可以不是非暂时性存储介质),该指令在由一台或更多台计算机运行时使所述一台或更多台计算机执行包括先前描述的方法的操作的操作。
可以实施本说明书中描述的主题的特定实施例,以实现以下优点中的一个或更多个。
本说明书中描述的训练系统可以通过处理来自搜索系统的历史查询日志的数据来生成用于训练图像嵌入模型和文本嵌入模型的大量训练数据(例如,数十或数亿个训练示例)。可从(例如,网络搜索系统的)历史查询日志有效导出的大量训练数据使训练系统能够训练出高度有效的图像嵌入模型和文本嵌入模型。这样的可缩放性(例如,对于可能潜在地包括数亿个搜索查询的训练示例)是模型训练领域的一项技术改进。例如,该可缩放性能够实现图像嵌入模型的训练,该图像嵌入模型生成隐含地表征大范围内的概念(例如,食物、场景、地标、人造产品等)的图像嵌入。相比之下,一些常规的图像嵌入模型生成仅隐含地表征小范围内的概念(例如,仅食物或仅地标)的图像嵌入。
训练系统可以处理历史查询日志以生成将文本搜索查询与有关图像(例如,用户在其由文本搜索查询的搜索结果识别时频繁选择的图像)相关联的“查询-图像”训练示例。具体地,查询-图像训练示例可以将高度特定的文本搜索查询(例如,“红色2014福特野马”)与有关图像(例如,描绘由文本搜索查询指定的对象)相关联。通过使用从历史查询日志导出的查询-图像训练示例联合训练图像嵌入模型和文本嵌入模型,训练系统可以使图像嵌入模型生成隐含地表示高度特定的概念的图像嵌入。例如,训练后的图像嵌入模型可以处理图像以生成隐含地表示图像中描绘的汽车的颜色、样式和型号的图像嵌入。这是模型训练领域的一项技术改进,相比之下,例如,使用如在一些常规训练数据集中那样将图像与通用标签(例如“汽车”)相关联的训练示例来训练图像嵌入模型和文本嵌入模型可能导致图像嵌入模型生成相对无信息的嵌入。
在一些实施方式中,训练系统可以生成查询-图像训练示例,其包括以大量不同的自然语言(例如,英语、法语、德语等)表达的搜索查询。通过使用多语言查询-图像训练示例联合训练图像嵌入模型和文本嵌入模型,训练系统可以训练文本嵌入模型生成独立于文本语言的含有信息的文本嵌入。例如,训练系统可以训练文本嵌入模型,以基于与包括文本“年轻的伊丽莎白女王”(英语)和“年轻的伊丽莎白女王”(法语)的搜索查询相关联的图像的相似性生成该文本的相似嵌入。这是模型训练领域的另一项技术改进,
训练系统可以基于选择数据训练图像嵌入模型和文本嵌入模型,该选择数据表征例如两个图像被“共同点击”的频率或给定图像在其由搜索查询的搜索结果(即通过“图像-图像”训练示例)识别时被选择的频率。选择数据可以通过汇总数百万个用户的用户派生信号(例如,点击)来确定,并使训练系统能够更有效地训练图像嵌入模型和文本嵌入模型。
使用常规方法生成训练数据缺乏通过处理搜索系统的历史查询日志来生成训练数据的许多优点。例如,手动生成训练数据(例如,由人手动指定图像的文本标签)费时且困难,并且一般只有相对少量的训练数据可以这种方式生成。作为另一示例,与从历史查询日志生成训练数据相比,通过关联从社交网络(或其它来源)绘制的图像和说明文字来生成训练数据可能产生更少的且质量更低的训练数据,例如,因为说明文字可能不准确地表征图像的内容。产生更多和/或质量更高的训练数据并使用该训练数据训练机器学习模型将提高可训练机器学习模型的准确性(因此,提供比在使用常规方法生成的训练数据上训练的机器学习模型犯更少错误的机器学习模型)。另外地或备选地,通过减少获得标记的训练数据所需的时间,在给定的时间段内,可以建立更大的训练数据集,并且这还将提高可训练机器学习模型的准确性。此外,提高可训练机器学习模型的准确性可以使使用更简单的机器学习模型(例如具有更少的隐藏层)成为可能,并且这可以导致实现机器学习模型所需的计算资源减少。以互补的方式,可能需要将数据存储更短的时间段,因此可能需要总体上更少的存储器存储。
本说明书的主题的一个或更多个实施例的细节在附图和以下描述中阐述。该主题的其它特征、方面和优点将由说明书描述、附图和权利要求变得明显。
附图说明
图1示出了示例图像嵌入模型。
图2示出了示例文本嵌入模型。
图3示出了用于使用从搜索系统的历史查询日志导出的训练数据来训练图像嵌入模型和文本嵌入模型的示例训练系统。
图4示出了由搜索系统提供的示例搜索结果页面,其包括搜索查询的图像搜索结果,该搜索查询包括一个或更多个词语的序列。
图5示出了由搜索系统提供的示例搜索结果页面,其包括搜索查询的图像搜索结果,该搜索查询包括图像。
图6示出了用于使用查询-图像训练示例来联合训练图像嵌入模型和文本嵌入模型的示例过程。
图7A示出了用于使用图像-图像训练示例来训练图像嵌入模型的示例过程。
图7B示出了用于使用查询-图像训练示例和图像-图像训练示例来联合训练图像嵌入模型和文本嵌入模型的示例过程。
图8是用于使用从搜索系统的历史查询日志导出的查询-图像训练示例来联合训练图像嵌入模型和文本嵌入模型的示例过程的流程图。
图9是用于使用从搜索系统的历史查询日志导出的图像-图像训练示例来训练图像嵌入模型的示例过程的流程图。
图10示出了查询-图像训练示例和图像-图像训练示例的图形表示的一部分的示例。
图11示出了示例搜索系统。
图12示出了示例计算机系统。
在各个附图中,相同的附图标记和符号指示相同的元件。
具体实施方式
本说明书描述了用于使用从搜索系统的历史查询日志导出的训练数据来训练图像嵌入模型和文本嵌入模型的训练系统。从历史查询日志导出的训练数据可以包括查询-图像训练示例、图像-图像训练示例或两者。
查询-图像训练示例包括:(i)文本搜索查询,(ii)图像,以及(iii)选择数据,其表征用户响应于图像由文字搜索查询的搜索结果识别而选择该图像的频率。如果选择数据指示用户在图像由搜索查询的搜索结果识别时频繁选择该图像,则训练系统可以联合训练图像嵌入模型和文本嵌入模型以生成文本搜索查询和图像的相似嵌入。
图像-图像训练示例包括图像对(包括第一图像和第二图像)和指示以下内容的选择数据:(i)图像对的共同点击率,(ii)图像对的相似图像点击率,或(iii)两者。图像对的共同点击率表征用户响应于第一图像和第二图像两者由搜索查询的搜索结果同时识别而选择第一图像和第二图像两者的频率。图像对的相似图像点击率表征用户响应于第一图像由包括第二图像的搜索查询的搜索结果识别而选择第一图像的频率,反之亦然。训练系统可以训练图像嵌入模型,以在第一图像和第二图像的共同点击率、相似图像点击率或两者指示它们相关时生成第一图像和第二图像的相似嵌入。
在一些实施方式中,训练系统可以使用从历史查询日志导出的查询-图像训练示例和图像-图像训练示例,以用图形正则化的损失函数来联合训练图像嵌入模型和查询嵌入模型。具体地,查询-图像训练示例和图像-图像训练示例可以被表示为图结构,并且训练系统可以基于该图结构使用损失函数来联合训练图像嵌入模型和查询嵌入模型。
这些特征和其它特征在下面被更详细地描述。
图1示出了示例图像嵌入模型100。图像嵌入模型100配置为根据一组图像嵌入模型参数的当前值处理图像102,以生成图像102的嵌入104。嵌入104是作为数值的有序集合(例如作为向量或矩阵)对图像102的表示。如将在下面更详细描述地,可以使用机器学习技术来训练图像嵌入模型100,以生成图像102的嵌入104,该嵌入104隐含地表示图像102的语义内容(例如,由图像102描绘的对象)。
图像嵌入模型100可以配置为处理以任何适当格式表示的图像102。例如,图像嵌入模型100可以配置为处理以红绿蓝(RGB)颜色格式(即,通过将各个红色值、绿色值和蓝色值与图像的每个像素相关联来表示图像的格式)表示的图像102。作为另一示例,图像嵌入模型100可以配置为处理图像102的特征表示,例如图像102的方向梯度直方图(HOG)表示、尺度不变特征变换(SIFT)表示或加速鲁棒特征(SURF)表示。其它特征表示也可以用于训练。
图像嵌入模型100可以是由一个或更多个位置中的一台或更多台计算机上的计算机程序实现的神经网络模型。例如,图像嵌入模型100可以是具有从Inception神经网络或ResNet神经网络导出的架构的卷积神经网络。
图2示出了示例文本嵌入模型200。文本嵌入模型200配置为根据一组文本嵌入模型参数的当前值处理自然语言(即,文本202)中的一个或更多个单词的序列的表示,以生成文本202的嵌入204。嵌入204是作为数值的有序集合(例如,作为向量或矩阵)对文本202的表示。如下面将更详细描述地,可以使用机器学习技术来训练文本嵌入模型200以生成文本202的嵌入204,该嵌入204隐含地表示文本202的语义内容(例如,由文本202描述的对象)。
文本嵌入模型200可以配置为处理以任何适当格式表示的文本202。例如,文本嵌入模型200可以配置为处理被表示为一系列“独热(one-hot)”向量的文本202,其中每个独热向量表示文本202的相应字符(或单词)。作为另一示例,文本嵌入模型200可以配置为处理由Word2vec模型的输出表示的文本202。
文本嵌入模型200可以是由一个或更多个位置中的一台或更多台计算机上的计算机程序实现的神经网络模型。例如,文本嵌入模型200可以是具有包括多个一维(1D)卷积层的架构的卷积神经网络。作为另一示例,文本嵌入模型200可以是从文本202到嵌入204的基于查找的映射。作为另一示例,文本嵌入模型200可以是配置为处理n-gram文本令牌的一系列全连接层。作为另一示例,文本嵌入模型可以是递归神经网络模型(例如,LSTM),其配置为顺序地处理文本202的字符的表示。
图3示出了示例训练系统300,其用于使用从搜索系统306的历史查询日志304导出的训练数据302来训练图像嵌入模型100和文本嵌入模型200。训练系统300通过确定图像嵌入模型参数308和文本嵌入模型参数310的值来训练图像嵌入模型100和文本嵌入模型200。例如,当图像嵌入模型100和文本嵌入模型200被实现为相应的神经网络时,训练系统300可以使用损失函数的梯度迭代地调整神经网络的参数,如下面将更详细描述地。训练系统300可以由一个或更多个位置中的一台或更多台计算机上的计算机程序来实现。在一些实施方式中,训练系统300在图像嵌入模型100和文本嵌入模型200的训练期间使用一个或更多个张量处理单元(TPU-为机器学习而设计的专用集成电路(ASIC))。
搜索系统306可以是配置为通过处理包括文本、图像或这两者的搜索查询执行图像搜索以生成响应搜索查询而识别图像的搜索结果的任何系统。示例搜索系统将参照图11被更详细地描述。
搜索系统306的历史查询日志304为先前由搜索系统306处理的大量(例如,数百万个)搜索查询建立索引。具体地,历史查询日志304可以通过维护包括以下的数据为搜索查询建立索引:(i)搜索查询,以及(ii)指定由发送搜索查询的设备的用户选择的一个或更多个搜索结果的数据。用户可以通过经由与搜索结果的任何种类的交互表达对搜索结果的兴趣来“选择”搜索结果。例如,用户可以通过点击搜索结果中包括的超文本链接或通过将光标悬停在搜索结果上预定的时间段来选择搜索结果,以生成对由搜索结果识别的电子文档(例如,图像)的请求。
训练系统300可以处理来自历史查询日志304的数据,以生成用于训练图像嵌入模型100和文本嵌入模型200的查询-图像训练示例和图像-图像训练示例。
查询-图像训练示例包括:(i)文本搜索查询,(ii)图像,以及(iii)表征用户响应于图像由文字搜索查询的搜索结果识别而选择图像的频率的选择数据。如果选择数据指示用户在图像由搜索查询的搜索结果识别时频繁选择该图像,则训练系统300可以联合训练图像嵌入模型100和文本嵌入模型200以生成搜索查询和图像的相似嵌入。可以使用任何适当的数值相似性度量(例如,如果图像嵌入模型100和文本嵌入模型200配置为生成相同维数的嵌入,则使用欧几里德距离)来确定嵌入之间的相似性。
图像-图像训练示例包括图像对(其包括第一图像和第二图像)和选择数据,该选择数据指示:(i)图像对的共同点击率,(ii)图像对的相似图像点击率,或(iii)两者。图像对的共同点击率表征用户响应于第一图像和第二图像两者由搜索查询的搜索结果同时识别而选择第一图像和第二图像两者的频率。图像对的相似图像点击率表征用户响应于第一图像由包括第二图像的搜索查询的搜索结果识别而选择第一图像的频率,反之亦然。训练系统300可以训练图像嵌入模型100,以在第一图像和第二图像的共同点击率、相似图像点击率或这两者指示它们相关时生成第一图像和第二图像的相似嵌入。
图4示出了由搜索系统306提供的示例搜索结果页面400,该示例搜索结果页面400包括搜索查询的图像搜索结果,该搜索查询包括一个或更多个单词的序列。具体地,搜索结果页面400显示搜索查询408:“红色福特野马”的搜索结果402、404和406。
图5示出了由搜索系统306提供的示例搜索结果页面500,该示例搜索结果页面500包括搜索查询的图像搜索结果,该搜索查询包括图像。具体地,搜索结果页面500显示搜索查询508的搜索结果502、504和506,搜索查询508包括描绘卡车的图像。响应于接收到包括查询图像的搜索查询,搜索系统306可以配置为提供识别与该查询图像相似的图像的搜索结果。在该示例中,搜索结果502、504和506中的每个识别出与查询图像相似的图像。
如果用户从同一组搜索结果中选择分别识别出第一图像和第二图像的搜索结果,则称用户“共同点击”第一图像和第二图像。例如,用户可以通过选择搜索结果页面400上的两个搜索结果(例如,一个接一个)而共同点击由搜索结果402识别的图像和由搜索结果404识别的图像。作为另一示例,用户可以通过选择搜索结果页面500上的两个搜索结果(例如,一个接一个)而共同点击由搜索结果504识别的图像和由搜索结果506识别的图像。如果用户从同一组搜索结果中选择三个或更多个搜索结果,则可以将由每对被选择的搜索结果识别的图像视为被共同点击。例如,如果用户从同一组搜索结果中选择搜索结果A、B和C,则可以将由搜索结果{A,B}、{A,C}和{B,C}识别的图像对都视为被共同点击。
图6示出了用于使用查询-图像训练示例600来联合训练图像嵌入模型100和文本嵌入模型200的示例过程。查询-图像训练示例600包括搜索查询602和图像604,该搜索查询602包括一个或更多个单词的序列。训练系统300使用图像嵌入模型100并根据图像嵌入模型参数308的当前值处理图像604,以生成图像604的嵌入606。训练系统300使用文本嵌入模型200并根据文本嵌入模型参数310的当前值处理搜索查询602,以生成搜索查询602的嵌入608。
训练系统300确定图像604的嵌入606与搜索查询602的嵌入608之间的相似性度量610,并基于相似性度量610确定模型参数调整612。此后,训练系统300使用模型参数调整612来调整图像嵌入模型参数308和文本嵌入模型参数310的值。在一些实施方式中,在确定模型参数调整612时,训练系统300使用选择数据,该选择数据表征用户响应于图像604由搜索查询602的搜索结果识别而选择图像604的频率。用于使用查询-图像训练示例联合训练图像嵌入模型和文本嵌入模型的示例过程参照图8被更详细地描述。
图7A示出了用于使用包括第一图像702和第二图像704的图像-图像训练示例700来训练图像嵌入模型100的示例过程。训练系统300使用图像嵌入模型100并根据图像嵌入模型参数308的当前值处理第一图像702,以生成第一图像702的嵌入706。类似地,训练系统300使用图像嵌入模型100并根据图像嵌入模型参数308的当前值处理第二图像704,以生成第二图像704的嵌入708。
训练系统300确定第一图像702的嵌入706与第二图像704的嵌入708之间的相似性度量710,并基于相似性度量710确定模型参数调整712。在一些实施方式中,在确定模型参数调整712时,训练系统300使用选择数据,该选择数据表征第一图像702和第二图像704的共同点击率、相似图像点击率或两者。用于使用图像-图像训练示例来训练图像嵌入模型的示例过程参照图9被更详细地描述。
图7B示出了用于使用查询-图像训练示例和图像-图像训练示例来联合训练图像嵌入模型和文本嵌入模型的示例过程。具体地,在多个训练迭代中的每个中,一个或更多个查询-图像训练示例600和一个或更多个图像-图像训练示例700可以由图像嵌入模型处理以生成相应的嵌入(如参照图6和图7A所述)。训练系统300可以基于查询-图像训练示例600(如参照图6所述)和图像-图像训练示例(如参照图7A所述)来确定相应的模型参数调整714。此后,训练系统300可以使用模型参数调整714来调整图像嵌入模型参数308和文本嵌入模型参数310的当前值。与基于图像-图像训练示例确定的模型参数调整相比,可以对基于查询-图像训练示例确定的模型参数调整更重地加权或没那么重地加权(例如,使用梯度缩放因子)。应用于模型参数调整的权重可以是可调的系统超参数。
图8是用于使用从搜索系统的历史查询日志导出的查询-图像训练示例来联合训练图像嵌入模型和文本嵌入模型的示例过程800的流程图。为了方便起见,过程800将被描述为由位于一个或更多个位置的一台或更多台计算机的系统执行。例如,根据本说明书适当编程的训练系统(例如,图3的训练系统300)可以执行过程800。
系统处理来自搜索系统的历史查询日志的数据以生成查询-图像训练示例的候选集(802)。每个查询-图像训练示例包括:(i)包括一个或更多个单词的序列的搜索查询,(ii)图像,以及(iii)表征用户响应于图像由搜索查询的搜索结果识别而选择该图像的频率的选择数据。选择数据可以指示用于响应于图像由搜索查询的搜索结果识别而选择该图像的次数的分数。
系统至少部分地基于训练示例的选择数据,从训练示例的候选集中选择用于联合训练图像嵌入模型和文本嵌入模型的查询-图像训练示例(804)。例如,如果特定训练示例的图像被用户响应于该图像由特定的查询-图像训练示例的搜索查询的搜索结果识别而最频繁地选择,则系统可以选择该特定的查询-图像训练示例。作为另一示例,如果特定的查询-图像训练示例的图像在由该特定的查询-图像训练示例的搜索查询的搜索结果识别后被用户最频繁选择的前N个图像中,则系统可以选择该特定的查询-图像训练示例。系统在选择用于联合训练图像嵌入模型和文本嵌入模型的查询-图像训练示例时可以使用各种其它适当标准中的任何一个。例如,系统可以限制被选择的查询-图像训练示例的数量,该被选择的查询-图像训练示例包括指定特定人员的姓名的搜索查询以及描绘该特定人员的对应图像。在此示例中,因为同一个人的外观在图像之间可能发生显著变化(例如,由于该人穿戴不同的衣服、鞋子、眼镜等),所以包括大量的与特定人员对应的查询-图像训练示例可能降低训练过程的有效性。
步骤806-812描述了可以针对每个被选择的查询-图像训练示例执行以联合训练图像嵌入模型和文本嵌入模型的示例过程。为了方便起见,步骤806-812描述了可以针对给定的查询-图像训练示例执行的步骤。更一般地,可以使用任何适当的方法来联合训练图像嵌入模型和文本嵌入模型。例如,可以使用随机梯度下降方法来联合训练图像嵌入模型和文本嵌入模型,其中针对查询-图像训练示例的“批(batch)”(即,集合)迭代地重复步骤806-812。在该示例中,当满足训练终止标准时,系统可以确定训练完成。例如,训练终止标准可以是已经执行了步骤806-812的预定数量的迭代。作为另一示例,训练终止标准可以是图像嵌入模型和文本嵌入模型的参数的值在步骤806-812的迭代之间的变化低于预定阈值。
系统使用图像嵌入模型并根据图像嵌入模型参数的当前值处理给定的查询-图像训练示例的图像以生成图像的嵌入(806)。例如,如果图像嵌入模型是神经网络模型,则系统使用由该神经网络模型的架构限定的一系列神经网络层来处理图像。
系统使用文本嵌入模型并根据文本嵌入模型参数的当前值处理给定的查询-图像训练示例的搜索查询的表示以生成搜索查询的嵌入(808)。例如,如果文本嵌入模型是神经网络模型,则系统使用由该神经网络模型的架构限定的一系列神经网络层来处理搜索查询的表示。
系统确定给定的查询-图像训练示例的图像的嵌入和搜索查询的嵌入之间的相似性度量(810)。例如,图像的嵌入和搜索查询的嵌入可以具有相同的维数,并且系统可以通过确定相应嵌入之间的欧几里德距离或余弦相似性度量来确定相似性度量。
系统至少部分地基于给定的查询-图像训练示例的图像的嵌入和搜索查询的嵌入之间的相似性度量来调整图像嵌入模型参数和文本嵌入模型参数(812)。例如,当图像嵌入模型和文本嵌入模型是相应的神经网络模型时,系统可以确定损失函数的梯度,并使用该损失函数的梯度来调整图像嵌入模型参数和文本嵌入模型参数。系统可以使用任何适当的方法(例如,反向传播)确定损失函数的梯度。损失函数可以是取决于给定的查询-图像训练示例的图像的嵌入和搜索查询的嵌入之间的相似性度量的任何适当的损失函数。以下是一些示例。
在一些实施方式中,损失函数可以是分类损失函数。在这些实施方式中,将给定的查询-图像训练示例的搜索查询视为为该给定的查询-图像训练示例的图像识别“正”标签。将其它的查询-图像训练示例的搜索查询视为为该给定的查询-图像训练示例的图像识别相应的“负”标签。更具体地,系统可以将给定的查询-图像训练示例的图像的嵌入与给定的查询-图像训练示例的搜索查询的嵌入之间的相似性度量确定为“正”得分。系统可以将每个其它训练示例的相应的“负”得分确定为给定的查询-图像训练示例的图像的嵌入与该其它训练示例的搜索查询的嵌入之间的相似性度量。系统可以使用soft-max(或采样的soft-max)函数处理正得分和负得分,并将soft-max(或采样的soft-max)函数的输出提供给交叉熵损失函数(或任何其它适当的分类损失函数)。
在一些实施方式中,损失函数可以是三重态损失函数。在这些实施方式中,系统可以将给定的查询-图像训练示例的图像的嵌入确定为“锚”,将给定的查询-图像训练示例的搜索查询的嵌入确定为“正”,并将另一查询-图像训练示例的搜索查询的嵌入确定为“负”。
可选地,损失函数可以取决于给定的查询-图像训练示例的选择数据,该选择数据表征用户响应于图像由给定的查询-图像训练示例的搜索查询的搜索结果识别而选择该图像的频率。例如,损失函数可以包括倍数缩放因子,其基于用户响应于图像由给定的查询-图像训练示例的搜索查询的搜索结果识别而选择图像的次数的分数。
图9是用于使用从搜索系统的历史查询日志导出的图像-图像训练示例来训练图像嵌入模型的示例过程900的流程图。为了方便起见,过程900将被描述为由位于一个或更多个位置的一台或更多台计算机的系统执行。例如,根据本说明书适当编程的训练系统(例如,图3的训练系统300)可以执行过程900。
系统处理来自搜索系统的历史查询日志的数据以生成图像-图像训练示例(902)。每个图像-图像训练示例包括:(i)包括第一图像和第二图像的图像对,(ii)指示图像对的共同点击率、图像对的相似图像点击率或两者的选择数据。
图像对的共同点击率表征用户响应于第一图像和第二图像两者由搜索查询的搜索结果同时识别而选择第一图像和第二图像两者的频率。例如,图像对的共同点击率可以指示用于响应于第一图像和第二图像两者由搜索查询的搜索结果同时识别而选择第一图像和第二图像两者的次数的分数。
图像对的相似图像点击率表征用户响应于第一图像由包括第二图像的搜索查询的搜索结果识别而选择第一图像的频率,反之亦然。例如,图像对的相似图像点击率可以指示用户响应于第一图像由包括第二图像的搜索查询的搜索结果识别而选择第一图像的次数的分数,反之亦然。
步骤904-908描述了可以针对每个图像-图像训练示例执行以训练图像嵌入模型的示例过程。为了方便起见,步骤904-908描述了可以针对每个图像-图像训练示例执行的步骤。更一般地,可以使用任何适当的方法来训练图像嵌入模型。例如,可以使用随机梯度下降方法来训练图像嵌入模型,其中针对被选择的训练示例的“批”(即,集合)迭代地重复步骤904-908。在该示例中,当满足训练终止标准时,系统可以确定训练完成。例如,训练终止标准可以是已经执行了步骤904-908的预定数量的迭代。作为另一示例,训练终止标准可以是图像嵌入模型的参数的值在步骤904-908的迭代之间的变化低于预定阈值。如将参照图10更详细描述地,图像-图像训练示例也可以与查询-图像训练示例结合使用,以使用图形正则化的损失函数联合训练图像嵌入模型和文本嵌入模型。
系统使用图像嵌入模型并根据图像嵌入模型参数的当前值处理训练示例的第一图像和第二图像以生成训练示例的第一图像和第二图像的各自的嵌入(904)。例如,如果图像嵌入模型是神经网络模型,则系统使用由该神经网络模型的架构限定的一系列神经网络层来处理第一图像和第二图像(例如,一个接一个)。
系统确定第一图像的嵌入与第二图像的嵌入之间的相似性度量(906)。例如,系统可以通过确定第一图像和第二图像的各自的嵌入之间的欧几里德距离或余弦相似性度量来确定相似性度量。
系统至少部分地基于以下内容来调整图像嵌入模型参数:(i)第一图像和第二图像的各自的嵌入之间的相似性度量,以及(ii)选择数据(即,共同点击率、相似图像点击率或两者)(910)。例如,当图像嵌入模型是神经网络时,系统可以确定损失函数的梯度,并使用该损失函数的梯度来调整图像嵌入模型参数。系统可以使用任何适当的方法(例如,反向传播)确定损失函数的梯度。损失函数可以是取决于相应嵌入与选择数据之间的相似性度量的任何适当的损失函数。例如,损失函数可以由下式给出:
w·D(hθ(I1),hθ(I2)) (1)
其中hθ(I1)表示图像-图像训练示例的第一图像的嵌入,hθ(I2)表示图像-图像训练示例的第二图像的嵌入,D(·,·)是相似性度量(例如,欧几里得相似性度量),缩放因子w可以使用图像-图像训练示例的共点击率、相似图像点击率或两者以任何适当的方式来确定。例如,缩放强度w可以被确定为图像-图像训练示例的共同点击率和相似图像点击率的线性组合(例如,使用预定的加权因子)。
在一些实施方式中,训练系统300可以使用查询-图像训练示例和图像-图像训练示例,以用图形正则化的损失函数联合训练图像嵌入模型100和文本嵌入模型200。可以将查询-图像训练示例和图像-图像训练示例理解为表示图形结构,其中图形的每个节点对应于查询-图像训练示例,并且每条边对应于图像-图像训练示例。更具体地,图形中连接分别对应于第一查询-图像训练示例和第二查询-图像训练示例的第一节点和第二节点的边可以由图像-图像训练示例限定,该图像-图像训练示例包括由第一查询-图像训练示例和第二查询-图像训练示例指定的图像对。具体地,连接第一节点和第二节点的边的“强度”可以基于由对应于该边的图像-图像训练示例指定的共点击率、相似图像点击率或两者来限定。图10示出了图形表示的一部分的示例,其中节点1002和1004表示包括汽车的相应图像1006和1008的查询-图像训练示例。在该示例中,连接节点1002和1004的边1010与图像对1006和1008的共同点击率X(其中X可以是实数)和相似图像点击率Y(其中Y可以是实数)相关联。更一般地,图形的一些或所有节点可能对应于图像-图像训练示例中包括的图像,其中图像不被包括在任何查询-图像训练示例中(即,不与对应的文本搜索查询相关联)。
在一个示例中,图形正则化的损失函数可以具有以下形式:
其中i为图形表示中的节点建立索引,N是节点的总数,Ii表示与第i个节点相关联的图像(例如,与第i个节点对应的图像-查询训练示例(如果有的话)的图像),Qi表示与第i个节点对应的图像-查询训练示例(如果有的话)的搜索查询,L1(Ii,Qi)表示与对应于第i个节点的图像-查询训练示例相关联的损失函数(例如,参照812描述的分类损失或三重态损失),N(i)表示图形表示中的节点i的“邻居”的集合,wij表示图形表示中连接节点i和节点j的边的强度,hθ(Ii)表示与第i个节点相关联的图像Ii的嵌入,hθ(Ij)表示与第j个节点相关联的图像Ij的嵌入,D(·,·)是相似性度量(例如,欧几里得相似性度量)。如果图形表示中的两个节点由边连接,则将它们称为邻居。可以使用限定边的图像-图像训练示例的共点击率、相似图像点击率或两者以任何适当的方式来确定连接节点i和j的边的强度wij。例如,可以将连接节点i和j的边的强度wij确定为共同点击率和相似图像点击率的线性组合(例如,使用预定的加权因子)。对于与图片相关联而不是与文字搜索查询相关系的节点,可以去除由等式2定义的损失的L1(Ii,Qi)分量。
训练系统300可以使用任何适当的机器学习训练技术、使用图形正则化的损失函数(例如,如等式2所述)来联合训练图像嵌入模型100和文本嵌入模型200。例如,训练系统300可以使用等式2中的损失函数的替代表示通过随机梯度下降来联合训练图像嵌入模型100和文本嵌入模型200:
其中i和j为图形表示的节点建立索引,如果节点i和节点j由图形表示中的边连接,则,(i,j)∈ε,|i|表示入射到节点i的边数,|j|表示入射到节点j的边数,其余变量以与等式2相同的方式定义。在该示例中,通过在每次训练迭代中对来自图形表示的边进行采样并使用反向传播(或任何其它适当的技术)来执行由等程3和4给出的损失函数的梯度,训练系统300可以执行随机梯度下降。训练系统300可以在满足任何适当的训练终止标准时,例如,在已经执行了随机梯度下降的预定数量的迭代时,确定训练完成。用于使用图形正则化的损失函数来训练图像嵌入模型100和文本嵌入模型200的示例方法参照T.D.Bui,S.Ravi,V.Ramavajjala,“Neural Graph Machines:Learning Neural Networks Using Graphs”,2017,arXiv:1703.04818vl来描述。
在训练系统300确定图像嵌入模型参数308和文本嵌入模型参数310的值之后,训练后的图像嵌入模型100和文本嵌入模型200可以用于多种目的中的任何一种。以下是一些示例。
在一个示例中,训练后的图像嵌入模型100可以由搜索系统306用于响应于包括查询图像的搜索查询而对图像搜索结果进行排名。更具体地,搜索系统306可以使用图像嵌入模型100来生成由搜索系统维护的搜索索引中的每个图像的相应嵌入(如参照图11所述)。在接收到包括查询图像的搜索查询之后,搜索系统306可以使用图像嵌入模型来生成查询图像的嵌入,此后使用所生成的嵌入来确定搜索索引中的多个图像中的每个的相应的相关性得分。搜索系统306可以基于给定图像的嵌入与查询图像的嵌入之间的相似性度量(例如,欧几里得距离)来确定搜索索引中的给定图像的相关性得分。搜索系统306可以至少部分地基于使用由图像嵌入模型100生成的嵌入所确定的相关性得分来确定搜索查询的图像搜索结果的排名。作为一个示例,考虑一种情况,其中定期获取一件机械设备的图像并使用该图像来确定何时有可能需要更换或维护组件。搜索索引可以包含具有各种程度的磨损的组件的图像,并且搜索系统可以处理接收到的组件图像以获得对图像中体现的组件的当前状态(例如,当前的磨损程度)的指示。系统可以进一步提供所确定的状态的输出和/或如果组件需要更换或维护则警告操作员。作为另一示例,查询图像可以是医学图像,并且图像可以是有各种医学状况或处于各种健康状态的患者的图像。搜索系统可以处理接收到的组件图像以获得对图像中体现的人的当前医疗状况的指示,例如,作为第一阶段检查以确定医学图像是否应由专科医生审核。
在另一示例中,训练后的文本嵌入模型和训练后的图像嵌入模型都可以由搜索系统306用于响应于包括一个或更多个单词的序列的搜索查询而对图像搜索结果进行排名。更具体地,搜索系统306可以使用图像嵌入模型100来生成由搜索系统维护的搜索索引中的每个图像的相应嵌入。在接收到包括一个或更多个单词的序列的搜索查询之后,搜索系统可以使用文本嵌入模型来生成单词序列的嵌入,此后使用所生成的嵌入来确定搜索索引中的多个图像中的每个的相应的相关性得分。搜索系统可以基于给定图像的嵌入与搜索查询的单词序列的嵌入之间的相似性度量(例如,欧几里得距离)来确定搜索索引中的给定图像的相关性得分。搜索系统306可以至少部分地基于使用由图像嵌入模型和文本嵌入模型生成的嵌入而确定的相关性分数来确定搜索查询的图像搜索结果的排名。
在另一示例中,训练后的文本嵌入模型可以用于确定相似关键词(或关键词序列)的“群(cluster)”,即表达相似语义内容的关键词集合。在具体示例中,相似关键词的群可以是:“鞋子”、“鞋”、“鞋类”、“靴子”、“钉鞋”、“高跟鞋、“拖鞋”、“运动鞋”等。可以使用文本嵌入模型通过确定关键词语料库中的每个关键词的相应嵌入、此后使用聚类算法以基于其各自的嵌入对关键词进行聚类而生成关键词群。聚类算法可以是例如k均值聚类算法或期望最大化聚类算法。使用训练后的文本嵌入模型生成的关键字群可以用作分发参数,该分发参数调节用于与电子文档(例如,网页)一起呈现的数字组件(例如,广告)的传输。
在另一示例中,训练后的文本嵌入模型和训练后的图像嵌入模型都可以用于图像分类系统,该图像分类系统配置为处理图像以生成将该图像与来自预定标签集合的标签相关联的输出。例如,标签可以指定对象类别(例如,人、猫、车辆等),并且可以训练图像分类系统以将图像与图像中描绘的对象的标签相关联。在该示例中,图像分类系统可以使用图像嵌入模型100来生成输入图像的嵌入,并且可以使用文本嵌入模型来生成搜索查询语料库中的每个搜索查询的相应嵌入。图像分类系统可以确定输入图像的嵌入与每个搜索查询的相应嵌入之间的相应相似性度量,此后可以将输入图像与具有最高相似性度量的特定搜索查询相关联。图像分类系统可以基于以下两项来确定与输入图像相关联的标签:(i)从输入图像得出的视觉特征,以及(ii)从特定搜索查询得出的语义特征。可以使用文本嵌入模型200和图像嵌入模型100的图像分类系统的示例参照美国专利申请第62/768,701号进行描述。
图11示出了示例搜索系统100。搜索系统100是被实现为一个或更多个位置中的一台或更多台计算机上的计算机程序的系统的示例,在该计算机程序中实现了以下描述的系统、组件和技术。
搜索系统1100配置为从用户设备1104接收搜索查询1102,以处理搜索查询1102从而响应于搜索查询1102确定一个或更多个搜索结果1106,并向搜索设备1104提供搜索结果1106。搜索查询1102可以包括以自然语言(例如,英语)、图像、音频数据或任何其它适当形式的数据表达的搜索项。搜索结果1106从网站1110识别响应于搜索查询1102的电子文档1108,并包括指向电子文档1108的链接。电子文档1108可以包括例如图像、HTML网页、文字处理文档、便携式文档格式(PDF)文档和视频。电子文档1108可以包括诸如单词、短语、图像和音频数据的内容,并且可以包括嵌入式信息(例如,元信息和超链接)和嵌入式指令(例如,脚本)。网站1110是与域名相关联并由一个或更多个服务器托管的一个或更多个电子文档1108的集合。例如,网站1110可以是以超文本标记语言(HTML)格式化的网页集合,其可以包含文本、图像、多媒体内容和编程元素(例如,脚本)。
在具体示例中,搜索查询1102可以包括搜索词“阿波罗登月”,并且搜索系统1100可以配置为执行图像搜索,即,提供识别响应搜索查询1102的相应图像的搜索结果1106。具体地,搜索系统1100可以提供搜索结果1106,每个搜索结果包括:(i)网页的标题,(ii)从该网页提取的图像的表示,以及(iii)指向该网页或该图像本身的超文本链接(例如,指定统一资源定位符(URL))。在该示例中,搜索系统1100可以提供搜索结果1106,其包括:(i)网页的标题“阿波罗登月”,(ii)该网页中包括的阿波罗航天器的图像的缩小尺寸的表示(即,缩略图),以及(iii)指向该图像的超文本链接。
诸如局域网(LAN)、广域网(WAN)、互联网、移动电话网络或其组合的计算机网络1112连接网站1110、用户设备1104和搜索系统1100(即,使它们能够通过网络1112发送和接收数据)。一般而言,网络1112可以将搜索系统1100连接到数千个网站1110和用户设备1104。
用户设备1104是在用户控制下并能够通过网络1112发送和接收数据(包括电子文档1108)的电子设备。示例用户设备1104包括个人计算机、移动通信设备、以及可通过网络1112发送和接收数据的其它设备。用户设备1104通常包括有助于通过网络1112发送和接收数据的用户应用(例如,网页浏览器)。具体地,用户设备1104中包括的用户应用使用户设备1104能够通过网络1112向搜索系统1100发送搜索查询1102并接收由搜索系统1100响应于搜索查询1102提供的搜索结果1106。
用户设备1104中包括的用户应用可以向用户设备的用户呈现从搜索系统1100接收到的搜索结果1106(例如,通过渲染显示搜索结果1106的有序列表的搜索结果页面)。用户可以选择由用户设备1104呈现的搜索结果1106之一(例如,通过点击搜索结果1106中包括的超文本链接),这可以导致用户设备1104生成对由搜索结果1106识别的电子文档1108的请求。对由搜索结果1106识别的电子文档1108的请求通过网络1112被发送到托管电子文档1108的网站1110。响应于接收到对电子文档1108的请求,托管电子文档1108的网站1110可以向用户设备1104发送电子文档1108。
搜索系统1100使用排名引擎1114处理搜索查询1102以确定响应搜索查询1102的搜索结果1106。
搜索系统1100使用索引引擎1120以通过“爬行(crawling)”(即,系统地浏览)网站1110的电子文档1108生成并维护搜索索引1116。对于大量(例如,数百万)电子文档1108中的每个,搜索索引1116通过维护(i)标识电子文档1108(例如,通过指向电子文档1108的链接)以及(ii)表征电子文档1108的数据为电子文档建议索引。表征电子文档的由搜索索引1116维护的数据可以包括例如指定电子文档的类型(例如,图像、视频、PDF文档等)、电子文档的质量(例如,电子文档的分辨率(当电子文档是图像或视频时))、与电子文档相关联的关键词、电子文档的缓存副本或其组合的数据。
搜索系统1100可以将搜索索引1116存储在可包括数千个数据存储设备的数据存储中。索引引擎1120可以通过持续更新搜索索引1116(例如,通过为新的电子文档1108建立索引并从搜索索引1116中删除不再可用的电子文档1108)来维护搜索索引1116。
搜索系统1100使用查询日志记录引擎1122来生成并维护历史查询日志1118(如前所述)。搜索系统1100可以将历史查询日志1118存储在可包括数千个数据存储设备的数据存储中。查询日志记录引擎1122可以通过持续更新历史查询日志1118(例如,通过在新的搜索查询由搜索系统1100处理时对其建立索引)来维护历史查询日志1118。
排名引擎1114通过对由搜索索引1116索引的电子文档1108打分来确定响应搜索查询1102的搜索结果1106。排名引擎1114可以部分地基于从历史查询日志1118访问的数据对电子文档1108打分。由排名引擎1114为电子文档1108确定的得分表征电子文档对搜索查询1102的响应度(例如,相关性)。排名引擎1114基于由搜索索引1116索引的电子文档1108的各自得分来确定其排名,并且基于排名来确定搜索结果。例如,排名引擎1114可以生成搜索结果1106,该搜索结果1106识别由搜索索引1116索引的排名最高的电子文档1108。
图12是可用于执行上述操作的示例计算机系统1200的框图。系统1200包括处理器1210、存储器1220、存储设备1230和输入/输出设备1240。组件1210、1220、1230和1240中的每个可以例如使用系统总线1250互连。处理器1210能够处理在系统1200内运行的指令。在一个实施方式中,处理器1210是单线程处理器。在另一实施方式中,处理器1210是多线程处理器。处理器1210能够处理存储在存储器1220或存储设备1230中的指令。
存储器1220将信息存储在系统1200内。在一个实施方式中,存储器1220是计算机可读介质。在一个实施方式中,存储器1220是易失性存储器单元。在另一实施方式中,存储器1220是非易失性存储器单元。
存储设备1230能够为系统1200提供大容量存储。在一个实施方式中,存储设备1230是计算机可读介质。在各种不同的实施方式中,存储设备1230可以包括例如硬盘设备、光盘设备、由多个计算设备(例如,云存储设备)在网络上共享的存储设备、或一些其它大容量存储设备。
输入/输出设备1240为系统1200提供输入/输出操作。在一个实施方式中,输入/输出设备1240可以包括一个或更多个网络接口设备,例如以太网卡、串行通信设备(例如,RS-232端口)和/或无线接口设备(例如,802.11卡)。在另一实施方式中,输入/输出设备可以包括驱动器设备,其配置为接收输入数据并将输出数据发送到其它输入/输出设备,例如键盘、打印机和显示设备1260。然而,也可以使用其它实施方式,诸如移动计算设备、移动通信设备、机顶盒电视客户端设备等。
尽管已有在图12中描述了示例处理系统,但是本说明书中描述的主题的实施方式和功能性操作可以在其它类型的数字电子电路中实现,或在计算机软件、固件或硬件(包括本说明书中公开的结构及其结构等同物)中实现,或在其中的一种或更多种的组合中实现。
本说明书结合系统和计算机程序组件使用术语“配置”。对于要配置为执行特定操作或动作的一台或更多台计算机的系统,意味着该系统已在其上安装了软件、固件、硬件或其组合,所述软件、固件、硬件或其组合在操作中使该系统执行所述操作或动作。对于要配置为执行特定操作或动作的一个或更多个计算机程序,意味着所述一个或更多个程序包括指令,该指令在由数据处理装置运行时使该装置执行所述操作或动作。
本说明书中描述的主题的实施例和功能性操作可以在数字电子电路中实现,在有形体现的计算机软件或固件中实现,在计算机硬件(包括本说明书中公开的结构及其结构等同物)中实现,或在其中的一种或更多种的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或更多个计算机程序,即在有形的非暂时性存储介质上编码以由数据处理装置运行或控制数据处理装置的操作的计算机程序指令的一个或更多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备或其中的一种或更多种的组合。备选地或另外地,程序指令可以被编码在人工产生的传播信号(例如,机器产生的电信号、光信号或电磁信号)上,该传播信号被产生以对信息进行编码而传输到合适的接收器装置供数据处理装置运行。
术语“数据处理装置”是指数据处理硬件,并涵盖用于处理数据的各种装置、设备和机器,例如包括可编程处理器、计算机、或者多个处理器或计算机。该装置还可以是或可以进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置可以可选地包括为计算机程序创建运行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或其中的一种或更多种的组合的代码。
计算机程序(其也可称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本或代码)可以以任何形式的编程语言(包括编译或解释性语言、或者声明性或程序性语言)来编写;它可以以任何形式(包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其它单元)来部署。程序可以但不必对应于文件系统中的文件。程序可以存储在保持其它程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或更多个脚本)中,在专用于所讨论的程序的单个文件中,或在多个协调文件(例如,存储一个或更多个模块、子程序或部分代码的文件)中。可以将计算机程序部署为在一台计算机上或在位于一个站点或分布于多个站点并通过数据通信网络互连的多台计算机上运行。
在本说明书中,术语“引擎”广泛地用于指代被编程以执行一个或更多个特定功能的基于软件的系统、子系统或过程。一般而言,引擎将被实现为安装在一个或更多个位置中的一台或更多台计算机上的一个或更多个软件模块或组件。在一些情况下,一台或更多台计算机将专用于特定引擎;在其它情况下,可以在同一台计算机或相同的多台计算机上安装并运行多个引擎。
本说明书中描述的过程和逻辑流程可以由运行一个或更多个计算机程序的一台或更多台可编程计算机执行,以通过对输入数据进行操作并产生输出来执行功能。所述过程和逻辑流程还可以由专用逻辑电路(例如,FPGA或ASIC)执行,或由专用逻辑电路和一台或更多台编程计算机的组合执行。
适合于运行计算机程序的计算机可以基于通用微处理器或专用微处理器或两者,或者基于任何其它种类的中央处理单元。一般而言,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或更多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。一般而言,计算机还将包括用于存储数据的一个或更多个大容量存储设备(例如,磁盘、磁光盘或光盘),或者在操作上耦合以从所述一个或更多个大容量存储设备接收数据、或向所述一个或更多个大容量存储设备发送数据、或既进行所述接收又进行所述发送。然而,计算机不必具有此类设备。此外,计算机可以被嵌入另一设备中,举例来说,所述另一设备例如有移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏主机、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。
为了支持与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及用户可通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)。其它种类的设备也可以用于支持与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式(包括声音输入、语音输入或触觉输入)接收来自用户的输入。此外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档与用户进行交互;例如,通过响应于从网页浏览器接收到的请求将网页发送到用户设备上的网页浏览器与用户进行交互。此外,计算机可以通过将文本消息或其它形式的消息发送到个人设备(例如,运行消息收发应用的智能手机)以及从用户接收响应消息作为回复与用户进行交互。
用于实现机器学习模型的数据处理装置还可以包括例如专用硬件加速器单元,用于处理机器学习训练或生产(即推理)工作量的通用的且计算密集的部分。
可以使用机器学习框架(例如,TensorFlow框架、微软Cognitive Toolkit框架、阿帕奇Singa框架或阿帕奇MXNet框架)来实现和部署机器学习模型。
本说明书中描述的主题的实施例可以在包括后端组件(例如,作为数据服务器)、或包括中间件组件(例如,应用服务器)、或包括前端组件(例如,具有图形用户界面、网页浏览器或应用的客户端计算机,用户可通过该图形用户界面、网页浏览器或应用与本说明书中描述的主题的实施方式进行交互)、或包括一个或更多个此类后端组件、中间件组件或前端组件的任何组合的计算系统中实现。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系凭借在相应计算机上运行并彼此具有客户端-服务器关系的计算机程序产生。在一些实施例中,例如出于向与用作客户端的设备交互的用户显示数据以及从该用户接收用户输入的目的,服务器向用户设备发送例如HTML页面的数据。可以在服务器上从设备接收在用户设备处生成的数据,例如用户交互的结果。
虽然本说明书包含许多具体的实施细节,但是这些细节不应被解释为对任何发明的范围或对可能要求保护的范围的限制,而应被解释为对特定实施例的特定发明可能专有的特征的描述。在分开的实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开实现或以任何合适的子组合来实现。此外,尽管上面可能将特征描述为以某些组合起作用,甚至最初照这样要求保护,但是在一些情况下,可以从组合中剔除所要求保护的组合中的一个或更多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。
类似地,虽然按特定顺序在附图中描绘并在权利要求中记载了操作,但是这不应被理解为要求按所示出的特定顺序或按连续的顺序执行这些操作,或要求执行所有示出的操作以实现想要的结果。在某些情况下,多任务和并行处理可以是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中要求这样的分离,应理解的是,所描述的程序组件和系统一般可以一起集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其它实施例在所附权利要求的范围内。例如,在权利要求中记载的动作可以按不同的顺序执行并仍然实现想要的结果。作为一个示例,附图中描绘的过程不一定要求所示出的特定顺序或连续的顺序来实现想要的结果。在一些情况下,多任务和并行处理可以是有利的。
Claims (20)
1.一种由一个或更多个数据处理装置执行的方法,该方法包括:
获得包括多个训练示例的训练数据,其中每个训练示例包括:
图像对,包括第一图像和第二图像;以及
选择数据,指示以下中的一项或更多项:(i)图像对的共同点击率,以及(ii)图像对的相似图像点击率,其中:
图像对的共同点击率表征用户响应于第一图像和第二图像两者由搜索查询的搜索结果同时识别而选择第一图像和第二图像两者的频率;以及
图像对的相似图像点击率表征用户响应于第一图像或第二图像由分别包括第二图像或第一图像的搜索查询的搜索结果识别而选择第一图像或第二图像的频率;以及
使用训练数据来训练具有多个图像嵌入模型参数的图像嵌入模型,其中,对于所述多个训练示例中的每个,所述训练包括:
使用图像嵌入模型处理训练示例的第一图像,以生成第一图像的嵌入;
使用图像嵌入模型处理训练示例的第二图像,以生成第二图像的嵌入;
确定第一图像的嵌入与第二图像的嵌入之间的相似性度量;以及
至少部分地基于以下来调整图像嵌入模型参数:(i)第一图像的嵌入与第二图像的嵌入之间的相似性度量,以及(ii)训练示例的选择数据。
2.根据权利要求1所述的方法,其中训练数据使用网络搜索系统的历史查询日志生成。
3.根据权利要求1或2所述的方法,其中每个训练示例的共同点击率指示用户响应于该训练示例的第一图像和第二图像两者由搜索查询的搜索结果同时识别而选择该训练示例的第一图像和第二图像两者的次数的分数。
4.根据权利要求1、2或3所述的方法,其中每个训练示例的相似图像点击率指示用户响应于第一图像或第二图像由分别包括第二图像或第一图像的搜索查询的搜索结果识别而选择第一图像或第二图像的次数的分数。
5.根据权利要求1、2、3或4所述的方法,其中图像嵌入模型包括卷积神经网络。
6.根据权利要求5所述的方法,其中调整图像嵌入模型参数包括:
确定损失函数的梯度,该损失函数取决于:(i)第一图像的嵌入与第二图像的嵌入之间的相似性度量,以及(ii)训练示例的选择数据;以及
使用该梯度来调整图像嵌入模型参数。
7.根据权利要求6所述的方法,其中损失函数包括基于训练示例的选择数据确定的倍数缩放因子。
8.根据权利要求7所述的方法,其中倍数缩放因子被确定为训练示例的共同点击率和相似图像点击率的线性组合。
9.根据任一前述权利要求所述的方法,其中确定第一图像的嵌入与第二图像的嵌入之间的相似性度量包括:
确定第一图像的嵌入与第二图像的嵌入之间的欧几里德距离。
10.一种系统,包括:
一台或更多台计算机;以及
通信上耦合到所述一台或更多台计算机的一个或更多个存储设备,其中所述一个或更多个存储设备存储指令,该指令在由所述一台或更多台计算机运行时使所述一台或更多台计算机执行包括以下的操作:
获得包括多个训练示例的训练数据,其中每个训练示例包括:
图像对,包括第一图像和第二图像;以及
选择数据,指示以下中的一项或更多项:(i)图像对的共同点击率,以及(ii)图像对的相似图像点击率,其中:
图像对的共同点击率表征用户响应于第一图像和第二图像两者由搜索查询的搜索结果同时识别而选择第一图像和第二图像两者的频率;以及
图像对的相似图像点击率表征用户响应于第一图像或第二图像由分别包括第二图像或第一图像的搜索查询的搜索结果识别而选择第一图像或第二图像的频率;以及
使用训练数据来训练具有多个图像嵌入模型参数的图像嵌入模型,其中,对于所述多个训练示例中的每个,训练包括:
使用图像嵌入模型处理训练示例的第一图像,以生成第一图像的嵌入;
使用图像嵌入模型处理训练示例的第二图像,以生成第二图像的嵌入;
确定第一图像的嵌入与第二图像的嵌入之间的相似性度量;以及
至少部分地基于以下来调整图像嵌入模型参数:(i)第一图像的嵌入与第二图像的嵌入之间的相似性度量,以及(ii)训练示例的选择数据。
11.根据权利要求10所述的系统,其中训练数据使用网络搜索系统的历史查询日志生成。
12.根据权利要求10或11所述的系统,其中每个训练示例的共同点击率指示用户响应于该训练示例的第一图像和第二图像两者由搜索查询的搜索结果同时识别而选择该训练示例的第一图像和第二图像两者的次数的分数。
13.根据权利要求10、11或12所述的系统,其中每个训练示例的相似图像点击率指示用户响应于第一图像或第二图像由分别包括第二图像或第一图像的搜索查询的搜索结果识别而选择第一图像或第二图像的次数的分数。
14.根据权利要求10至14中任一项所述的系统,其中图像嵌入模型包括卷积神经网络。
15.根据权利要求14所述的系统,其中调整图像嵌入模型参数包括:
确定损失函数的梯度,该损失函数取决于:(i)第一图像的嵌入与第二图像的嵌入之间的相似性度量;以及(ii)训练示例的选择数据;以及
使用该梯度来调整图像嵌入模型参数。
16.一个或更多个存储指令的非暂时性计算机存储介质,该指令在由一台或更多台计算机运行时使所述一台或更多台计算机执行包括以下的操作:
获得包括多个训练示例的训练数据,其中每个训练示例包括:
图像对,包括第一图像和第二图像;以及
选择数据,指示以下中的一项或更多项:(i)图像对的共同点击率,以及(ii)图像对的相似图像点击率,其中:
图像对的共同点击率表征用户响应于第一图像和第二图像两者由搜索查询的搜索结果同时识别而选择第一图像和第二图像两者的频率;以及
图像对的相似图像点击率表征用户响应于第一图像或第二图像由分别包括第二图像或第一图像的搜索查询的搜索结果识别而选择第一图像或第二图像的频率;以及
使用训练数据来训练具有多个图像嵌入模型参数的图像嵌入模型,其中,对于所述多个训练示例中的每个,训练包括:
使用图像嵌入模型处理训练示例的第一图像,以生成第一图像的嵌入;
使用图像嵌入模型处理训练示例的第二图像,以生成第二图像的嵌入;
确定第一图像的嵌入与第二图像的嵌入之间的相似性度量;以及
至少部分地基于以下来调整图像嵌入模型参数:(i)第一图像的嵌入与第二图像的嵌入之间的相似性度量,以及(ii)训练示例的选择数据。
17.根据权利要求16所述的非暂时性计算机存储介质,其中训练数据使用网络搜索系统的历史查询日志生成。
18.根据权利要求16或17所述的非暂时性计算机存储介质,其中每个训练示例的共同点击率指示用户响应于该训练示例的第一图像和第二图像两者由搜索查询的搜索结果同时识别而选择该训练示例的第一图像和第二图像两者的次数的分数。
19.根据权利要求16、17或18所述的非暂时性计算机存储介质,其中每个训练示例的相似图像点击率指示用户响应于第一图像或第二图像由分别包括第二图像或第一图像的搜索查询的搜索结果识别而选择第一图像或第二图像的次数的分数。
20.根据权利要求16至19中任一项所述的非暂时性计算机存储介质,其中图像嵌入模型包括卷积神经网络。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/265,793 US11586927B2 (en) | 2019-02-01 | 2019-02-01 | Training image and text embedding models |
US16/265,793 | 2019-02-01 | ||
PCT/US2019/057828 WO2020159592A1 (en) | 2019-02-01 | 2019-10-24 | Training image and text embedding models |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112074828A true CN112074828A (zh) | 2020-12-11 |
Family
ID=68610304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980029223.1A Pending CN112074828A (zh) | 2019-02-01 | 2019-10-24 | 训练图像嵌入模型和文本嵌入模型 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11586927B2 (zh) |
EP (1) | EP3759616A1 (zh) |
CN (1) | CN112074828A (zh) |
WO (1) | WO2020159592A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11720621B2 (en) * | 2019-03-18 | 2023-08-08 | Apple Inc. | Systems and methods for naming objects based on object content |
US20220301004A1 (en) * | 2019-08-30 | 2022-09-22 | Ntt Docomo, Inc. | Click rate prediction model construction device |
US11216697B1 (en) * | 2020-03-11 | 2022-01-04 | Amazon Technologies, Inc. | Backward compatible and backfill-free image search system |
US11734339B2 (en) * | 2020-10-20 | 2023-08-22 | Adobe Inc. | Generating embeddings in a multimodal embedding space for cross-lingual digital image retrieval |
US11615567B2 (en) | 2020-11-18 | 2023-03-28 | Adobe Inc. | Image segmentation using text embedding |
US11941792B2 (en) * | 2021-04-09 | 2024-03-26 | Dell Products L.P. | Machine learning-based analysis of computing device images included in requests to service computing devices |
US20230048742A1 (en) * | 2021-08-10 | 2023-02-16 | Verizon Media Inc. | Search query generation based upon received text |
US20230315766A1 (en) * | 2022-03-31 | 2023-10-05 | Capital One Services, Llc | Methods, mediums, and systems for reusable intelligent search workflows |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429168B1 (en) * | 2009-12-15 | 2013-04-23 | Google Inc. | Learning semantic image similarity |
CN103329126A (zh) * | 2010-10-28 | 2013-09-25 | 谷歌公司 | 利用联合图像-音频查询的搜索 |
US8832096B1 (en) * | 2011-09-01 | 2014-09-09 | Google Inc. | Query-dependent image similarity |
US20150169754A1 (en) * | 2012-03-08 | 2015-06-18 | Google Inc. | Online image analysis |
WO2015196102A1 (en) * | 2014-06-20 | 2015-12-23 | Google Inc. | Fine-grained image similarity |
US20160180151A1 (en) * | 2014-12-17 | 2016-06-23 | Google Inc. | Generating numeric embeddings of images |
CN108319633A (zh) * | 2017-11-17 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置及服务器、系统、存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8280881B1 (en) * | 2009-10-29 | 2012-10-02 | Google Inc. | Similar search queries and images |
US8861844B2 (en) * | 2010-03-29 | 2014-10-14 | Ebay Inc. | Pre-computing digests for image similarity searching of image-based listings in a network-based publication system |
US10299741B2 (en) * | 2016-09-14 | 2019-05-28 | Dental Imaging Technologies Corporation | Multiple-dimension imaging sensor and state-based operation of an imaging system including a multiple-dimension imaging sensor |
US20200250538A1 (en) * | 2019-02-01 | 2020-08-06 | Google Llc | Training image and text embedding models |
-
2019
- 2019-02-01 US US16/265,793 patent/US11586927B2/en active Active
- 2019-10-24 CN CN201980029223.1A patent/CN112074828A/zh active Pending
- 2019-10-24 EP EP19805801.8A patent/EP3759616A1/en not_active Withdrawn
- 2019-10-24 WO PCT/US2019/057828 patent/WO2020159592A1/en unknown
-
2023
- 2023-02-20 US US18/171,511 patent/US20230205813A1/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429168B1 (en) * | 2009-12-15 | 2013-04-23 | Google Inc. | Learning semantic image similarity |
CN103329126A (zh) * | 2010-10-28 | 2013-09-25 | 谷歌公司 | 利用联合图像-音频查询的搜索 |
US8832096B1 (en) * | 2011-09-01 | 2014-09-09 | Google Inc. | Query-dependent image similarity |
US20150169754A1 (en) * | 2012-03-08 | 2015-06-18 | Google Inc. | Online image analysis |
WO2015196102A1 (en) * | 2014-06-20 | 2015-12-23 | Google Inc. | Fine-grained image similarity |
US20170243082A1 (en) * | 2014-06-20 | 2017-08-24 | Google Inc. | Fine-grained image similarity |
US20160180151A1 (en) * | 2014-12-17 | 2016-06-23 | Google Inc. | Generating numeric embeddings of images |
US20180053042A1 (en) * | 2014-12-17 | 2018-02-22 | Google Inc. | Generating numeric embeddings of images |
CN108319633A (zh) * | 2017-11-17 | 2018-07-24 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置及服务器、系统、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP3759616A1 (en) | 2021-01-06 |
US20200250537A1 (en) | 2020-08-06 |
US20230205813A1 (en) | 2023-06-29 |
WO2020159592A1 (en) | 2020-08-06 |
US11586927B2 (en) | 2023-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240078258A1 (en) | Training Image and Text Embedding Models | |
US20220222920A1 (en) | Content processing method and apparatus, computer device, and storage medium | |
US20230205813A1 (en) | Training Image and Text Embedding Models | |
CN110162593B (zh) | 一种搜索结果处理、相似度模型训练方法及装置 | |
CN111753060B (zh) | 信息检索方法、装置、设备及计算机可读存储介质 | |
WO2021159776A1 (zh) | 基于人工智能的推荐方法、装置、电子设备及存储介质 | |
CN111125422B (zh) | 一种图像分类方法、装置、电子设备及存储介质 | |
US8515212B1 (en) | Image relevance model | |
US8374914B2 (en) | Advertising using image comparison | |
US8792732B1 (en) | Automatic large scale video object recognition | |
US20230409653A1 (en) | Embedding Based Retrieval for Image Search | |
US7831111B2 (en) | Method and mechanism for retrieving images | |
RU2711125C2 (ru) | Система и способ формирования обучающего набора для алгоритма машинного обучения | |
CN111382361B (zh) | 信息推送方法、装置、存储介质和计算机设备 | |
DE102016013372A1 (de) | Bildbeschriften mit schwacher Überwachung | |
CN112434151A (zh) | 一种专利推荐方法、装置、计算机设备及存储介质 | |
US10606910B2 (en) | Ranking search results using machine learning based models | |
CN106354856B (zh) | 基于人工智能的深度神经网络强化搜索方法和装置 | |
CN111625715A (zh) | 信息提取方法、装置、电子设备及存储介质 | |
US20070098257A1 (en) | Method and mechanism for analyzing the color of a digital image | |
CN114330514A (zh) | 一种基于深度特征与梯度信息的数据重建方法及系统 | |
US20130332440A1 (en) | Refinements in Document Analysis | |
CN116956183A (zh) | 多媒体资源推荐方法、模型训练方法、装置及存储介质 | |
US20230237093A1 (en) | Video recommender system by knowledge based multi-modal graph neural networks | |
CN117009621A (zh) | 信息搜索方法、装置、电子设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |