CIRCUIT COMPONENTS

auto

image

Auto-associative topological memory component, storing items and hypergraphs.

See also: https://creatingintelligence.org/#auto-associative-memory

Details and properties

  • Incrementally learns auto-associations at every execution cycle.
  • Uses update rule plugins to control the mechanics of state updates.
  • Controls sparsity through stochastic subsampling mechanisms.
  • Deduplicates incoming multisets and inhibitory signals, internally processing the underlying set of unique elements.
  • Supports multiple data blocks, joined internally as the memory’s shared input/output layer. The hyperparameters of input and output blocks must be identical.


Property Default Description
send required [integer,...] representing one or more output slots
receive required same as send, with optional pathway tags
plugin replacement auto-associative update rule
threshold automatic relative auto-associative pattern matching threshold
rate_limit infinite subsample input if it exceeds the specified relative rate limit
decimate 1 proportional stochastic decimation
learn P


Use standard style options to customize the component’s appearance in circuit schematics.

Auto-associative memory with replacement update

As the default update rule for the auto component, replacement substitutes the memory’s state with the retrieved value.

This is the classic auto-associative setup, most useful for pattern completion, denoising, and item stores. With this configuration, the auto-associative memory converges to a stable state. Stability is normally reached with just a single cycle because denoising iterations are already encapsulated within the memory retrieval algorithm.

{ "hyperparameters": {"default": [1000, 10]},
  "dataflow": [
    {"component": "input", "send": [1]},
    {"component": "auto", "plugin": "replacement", 
        "send": [2], "receive": [1]},
    {"component": "output", "receive": [2]}
  ]}

image

Auto-associative memory with residual update

As a plugin for the auto component, the residual update rule removes the retrieved pattern from the query, leaving only the novel elements. This mechanism is the basis for associative novelty detection.

{ "hyperparameters": {"default": [1000, 10]},
  "dataflow": [
    {"component": "input", "send": [1]},
    {"component": "auto", "plugin": "residual", "send": [2], "receive": [1]},
    {"component": "output", "receive": [2]}
  ]}

image

Auto-associative memory with difference update

As a plugin for the auto component, the difference update rule replaces the memory’s state with the symmetric difference between the query and the retrieved data, removing the matching elements.

This update rule enables generative behavior in auto-associative memory retrieval.

{ "hyperparameters": {"default": [1000, 10]},
  "dataflow": [
    {"component": "input", "send": [1]},
    {"component": "auto", "plugin": "difference", 
        "send": [2], "receive": [1]},
    {"component": "output", "receive": [2]}
  ]}

image

Auto-associative memory with complement update

As a plugin for the auto component, the complement update removes the retrieved pattern from the query pattern, leaving only the novel elements.

{ "hyperparameters": {"default": [1000, 10]},
  "dataflow": [
    {"component": "input", "send": [1]},
    {"component": "auto", "plugin": "residual", "send": [2], "receive": [1]},
    {"component": "output", "receive": [2]}
  ]}

image

Auto-associative memory with augmentation update

As a plugin for the auto component, augmentation aggregates the memory’s state with the retrieved value, then deduplicating the multiset to give its underlying set of unique elements.

The augmentation rule completes the input while retaining non-matching elements. Used iteratively in conjunction with stochastic subsampling, this mechanism converges incrementally to a stable state.

{ "hyperparameters": {"default": [1000, 10]},
  "dataflow": [
    {"component": "input", "send": [1]},
    {"component": "auto", "plugin": "augmentation", 
        "send": [2], "receive": [1]},
    {"component": "output", "receive": [2]}
  ]}

image

Auto-associative memory with coincidence update

As a plugin for the auto component, the coincidence update rule retaining the matching elements between the query and the retrieved pattern.

{ "hyperparameters": {"default": [1000, 10]},
  "dataflow": [
    {"component": "input", "send": [1]},
    {"component": "auto", "plugin": "coincidence", 
        "send": [2], "receive": [1]},
    {"component": "output", "receive": [2]}
  ]}

image