052 — Phase multiplexing: routing overlapping streams by gamma phase

Status: proposal — not yet run. This entry pre-registers the hypotheses, design, and pass/fail criteria before any data is collected.

Abstract

Two information streams are injected into the same E-cells at the same time, so no rate or spatial code can tell them apart — the only axis left to separate them is when within the gamma cycle each one fires. The question is whether a PING network learns to route the two streams onto distinct gamma phases and recover both with low cross-talk, and whether a non-rhythmic conductance network — which has no cycle to phase-tag against — fails the same task. This is selective routing / communication-through-coherence (Fries 2015; Akam & Kullmann 2012) posed as a trainable demultiplexing problem, and it is deliberately constructed so that a rate code cannot carry the separation. That makes it the in-silico experiment that bears directly on Shadlen & Movshon’s (1999) claim that synchrony adds no information a rate code lacks.

Background: a rhythm is a shared clock

Everything a rate code represents is how much each cell fires. A rhythm adds one thing a rate code does not have: a phase reference — a shared clock every cell can be read against, so information can live in when within the cycle a spike lands. Communication-through-coherence (Fries 2015) is the functional claim built on this: a downstream reader that is coherent with one rhythmic source, and anti-phase to another, reads the first and rejects the second. Akam & Kullmann (2012) sharpen it — selective routing works only when the oscillations are structured to minimise interference, which bounds how many streams one cycle can keep apart.

The hard version of the test removes every other separating axis. If two streams share input units (no spatial separation) and arrive together (no gross temporal separation), a rate or feed-forward network sees one summed channel and cannot recover the parts. A network with a cycle can — by assigning the two streams to different phases and reading each through a phase-locked window. So clean demultiplexing under collision is a computation the rhythm enables, not merely accelerates.

Hypotheses

  • H1 (primary) — PING demultiplexes under collision. Trained on two streams injected into shared E-cells, a PING network recovers both with low cross-talk (high per-stream decode R2R^2), where a non-rhythmic control’s cross-talk stays near chance.
  • H2 (mechanism) — the separation is carried by phase. The two streams occupy distinct, stable preferred gamma phases; a phase-locked readout recovers them, and shuffling the readout phase destroys recovery. If recovery survives phase-shuffling, the separation is not phase-based and the CTC reading is wrong.
  • H3 (capacity, Akam–Kullmann) — interference is slot-limited. As the number of simultaneous streams grows, cross-talk rises with a knee near the number of resolvable phase slots per cycle, rather than degrading gracefully from the start. The degradation curve is a prediction, not a fit.
  • H4 (control) — the rhythm is what does it. The non-rhythmic conductance network fails H1 at matched architecture, readout, loss, and schedule. The positive control below shows this failure is specific to collision, not a generic deficit.

Setup

Streams. Two scalar (or low-dimensional) signals A(t)A(t) and B(t)B(t), drawn from the same statistics so they carry no distinguishing marginal or spectral signature. Each is encoded as a transient input bump.

Collision (the fairness lever). Both streams drive the same shared E sub-population — identical input units — so spatial identity cannot separate them. The only seed of distinguishability is a small fixed phase offset Δϕ\Delta\phi in delivery time within a weak reference cycle the network can entrain to (the biological analogue of phase-locked senders in CTC). Statistically identical, spatially identical, separated only by sub-cycle timing: the network must learn to amplify Δϕ\Delta\phi into a usable phase tag — it is not wired into the readout.

Network. The standard COBANet PING substrate, gamma rhythm self-generated. Both streams project through learned weights WinW_\text{in} into the shared units.

Non-rhythmic control. The same COBANet driven to the asynchronous-irregular regime of nb050 (fixed fan-in, III\to I coupling, per-cell independent drive) — broadband, no gamma cycle. Same architecture, readout, loss, schedule; differs only in whether a rhythm exists. With no cycle, the Δϕ\Delta\phi tag has nothing to lock to and is washed out by fluctuation-driven firing.

Readout. Two linear heads decoding A^(t)\hat{A}(t) and B^(t)\hat{B}(t) from the shared population — simultaneous demux, so success requires the streams to have been separated internally. A phase-resolved readout (binning spikes by gamma phase) is run alongside for the H2 analysis.

Training. BPTT with surrogate gradients (the ar006 recipe), L2L_2 loss A^A2+B^B2\lVert \hat{A} - A\rVert^2 + \lVert \hat{B} - B\rVert^2. The clean solution under collision is the phase solution; whether gradient descent finds it on the PING substrate, and whether it is even available on the async control, is the empirical content.

Honest scope. The strict “only PING can do this” claim holds only when phase relative to the network’s own rhythm is the sole separating axis. In a trainable setting the defensible prediction is a large, threshold-like advantage that widens with stream count and input noise, with the async control failing where PING succeeds — not a literal impossibility proof. The tests are framed to measure that gap, and the positive control below pins down that it comes from the rhythm.

Tests and pass conditions

#TestsMeasuresPass condition
T1Train both nets on the 2-stream collision task; per-stream decode R2R^2 for A^,B^\hat{A}, \hat{B}demultiplexing under collisionPING high R2R^2, low cross-talk; control near chance
T2Per-stream preferred gamma phase; recover with phase-locked vs phase-shuffled readout (PING)is the separation phase-baseddistinct stable phases; shuffling collapses recovery
T3Sweep stream count 2→4→… at evenly spaced phases; cross-talk vs countslot-limited interferenceknee near resolvable-slot count, not gradual-from-start
T4 (positive control)Re-run T1 with streams in separate input units (spatial separation restored)is the task only rhythm-hard under collisionasync control now succeeds — confirms collision, not a generic deficit, is what defeats it

Falsification map

  • T1 fails for PING. The rhythm does not support multiplexing in this network — abandon the CTC framing for this architecture.
  • T2 survives phase-shuffling. Recovery is real but not phase-carried (e.g. leftover rate transients) — the separation mechanism is something other than coherence, and H2 is wrong as stated.
  • T4 control also fails (async loses even with separate units). The PING advantage in T1 is then not specific to collision — it is a generic capacity gap, and the “rhythm enables this computation” claim is unsupported. This is the test that keeps T1 honest.
  • T4 control succeeds, T1 control fails. The designed outcome: async can route streams when they are spatially separable but not when they collide; PING does both. Synchrony is carrying information no rate code in this network can.
  • T3 has no knee. The Akam–Kullmann interference picture does not govern capacity here — multiplexing works but the slot interpretation is wrong.

What’s at stake

This is the experiment aimed squarely at the skeptic already in the project’s literature: Shadlen & Movshon (1999, ar008) argue synchrony carries nothing a rate code cannot. The task is constructed so the rate code cannot carry the separation — if PING demultiplexes and the async control cannot, synchrony is doing information-bearing work in-silico, on the same conductance network that produces the project’s gamma. It also gives the gamma-gated-sparsity thesis a second leg beyond efficiency: the rhythm would buy not just cheaper codes but a routing capability, the functional payoff Fries and Akam–Kullmann argue for. Spike precision (Schaefer et al. 2006, ar008) is the enabling sub-mechanism — clean phase tags require precise spikes — so a positive result also ties back to why PING sharpens spike timing in the first place.

Next steps

  1. Implement the collision task and runner. A two-stream generator (shared input units, sub-cycle Δϕ\Delta\phi tag, matched statistics), dual decode heads, phase-resolved readout tooling, and the runner at src/notebooks/nb052.py with hardcoded recipe (tier + modal-gpu only). The runner trains the PING substrate and the nb050 async control on the identical task.
  2. Run T1 with the T4 positive control first. They gate everything: T1 shows the gap, T4 proves the gap is about collision. Only then do T2 (phase mechanism) and T3 (capacity) carry meaning.
  3. Pilot at the tiny tier to confirm both nets train to non-trivial single-stream accuracy before opening the collision regime.