Hopfield's neural network stores 0.15 images. I have in my lab a network of 16 neurons, trained in 4 vectors of 16 bits. That is, she will remember only 2. I understand correctly? And another question, if she file a very noisy image, then it loops and y (t + 2) = y (t). Everything would seem fine and the network can be stopped, but it “drives” these 2 images that were not trained on. What does it mean? What she did not recognize the image?

    1 answer 1

    Good day. Densely engaged in Hopfield networks a few years ago, now I can forget something. But the answers are as follows:

    1) 0.15 images are ideally if the images are completely uncorrelated. Look at the correlation of your images, perhaps the network simply "does not pull" them.

    2) the network in its dynamics when it falls into a local minimum at each iteration begins to invert the image. That is, when she recognized something (true or not true, it doesn’t matter), by the next iteration she inverts the result. Well, the next one again produces the same. Therefore, y (t + 2) = y (t).

    Another answer to the second question is that she has formed two equally muddy minima and she jumps over them.

    In any case, I advise you to use something more cunning than the usual Hopfield network :) At least a Hopfield hetero-associative network, three-layered. It has much more memory capacity (the speed of work and learning is lower, but with such data volumes it will be imperceptible). If interested, I can tell you about it :)

    • thanks no need, I just had to hand over the lab ... - Ray