Hopfield Network Testing Scenarios
From OpenCog
In these graphs the gray lines indicate individual patterns, the cyan line is zero/baseline, and the red is the mean.
Contents |
Sequential imprinting
Cue pattern == imprinted pattern
This compares the two situations:
- Straight retrieval of the pattern imprinted (i.e. cue pattern is the same as that used for imprinting). Resetting the network between each pattern. This should ideally give perfect performance.
- Straight retrieval of the pattern imprinted without resetting the network. Should take longer for new patterns to update the links of the network.
The results show that the resulting performance is essentially the same:
With reset between imprints:
Without reset:
Similar results are obtained other sizes (except size 10x10, discussed separately).
Singular mutated cue pattern
Retrieval using a mutated cue pattern, but only mutated once at the beginning of imprinting. Some sufficiently similar cue patterns should increase in performance, will others will remain poor despite further imprinting.
Command line:
./hopfield -n 5 -d 1.0 -a results_n_5_d_1.0_ -f 5 -z 5 -e 0.2 -c 10 -s 10 -D -g 0.3 -p 30 -E
Another way of viewing the results is to look at the distribution of final similarity at the last cycle of imprinting each pattern:
Multiple mutated cue patterns
Retrieval using a mutated pattern, mutated from the imprinted pattern after each imprinting cycle. This will likely lead to more erratic performance, but avoids an overly mutated cue pattern from biasing the results.
Command line:
./hopfield -n 5 -d 1.0 -a results_n_5_d_1.0_ -f 5 -z 5 -e 0.2 -c 10 -s 10 -D -g 0.3 -p 30
Distribution after last imprint cycle for each pattern:







