IP Library › Granted Patent US 12,591,570
Granted Patent B2
US 12,591,570 · App. 18/062,005 · Granted Mar 31, 2026

Systems and methods for finding nearest neighbors

Inventors: Matthew Bryson (Los Gatos, CA); Vikas Sinha (Sunnyvale, CA); Manali Sharma (San Jose, CA); Ehsan Najafabadi (Gilroy, CA)
Assignee: Samsung Electronics Co., Ltd.
G06F16/2453G06F18/24147
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 12,591,570
App. No.
18/062,005
Granted
Mar 31, 2026
Kind
B2
Abstract

Systems and methods for finding nearest neighbors. In some embodiments, the system includes a processing circuit. The processing circuit may be configured to perform a method, the method including: selecting, based on a first query vector, a selected method, the selected method being a nearest neighbor selection method; and performing the selected method to select a first nearest neighbor from a data set, based on the first query vector.

Claims (40)

1 . A system, comprising:

a processor, the processor being configured to perform a method, the method comprising:

receiving, by the processor, a first query vector;

determining that the first query vector belongs to a first class of query vectors having a first computational characteristic that is different from a second computational characteristic of query vectors of a second class;

selecting, by a machine learning model comprising a classifier, based on the first class and from between at least a first method providing a first performance and a second method providing a second performance that is different from the first performance, the first method as a selected method based on the first performance being different from the second performance, the selected method being a nearest neighbor selection method;

performing the selected method to select a first nearest neighbor from a data set, based on the first query vector;

performing the second method, different from the selected method, to select a second nearest neighbor from the data set, based on the first query vector; and

training the classifier based on a difference between the first nearest neighbor and the second nearest neighbor,

wherein the selecting of the selected method comprises selecting, by the classifier, the selected method.

2 . The system of claim 1 , wherein the classifier comprises a neural network, and the training comprises performing back-propagation.

3 . The system of claim 1 , wherein the method further comprises

performing a third method to select a third nearest neighbor from the data set, based on a second query vector;

performing a fourth method, different from the third method, to select a fourth nearest neighbor from the data set, based on the second query vector; and

training the classifier based on a difference between the third nearest neighbor and the fourth nearest neighbor.

4 . The system of claim 3 , further comprising processing a first number of query vectors between the processing of the first query vector and the processing of the second query vector.

5 . The system of claim 4 , wherein the first number is a constant.

6 . The system of claim 4 , wherein the first number is generated by a pseudorandom number generator.

7 . The system of claim 4 , wherein the first number is based on a measure of a difference between an output of the selected method and an output of the second method.

8 . The system of claim 7 , wherein the measure of the difference comprises a Euclidean distance.

9 . The system of claim 7 , wherein the measure of the difference comprises a Manhattan distance.

10 . The system of claim 7 , wherein the measure of the difference comprises a cosine similarity.

11 . The system of claim 1 , wherein the selecting of the selected method comprises selecting the selected method based on a principal component analysis conversion error rate.

12 . The system of claim 1 , wherein the selecting of the selected method comprises selecting the selected method based on a linear discriminant analysis.

13 . A method, comprising:

receiving a first query vector;

determining that the first query vector belongs to a first class of query vectors having a first computational characteristic that is different from a second computational characteristic of query vectors of a second class;

selecting, by a machine learning model comprising a classifier, based on the first class and from between at least a first method providing a first energy usage and a second method providing a second energy usage that is different from the first energy usage, the first method as a selected method based on the first energy usage being different from the second energy usage, the selected method being a nearest neighbor selection method;

performing the selected method to select a first nearest neighbor from a data set, based on the first query vector;

performing the second method, different from the selected method, to select a second nearest neighbor from the data set, based on the first query vector; and

training the classifier based on a difference between the first nearest neighbor and the second nearest neighbor,

wherein the selecting of the selected method comprises selecting, by the classifier, the selected method.

14 . A system, comprising:

a means for processing, the means for processing being configured to perform a method, the method comprising:

receiving, by the means for processing, a first query vector;

determining that the first query vector belongs to a first class of query vectors having a first computational characteristic that is different from a second computational characteristic of query vectors of a second class;

selecting, by a machine learning model comprising a classifier, based on the first class and from between at least a first method providing a first accuracy and a second method providing a second accuracy that is different from the first accuracy, the first method as a selected method based on the first accuracy being different from the second accuracy, the selected method being a nearest neighbor selection method;

performing the selected method to select a first nearest neighbor from a data set, based on the first query vector;

performing the second method, different from the selected method, to select a second nearest neighbor from the data set, based on the first query vector; and

training the classifier based on a difference between the first nearest neighbor and the second nearest neighbor,

wherein the selecting of the selected method comprises selecting, by the classifier, the selected method.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2026
From: BRYSON, MATTHEW; SHARMA, MANALI
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 073452/0970 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2026
From: SINHA, VIKAS; NAJAFABADI, EHSAN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 073453/0213 →
Continuity (2)
Provisional Application 63419300 · Oct 25, 2022
Related Publication 20240184778A1 · Jun 6, 2024
References Cited (14)
US 7889914B2 · Regli et al. · 2011 [cited by applicant]
US 11113291B2 · Gotmanov et al. · 2021 [cited by applicant]
US 20100049674A1 · Zohar et al. · 2010 [cited by applicant]
US 20200380038A1 · Rosset et al. · 2020 [cited by applicant]
US 20210004589A1 · Turkelson · 2021 [cited by examiner]
US 20220083900A1 · Khanna · 2022 [cited by applicant]
US 20220188028A1 · Mesnier et al. · 2022 [cited by applicant]
US 20220207410A1 · Harary · 2022 [cited by examiner]
US 20220245917A1 · Chun · 2022 [cited by examiner]
US 20220383153A1 · Mahmoud · 2022 [cited by examiner]
US 20230147805A1 · Groh · 2023 [cited by examiner]
US 20230273940A1 · Shu · 2023 [cited by examiner]
WO 2022037130A1 · 2022 [cited by applicant]
Imani, M. et al., “NNgine: Ultra-Efficient Nearest Neighbor Accelerator Based on In-Memory Computing”, 2017, 8 pages, IEEE. [cited by applicant]