Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Nca Deltarule Fast Memory Adaptation

ASecurity

Use for gradient-free online task adaptation via NCA cellwise fast memory.

3 stars
0 votes
0 copies
1 views
Added 9/28/2026
testingpythongo

Works with

cli

Security Analysis

A100/100

Scanned 9/28/2026

$npx -y skills add hiyenwong/ai_collection --skill nca-deltarule-fast-memory-adaptation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Nca Deltarule Fast Memory Adaptation?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Nca Deltarule Fast Memory Adaptation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/hiyenwong-nca-deltarule-fast-memory-adaptation/badge)](https://www.skillsdirectory.com/skills/hiyenwong-nca-deltarule-fast-memory-adaptation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Files
SKILL.md
---
name: nca-deltarule-fast-memory-adaptation
description: Use for gradient-free online task adaptation via NCA cellwise fast memory.
category: ai_collection
---

# Online Task Adaptation via Self-Organisation: NCA + Cellwise Delta-Rule Fast Memory

Methodology from arXiv:2609.29281 (Proroković, Sep 2026, independent researcher, Montenegro).
Meta-learned self-organisation where **task adaptation requires zero gradients and zero parameter updates at adaptation time** — only cellwise delta-rule updates to a fast associative memory inside a Neural Cellular Automaton (NCA). Use when designing gradient-free adaptation, meta-learning fast weights, biological-plausibility arguments (no backprop at test), or in-context-learning alternatives with explicit memory.

## Core Separation (slow vs fast)

| | Slow parameters θ (backprop, meta-training only) | Fast memory M (delta rule, adaptation only) |
|---|---|---|
| What | backbone convs, perception filters κ, update MLP W_h/W_Δ, read/write projections W_read/W_write, output W_y | per-cell associative matrix M_ij ∈ R^{Cv×Ck} |
| When updated | meta-training via truncated-window backprop | online during adaptation, one pass over support set |
| Frozen at test? | YES — never touched after meta-training | NO — the ONLY thing that adapts |

Key contrast with MAML-family: MAML meta-learns initial weights adapted **by gradients** at test; this method learns an **adaptation mechanism** (the delta rule's read/write representations) so test-time adaptation is purely local. Key contrast with SRWM (Irie et al.): SRWM lets a weight matrix modify itself with learned write strength; here (1) each of the H×W spatial cells keeps its **own separate memory matrix**, (2) write strength is **error-norm-determined**, not learned (zero error → zero write, guaranteed), (3) batch-parallel memory writes (SRWM is sequential).

## Architecture

1. **Backbone**: 2× stride-2 3×3 convs (3→32→64 ch) reduce 32×32 → 8×8 grid. C_s = C_k = C_v = 32; F = 3 learnable 3×3 perception filters **per channel** (unlike original NCA which shares filters).
2. **Per-cell state + memory**: s_ij(t) ∈ R^Cs recurrent state; M_ij ∈ R^{Cv×Ck} fast memory, both zero-initialised.
3. **Read**: k_ij^read = norm(W_read·s_ij(t)) ∈ R^Ck; readout r_ij = M_ij·k_ij^read.
4. **Recurrent update** (T=16 steps, residual + stochastic firing mask ρ=0.5): Δs_ij = W_Δ·ReLU(W_h·[s_ij, p_ij, r_ij, x_ij] + b_h); s(t+1) = s(t) + ξ(t)⊙Δs(t). Input x_ij is clamped at every step.
5. **Output**: ŷ_ij = W_y·s_ij(T) + b_y; prediction = argmax of spatially averaged softmax.
6. **Cellwise error**: e_ij = softmax(ŷ_ij) − y (optionally label-smoothed target).
7. **Write key**: k^write = norm(W_write·s_ij(T)); **write value**: v_ij = W_v(2)·ReLU(W_v(1)·[s_ij(T), e_ij] + b_v(1)).
8. **Write strength**: η_ij = ‖e_ij‖₂/γ where γ = max possible error norm (analytic: γ≈1.345 for K=5 with label smoothing α=0.1). η ∈ [0,1], η=0 iff e=0.
9. **Delta-rule update** (batch of B′, scaled by meta-training batch size B=128):
   M_ij ← M_ij + (1/B)·Σ_b η·(v − M_ij·k^write)·(k^write)ᵀ
   Each term moves the value retrieved at the write key toward v, gated by error magnitude. B′ ≤ B enforced (larger batches split sequentially).

## Meta-Training Protocol (the load-bearing recipe)

- Tasks: CIFAR-100 superclass partition (FC100 split) — 12 train / 4 val / 4 test superclasses, each task = 5-way fine-grained classification within one superclass (e.g., 5 fish species). Disjoint superclasses ⇒ semantic shift between train and test tasks.
- **Non-episodic**: no support/query split during meta-training. Same labelled stream does double duty — provides meta-loss AND updates memory. First batch of each task is adaptation-only (excluded from loss); each batch is predicted on BEFORE adapting to it (predictions always on unseen-w.r.t.-memory data).
- **Truncated-window backprop**: gradients through windows of L=8 consecutive batches; memory carried forward at window boundary but stopgrad(M). Loss = per-cell cross-entropy applied after EVERY batch (encourages online improvement, not end-of-sequence only).
- Optimisation: AdamW lr=1e-3, wd=0.1, batch 128, label smoothing 0.1, grad-clip L2≤1. Kaiming-uniform init; **W_Δ, W_v(2) zero-initialised** (memory writes start silent).
- Model: 141,793 params (baseline without memory: 121,221).

## Results

| Metric | Value |
|---|---|
| Empty-memory accuracy (meta-test, chance=20%) | 20.0% |
| **After ONE pass over 2500 support images** | **48.2 ±0.3%** |
| Baseline trained from scratch w/ backprop (tens of passes) | 54.4 ±0.2% |
| Gap recovery | ~82% of chance→scratch gap, no gradients, 1 pass |

- Per-task (adapted vs scratch): aquatic mammals 45.2/52.8, insects 59.8/63.9, medium mammals 54.6/64.8, people 33.1/36.2.
- **Batch-size invariance**: support set in batches of 1/16/32/64/128 → 48.3/48.3/48.4/48.1/48.2%. Number of memory writes (2500→20) barely matters — per-example contribution fixed by 1/B scaling.
- **Repeated passes**: L=4/8 peak at pass 2, lose <3pp over 18 more passes. L=2 worse & declining. **L=22 (full backprop, no truncation) worst long-run stability** — falls to 29.4% by pass 20. Truncation is not just a memory-saving hack; it stabilises the learned adaptation rule.
- Generalises across semantic shift: 12 meta-train tasks → held-out mammal/invertebrate superclasses.

## Reusable Patterns

1. **Error-norm-gated writes**: η = ‖e‖/γ gives automatic "write only what you got wrong" — no learned gating needed; analytic normalisation keeps η∈[0,1]. Generalise to regression with bounded targets.
2. **One-stream meta-training**: same online stream provides adaptation signal AND meta-loss; predict-before-adapt ordering eliminates need for held-out support/query split during training. Cheaper than episodic meta-learning.
3. **Truncation-as-regulariser**: stopgrad through memory at window boundaries both bounds backprop memory and yields MORE stable repeated adaptation than full-length backprop.
4. **Per-cell memory parallelism**: spatially distributed memory allows batch-parallel writes with joint application — scale support-set size without changing semantics.
5. **Architecture-agnostic core**: read/write/delta-rule mechanism ports to Universal Transformers, looped Transformers, recurrent GNNs — any shared-parameter iterative refinement.

## Limitations (author-stated + inferred)

- Backprop still used at meta-training time (method is "gradient-free at adaptation", not gradient-free end-to-end).
- Memory starts empty (M=0); learned/generative memory init (cf. developmental priors) left to future work.
- Single domain (CIFAR-100 superclasses), 5-way; no regression/RL/sequence tasks tested.
- ~6pp behind from-scratch backprop baseline; "people" superclass hard for both (32×32 age/sex discrimination).

## vs Related Methods

- **Differentiable plasticity / Backpropamine** (Miconi): learned Hebbian plasticity on weights; here plasticity is prescribed (delta rule) and memory is a separate substrate.
- **Memory-Augmented NNs** (Santoro): external memory + gradient-trained controller; here read/write reps are meta-learned but updates are local & analytic.
- **Fast-weight programmers / linear transformers** (Schlag): fast weights = attention outer-products; here memory is spatially distributed and error-gated.
- **Meta Networks** (Munkhdalai): fast weights generated FROM gradients; here no gradients at test.
- **In-context learning**: conditions on demonstrations implicitly; here task info is explicit, incremental, inspectable memory content.

## Implementation Sketch (PyTorch)

```python
# adaptation step (no grad!)
with torch.no_grad():
    s_final = nca_infer(x, M, T=16)              # recurrent rollout, frozen θ
    e = softmax(cell_out(s_final)) - y_smooth     # [B,H,W,K]
    eta = e.norm(dim=-1, keepdim=True) / gamma    # [B,H,W,1]
    k_w = F.normalize(W_write @ s_final, dim=-1)  # [B,H,W,Ck]
    v = value_mlp(cat([s_final, e], -1))          # [B,H,W,Cv]
    # delta rule, batch-aggregated:
    M = M + (1/B) * sum_over_batch(eta * (v.unsqueeze(-1) - M @ k_w.unsqueeze(-2)) @ k_w.unsqueeze(-1).transpose(-1,-2))
```

Attribution

hiyenwonghiyenwong
View sourceSee grades on GitHubMore from hiyenwong →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Screen Reader Testing

Practical guide to testing web applications with screen readers for comprehensive accessibility validation.

401991 votes

Tdd Workflow

在编写新功能、修复错误或重构代码时使用此技能。强制执行测试驱动开发,包含单元测试、集成测试和端到端测试,覆盖率超过80%。

2456590 votes

Eval Harness

克劳德代码会话的正式评估框架,实施评估驱动开发(EDD)原则

2456590 votes

Python Testing

使用pytest、TDD方法、夹具、模拟、参数化和覆盖率要求的Python测试策略。

2456590 votes

Django Tdd

Django测试策略,包括pytest-django、TDD方法论、factory_boy、模拟、覆盖率以及测试Django REST Framework API。

2456590 votes
View all in testing →