Skip to content

Association Matrix Update Rule

A learning rule — instantiates Co-Activation Coupling Design

Specifies the local law that turns each valid co-activation into a small, bounded change in the stored link strength, so associations grow from experience without any weight running away.

Every co-activation design eventually has to answer one narrow question: when two units fire together this once, exactly how much does the link between them change? The Association Matrix Update Rule is that answer written as a law — a local, incremental update applied to a stored matrix of link strengths. Its defining move is that it is local and bounded: it reads only the two units' current activity and their current weight (never a global objective or a reward signal), nudges the weight a step, and folds in a saturating term so strengths approach a ceiling instead of exploding. Where siblings count co-occurrences or schedule exposure, this mechanism is the arithmetic that converts a single joint firing into a persistent change in state.

Example

A media app maintains an item-to-item matrix so that watching A makes B easier to surface. The update rule fires once per session: for every pair of items co-watched inside a session, w_ij ← w_ij + η·(a_i·a_j) − η·w_ij·a_i². The first term strengthens the link in proportion to joint activity; the second is an Oja-style normalizer that pulls the weight back toward a bounded value, so a runaway hit like a viral clip cannot dominate every row. With a learning rate of ≈0.02, a genuinely recurring pairing climbs steadily over a few weeks while a one-off coincidence barely moves and is easily overwritten. The output is a living weight matrix — no editor curated it, and no global loss was minimized; the structure fell out of many small, bounded, local steps.

How it works

The rule has three moving parts and nothing else. A growth term raises the weight in proportion to the product of the two activations, so only genuine joint firing counts. A bounding term — normalization, weight decay inside the step, or a hard cap — keeps any single weight (and often each unit's total outgoing weight) finite, which is what makes the matrix stable rather than saturating to all-ones. And a locality constraint: the update needs only quantities available at the two endpoints, which is what lets it run cheaply over millions of pairs with no central pass. What it deliberately does not do is decide whether the co-activation was valid — it trusts whatever reaches it.

Tuning parameters

  • Learning rate — how big a step each co-activation takes. High rates bind fast but are jumpy and over-weight recent noise; low rates are stable but slow to form real links.
  • Bounding form — hard cap vs. multiplicative decay vs. row normalization. Row normalization forces links to compete for a fixed budget; a hard cap lets many links coexist near the ceiling.
  • Symmetry — whether w_ij and w_ji are tied (undirected) or updated independently (directed, so A→B can differ from B→A).
  • Anti-Hebbian floor — whether non-co-activation actively weakens a link (pushing toward decorrelation) or merely leaves it untouched.

When it helps, and when it misleads

Its strength is scale and autonomy: no supervisor has to rewrite links, and useful structure emerges from ordinary use. That is also its danger — the rule sees co-occurrence before it sees intention, so it will wire a protected attribute to a risk label as cheerfully as it wires a cue to a helpful response.[1] Two failure modes recur: runaway if the bounding term is too weak (weights saturate and the matrix loses its ability to discriminate), and drift if the learning rate is high enough that the matrix chases noise. The classic misuse is cranking the learning rate to force a link that the data does not support — manufacturing an association rather than learning one. The discipline is to keep the update honestly local and bounded and to hand validity, context, and cleanup to the mechanisms built for them.

How it implements the components

  • local_update_rule — it is the update rule: the explicit law mapping one co-activation to one weight change.
  • link_strength_state — it owns and mutates the association matrix, the persistent store of how strongly each unit recruits each other.
  • saturation_stability_boundary — its bounding term keeps weights inside a useful range instead of saturating, which is what keeps the whole matrix stable.

It does not decide validity or gate context — that is the Context-Gated Pairing Exercise; it does not accumulate the co-occurrence statistics that justify a step (correlation_trace, coupled_unit_set) — those come from the Co-Occurrence Weighting Pipeline; and it neither prunes stale links (decay_or_pruning_rulePruning & Decay Maintenance Cycle) nor arbitrates competitors (competition_or_inhibition_channelCompetitive Inhibition Review).

  • Instantiates: Co-Activation Coupling Design — this rule is the local engine at the archetype's core; every other mechanism shapes what it sees or cleans up after it.
  • Consumes: Co-Occurrence Weighting Pipeline supplies the validated co-activation signal the rule steps on.
  • Sibling mechanisms: Competitive Inhibition Review · Pruning & Decay Maintenance Cycle · Co-Occurrence Weighting Pipeline · Context-Gated Pairing Exercise · Decorrelation Separation Protocol · Paired Activation Rehearsal Protocol · Replay Consolidation Window · Spurious Association Probe Set · Temporal Contiguity Training Schedule

Editorial Notes

Form Classification

Form family: Control, Automation & Runtime

Rationale: Specifies the local law that turns each valid co-activation into a small, bounded change in the stored link strength, so associations grow from experience without any weight running away, making its operative form a state-dependent executable control that senses, filters, routes, or actuates during operation.

Independent corroboration: The frozen evidence defines Association Matrix Update Rule as 'Specifies the local law that turns each valid co-activation into a small, bounded change in the stored link strength, so associations grow from experience without any weight running away', so its operative form is Control, Automation & Runtime.

Review outcome: Independent reviewer agreement; high confidence.

Origin Attribution

Primary origin: Neuroscience

Origin pattern: Cross-disciplinary synthesis

Present-day reach: Multi-domain

Rationale: Hebbian neuroscience established local co-activation learning, while Oja's normalized rule bounds otherwise unstable connection growth.

Related originating lineages:

Review resolution: Hebbian learning is the agreed neuroscience primary. Cognitive associative learning, neural-network implementation, and Oja-style mathematical normalization materially form the bounded update rule. The combination is established scholarship rather than an Encyclopedia-created mechanism.

Review outcome: Reconciled after independent review; high confidence.

Notes

The rule is intentionally blind to meaning. That blindness is the source of both its scalability and its risks, which is why a co-activation design never ships the update rule alone — it always pairs it with a context gate upstream and a spurious-coupling probe downstream.

References

[1] Hebb, Donald O. The Organization of Behavior: A Neuropsychological Theory. Wiley (1949). Describes Hebbian learning as strengthening associations through repeated co-activation, without reference to intention. registry