🌱
A Hamming Network is built on top of the concept of Hamming Distance which looks to quantify the number of positions where two strings of equal-length are different. These networks compute the Hamming Distance between input vectors and all stored vectors/nodes.
So, given we have stored vectors, when inserted an input vector we get outputs which represent the Hamming Distance of the input with each stored vector.
For vector length we have input nodes, each node contains weights, each corresponding to components of the stored vector’s ’th element. Essentially since we have bipolar values, any ones are the same will generate an output of zero and any that are different will be .
We assign weights as so: with where . Then we perform inference by applying this expression: