exp041′s slope was interpreted as “each E cell joins a cycle with ≈ 20% probability”. That reading assumes the per-cycle spike count is bounded by 1 (an E cell either participates in this cycle or not). This notebook measures that directly: walking through every gamma cycle on the test set and counting how many spikes each E cell actually emits, on all 18 trained checkpoints in exp041′s sweep.
For each of exp041′s 18 trained cells (6 × 3 seeds):
Run inference on the MNIST test set; capture per-trial and spike tensors.
Detect I-burst times per trial: smooth the population I rate with a 1-ms Gaussian, run scipy peak detection with min-distance set to half the cell’s own .
Cycle boundaries are the midpoints between consecutive I-burst peaks (first cycle starts at , last ends at trial end).
For each (cell, cycle, trial), count the number of E spikes within the cycle window.
Bucket counts globally into and aggregate by .
The cycle anchor is the I-burst: this is the right anchor because the cycle is operationally defined as “the time between one inhibitory blanket and the next”, not as the time between E bursts (which can be silent on a given cycle).
Figure 1: Distribution of E spike count per gamma cycle per cell, by , three seeds aggregated. Across 179 million (cell, cycle) pairs, the architecture is overwhelmingly bimodal: each cell either emits zero spikes in a given cycle (≈ 79% of the time) or exactly one (≈ 20% of the time). Two-or-more events occur in ≈ 1.1% of cycles; three-or-more in ≈ 0.14%. Pooled over the sweep, 98.9% of pairs carry at most one spike.Figure 2: Per-cell E rate versus measured gamma frequency across the sweep. The busiest cell in each network tracks the one-spike-per-cycle ceiling (max-cell fit , ), while the median cell sits on exp041′s shallower participation slope. The ceiling is near-strict: even the most active cell rarely exceeds one spike per cycle.