IP Library Granted Patent US 11,829,376
Granted Patent B2
US 11,829,376 · App. 16/868,069 · Granted Nov 28, 2023

Technologies for refining stochastic similarity search candidates

Inventors: Mariano Tepper (Santa Clara, CA); Dipanjan Sengupta (Hillsboro, OR); Jawad Khan (Portland, OR); Sourabh Dongaonkar (Santa Clara, CA); Chetan Chauhan (Folsom, CA); Richard Coulson (Portland, OR); Theodore Willke (Portland, OR)
Assignee: Intel Corporation
G06F16/2462G06F16/248G06N7/01G06N20/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 11,829,376
App. No.
16/868,069
Granted
Nov 28, 2023
Kind
B2
Abstract

Technologies for refining stochastic similarity search candidates include a device having a memory that is column addressable and circuitry connected to the memory. The circuitry is configured to add a set of input data vectors to the memory as a set of binary dimensionally expanded vectors, including multiplying each input data vector with a projection matrix. The circuitry is also configured to produce a search hash code from a search data vector, including multiplying the search data vector with the projection matrix. Additionally, the circuitry is configured to identify a result set of the binary dimensionally expanded vectors as a function of a Hamming distance of each binary dimensionally expanded vector from the search hash code and determine, from the result set, a refined result set as a function of a similarity measure in an original input space of the input data vectors.

Claims (44)

1. A device comprising:

a memory that is column addressable and row addressable to allow both row-wise writes and column-wise reads;

circuitry connected to the memory, wherein the circuitry is to:

add a set of input data vectors to the memory as a set of binary dimensionally expanded vectors, including multiplying each input data vector with a projection matrix to project each input data vector from a first dimension space to a second expanded dimensional space, wherein the projection matrix is a binary sparse projection matrix of random binary values or a dense floating point matrix;

produce a search hash code from a search data vector, including multiplying the search data vector with the projection matrix;

identify a result set of the binary dimensionally expanded vectors as a function of a Hamming distance of each binary dimensionally expanded vector from the search hash code; and

determine, from the result set, a refined result set as a function of a similarity measure in an original input space of the input data vectors,

wherein the operations to add the set of input data vectors, produce the search hash code, and identify the result set comprise a stochastic associative search, and wherein the stochastic associative search includes row-wise writes of a block of one or more specific rows and column-wise reads of a block of one or more specific columns from the memory.

2. The device of claim 1 , wherein the circuitry is further to train an inverse map to convert the binary dimensionally expanded vectors and the search hash code to an original data format.

3. The device of claim 2 , wherein to determine a refined result set comprises to convert the binary dimensionally expanded vectors in the result set to vectors of floating point values.

4. The device of claim 2 , wherein to determine a refined result set comprises to convert the search hash code to a set of floating point values.

5. The device of claim 2 , wherein to determine a refined result set comprises to determine a Euclidean distance between each converted vector and the converted search hash code.

6. The device of claim 5 , wherein to determine the refined result set further comprises to identify a subset of the converted vectors having the lowest Euclidean distance from the converted search hash code as the refined result set.

7. The device of claim 1 , wherein to determine, from the result set, a refined result set comprises to determine a refined result set that is an order of magnitude smaller than the result set.

8. The device of claim 1 , wherein multiplying each input data vector with a projection matrix comprises multiplying input data vectors having data values indicative of features extracted from objects to be searched with the projection matrix.

9. The device of claim 8 , wherein multiplying each input data vector with a projection matrix comprises multiplying input data vectors having data values indicative of features extracted from images to be searched with the projection matrix.

10. The device of claim 1 , wherein the circuitry is further to sort the binary dimensionally expanded vectors as a function of the Hamming distance of each binary dimensionally expanded vector from the search hash code.

11. The device of claim 1 , wherein the memory has a three dimensional cross point architecture.

12. A method comprising:

adding, by a device having a memory that is column addressable and row addressable to allow both row-wise writes and column-wise reads, a set of input data vectors to the memory as a set of binary dimensionally expanded vectors, including multiplying each input data vector with a projection matrix to project each input data vector from a first dimension space to a second expanded dimensional space, wherein the projection matrix is a binary sparse projection matrix of random binary values or a dense floating point matrix;

producing, by the device, a search hash code from a search data vector, including multiplying the search data vector with the projection matrix;

identifying, by the device, a result set of the binary dimensionally expanded vectors as a function of a Hamming distance of each binary dimensionally expanded vector from the search hash code; and

determining, by the device and from the result set, a refined result set as a function of a similarity measure in an original input space of the input data vectors,

wherein the operations of adding the set of input data vectors, producing the search hash code, and identifying the result set comprise a stochastic associative search, and wherein the stochastic associative search includes row-wise writes of a block of one or more specific rows and column-wise reads of a block of one or more specific columns from the memory.

13. The method of claim 12 , further comprising training, by the device, an inverse map to convert the binary dimensionally expanded vectors and the search hash code to an original data format.

14. A system comprising:

a processor;

a memory that is column addressable and row addressable to allow both row-wise writes and column-wise reads;

circuitry connected to the memory, wherein the circuitry is to:

add a set of input data vectors to the memory as a set of binary dimensionally expanded vectors, including multiplying each input data vector with a projection matrix to project each input data vector from a first dimension space to a second expanded dimensional space, wherein the projection matrix is a binary sparse projection matrix of random binary values or a dense floating point matrix;

produce a search hash code from a search data vector, including multiplying the search data vector with the projection matrix;

identify a result set of the binary dimensionally expanded vectors as a function of a Hamming distance of each binary dimensionally expanded vector from the search hash code; and

determine, from the result set, a refined result set as a function of a similarity measure in an original input space of the input data vectors,

wherein the operations to add the set of input data vectors, produce the search hash code, and identify the result set comprise a stochastic associative search, and wherein the stochastic associative search includes row-wise writes of a block of one or more specific rows and column-wise reads of a block of one or more specific columns from the memory.

15. The system of claim 14 , wherein the circuitry is in a data storage device.

16. The system of claim 14 , wherein the circuitry is in a memory device.

17. The system of claim 14 , wherein the circuitry is further to train an inverse map to convert the binary dimensionally expanded vectors and the search hash code to an original data format.

18. The system of claim 17 , wherein to determine a refined result set comprises to convert the binary dimensionally expanded vectors in the result set to vectors of floating point values.

19. One or more non-transitory machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a device having a memory that is column addressable and row addressable to allow both row-wise writes and column-wise reads to:

add a set of input data vectors to the memory as a set of binary dimensionally expanded vectors, including multiplying each input data vector with a projection matrix to project each input data vector from a first dimension space to a second expanded dimensional space, wherein the projection matrix is a binary sparse projection matrix of random binary values or a dense floating point matrix;

produce a search hash code from a search data vector, including multiplying the search data vector with the projection matrix;

identify a result set of the binary dimensionally expanded vectors as a function of a Hamming distance of each binary dimensionally expanded vector from the search hash code; and

determine, from the result set, a refined result set as a function of a similarity measure in an original input space of the input data vectors,

wherein the operations to add the set of input data vectors, produce the search hash code, and identify the result set comprise a stochastic associative search, and wherein the stochastic associative search includes row-wise writes of a block of one or more specific rows and column-wise reads of a block of one or more specific columns from the memory.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2025
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP. (DBA SOLIDIGM)
Reel/Frame 072914/0491 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2020
From: TEPPER, MARIANO; SENGUPTA, DIPANJAN; KHAN, JAWAD; DONGAONKAR, SOURABH; CHAUHAN, CHETAN; COULSON, RICHARD; WILLKE, THEODORE
To: INTEL CORPORATION
Reel/Frame 054697/0757 →