The trained networks this entry uses are produced once in the shared training hub, exp022 (Training), and reused here rather than retrained.
Head-to-head comparison of COBA (recurrent inhibitory loop disabled) against PING (loop active) on MNIST under matched architecture and training recipe. PING locks the hidden E rate to ≈ 12 Hz while COBA runs at ≈ 181 Hz; accuracy is within a few points across the two, so the loop buys better than an order-of-magnitude per-spike economy. The rate-vs-accuracy frontier traced by sweeping the rate regulariser shows the floor is structural, not a trade-off the optimiser can navigate away.
Training recipe (canonical / medium tier):
| Parameter | Value |
| Integration timestep | 0.1 ms |
| Trial duration | 200 ms |
| MNIST samples (80/20 stratified split of 2000) | 1600 train / 400 test (≈ 2.9% of the 70k-sample MNIST corpus) |
| Epochs | 100 |
Two configurations of the same COBANet architecture, differing only in whether the E→I→E inhibitory loop is active. COBA (–ei-strength 0) disables the loop; excitatory cells drive each other but receive no structured inhibition. PING (–ei-strength 1) enables the loop, producing pyramidal-interneuron gamma (PING) oscillations at a cadence set by and .
Architecture. excitatory cells, inhibitory cells, single hidden layer. Input: 784 channels (MNIST pixels), Poisson-encoded at 25 Hz peak rate. Readout: mem-mean (time-averaged E spike vector projected through a trained linear layer ; see ar006 for the full readout specification). Dale’s law enforced.
What is trainable. Only the input weights (, 95% sparse) and the readout (). The recurrent weights (fixed at zero, since Börgers-style PING needs no E→E coupling), , and are initialised once and held requires_grad = False. The synaptic time constants , are module-level constants. 813k trainable parameters out of 2.4M total.
Training. Adam, lr = , batch size 256, gradient norm clipped to 1.0. Cross-entropy loss on 10-class MNIST (definition in ar006). Gradient stabiliser: –v-grad-dampen 1000 (uniform scaling of per-step voltage gradients). Three seeds (42, 43, 44) for baselines, one seed (42) for sweep cells.
Recipe difference. The only parameter that differs between COBA and PING besides –ei-strength is the initialisation: COBA uses mean 0.3 (std 0.03), PING uses mean 1.2 (std 0.12). PING needs stronger input drive to reliably recruit the I-loop at init.
Spike-budget regulariser. To probe the rate axis, the training loss adds a soft upper bound on per-trial spike count. For each E cell with mean per-trial spike count :
with the per-cell budget (spikes/trial) and ; only cells over budget contribute, cells under it are free, and the total loss is cross-entropy plus . We sweep six budgets (off, 5, 2, 1, 0.5, 0.2 spikes/trial; at ms this is no penalty, 25, 10, 5, 2.5, 1 Hz), giving twelve cells.
Rate-floor decomposition. The affine law (exp041, exp046) factors the E rate into per-cycle participation and gamma frequency . Both are measured at every cell: from the Welch PSD peak of the E-population trace, via I-burst peak detection and per-(cell, cycle) spike counting (style of exp046).
Basin and landscape probes. To test basin attractivity, four PING networks are trained with initialised at 0.05, 0.1, 0.3, and 1.2 ( from epoch 0; Figure 3). To map the loss landscape around the operating point, each network trained at the heaviest penalty () has its scaled by a common scalar at inference with all other weights frozen, metrics averaged over the test set at 24 values of (Figures 4–5).