Hopfield Network Experiment Results

From OpenCog
Jump to: navigation, search

In these graphs the gray lines indicate individual patterns, the cyan line is zero/baseline, and the red is the mean.

Sequential imprinting

Cue pattern == imprinted pattern

This compares the two situations:

  1. 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.
  2. 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:

Results scaled n 5 d 1.0 orig reset.png

Without reset:

Results scaled n 5 d 1.0 orig noreset.png

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

Results scaled n 5 d 1.0 mutant noregen.png

Another way of viewing the results is to look at the distribution of final similarity at the last cycle of imprinting each pattern:

Perf dist scaled n 5 mutant noregen.png

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

Results scaled n 5 d 1.0 mutant regen.png

Distribution after last imprint cycle for each pattern:

Perf dist scaled n 5 mutant regen.png

Interleaved imprinting