Adaptive Hash Function Generation for Short Hamming Codes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for generating binary hashing functions for nearest neighbor search often result in poor discrimination with short Hamming codes, requiring more storage and computation for longer codes to achieve better discrimination.

Innovation Solution

The method involves generating an ordered sequence of hash functions by determining weight vectors that maximize an accuracy measure derived from constraints, updating constraint weights to compensate for errors, and using these weight vectors to map features to bits in a Hamming space, allowing for efficient nearest neighbor search with short Hamming codes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If shorter Hamming codes are used, then storage overhead and computation time are reduced, but discrimination ability deteriorates

Engineering Contradiction:
Improvestorage overheadVSAvoiddiscrimination ability
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent changes the parameters of the hash functions by learning optimal weight vectors through iterative optimization. Instead of using fixed or random hash functions, the system adapts the hash function parameters (weight vectors) to maximize the satisfaction of constraints derived from training data, thereby improving discrimination ability with shorter codes

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements a feedback mechanism where constraints are derived from training data, hash functions are generated, their performance is evaluated against constraints, and the weight vectors are updated iteratively to improve constraint satisfaction. This closed-loop feedback enables the system to learn optimal hash functions that achieve better discrimination with shorter codes

Inventive Principle:
Principle #23Feedback

2Measurement precision

If longer Hamming codes are used, then discrimination ability is improved, but storage overhead and computation time increase

Engineering Contradiction:
Improvediscrimination abilityVSAvoidcomputation time
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent optimizes the parameters of hash functions through learned weight vectors, enabling shorter Hamming codes to achieve the same discrimination ability that would otherwise require longer codes, thus reducing computation time and storage overhead

Inventive Principle:
Principle #35Parameter changes

3Ease of manufacture

If conventional hash function methods are used, then implementation is simple, but discrimination ability with short codes deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoiddiscrimination ability
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

The patent performs preliminary learning of weight vectors using training data before deploying the hash functions for actual nearest neighbor search. This preliminary training phase enables the hash functions to achieve better discrimination ability, and the learned weight vectors are stored for efficient reuse during query processing

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent transforms conventional fixed hash functions into adaptive learned hash functions by introducing trainable weight vectors. The parameters of these hash functions are optimized through constraint satisfaction on training data, enabling short Hamming codes to achieve superior discrimination ability

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8924339B1Semi-supervised and unsupervised generation of hash functions
Publication Date: 2014.12.30 GOOGLE LLC
  • US8924339B1 patent drawing
  • US8924339B1 patent drawing
  • US8924339B1 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating hash functions. In one aspect, a method includes generating hash functions by sequentially determining a weight vector for each hash function to maximize an accuracy measure derived from current constraint weights and updating the current constraint weights for use in calculating a weight vector of a next hash function in the sequence. In another aspect, the determined weight vector maximizes an accuracy measure and a variance measure. In still another aspect, a method includes generating an adjusted covariance matrix and generating a sequence of hash functions from the adjusted covariance matrix. In still another aspect, a method includes sequentially generating a sequence of hash functions, where the weight vectors for any previously generated hash functions are used to identify constraints used to generate the weight vector for each next hash function in the sequence.