Skip to content

Core Architecture

Raul Montoya Cardenas edited this page Jul 29, 2026 · 2 revisions

Core Architecture: Liquid State Machines

Wiki hero

Generated with Grok Build: Grok 4.5 · xAI Imagine (/imagine)

Reservoir Computing

LiquidCortex implements a Liquid State Machine (LSM): a high-dimensional recurrent reservoir projects inputs into a rich dynamical state; a (learnable) linear readout maps that state to outputs.

Key properties:

  • Fixed or slowly plastic recurrent weights provide fading memory.
  • Different membrane time constants capture multi-scale temporal structure.
  • Sparse connectivity keeps large reservoirs GPU-feasible.

Primary references used in the design narrative:

  • Maass, Natschläger & Markram (2002) — liquid state machines
  • Ornstein & Uhlenbeck (1930) — OU process for membrane noise
  • Bi & Poo (1998); Hebb (1949) — STDP / covariance learning framing

Two Implementations

Implementation File Neurons Connectivity Dynamics Use case
SparseBrain / EnsembleBrain sparse_brain.jl 65,536 / lobe; 262,144 ensemble Sparse 1% Float16 CSC OU-SDE LIF + refractory Production capacity
Reference LSM reference_lsm.jl 2,048 Dense Float32 tanh gain-control Fast prototyping

Both accept generic input vectors and a scalar inhibition signal. Neither exports domain-specific pulse types (MarketPulse and related helpers were removed in PR #12).

Shared Mathematical Skeleton

SparseBrain (production)

Euler–Maruyama discretization of:

dV = ((V_rest - V)/τ_m + W_rec·S(t) + W_in·u(t)) dt + σ dW

Spike when V > v_thresh_dynamic, then reset to V_reset and enter refractory. Readout:

y = W_out · S

Reference LSM (prototype)

x(t+1) = tanh(gain · (W x(t) + W_in u(t)))
y = W_out · x
gain = 1 - 0.4 · inhibit_val

Ensemble Multi-Timescale Design

EnsembleBrain runs four independent SparseBrain lobes on the same input each tick, then aggregates readouts with fixed weights (0.4 / 0.3 / 0.2 / 0.1). Lobes differ only in membrane τ_m, giving parallel “speeds” of liquid dynamics without training separate networks.

Child Pages

Ecosystem Data Flow

time-series / sensors
        │
        ▼
  CuVector{Float32} (n_in)  +  inhibition / reflex_signal
        │
        ▼
  SparseBrain or EnsembleBrain  ──►  Vector{Float32} (n_out)
        │
        ▼
  strategy / training / control plane (e.g. DendriteTrader)

Last updated: July 28, 2026 Updated by: Grok Build: Grok 4.5 Package tip reference: 4e2698c (main)

Clone this wiki locally