IP Library › Granted Patent US 12,572,789
Granted Patent B2
US 12,572,789 · App. 17/809,044 · Granted Mar 10, 2026

Blockwise factorization of hypervectors

Inventors: Michael Andreas Hersche (Zurich, CH); Abu Sebastian (Adliswil, CH); Abbas Rahimi (Rüschlikon, CH)
Assignee: International Business Machines Corporation
G06N3/065
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,572,789
App. No.
17/809,044
Granted
Mar 10, 2026
Kind
B2
Abstract

Embodiments are disclosed for a method. The method includes determining a granularity of hypervectors. The method also includes receiving an input hypervector representing a data structure. Additionally, the method includes performing an iterative process to factorize the input hypervector into individual hypervectors representing the cognitive concepts. The iterative process includes, for each concept: determining an unbound version of a hypervector representing the concept by a blockwise unbinding operation between the input hypervector and estimate hypervectors of other concepts. The iterative process further includes determining a similarity vector indicating a similarity of the unbound version of the hypervector with each candidate code hypervector of the concept. Additionally, the iterative process includes generating an estimate of a hypervector representing the concept by a linear combination of the candidate code hypervectors, and weights of the similarity vector.

Claims (87)

1 . A system comprising:

a computer processing circuit; and

a computer-readable storage medium storing instructions, which, when executed by the computer processing circuit, are configured to cause the computer processing circuit to perform a method comprising:

training an encoder comprising a feed-forward neural network to produce a hypervector s as a compound hypervector;

utilizing the encoder to represent data structures in a vector space, the vector space being defined by a set of codebooks that encode a set of cognitive concepts, wherein each of the set of codebooks comprise a plurality of candidate code hypervectors of dimension D representing a plurality of items of a concept of the set of cognitive concepts;

determining a granularity of a plurality of hypervectors so that each of the plurality of hypervectors includes a set of S blocks, each block having size L, wherein D=S×L;

receiving an input hypervector representing a data structure; and

performing an iterative process in order to factorize the input hypervector into a plurality of individual hypervectors representing the set of cognitive concepts, the iterative process comprising, for each concept of the set of cognitive concepts:

determining an unbound version of a hypervector representing the concept by a blockwise unbinding operation between the input hypervector and a plurality of estimate hypervectors of a plurality of other cognitive concepts;

determining a similarity vector indicating a similarity of the unbound version of the hypervector with each candidate code hypervector of the concept; and

generating an estimate of the hypervector representing the concept by a linear combination of the candidate code hypervectors, and a plurality of weights of the similarity vector.

2 . The system of claim 1 , wherein determining the similarity vector includes sparsifying the similarity vector before generating the estimate of the hypervector based on the sparsified similarity vector.

3 . The system of claim 2 , wherein determining the similarity vector includes adding a random noise vector to the similarity vector.

4 . The system of claim 2 , wherein sparsifying the similarity vector includes activating a portion of elements of the similarity vector, and deactivating by setting to a defined value a remaining portion of elements of the similarity vector.

5 . The system of claim 4 , wherein the activated elements of the similarity vector are a top j elements of the similarity vectors, wherein j is a configurable parameter that is smaller than a total number of elements of the similarity vector by a defined number.

6 . The system of claim 4 , wherein the activated elements of the similarity vector are the elements of similarity vectors having absolute values higher than a defined threshold.

7 . The system of claim 6 , the defined threshold being a mean of absolute values of elements of the similarity vector.

8 . The system of claim 4 , wherein sparsifying the similarity vector further comprises:

determining a maximum value of the activated vector;

comparing the maximum value with a threshold; if the maximum value exceeds the threshold, maintaining the maximum value; and

setting remaining elements of the activated vector to zero.

9 . The system of claim 1 , wherein generating the estimate of the hypervector comprises:

mapping the similarity vector to an S-dimensional vector such that each element of the S-dimensional vector indicates one candidate code hypervector of a codebook of the concept; and

building a new hypervector such that an i th block of the new hypervector is an i th block of a code hypervector indicated in an i th element of the S-dimensional vector.

10 . The system of claim 9 , the method further comprising, for every i th element of an S-dimensional vector s k ,

generating a value v, and determining

s

k

(

i

)

=

{

0

⁢

if

⁢

v

≤

∂

0

...

m

⁢

if

∂

m

-

1

<

v

≤

∂

m

where v is a randomly generated value or a deterministic value, v=i/S, where t=cumsum(a)/sum(a) is a step function, where a is the similarity vector, where cumsum(a) returns a vector containing a cumulative sum of elements of vector a, and sum(a) returns a sum of elements of vector a, and ∂ m refers to an m th element of ∂.

11 . The system of claim 1 , wherein determining the unbound version of the hypervector comprises:

a linear combination of the candidate code hypervectors, with weights given by the similarity vector;

an addition of a noise vector; and

an application of a selection function.

12 . The system of claim 1 , wherein determining the unbound version of the hypervector comprises:

a linear combination of the candidate code hypervectors, with weights given by the similarity vector; and

an application of a selection function.

13 . The system of claim 12 , wherein the selection function is applied blockwise.

14 . The system of claim 12 , wherein the selection function is a randomized argmax function.

15 . The system of claim 1 , further comprising:

responsive to a convergence criterion being fulfilled, stopping the iterative process.

16 . The system of claim 1 , wherein the hypervector includes binary values {0, 1} D and having a sparsity smaller than a sparsity threshold, wherein each block of the set of S blocks comprises a single non-zero value.

17 . A method comprising:

training an encoder comprising a feed-forward neural network to produce a hypervector s as a compound hypervector;

utilizing the encoder to represent data structures in a vector space, the vector space being defined by a set of codebooks that encode a set of cognitive concepts, wherein each of the set of codebooks comprise a plurality of candidate code hypervectors of dimension D representing a plurality of items of a concept of the set of cognitive concepts;

determining a granularity of a plurality of hypervectors so that each of the plurality of hypervectors includes a set of S blocks, each block having size L, wherein D=S×L;

receiving an input hypervector representing a data structure; and

performing an iterative process in order to factorize the input hypervector into a plurality of individual hypervectors representing the set of cognitive concepts, the iterative process comprising, for each concept of the set of cognitive concepts:

determining an unbound version of a hypervector representing the concept by a blockwise unbinding operation between the input hypervector and a plurality of estimate hypervectors of a plurality of other cognitive concepts;

determining a similarity vector indicating a similarity of the unbound version of the hypervector with each candidate code hypervector of the concept; and

generating an estimate of the hypervector representing the concept by a linear combination of the candidate code hypervectors, and a plurality of weights of the similarity vector.

18 . The method of claim 17 , wherein determining the similarity vector includes sparsifying the similarity vector before generating the estimate of the hypervector based on the sparsified similarity vector.

19 . A computer program product including program instructions stored on a computer readable storage medium, the program instructions executable by a processor to cause the processor to perform a method comprising:

training an encoder comprising a feed-forward neural network to produce a hypervector s as a compound hypervector;

utilizing the encoder to represent data structures in a vector space, the vector space being defined by a set of codebooks that encode a set of cognitive concepts, wherein each of the set of codebooks comprise a plurality of candidate code hypervectors of dimension D representing a plurality of items of a concept of the set of cognitive concepts;

determining a granularity of a plurality of hypervectors so that each of the plurality of hypervectors includes a set of S blocks, each block having size L, wherein D=S×L;

receiving an input hypervector representing a data structure; and

performing an iterative process in order to factorize the input hypervector into a plurality of individual hypervectors representing the set of cognitive concepts, the iterative process comprising, for each concept of the set of cognitive concepts:

determining an unbound version of a hypervector representing the concept by a blockwise unbinding operation between the input hypervector and a plurality of estimate hypervectors of a plurality of other cognitive concepts;

determining a similarity vector indicating a similarity of the unbound version of the hypervector with each candidate code hypervector of the concept; and

generating an estimate of the hypervector representing the concept by a linear combination of the candidate code hypervectors, and a plurality of weights of the similarity vector.

20 . The computer program product of claim 19 , the method further including sparsifying the similarity vector before generating the estimate of the hypervector based on the sparsified similarity vector.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2022
From: HERSCHE, MICHAEL ANDREAS; SEBASTIAN, ABU; RAHIMI, ABBAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 060317/0333 →
Continuity (1)
Related Publication 20230419091A1 · Dec 28, 2023
References Cited (33)
US 8908978B2 · Oka et al. · 2014 [cited by applicant]
US 10394930B2 · Ben-Dayan Rubin · 2019 [cited by applicant]
US 12293185B2 · Vougioukas et al. · 2025 [cited by applicant]
US 20190171665A1 · Navlakha · 2019 [cited by examiner]
US 20200272895A1 · Cherubini · 2020 [cited by examiner]
US 20200380384A1 · Karunaratne · 2020 [cited by applicant]
US 20220019441A1 · Rosing et al. · 2022 [cited by applicant]
US 20220059189A1 · Rosing · 2022 [cited by examiner]
US 20230083502A1 · Imani · 2023 [cited by applicant]
US 20230206056A1 · Hersche et al. · 2023 [cited by applicant]
US 20230409871A1 · Xu et al. · 2023 [cited by applicant]
Karunaratne, Geethan, et al. “Energy Efficient In-memory Hyperdimensional Encoding for Spatio-temporal Signal Processing.” arXiv preprint arXiv:2106.11654 (Jun. 22, 2021). (Year: 2021). [cited by examiner]
Kleyko, Denis, et al. “A Survey on Hyperdimensional Computing aka Vector Symbolic Architectures, Part I: Models and Data Transformations.” arXiv preprint arXiv:2111.06077 (2021). (Year: 2021). [cited by examiner]
Pouget, Angeline. “Resonator Networks with Sparse Codes to Reduce Parameters in Deep Neural Networks.” ETH Zurich Bachelor's Project. (Year: 2021) (Year: 2021). [cited by examiner]
Frady, E. Paxon, et al. “Resonator networks for factoring distributed representations of data structures.” arXiv preprint arXiv:2007.03748 (2020). (Year: 2020). [cited by examiner]
Kent, Spencer J., et al. “Resonator Networks outperform optimization methods at solving high-dimensional vector factorization.” arXiv preprint arXiv:1906.11684 v4 (2020). (Year: 2020). [cited by examiner]
Anonymous Authors, “Efficient Codebook And Factorization For Second Order Representation Learning”, Under Review as a conference paper at ICLR 2019, 11 Pgs, Accessed May 25, 2022. [cited by applicant]
Frady et al;, “Resonator Networks for Factoring Distributed Representations of Data Structures”, To appear in Neural Computation, 2020, <arXiv:2007.03748v1 [cs.CV] Jul. 7, 2020>, 20 Pgs. [cited by applicant]
Frady et al;, “Variable Binding for Sparse Distributed Representations: Theory and Applications”, ARxIV:2009.06834V1 {cs.NE] Sep. 14, 2020, 16 Pgs. [cited by applicant]
Frady et al;. “Resonator Networks, 1: An Efficient Solution for Factoring High-Dimensional, Distributed Representations of Data Structures”, Neural Computation 32, 2311-2331 (2020) Massachusetts Institute of Technology,… [cited by applicant]
Hersche et al;. “Factorizing Hypervectors”, U.S. Appl. No. 17/564,277, filed Dec. 29, 2021, 41 Pgs. [cited by applicant]
Kent et al:, “Resonator Networks Outperform Optimization Methods at Solving High-Dimensional Vector Factorization”, To appear in Neural Computation, 2020, arXiv:1906.11684v4 [cs.NE] Jul. 14, 2020, 61 Pgs. [cited by applicant]
Kent, Spencer et al;, “Resonator Circuits for Factoring High-Dimensional Vectors”, Redwood Center for Theoretical Neuroscience University of California, Berkeley, Aug. 4, 2021, <https://www.arxiv-vanity.com/papers/1906.… [cited by applicant]
Lallho et al;, “High-Dimensional Computing with Sparse Vectors”, Technology Research Center, University of Turku Finland, Access May 26, 2022, 4 Pgs. [cited by applicant]
Mell et al.; , “The NIST Definition of Cloud Computing”, National Institute of Standards and Technology, Special Publication 800-145, Sep. 2011, 7 pages. [cited by applicant]
Paulino, “Binary Matrix Factorization via Dictionary Learning”, Apr. 2018, IEEE Journal of Selected Topics in Signal Processing, 11 Pgs, DOI:10.1109/JSTSP.2018.2875674, <ARxIV:1804/05482v2 [stat.ML] Jul. 26, 2018>. [cited by applicant]
Poikonen et al;, “High-Dimensional Computing with Sparse Vectors”, Conference Paper—Oct. 2015, DOI:10.1109/BioCAS.2015.7348414, 5 Pgs, <https:www.researchgate.net/publication/299535938>. [cited by applicant]
Rachkovskij et al;, “Binding and Normalization of Binary Sparse Distributed Representations by Context-Dependent Thinning”, Draft of Paper Published in: Neural Computation (2001) v. 13 n. 2, pp. 411-452, 32 Pgs. [cited by applicant]
Rachkovskij, “Representation and Processing of Structures with Binary Sparse Distributed Codes”, IEEE Transactions on Knowledge and Data Engineering, vol. 13, No. 2, Mar./Apr. 2001, 16 Pgs. [cited by applicant]
Reimann, “A novel HD Computing Algebra: Non-associative Superposition of States Creating Sparse Bundles Representing Order Information”, Institute of Neuroinformatics University of Zurich and ETH Zurich Switzerland, Feb… [cited by applicant]
Yang et al;, “A Sparse Singular Value Decomposition Method for High-Dimensional Data”, Accepted author version posted on line: Nov. 21, 2013. Published online Oct. 20, 2014, 22 Pgs., <http://www.tandfonline.com/loi/ucgs… [cited by applicant]
Hersche et al;, “Blockwise Factorization of Hypervectors” U.S. Appl. No. 17/809,052, filed Jun. 27, 2022, 46 Pgs. [cited by applicant]
IBM Appendix P., “List of IBM Patents or Patent Applications to be Treated as Related”, Dated Herewith, 2 pages. [cited by applicant]