Neural Network Cluster Selection for Fast Nearest Neighbor Search
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional nearest neighbor search methods in information processing are inefficient due to high query response times and accuracy errors, particularly when using graph-based searches that require frequent data transfers between storage and high-speed memories.
Innovation Solution
A method utilizing a neural network model to select clusters based on input queries, transferring data from a high-capacity SSD to a faster DRAM for distance calculations, thereby reducing query response time and enhancing search accuracy by collectively transferring data within identified clusters.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If graph-based nearest neighbor search is used, then search coverage is improved, but query response time increases due to frequent data transfers between storage and high-speed memories
Solution Approach 1:
The patent segments the data search process into two distinct phases: (1) cluster selection phase where only cluster identifiers are transferred to high-speed memory, and (2) distance calculation phase where only data within selected clusters is transferred. This segmentation reduces the volume of data requiring frequent transfers between storage memory and high-speed memory, thereby decreasing query response time while maintaining search accuracy through systematic two-stage processing.
Solution Approach 2:
The patent performs preliminary clustering of the dataset before the actual nearest neighbor search. By pre-organizing data into clusters and storing cluster identifiers in high-speed memory, the system prepares the data structure in advance to enable rapid cluster selection during queries. This preliminary action eliminates the need for extensive data transfers during the search phase, reducing query response time while preserving search coverage.
2Measurement precision
If all data is transferred to high-speed memory for processing, then search accuracy is improved, but energy consumption increases
Solution Approach 1:
The patent extracts and processes only the essential cluster identifiers in high-speed memory, leaving the bulk data in storage memory. By extracting only the necessary metadata (cluster assignments) to the energy-intensive high-speed memory, the system maintains search accuracy for distance calculations while minimizing the volume of data transferred, thereby reducing energy consumption associated with data movement.
Solution Approach 2:
The patent segments data into cluster identifiers and actual data points, processing them in separate memory locations. Cluster identifiers are kept in high-speed memory for rapid access during cluster selection, while data points remain in storage memory. This segmentation enables accurate distance calculations within selected clusters without requiring continuous transfer of all data, thus balancing search accuracy with energy efficiency.
3Device complexity
If conventional nearest neighbor search is used, then implementation simplicity is maintained, but productivity decreases due to inefficient data transfer
Solution Approach 1:
The patent implements a two-stage search process that segments the nearest neighbor search into cluster selection and intra-cluster distance calculation. This segmentation is achieved through straightforward modifications to conventional algorithms: assigning cluster identifiers to data points and implementing a two-phase search routine. The approach maintains relative implementation simplicity while dramatically improving productivity by reducing data transfer volumes between storage and high-speed memory.
Data Source
AI summary
According to an embodiment, a method includes receiving a query, and selecting one of first objects on the basis of the query and a neural network model. Each of the first objects is associated with one or more pieces of first data in a group of first data stored on a first memory. The method further includes calculating a metric of a distance between the query and one or more pieces of second data. The one or more pieces of second data are one or more pieces of first data associated with a second object. The second object is the one of the first objects having been selected. The method further includes identifying third data on the basis of the metric of the distance. The third data is first data closest to the query in the group of the first data.


