In-Memory Resonator Network for Hypervector Factorization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for decoding hypervectors require testing every combination of code hypervectors, which is resource-intensive and inefficient.
Innovation Solution
A resonator network system utilizing a neuromorphic memory device with a crossbar array structure and resistive memory elements to iteratively search for factorizations of hypervectors, employing superposition and clean-up memory to reduce crosstalk noise and efficiently decode hypervectors without direct combination testing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If every combination of code hypervectors is tested to decode hypervectors, then decoding accuracy is maintained, but computational resource consumption increases significantly
Solution Approach 1:
The patent segments the exhaustive search space by organizing code hypervectors into structured codebooks and using iterative refinement. Instead of testing all combinations at once, the system divides the decoding process into multiple iterations where each iteration narrows down the search space by comparing candidate hypervectors against the target, progressively segmenting the solution space until the correct code hypervector is identified.
Solution Approach 2:
The patent performs preliminary actions by pre-organizing code hypervectors into codebooks with specific structures and relationships. Before actual decoding occurs, the system prepares reference codebooks that contain pre-computed code hypervectors, enabling efficient comparison and reducing the computational burden during the actual decoding process.
2Productivity
If iterative search with superposition and clean-up memory is used to decode hypervectors, then operational efficiency is improved, but system complexity increases
Solution Approach 1:
The patent merges multiple functions into the neuromorphic memory device, which simultaneously performs storage, superposition operations, and clean-up memory functions. The crossbar array structure integrates weight storage, vector addition, and noise reduction operations in a single hardware entity, reducing overall system complexity despite the sophisticated operations performed.
Solution Approach 2:
The patent introduces an intermediary iterative process that mediates between the input hypervector and the codebook. The iterative search with superposition and clean-up memory acts as an intermediary mechanism that gradually transforms the input into the decoded output through multiple refinement steps, simplifying the overall transformation while maintaining efficiency.
3Speed
If direct combination testing is avoided to reduce operations, then computational speed improves, but robustness against noisy inputs deteriorates
Solution Approach 1:
The patent maintains continuity of useful action through iterative refinement processes. Instead of single-step direct combination testing, the system continuously refines candidate solutions across multiple iterations, with each iteration building upon the previous one. This continuous action allows the system to correct errors and maintain robustness against noisy inputs while still achieving faster computation than exhaustive testing.
Solution Approach 2:
The patent implements feedback mechanisms where the results of each iteration are fed back into the next iteration. The superposition and clean-up memory operations provide feedback about which code hypervectors are most likely candidates, allowing the system to adjust and refine its search based on accumulated information, thereby maintaining robustness while improving speed.
Data Source
AI summary
Predefined concepts are represented by codebooks. Each codebook includes candidate code hypervectors that represent items of a respective concept of the predefined concepts. A neuromorphic memory device with a crossbar array structure includes row lines and column lines stores a value of respective code hypervectors of an codebook. An input hypervector is stored in an input buffer. A plurality of estimate buffers are each associated with a different subset of row lines and a different codebook and initially store estimated hypervectors. An unbound hypervector is computed using the input hypervector and all the estimated hypervectors. An attention vector is computed that indicates a similarity of the unbound hypervector with one estimated hypervector. A linear combination of the one estimated hypervector, weighted by the attention vector, is computed and is stored in the estimate buffer that is associated with the one estimated hypervector.


