A Python library for biologically plausible AI systems. No backpropagation. No gradients. No loss functions. Every weight update is local: dw = f(pre, post). Learns continuously without forgetting. Runs on anything.
01 — Results
Split-MNIST continual learning. 5 tasks, 2 digits each, trained sequentially. No replay. No pretraining. No excess capacity. Purely local Hebbian updates.
| Model | Accuracy | Backprop? | Forgetting | |
|---|---|---|---|---|
| Mnemos (ours) | 97.4% | No | ~0 | WINNER |
| Mnemos SMoHE | 98.4% | No | ~0 | easy variant |
| MLP + SGD | 67.0% | Yes | Severe | −30.4% |
| EWC (DeepMind) | 65.5% | Yes | Severe | −31.9% |
Structured knowledge stored in weight matrices through outer-product Hebbian learning. Recall through matrix-vector multiplication.
Real handwritten digits perceived through Hebbian convolutional filters. Multi-prototype recognition bridge with specificity penalty.
Spreading activation finds connections nobody taught. "Think 2 + 7" → prime emerges as bridge. "Think 0 + 9" → round emerges.
"What if the sun disappeared?" Traces cascading consequences through Hebbian weight matrices across 4 levels of depth.
02 — Architecture
A closed loop: perception feeds recognition feeds reasoning feeds self-model feeds attention feeds back to perception. Every connection learned through local Hebbian rules.
03 — Core Mechanism
Three lines of code that solve winner-take-all collapse. The core mechanism of the entire system — it appears in perception, recognition, and every layer that uses competitive matching.
In competitive Hebbian learning, filters converge to the global mean of the data. Every filter responds to everything. Nothing specialises. The network collapses.
Subtract the mean similarity across all filters. Filters that respond to everything get penalised. Only filters that respond specifically to certain patterns win. Homeostatic thresholds balance usage across all filters.
Perception: prevents filter collapse (97.4% accuracy).
Recognition: prevents concept collapse (5/5 correct).
Every competitive layer: same fix, same 3 lines, every time.
One mechanism. Three applications. Biologically plausible — real neurons use homeostatic plasticity for the same purpose.
04 — Capabilities
A raw 28×28 pixel image enters. Hebbian filters extract features. Prototype bridge recognises the digit. Reasoning fires automatically: "3 is odd, prime, round, looks like 8."
Activate two concepts simultaneously and watch what emerges. "Think fire + ice" → heat emerges as the bridge concept after 6 steps of matrix propagation.
"What if the sun disappeared?" The brain traces consequences through its weight matrices: energy stops → heat stops → plants die → oxygen drops → life collapses.
The brain thinks autonomously between interactions. Explores counterfactuals, finds paths between random concepts, discovers which concepts are most critical to the knowledge network.
"How does the sun lead to food?" Searches through sequences of matrix multiplications to find causal chains. sun → light → plants → food.
Thinking about "fire" biases perception toward fire-related patterns. Ambiguous input (50% fire + 50% water) → recognised as fire when primed, water when not.
05 — Get Started
Mnemos is a Python package. Only dependency is NumPy. Works on any machine — no GPU required.
pip install mnemos
Or from source:
Free for research, education, and personal projects.
Commercial use requires a license. Contact for details.
06 — About
My name is Gustav Gausepohl. I'm 14 years old and an independent AI researcher. I built Mnemos from scratch — every mechanism, every experiment, every design decision.
The code was written with Claude (Anthropic) as my programming partner. I focused on the science and architecture; Claude helped implement my ideas in Python. Every result is real. Every idea is mine.
Mnemos is under active development. The core algorithms work. The architecture is proven. But this is alpha software — there are known limitations, the API will change, and there's a lot more to build. I'm building in public because I believe the best way to make something great is to let people use it, break it, and help improve it.