After doing a bit of research, I'm somewhat convinced that Hamming networks are networks that classify, but only put out a single result, as opposed to other networks which output multiple results. In this case, is the equivalent in terms of the NEF a classifier (measuring similarity with a dot product between two vectors) followed by an associative memory?
-
$\begingroup$ Nice question, I'll have a look when I'm back home on Sunday. $\endgroup$ – Christian Hummeluhr Apr 8 '15 at 8:05
An Associative Memory is a classifier and is equivalent to a Hamming Network.
For documentation on the NEF Associative Memory, see this practical Nengo documentation and the paper "A biologically realistic cleanup memory: Autoassociation in spiking neurons". Basically, each ensemble of an associative memory computes the similarity measure of the input firing pattern to a given firing pattern. Mutual inhibition is then used between the nodes to find the most similar input so that only the ensemble with the most similar input outputs a signal. In an associative, this output similarity signal is used to map the input pattern to a new output pattern.
A Hamming Network is a classifier that receives patterns with input nodes also detecting similarity. However, unlike the Associative Memory it has a binary output using mutual inhibition. That being said, it would be easy to add a thresholding ensemble to the output of the Associative Memory to accomplish this.
In conclusion, an Associative Memory is basically a Hamming Network implemented using the NEF.