On separating long- and short-term memories in hyperdimensional computing - Teeters, Jeffrey L.; Kleyko, Denis; Kanerva, Pentti; Olshausen, Bruno A. (Frontiers in Neuroscience, 2023)
Operations on high-dimensional, fixed-width vectors can be used to distribute information from several vectors over a single vector of the same width. For example, a set of key-value pairs can be encoded into a single vector with multiplication and addition of the corresponding key and value vectors: the keys are bound to their values with component-wise multiplication, and the key-value pairs are combined into a single superposition vector with component-wise addition. The superposition vector is a memory which can then be queried for the value of any of the keys, but the result of the query is approximate. The exact vector is retrieved from a codebook (a.k.a. item memory), which contains all vectors defined in the system. To perform these operations, the item memory vectors and the superposition vector must be the same width. Increasing the capacity of the memory or making it more resilient to noise (bit flips), requires increasing the width of the superposition and item memory vectors. In this article, we demonstrate that in a regime where many (e.g., $1,000$ or more) key-value pairs are stored, an associative memory which maps key vectors to value vectors requires less memory to obtain the same reliability of storage and is more resilient to errors than a superposition vector. These advantages are obtained because the number of storage locations in an associate memory can be increased without increasing the width of the vectors in the item memory. An associative memory would not replace a superposition vector as a medium of storage, but could augment it, because data recalled from an associative memory could be used in algorithms that use a superposition vector. This would be analogous to how human working memory (which stores about $7$ items) uses information recalled from long-term memory (which is much larger than the working memory). We demonstrate the advantages of an associative memory experimentally using the storage of large finite-state automata, which could model the storage and recall of state-dependent behavior by brains.