torchhd
torchhd copied to clipboard
Torchhd is a Python library for Hyperdimensional Computing and Vector Symbolic Architectures
A follow up feature to the support of Binary Sparse Block Codes. See discussion in #146.
See [Modular Composite Representation](https://link.springer.com/article/10.1007/s12559-013-9243-y).
The `Sinusoid` embedding implements some form of [random Fourier features](https://proceedings.neurips.cc/paper/2007/hash/013a006f03dbc5392effeb8f18fda755-Abstract.html), we should therefore attribute credit to Rahimi and Recht. Once we have the `FractionalPower` embedding implemented this connection can be...
One of the main features of this library is its ability to utilize the automatic differentiation capabilities of PyTorch and thus enables hybrid neurons-symbolic models. It would be very valuable...
The code is working properly though the accuracy is lower than expected based in the results reported in the paper.
Currently the datasets are hosted on the UCI machine learning repository and Google Drive. However, the Google Drive links are not very robust as they modify their download flow sometimes....
- [ ] Section III.E in [VoiceHD: Hyperdimensional Computing for Efficient Speech Recognition](https://ieeexplore.ieee.org/abstract/document/8123650) - [ ] before adding a new example to the centroid, first check its similarity to the...
Currently some unit tests fail sporadically just because of random chance it seems. I think the automated testing would be more robust if we isolate the randomness to as small...
QPyTorch can be used to simulate low-precision arithmetic maybe we can see if this can be useful for certain applications with the library.
The unit tests for circular hypervectors don't currently pass with the HRR model. I am not sure why this is as I expected it to behave very similarly to the...