IP Library Patent Application 14141803
Patent Application
App. No. 14/141,803

SYSTEM AND METHOD FOR DISTANCE LEARNING WITH EFFICIENT RETRIEVAL

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 None
App. No.
14/141,803
Abstract

A computer-implemented method can include receiving training data that includes a set of non-matching pairs and a set of matching pairs. The method can further include calculating a non-matching collision probability for each non-matching pair of the set of non-matching pairs and a matching collision probability for each matching pair of the set of matching pairs. The method can also include generating a machine learning model that includes a first threshold and a second threshold. An unknown item and a particular known item are classified as not matching when their collision probability is less than the first threshold, and as matching when their collision probability is greater than the second threshold. The first threshold and the second threshold can be selected based on a minimization of errors in classification of matching and non-matching pairs in the training data, and a maximization of a retrieval efficiency metric.

Claims (56)

1 . A computer-implemented method, comprising:

receiving, at a computing device having one or more processors, training data that includes a set of non-matching pairs (x 1 , y 1 ) and a set of matching pairs (x 2 , y 2 );

calculating, at the computing device, a non-matching collision probability p 1 (x 1 , y 1 ) for each non-matching pair of the set of non-matching pairs;

calculating, at the computing device, a matching collision probability p 2 (x 2 , y 2 ) for each matching pair of the set of matching pairs; and

generating, at the computing device, a machine learning model that includes a first threshold (T 1 ) and a second threshold (T 2 ), the machine learning model being configured to classify an unknown item as not matching a particular known item when a collision probability between the unknown item and the particular known item is less than the first threshold (T 1 ), and to classify the unknown item as matching the particular known item when the collision probability between the unknown item and the particular known item is greater than the second threshold (T 2 ),

wherein the first threshold (T 1 ) and the second threshold (T 2 ) are selected based on: (i) a minimization of a sum of max(0, p 1 (x 1 , y 1 )−T 1 ) over the set of non-matching pairs, (ii) a minimization of a sum of max(0, T 2 −p 2 (x 2 , y 2 )) over the set of matching pairs, and (iii) a maximization of In(1/T 1 )/In(1/T 2 ).

2 . The computer-implemented method of claim 1 , wherein calculating the collision probability is based on a plurality of hash functions.

3 . The computer-implemented method of claim 2 , wherein calculating the collision probability is further based on an embedding function of the machine learning model, the embedding function mapping an input in a first metric space to an output in a second metric space.

4 . The computer-implemented method of claim 3 , wherein the embedding function is selected based on: (i) a minimization of the sum of max(0, p 1 (x 1 , y 1 )−T 1 ) over the set of non-matching pairs, (ii) a minimization of the sum of max(0, T 2 −p 2 (x 2 , y 2 )) over the set of matching pairs, and (iii) a maximization of In(1/T 1 )/In(1/T 2 ).

5 . The computer-implemented method of claim 1 , wherein the first threshold (T 1 ) and the second threshold (T 2 ) are selected by:

determining potential values for the first threshold (T 1 ) based on the minimization of the sum of max(0, p 1 (x 1 , y 1 )−T 1 ) over the set of non-matching pairs;

determining potential values for the second threshold (T 2 ) based on the minimization of the sum of max(0, T 2 −p 2 (x 2 , y 2 )) over the set of matching pairs;

calculating In(1/T 1 )/In(1/T 2 ) for each of the potential values for the first threshold (T 1 ) and the second threshold (T 2 ); and

selecting the first threshold (T 1 ) and the second threshold (T 2 ) based on a balancing of objectives of: (i) minimizing the sum of max(0, p 1 (x 1 , y 1 )−T 1 ) over the set of non-matching pairs, (ii) minimizing the sum of max(0, T 2 −p 2 (x 2 , y 2 )) over the set of matching pairs, and (iii) maximizing In(1/T 1 )/In(1/T 2 ).

6 . The computer-implemented method of claim 1 , further comprising:

receiving, at the computing device, a query;

determining, at the computing device, an approximate nearest neighbor to the query based on the machine learning model; and

outputting, from the computing device, the approximate nearest neighbor.

7 . A computer-implemented method, comprising:

receiving, at a computing device having one or more processors, training data that includes a set of non-matching pairs (x 1 , y 1 ) and a set of matching pairs (x 2 , y 2 );

calculating, at the computing device, a non-matching collision probability p 1 (x 1 , y 1 ) for each non-matching pair of the set of non-matching pairs;

calculating, at the computing device, a matching collision probability p 2 (x 2 , y 2 ) for each matching pair of the set of matching pairs; and

generating, at the computing device, a machine learning model that includes a first threshold (T 1 ) and a second threshold (T 2 ), the machine learning model being configured to classify an unknown item as not matching a particular known item when a collision probability between the unknown item and the particular known item is less than the first threshold (T 1 ), and to classify the unknown item as matching the particular known item when the collision probability between the unknown item and the particular known item is greater than the second threshold (T 2 ),

wherein the first threshold (T 1 ) and the second threshold (T 2 ) are selected based on: (i) a minimization of errors in classification of non-matching pairs in the training data, (ii) a minimization of errors in classification of matching pairs in the training data, and (iii) a maximization of a retrieval efficiency metric related to an expected time for retrieving an approximate nearest neighbor to a query based on the machine learning model.

8 . The computer-implemented method of claim 7 , wherein calculating the collision probability is based on a plurality of hash functions.

9 . The computer-implemented method of claim 8 , wherein calculating the collision probability is further based on an embedding function of the machine learning model, the embedding function mapping an input in a first metric space to an output in a second metric space.

10 . The computer-implemented method of claim 9 , further comprising:

selecting, at the computing device, the embedding function from a plurality of potential embedding functions based on: (i) a minimization of errors in classification of non-matching pairs in the training data, (ii) a minimization of errors in classification of matching pairs in the training data, and (iii) a maximization of the retrieval efficiency metric.

11 . The computer-implemented method of claim 7 , wherein the retrieval efficiency metric comprises In(1/T 1 )/In(1/T 2 ).

12 . The computer-implemented method of claim 7 , wherein the minimization of errors in classification of non-matching pairs in the training data comprises minimizing a sum of max(0, p 1 (x 1 , y 1 )−T 1 ) over the set of non-matching pairs.

13 . The computer-implemented method of claim 7 , wherein the minimization of errors in classification of matching pairs in the training data comprises minimizing a sum of max(0, T 2 −p 2 (x 2 , y 2 )) over the set of matching pairs.

14 . The computer-implemented method of claim 7 , wherein the first threshold (T 1 ) and the second threshold (T 2 ) are selected by:

determining potential values for the first threshold (T 1 ) based on the minimization of errors in classification of non-matching pairs in the training data;

determining potential values for the second threshold (T 2 ) based on the minimization of errors in classification of matching pairs in the training data;

calculating a potential retrieval efficiency metric for each of the potential values for the first threshold (T 1 ) and the second threshold (T 2 ); and

selecting the first threshold (T 1 ) and the second threshold (T 2 ) based on a balancing of objectives of: (i) the minimization of errors in classification of non-matching pairs in the training data, (ii) minimization of errors in classification of matching pairs in the training data, and (iii) maximizing the retrieval efficiency metric.

15 . A computer system, comprising:

one or more processors; and

a non-transitory, computer readable medium storing instructions that, when executed by the one or more processors, cause the computer system to perform operations comprising:

receiving training data that includes a set of non-matching pairs (x 1 , y 1 ) and a set of matching pairs (x 2 , y 2 ),

calculating a non-matching collision probability p 1 (x 1 , y 1 ) for each non-matching pair of the set of non-matching pairs,

calculating a matching collision probability p 2 (x 2 , y 2 ) for each matching pair of the set of matching pairs, and

generating a machine learning model that includes a first threshold (T 1 ) and a second threshold (T 2 ), the machine learning model being configured to classify an unknown item as not matching a particular known item when a collision probability between the unknown item and the particular known item is less than the first threshold (T 1 ), and to classify the unknown item as matching the particular known item when the collision probability between the unknown item and the particular known item is greater than the second threshold (T 2 ),

wherein the first threshold (T 1 ) and the second threshold (T 2 ) are selected based on: (i) a minimization of a sum of max(0, p 1 (x 1 , y 1 )−T 1 ) over the set of non-matching pairs, (ii) a minimization of a sum of max(0, T 2 −p 2 (x 2 , y 2 )) over the set of matching pairs, and (iii) a maximization of In(1/T 1 )/In(1/T 2 ).

16 . The computer system of claim 15 , wherein calculating the collision probability is based on a plurality of hash functions.

17 . The computer system of claim 16 , wherein calculating the collision probability is further based on an embedding function of the machine learning model, the embedding function mapping an input in a first metric space to an output in a second metric space.

18 . The computer system of claim 17 , wherein the embedding function is selected based on: (i) a minimization of the sum of max(0, p 1 (x 1 , y 1 )−T 1 ) over the set of non-matching pairs, (ii) a minimization of the sum of max(0, T 2 −p 2 (x 2 , y 2 )) over the set of matching pairs, and (iii) a maximization of In(1/T 1 )/In(1/T 2 ).

19 . The computer system of claim 15 , wherein the first threshold (T 1 ) and the second threshold (T 2 ) are selected by:

determining potential values for the first threshold (T 1 ) based on the minimization of the sum of max(0, p 1 (x 1 , y 1 )−T 1 ) over the set of non-matching pairs;

determining potential values for the second threshold (T 2 ) based on the minimization of the sum of max(0, T 2 −p 2 (x 2 , y 2 )) over the set of matching pairs;

calculating In(1/T 1 )/In(1/T 2 ) for each of the potential values for the first threshold (T 1 ) and the second threshold (T 2 ); and

selecting the first threshold (T 1 ) and the second threshold (T 2 ) based on a balancing of objectives of: (i) minimizing the sum of max(0, p 1 (x 1 , y 1 )−T 1 ) over the set of non-matching pairs, (ii) minimizing the sum of max(0, T 2 −p 2 (x 2 , y 2 )) over the set of matching pairs, and (iii) maximizing In(1/T)/In(1/T 2 ).

20 . The computer system of claim 15 , wherein the operations further comprise:

receiving a query; and

determining an approximate nearest neighbor to the query based on the machine learning model; and

outputting, from the computing device, the approximate nearest neighbor.

Assignments (2)
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2014
From: IOFFE, SERGEY; BENGIO, SAMY
To: GOOGLE INC.
Reel/Frame 032030/0613 →