A Rust library for hyperdimensional computing (HDC).
Hyperdimensional computing is a brain-inspired paradigm where information is represented as high-dimensional vectors (hypervectors or HDVs) and processed using simple algebraic operations like addition, multiplication, and permutation. This enables fast, robust, and noise-tolerant learning for tasks like classification, symbolic reasoning, and associative memory [4].
- Binary (0/1) and bipolar (+1/-1) hypervector types (HDVs).
- Real and complex hypervector types (also known as HRRs or Holographic Reduced Representations).
- Modular Composite Representation hypervector type.
- Trait-based design for extensibility.
- Example applications: symbolic reasoning, associative memory and classification across multiple modalities.
Runnable example problems (cargo run --example name):
- Kanerva's Mexican Dollar inferencing example [1].
- Plate's inferencing example used in his HRR paper [4].
- Associative memory: Benchmark retrieval accuracy vs. bundle size across HDV types and dimensions.
- Activity recognition (UCI HAR): walking, standing, sitting etc...
- Spoken letter recognition (UCI Isolet).
- Wine quality classification (UCI Wine Quality).
- Promoter Gene Sequences (UCI Molecular Biology).
- Iris: the classic ML dataset (flowers).
- Adult: the classic Adult dataset (Census Income).
- Text language identification: English, French, ... 22 languages.
- MNIST image classification. Note this example is in its own repo.
- "What We Mean When We Say 'What’s the Dollar of Mexico?'" – Pentti Kanerva, 2010
- "A Robust and Energy-Efficient Classifier Using Brain-Inspired Hyperdimensional Computing" Abbas Rahimi, Pentti Kanerva, Jan M. Rabaey, 2016
- "Hyperdimensional Computing: An Algebra for Computing with Vectors", Pentti Kanerva, 2022
- "Holographic Reduced Representations", Tony Plate, IEEE Transactions on Neural Networks, February, 1995, 6(3):623-41
- "Modular Composite Representation", J. Snaider S. Franklin, 2014