IP Library Granted Patent US 10,387,749
Granted Patent B2
US 10,387,749 · App. 15/710,377 · Granted Aug 20, 2019

Distance metric learning using proxies

Inventors: Yair Movshovitz-Attias (Mountain View, CA); King Hong Leung (Saratoga, CA); Saurabh Singh (Mountain View, CA); Alexander Toshev (San Francisco, CA); Sergey Ioffe (San Francisco, CA)
Assignee: Google LLC
G06K9/6215G06K9/4628G06K9/6232G06K9/6255G06K9/6256G06K9/6262G06K9/66G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,387,749
App. No.
15/710,377
Granted
Aug 20, 2019
Kind
B2
Abstract

The present disclosure provides systems and methods that enable distance metric learning using proxies. A machine-learned distance model can be trained in a proxy space in which a loss function compares an embedding provided for an anchor data point of a training dataset to a positive proxy and one or more negative proxies, where each of the positive proxy and the one or more negative proxies serve as a proxy for two or more data points included in the training dataset. Thus, each proxy can approximate a number of data points, enabling faster convergence. According to another aspect, the proxies of the proxy space can themselves be learned parameters, such that the proxies and the model are trained jointly. Thus, the present disclosure enables faster convergence (e.g., reduced training time). The present disclosure provides example experiments which demonstrate a new state of the art on several popular training datasets.

Claims (48)

1. A computer system to perform distance metric learning using proxies, the computer system comprising:

a machine-learned distance model configured to receive input data points and, in response, provide respective embeddings for the input data points within an embedding space, wherein a distance between a pair of embeddings provided for a pair of the input data points is indicative of a similarity between the pair of the input data points;

one or more processors; and

one or more non-transitory computer readable media that collectively store instructions that, when executed by the one or more processors cause the computer system to perform operations, the operations comprising:

accessing a training dataset that includes a plurality of data points to obtain an anchor data point;

inputting the anchor data point into the machine-learned distance model;

receiving a first embedding provided for the anchor data point by the machine-learned distance model;

evaluating a loss function that compares the first embedding to a positive proxy and one or more negative proxies, wherein each of the positive proxy and the one or more negative proxies serve as a proxy for two or more data points included in the training dataset; and

adjusting one or more parameters of the machine-learned distance model based at least in part on the loss function.

2. The computer system of claim 1 , wherein the operations further comprise:

adjusting, by the one or more computing devices, one or more of the positive proxy and the one or more negative proxies based at least in part on the loss function.

3. The computer system of claim 2 , wherein adjusting, by the one or more computing devices, one or more parameters of the machine-learned distance model and adjusting, by the one or more computing devices, one or more of the positive proxy and the one or more negative proxies comprise jointly backpropagating, by the one or more computing devices, the loss function through the machine-learned distance model and a proxy matrix that includes the positive proxy and the one or more negative proxies.

4. The computer system of claim 1 , wherein the loss function compares a first distance between the first embedding and the positive proxy to one or more second distances between the first embedding and the one or more negative proxies.

5. The computer system of claim 4 , wherein the loss function compares the first distance to a plurality of second distances respectively between the first embedding and a plurality of different negative proxies.

6. The computer system of claim 4 , wherein the loss function includes a constraint that the first distance is less than each of the one or more second distances.

7. The computer system of claim 1 , wherein the anchor data point is associated with a first label, wherein the positive proxy serves as a proxy for all data points included in the training dataset that are associated with the first label, and wherein the one or more negative proxies serves as a proxy for all data points included in the training dataset that are associated with at least one second label that is different than the first label.

8. The computer system of claim 1 , wherein:

each data point included in the training dataset is associated with one of a number of different labels; and

the operations further comprise, prior to inputting the anchor data point:

initializing, by the one or more computing devices, a number of proxies;

respectively associating, by the one or more computing devices, the number of proxies with the number of different labels; and

assigning, by the one or more computing devices, each proxy to all data points that are associated with a same label.

9. The computer system of claim 8 , wherein the number of proxies is at least one-half the number of different labels.

10. The computer system of claim 2 , wherein the operations further comprise, after adjusting, by the one or more computing devices, one or more of the positive proxy and the one or more negative proxies based at least in part on the loss function:

re-assigning, by the one or more computing devices, each data point in the training dataset to a nearest proxy of a plurality of proxies, the plurality of proxies including the positive proxy and the one or more negative proxies.

11. The computer system of claim 1 , wherein the machine-learned distance model comprises a deep neural network.

12. The computer system of claim 1 , wherein the operations further comprise, after adjusting one or more parameters of the machine-learned distance model based at least in part on the loss function:

employing the machine-learned distance model to perform a similarity search.

13. A computer-implemented method to perform distance metric learning using proxies, the method comprising:

accessing, by one or more computing devices, a training dataset that includes a plurality of data points to obtain an anchor data point;

inputting, by the one or more computing devices, the anchor data point into a machine-learned distance model;

receiving, by the one or more computing devices, a first embedding provided for the anchor data point by the machine-learned distance model;

evaluating, by the one or more computing devices, a loss function that compares the first embedding to one or more of: a positive proxy and one or more negative proxies, wherein one or more of the positive proxy and the one or more negative proxies serve as a proxy for two or more data points included in the training dataset; and

adjusting, by the one or more computing devices, one or more parameters of the machine-learned distance model based at least in part on the loss function.

14. The computer-implemented method of claim 13 , wherein the method further comprises:

adjusting, by the one or more computing devices, one or more of the positive proxy and the one or more negative proxies based at least in part on the loss function.

15. The computer-implemented method of claim 14 , wherein adjusting, by the one or more computing devices, one or more parameters of the machine-learned distance model and adjusting, by the one or more computing devices, one or more of the positive proxy and the one or more negative proxies comprise jointly backpropagating, by the one or more computing devices, the loss function through the machine-learned distance model and a proxy matrix that includes the positive proxy and the one or more negative proxies.

16. The computer-implemented method of claim 13 , wherein evaluating, by the one or more computing devices, the loss function comprises evaluating, by the one or more computing devices, the loss function that compares a first distance between the first embedding and the positive proxy to one or more second distances between the first embedding and the one or more negative proxies.

17. The computer-implemented method of claim 16 , wherein the loss function includes a constraint that the first distance is less than each of the one or more second di stances.

18. The computer-implemented method of claim 13 , wherein the anchor data point is associated with a first label, wherein the positive proxy serves as a proxy for all data points included in the training dataset that are associated with the first label, and wherein the one or more negative proxies serves as a proxy for all data points included in the training dataset that are associated with at least one second label that is different than the first label.

19. The computer-implemented method of claim 14 , wherein the method further comprises, after adjusting, by the one or more computing devices, one or more of the positive proxy and the one or more negative proxies based at least in part on the loss function:

re-assigning, by the one or more computing devices, each data point in the training dataset to a nearest proxy of a plurality of proxies, the plurality of proxies including the positive proxy and the one or more negative proxies.

20. One or more non-transitory computer-readable media that collectively store instructions that, when executed by one or more processors, cause the one or more processors to perform operations, the operations comprising:

accessing a training dataset that includes a plurality of data points to obtain an anchor data point;

inputting the anchor data point into a machine-learned distance model;

receiving a first embedding provided for the anchor data point by the machine-learned distance model;

evaluating a loss function that compares the first embedding to one or more of: a positive proxy and one or more negative proxies, wherein one or more of the positive proxy and the one or more negative proxies serve as a proxy for two or more data points included in the training dataset; and

adjusting one or more parameters of the machine-learned distance model based at least in part on the loss function.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2018
From: MOYSHOVITZ-ATTIAS, YAIR; LEUNG, KING HONG; SINGH, SAURABH; TOSHEV, ALEXANDER; IOFFE, SERGEY
To: GOOGLE LLC
Reel/Frame 044564/0207 →
Continuity (2)
Continuation In Part 15690426 · Aug 30, 2017
Related Publication 20190065899A1 · Feb 28, 2019
Cited By (3)
US 12,374,087 US 12,518,523 US 12,524,668