Cadence
Website · Paper · PyPI · Documentation · Changelog
Research toward general intelligence through overlap consensus, equilibrium detuning and self-reflection.
Cadence's goal is a continuing learning system with the flexibility of animal and human problem solving: acquiring skills from experience, retaining useful knowledge, imagining alternatives and creating solutions across domains. The mission is to find the smallest persistent state and local update rule that can support these abilities. General intelligence is the research goal; the current library establishes bounded learning, memory and control results.
The organizing idea comes from Observer Patch Holography: bounded, observer-like patches with local state, ports, records, readback and repair. A disturbance exposes disagreement. The network can explore a possible response, test it against actual consequences and settle into a revised organization. We seek fewer mechanisms that solve more problems.
Three shared principles
- Overlap consensus: patches repair disagreement across their shared boundaries. The resulting equilibrium is an internally consistent model; its predictions still have to agree with experience.
- Equilibrium detuning: observed outcomes perturb that equilibrium. Local positive/negative contrasts change learned relationships; the same operation can adjust proposed actions while holding the model fixed.
- Functional self-reflection: patches can read internal state, predictions, proposed actions and unresolved mismatches through ordinary ports. Learning which internal summaries to read, how to feed them back and how to grow useful recursive organization is a central research direction.
The current implementation provides detached self-readback and private proposal revision. Automatically learned recursive hierarchies, curiosity and reliable creativity remain to be demonstrated. Creativity and self-reflection defines these goals and their behavioral tests.
Current library
Two primitives, composed through ports. The library requires Python 3.11+ and NumPy:
python -m pip install cadence-net
| Primitive | What it supplies |
|---|---|
| The settling patch: TemporalPatchNet, or a brain of regions | Local repair of observed paths, persistent context, private imagination, continuous planning and protected responses; learning by the contrast of a free and a nudged settle. |
| The record patch: RecordPatchNet | A gated linear context with a record store inside the patch: an observation is written once by day, and by night the slow weights learn from the store's own dreams (sleep), with nothing outside the patch consulted. Categorical ports, batched writes, a store narrower than its port and a two-patch stack. One pass of writes, with no gradient, gives a small grammar for 0.8 of its never-taught combinations; one night lifts the slow weights alone to 1.0. |
Start with the quickstarts: a record patch that learns a stream and sleeps, a settling brain that decides, and a temporal patch that learns a consequence and plans. The architecture guide maps each capability to its API and current scope; EquilibriumActor is a separate fixed linear-body component with exact Gaussian history compression.
Imagined continuations are isolated. Branches use the learned network without changing live activity, parameters or factual bookkeeping. Controlled experiments demonstrate useful planning. Creativity requires additional evidence that novel proposals satisfy meaningful constraints and survive actual evaluation; musical improvisation is one possible example.
Retained experience and new learning are tested together. Protected-path memory is conditional and finite. Importance is currently supplied; automatic relevance, selective forgetting, specialization and broad skill transfer remain research requirements. The task-design guide and common missteps explain how to measure them.
General mechanisms, different applications
Games, language, multimodal perception, embodied control and creative work should use the same learning and memory mechanisms with declared observation and action ports. The examples repository holds four worked applications: a worm that learns during its life, a composer that starts from silence, soft bodies that evolve together with their brains, and Connect Four. They are application tests, not definitions of the architecture. A result in one does not establish transfer to the others.
The scaling goal is better learned behavior from more experience and training, with as little manual design as possible. Measure unique experience, repeated training and model capacity separately while keeping port meanings and task evaluation fixed. The scaling guide defines these comparisons and the current computational limits.
Application demonstrations are published only when they establish their claimed behavior. Recall and interpolation are useful development tests; original creation requires stronger evidence. Every example states what is supplied, what is learned, what was measured and what it does not show, and carries a check that recomputes its numbers. Research receipts remain available with the paper without presenting those tests as finished products.
Proofs and compatibility
The bundled Lean library contains 169 checked conditional theorems about the mathematical components and their limits. It does not certify the complete Python implementation or prove intelligence. The paper identifies assumptions and reproducible evidence.
The PatchNet graph interface,
GenericBrain, content memory, rehearsal and sequence readback are kept for the
experiments that used them; they are distinct compositions, not parts of the two
primitives. API reference.
Development installs use python -m pip install -e ..
Optional backends
apply to their documented graph APIs; the temporal implementation is NumPy.
Pin a release or exact commit for reproducible work. MIT licensed.
Release files for cadence-net 0.12.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cadence_net-0.12.0.tar.gz | 2.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cadence_net-0.12.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.5 MB
Release files / cadence_net-0.12.0.tar.gz
| Download URL | cadence_net-0.12.0.tar.gz |
|---|---|
| Size | 2.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
70ac433166a0bac9df724c7e79d335885c3674be49c246f89d18cdd682a54f75
|
|
BLAKE2b-256 checksum How to use checksums |
cbde5d316357f0fa59fa38f229a9ba561da7da952a7b4eb3cf4adfce6383c88e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|
Release files / cadence_net-0.12.0-py3-none-any.whl
| Download URL | cadence_net-0.12.0-py3-none-any.whl |
|---|---|
| Size | 200.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0007dc078f3ba8e56908314b3fca043949ad0549482808f937a1f800299f7668
|
|
BLAKE2b-256 checksum How to use checksums |
908b4122184ea9dfabe74ffb62e0fd229ee9b12d44afff56ba0f77039883251a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.0
|