Skip to content

Falandays

The Falandays node is a homeostatic, online-plastic leaky-integrate-and-fire unit. A reservoir of them learns during the rollout — which is why it is fair to run untrained: behaviour self-organises with no outer optimiser. Two presets share the exact same neuron update and differ only in their substrate.

The update (per node ii, per tick)

The membrane potential leaks, then integrates input and recurrent current:

ai    ai(1λ)  +  rWriinRrinput  +  jWjisjprevrecurrenta_i \;\leftarrow\; a_i\,(1-\lambda) \;+\; \underbrace{\textstyle\sum_r W^{\text{in}}_{ri}\,R_r}_{\text{input}} \;+\; \underbrace{\textstyle\sum_j W_{ji}\,s^{\text{prev}}_j}_{\text{recurrent}}

with leak λ=0.25\lambda = 0.25. A node fires when it crosses its threshold Ti=μTiT'_i = \mu\,T_i (multiplier μ=2\mu = 2), and resets by subtraction:

si=1 ⁣[aiμTi],aiaiμTi  if si=1.s_i = \mathbb{1}\!\left[a_i \ge \mu T_i\right], \qquad a_i \leftarrow a_i - \mu T_i \ \text{ if } s_i = 1 .

Homeostatic learning (each tick)

The error is the post-spike distance from set-point, ei=aiTie_i = a_i - T_i. Two local updates drive the node toward homeostasis:

ΔWij=ejNjactηW  over active presynaptic i,Timax ⁣(Tmin,  Ti+ηTei)\Delta W_{ij} = -\,\frac{e_j}{N^{\text{act}}_j}\,\eta_W \ \text{ over active presynaptic } i, \qquad T_i \leftarrow \max\!\big(T_{\min},\; T_i + \eta_T\, e_i\big)

The weight error is shared over NjactN^{\text{act}}_j, the number of currently active presynaptic inputs to jj (ηW=0.1\eta_W = 0.1, ηT=0.01\eta_T = 0.01, Tmin=1T_{\min}=1). Both are local: a node aggregates only its own afferents.

Source: the membrane update, threshold, and spike in src/nodes/Falandays.jl (step!); the homeostatic rules in src/nodes/Axes.jl (learn!, _update_targets!).

base vs extended

Same neuron, same equations — the difference is the substrate the reservoir is built on.

The plain base model: Bernoulli recurrent wiring, unsigned weights, no sensory noise. Input-driven homeostatic reservoir. The settled, authors-faithful baseline.

simulate(:wall; node=:falandays_base, ticks=300)

The 7-scalar evolvable genome’s own defaults: λ=0.25\lambda=0.25, ηW=0.1\eta_W=0.1, ηT=0.01\eta_T=0.01, μ=2\mu=2, Tmin=1T_{\min}=1, input weight 1.8751.875, weight-init std 11. These are what you get off-task (evolution, or any task with no registered paper config) — not what :falandays_base actually runs with on :wall/:tracking/:pong. For those three, simulate injects the task’s own authors-faithful constants (falandays_paper_config(task), checked directly against the original authors’ Julia source, not just the numpy port): e.g. on :wall, ηW=1.0\eta_W=1.0 and input weight 4.04.0 (not 0.10.1/1.8751.875) — ηW\eta_W is task-dependent (1.01.0 for wall/tracking/pong, 0.100.10 for the collective/swarm config) per a since-corrected bug in the authors’ own code (their commit ba56475: an earlier .01 “was actually not being applied” and the true rate was 1.01.0). See falandays_paper_config(:wall) (and :tracking/:pong/:collective) for the full per-task table.

The Oosawa drive (a variant, for contrast)

:falandays_oosawa is not a substrate change — it adds a term to the update: a target-gated membrane noise that keeps a blind network alive by variance, not by deterministic self-excitation.

aiai+ηiσi,σi=noise0+gmax ⁣(0,  μTiai),ηiN(0,1)a_i \leftarrow a_i + \eta_i\,\sigma_i, \qquad \sigma_i = \text{noise}_0 + g\cdot\max\!\big(0,\; \mu T_i - a_i\big),\quad \eta_i \sim \mathcal N(0,1)

When a node sits below its firing threshold (starved), σi\sigma_i grows and it keeps randomly crossing threshold; at set-point σinoise0\sigma_i \to \text{noise}_0. So oosawa belongs on a dynamics page, not the base↔extended substrate contrast.

The biology: Oosawa’s spontaneous activity

The drive is a minimal model of the spontaneous regime described by Fumio Oosawa, Spontaneous activity of living cells, BioSystems 88 (2007) 191–201 (and Oosawa 2001, Bull. Math. Biol. 63, 643). Oosawa separates three stimulus→response regimes in living cells: reflective (tight, deterministic coupling), autonomic (loose — the same stimulus gives varying responses), and spontaneous — internally-generated activity with no external stimulus. The Oosawa drive models that third regime.

In Paramecium, an inserted microelectrode shows the membrane potential is never constant even in a fixed environment: a basic fluctuation plus occasional spike-like events that trigger spontaneous reversals of ciliary beating — the cell’s spontaneous changes of swimming direction. Two facts from the paper map directly onto the node’s update:

  • The basic fluctuation is an Ornstein–Uhlenbeck process (Oosawa’s Eq. 1, CδV˙=GδV+I()C\,\dot{\delta V} = -G\,\delta V + I(\dots) — a Langevin equation). In the node, the membrane leak is the GδV-G\,\delta V relaxation and the injected Gaussian current is the random force, so the noise is added to aia_i before thresholding and integrated into a temporally-correlated subthreshold fluctuation. The spike-like events (Eq. 2, nonlinear, from field-sensitive channels) are the threshold crossings.
  • It is metabolically driven, and regulated. The fluctuation’s variance is proportional to a circulating ionic current sustained by free-energy consumption — “active” cells (Paramecium, ~3 mV) produce large fluctuations, “quiet” cells (nerve axon, ~0.03 mV) suppress them. And the frequency of spontaneous events is regulated by internal state (in thermotaxis, fewer direction-changes when heading toward the preferred temperature). That regulation is exactly the node’s target-modulated gainσi\sigma_i ramps up when a node is starved and switches off at set-point.

Why it matters here. The Oosawa drive keeps a blind or input-starved network alive by variance rather than deterministic self-excitation — an endogenous source of exploration. It is the same role spontaneous direction-changes play in Paramecium thermotaxis, and it is what lets an untrained reservoir keep acting on the wall, pong, and tracking demos when sensory drive alone would let it fall silent.

Source: src/nodes/Drives.jl (apply_drive!(::OosawaDrive, …)). See also Neurons for where this sits among the neuron features modelled here.

Reference

The model reimplemented here as :falandays_base is from:

J. Benjamin Falandays, Jeffrey Yoshimi, William H. Warren, and Michael J. Spivey. “A potential mechanism for Gibsonian resonance: behavioral entrainment emerges from local homeostasis in an unsupervised reservoir network.” Cognitive Neurodynamics 18(4), 1811–1834 (2024). doi:10.1007/s11571-023-09988-2

BrainlessLab is an independent reimplementation and extension; it is not affiliated with or endorsed by the original authors. “Authors-faithful” refers to bit-fidelity against a reconstruction of the authors’ code (see the fidelity note above), not to paper-fidelity for every component.