A new approach to computation reimagines artificial intelligence
quantamagazine.org
quantamagazine.org
How is this different from an N-dimensional embedding produced by, say, a convolutional neural network?
It seems the former uses binary embeddings, which in ML is used more frequently for similarity search. They also seem to care about orthogonality. Beyond that we'd have to read the paper to know how the embeddings are derived. If you're motivated, here they are: http://www.rctn.org/bruno/papers/
https://redwood.berkeley.edu/wp-content/uploads/2018/01/rahi...
In particular, the use of addition to create a superposition of embeddings is many decades old (it's the basis of the bag of words approach). Multiplication as the 'description' operator is perhaps interesting. Using change of basis to tease out the coefficients for linear combinations of vectors is... basic linalg.
All in all, it seems the main 'discovery' here is a way to generate richer training vectors than the typical 'one-hot' approach that we use today. Although, given that one-hot vectors are also orthogonal, it's not obvious to me why a random orthogonal vector is better than this approach. Perhaps they're going for dimensionality reduction, but if you have ten classes, then you need ten vectors and you need a 10-D output vector. You can't get 10 orthogonal vectors in 9-dimensional space. Given that there is no perf difference in computing with orthogonal one-hot vectors and orthogonal random vectors, I'm again puzzled by the 'discovery'. In fact, one hot vectors are slightly cheaper to compute with since they have zeros.
After reading the papers: How is this different from embeddings?
Here, they're talking about multiplying, dividing and permuting vectors. Multiplying combines concepts, adding creates a superposition.
They also mention randomly selecting embeddings for the concepts in mind. So my guess is that instead of one-hot encoding the classifier, they instead use random encodings on the output, and are working to give those encodings desirable properties.
I would also hazard a guess that the random vectors they choose are close to zero in most components.
The algebra makes it possible to encode sets, key/value associations and sequences to build a knowledge base, and the dot product provides a similarity measure for querying the base.
IIUC the key is that for large space dimensions, any two random vectors (say with uniform distribution over {-1, +1}^d) are almost guaranteed to be near- orthogonal.
This makes it easy to add new items to the base (by sampling a new random vector and updating the base using algebraic operations with other items), yet the amount of noise introduced by near-orthogonality remains controlled and can be filtered out to keep the algebraic structure working as the base grows.
Honestly it seems a bit too good to be true, I'd be very interested to see what are the tradeoffs in practice.
If anyone can link a favorite review paper on this approach, you'd be doing us a favor.
Edit: one of them does link to a preprint version: https://arxiv.org/abs/2203.04571
> […] our proposed neuro-vector-symbolic architecture (NVSA) [implements] powerful operators on high-dimensional distributed representations that serve as a common language between neural networks and symbolic AI. The efficacy of NVSA is demonstrated by solving the Raven's progressive matrices datasets. Compared to state-of-the-art deep neural network and neuro-symbolic approaches, end-to-end training of NVSA achieves a new record of 87.7% average accuracy in RAVEN, and 88.1% in I-RAVEN datasets. Moreover, compared to the symbolic reasoning within the neuro-symbolic approaches, the probabilistic reasoning of NVSA with less expensive operations on the distributed representations is two orders of magnitude faster.
This Quanta Magazine is absolute horseshit. Might as well just remove all that text and link to the author's paper. But hey, it makes for a nice article with a progress bar that animates as you scroll up and down.
The papers:
https://neuroscience.berkeley.edu/wp-content/uploads/2016/05...
https://redwood.berkeley.edu/wp-content/uploads/2022/05/kane...
Uhm, no.
“An algorithm analyzes the features of each image using some predetermined scheme. It then creates a hypervector for each image.”
Some “predetermined scheme”, right. Let me guess, manually predetermined?
Unless they’re talking about embeddings, this is how 99% of people think about representation.
And even if they are talking about embeddings, embeddings are, quit standardly, higher dimensional floating point vectors. Even the original Transformer paper used IIRC 512-dim vectors.
This article seems like yet another signal for the death of quantamagazine.
1. HDC is largely organized around the observation that certain symbolic-like operations become vastly simplified in high-dimensional spaces and can be performed with simple algebraic manipulations.
For instance, if you have a dictionary of words, each represented by a random (but fixed) high-dimensional vector, you can store subsets of these words just by summing their vector representations together. This works because random high-dim vectors are nearly orthogonal with very high probability. This implies that the sum of several of such vectors will have essentially a zero dot product with words (ie their embeddings) not included in the subset and a much larger dot product (~1 if the vectors are all normalized) with words included in the subset (as long as the number of words in the subset is sufficiently smaller than the total dictionary size). Hence the sum encodes the subset since subset membership can be checked with a dot product.
Notably, this also works when the dictionary size is exponentially large relative to the vector dimension, since it is possible to sample an exponentially large number of near-orthogonal vectors in a high-dimensional vector space (unlike in a low-dimensional vector space). This is also very mathematically similar to how a [Bloom filter](https://en.wikipedia.org/wiki/Bloom_filter) works, which is a probablistic data structure commonly used for set membership queries when the set is extremely large (e.g. all possible URLs). (Note also, though, that this is at the expense of being able to decode/recover the set elements directly from the summed representation.)
HDC/VSAs capitalize on other nice properties of random high-dimensional vectors as well, e.g. via the ability to "bind" two words together using a circular convolution. See [Kanerva 2009](http://rctn.org/vs265/kanerva09-hyperdimensional.pdf) for a nice review of various examples like this. There are also various similar ways to represent sequences of words, tree structures, graphs, etc, all within a fixed- but high-dim vector space, so they provide a nice way to represent "syntactic" structure in data objects, if you will.
2. None of the above emerges as a property of network training. In fact, a network isn't even necessarily required, which could be a feature or a bug, depending on your perspective.
As a feature, this is useful in the sense that it provides an immediate no-training-required way of representing objects with fairly complex relational structure (e.g. a sequence of words or a tree-structure) as a fixed- but high-dimensional vector. In a traditional neural network (although this may be less true for very modern LLMs) trained to do something with, say, sentences of a max of 20 words, the network would likely fail to "figure out how to represent" sentences composed of 100 words. With the HDC/VSA approach, however, you get a representation of such a sentence right off the bat, and don't have to worry about it being inside/outside your training dataset. The "utility" of such a representation is not necessarily obvious, and will depend on exactly how it is created, but IMO it is nice to know that there is a systematic way of constructing one that does not interfere with others (with very high probability).
On the other hand, one of the main drawbacks of this approach (at least so far) is that it has generally not been obvious how to make these systems learn robustly, so that e.g. vector representations could change through learning to capture more semantic relationships between words and objects. Nonetheless, given the above one can imagine how the HDC/VSA approach may provide something akin to a useful inductive bias or initialization for representation learning in more trainable systems.
It will certainly be interesting to see if and how these might get incorporated into modern AI systems in the coming years.