Manuscript (handwritten)

Eoin Murray and Timothy O’Leary.

The PING-gated-sparsity paper. This entry is the methods backbone — neuron model, network architecture, training recipe, and mean-field derivation — kept in one place so the results-and-discussion companion ar010 and the notebook chain in the Gamma Gated Sparsity collection can cite a single definitions source. The aggregation companion (ar010) carries the introduction, results figures, discussion, and conclusion.

Methods

The neuron model

This paper uses a conductance-based leaky integrate-and-fire (LIF) network with separate excitatory and inhibitory populations, fixed recurrent E↔I matrices, and exponential synapses. The COBA neurons obey

CmdVdt=gL(VEL)ge(VEe)gi(VEi)(1)C_m \frac{dV}{dt} = -g_L (V - E_L) - g_e (V - E_e) - g_i (V - E_i) \tag{1}

where VV is membrane potential, tt is time, CmC_m is capacitance, gLg_L is leak conductance, geg_e is the excitatory synaptic conductance and gig_i is the inhibitory synaptic conductance with reversal potentials EL=65 mVE_L = -65~\text{mV} (leak), Ee=0 mVE_e = 0~\text{mV} (excitatory), Ei=80 mVE_i = -80~\text{mV} (inhibitory). Each conductance term pulls VV toward its reversal potential at a rate proportional to the conductance. Excitatory synapses drive VV up towards Ee=0E_e = 0 and inhibitory synapses both pull it down towards Ei=80E_i = -80 and increase total conductance, which lowers the effective membrane time constant — this is shunting inhibition.

Conductances are non-negative; the sign lives in the driving force

In the COBA formulation gLg_L, geg_e, and gig_i are all non-negative — they measure how many ion channels are open, not how much current flows or in which direction. The signed-ness lives in the current, Iion=gion(VEion)I_{\text{ion}} = g_{\text{ion}}\,(V - E_{\text{ion}}). At a typical resting V65 mVV \approx -65~\text{mV}, the driving force (VEe)=65<0(V - E_e) = -65 < 0 makes IeI_e inward (depolarising, pulls VV up toward Ee=0E_e = 0), while (VEi)=+15>0(V - E_i) = +15 > 0 makes IiI_i outward (hyperpolarising, pulls VV down toward Ei=80E_i = -80). A single positive gig_i trace does both jobs: it raises gtotg_{\text{tot}} (the shunting) and pulls VV_\infty toward EiE_i (the hyperpolarising drive, hidden inside VV_\infty). This is what distinguishes COBA from current based models (CUBA), where inhibition is a signed weight that subtracts from a net current; in COBA the sign flip is purely in the driving force, never in the conductance.

Equation (1) can be written as a linear first-order ODE in the form CmV˙=AV+BC_m \dot{V} = -AV + B with A=gL+ge+giA = g_L + g_e + g_i and B=gLEL+geEe+giEiB = g_L E_L + g_e E_e + g_i E_i. Setting V˙=0\dot{V} = 0 we find the voltage at which the inflow BB exactly balances the outflow AVAV, and name that voltage VV_\infty. We define accordingly:

gtot=gL+ge+gi(2)g_{\text{tot}} = g_L + g_e + g_i \tag{2} τeff=Cmgtot(3)\tau_{\text{eff}} = \frac{C_m}{g_{\text{tot}}} \tag{3} V=gLEL+geEe+giEigtot(4)V_\infty = \frac{g_L E_L + g_e E_e + g_i E_i}{g_{\text{tot}}} \tag{4}

Substituting equations (2)–(4) into (1) and dividing through by gtotg_{\text{tot}} yields the standard “decay-to-steady-state” form

τeffdVdt=(VV)(5)\tau_{\text{eff}} \frac{dV}{dt} = -(V - V_\infty) \tag{5}

Integrating over an interval where τeff\tau_{\text{eff}} and VV_\infty are held constant gives the closed-form solution

V(t)=V+(V0V)exp ⁣(tτeff),V(t) = V_\infty + (V_0 - V_\infty) \exp\!\left(\frac{-t}{\tau_{\text{eff}}}\right),

the membrane interpolates from its starting value V0V_0 toward VV_\infty on timescale τeff\tau_{\text{eff}}. However in continuous time τeff\tau_{\text{eff}} and VV_\infty are not constant — both depend on ge(t)g_e(t) and gi(t)g_i(t) which evolve as spikes arrive. A zero-order hold makes this numerically tractable: freeze geg_e and gig_i over one timestep Δt\Delta t, integrate (5) exactly under that freeze, then update geg_e and gig_i for the next timestep. Under that freeze, (5) integrates analytically to

Vt+1=V+(VtV)exp ⁣(Δtτeff).V_{t+1} = V_\infty + (V_t - V_\infty) \exp\!\left(\frac{-\Delta t}{\tau_{\text{eff}}}\right).

After the membrane update, apply the spike reset:

St+1=1[Vt+1Vth],Vt+1Vreset if St+1=1 or refractoryS_{t+1} = \mathbb{1}[V_{t+1} \geq V_{\text{th}}], \qquad V_{t+1} \leftarrow V_{\text{reset}} \text{ if } S_{t+1} = 1 \text{ or refractory}

with Vth=50 mVV_{\text{th}} = -50~\text{mV} and Vreset=65 mVV_{\text{reset}} = -65~\text{mV}. Refractory periods are τrefe=3 ms\tau^e_{\text{ref}} = 3~\text{ms} and τrefi=1.5 ms\tau^i_{\text{ref}} = 1.5~\text{ms}, held in a per-neuron countdown that suppresses spiking until exhaustion.

Each conductance is the convolution of its presynaptic spike train with a decaying exponential. For a single neuron receiving feedforward input only:

ge,t+1=αge,t+Winstinpg_{e, t+1} = \alpha\, g_{e, t} + W_{\text{in}} s^{\text{inp}}_t

where α=exp(Δt/τAMPA)\alpha = \exp(-\Delta t / \tau_{\text{AMPA}}) is the per-step AMPA decay factor. Between spikes the conductance decays exponentially toward zero; each arriving spike adds a kick proportional to the synaptic weight. The inhibitory conductance gig_i follows the same form with GABA decay γ=exp(Δt/τGABA)\gamma = \exp(-\Delta t / \tau_{\text{GABA}}).

In a network with E and I populations, two recurrent pathways close the PING loop alongside the feedforward input. There are no E→E connections.

ge,t+1E=αge,tE+Winstinp(6)g^E_{e,t+1} = \alpha\, g^E_{e,t} + W_{\text{in}} s^{\text{inp}}_t \tag{6} gi,t+1E=γ(gi,tE+Wiesti)(7)g^E_{i,t+1} = \gamma\, (g^E_{i,t} + W_{\text{ie}} s^i_t) \tag{7} ge,t+1I=α(ge,tI+Weiste)(8)g^I_{e,t+1} = \alpha\, (g^I_{e,t} + W_{\text{ei}} s^e_t) \tag{8}

Equation (6) is the excitatory conductance on E neurons — purely feedforward, no recurrent E→E term. Equation (7) is the inhibitory conductance on E neurons — driven by I spikes through WieW_{\text{ie}}. Equation (8) is the excitatory conductance on I neurons — driven by E spikes through WeiW_{\text{ei}}. I neurons receive no inhibition. The trainable feedforward input WinstinpW_{\text{in}} s^{\text{inp}}_t enters E’s excitatory conductance after the decay step, arriving fresh each timestep regardless of recurrent state.

The model emits two modes, COBA and PING; when PING mode is active the WeiW_{\text{ei}} and WieW_{\text{ie}} matrices are fixed at init and are not trainable. They are controlled by a single scalar flag ss:

WeiN(s, 0.1s)W_{\text{ei}} \sim \mathcal{N}(s,\ 0.1\,s) WieN(2.0s, 0.2s)W_{\text{ie}} \sim \mathcal{N}(2.0\,s,\ 0.2\,s)

At s=0s = 0 both matrices are zero, the loop is open, and the network is feedforward COBA. At s=1s = 1 the default initialisation gives Wei1 μSW_{\text{ei}} \approx 1~\mu\text{S} and Wie2 μSW_{\text{ie}} \approx 2~\mu\text{S}, strong enough to sustain the PING rhythm from the first forward pass of training.

For each timestep tt+1t \to t+1, the simulator applies the four updates below in a fixed order. The two populations are updated by the same template but with different driving inputs; they’re written out separately here so the recurrent coupling is explicit.

Equations Summary

E neurons (driven by feedforward input and inhibitory feedback):

(i)ge,t+1E=αge,tE+Winstinp,gi,t+1E=γ(gi,tE+Wiesti)[eqs. 6, 7](ii)gtotE=gL+geE+giE,τeffE=CmgtotE,VE=gLEL+geEEe+giEEigtotE[eqs. 2, 3, 4](iii)Vt+1E=VE+(VtEVE)exp ⁣(Δt/τeffE)membrane(iv)st+1e=1[Vt+1EVth],Vt+1EVreset if st+1e=1 or refractoryspike + reset\begin{aligned} \text{(i)} \quad & g^E_{e,t+1} = \alpha\, g^E_{e,t} + W_{\text{in}}\, s^{\text{inp}}_t, \qquad g^E_{i,t+1} = \gamma\, (g^E_{i,t} + W_{\text{ie}}\, s^i_t) & \text{[eqs.\ 6, 7]} \\[0.7em] \text{(ii)} \quad & g^E_{\text{tot}} = g_L + g^E_e + g^E_i,\quad \tau^E_{\text{eff}} = \frac{C_m}{g^E_{\text{tot}}},\quad V^E_\infty = \frac{g_L E_L + g^E_e E_e + g^E_i E_i}{g^E_{\text{tot}}} & \text{[eqs.\ 2, 3, 4]} \\[0.7em] \text{(iii)} \quad & V^E_{t+1} = V^E_\infty + (V^E_t - V^E_\infty)\, \exp\!\left(-\Delta t / \tau^E_{\text{eff}}\right) & \text{membrane} \\[0.7em] \text{(iv)} \quad & s^e_{t+1} = \mathbb{1}[V^E_{t+1} \geq V_{\text{th}}],\quad V^E_{t+1} \leftarrow V_{\text{reset}} \text{ if } s^e_{t+1}=1 \text{ or refractory} & \text{spike + reset} \end{aligned}

I neurons (driven by excitatory feedback only; no inhibitory input):

(i)ge,t+1I=α(ge,tI+Weiste)[eq. 8](ii)gtotI=gL+geI,τeffI=CmgtotI,VI=gLEL+geIEegtotI[eqs. 2, 3, 4](iii)Vt+1I=VI+(VtIVI)exp ⁣(Δt/τeffI)membrane(iv)st+1i=1[Vt+1IVth],Vt+1IVreset if st+1i=1 or refractoryspike + reset\begin{aligned} \text{(i)} \quad & g^I_{e,t+1} = \alpha\, (g^I_{e,t} + W_{\text{ei}}\, s^e_t) & \text{[eq.\ 8]} \\[0.7em] \text{(ii)} \quad & g^I_{\text{tot}} = g_L + g^I_e,\quad \tau^I_{\text{eff}} = \frac{C_m}{g^I_{\text{tot}}},\quad V^I_\infty = \frac{g_L E_L + g^I_e E_e}{g^I_{\text{tot}}} & \text{[eqs.\ 2, 3, 4]} \\[0.7em] \text{(iii)} \quad & V^I_{t+1} = V^I_\infty + (V^I_t - V^I_\infty)\, \exp\!\left(-\Delta t / \tau^I_{\text{eff}}\right) & \text{membrane} \\[0.7em] \text{(iv)} \quad & s^i_{t+1} = \mathbb{1}[V^I_{t+1} \geq V_{\text{th}}],\quad V^I_{t+1} \leftarrow V_{\text{reset}} \text{ if } s^i_{t+1}=1 \text{ or refractory} & \text{spike + reset} \end{aligned}
Symbols
  • VtE,VtIV^E_t, V^I_t — membrane potential of E and I populations at step tt (mV)
  • geE,giEg^E_e, g^E_i — excitatory / inhibitory conductances on E neurons (µS)
  • geIg^I_e — excitatory conductance on I neurons (µS); I receives no inhibition
  • gtot,τeff,Vg_{\text{tot}}, \tau_{\text{eff}}, V_\infty — per-step aggregate conductance, effective membrane time constant, steady-state voltage
  • CmC_m — membrane capacitance (1.0 nF on E, 0.5 nF on I)
  • gL,ELg_L, E_L — leak conductance (0.05 µS on E, 0.1 µS on I) and reversal potential (−65 mV)
  • Ee,EiE_e, E_i — synaptic reversal potentials (0 mV, −80 mV)
  • Vth,VresetV_{\text{th}}, V_{\text{reset}} — spike threshold (−50 mV) and reset voltage (−65 mV)
  • τrefe,τrefi\tau_{\text{ref}}^e, \tau_{\text{ref}}^i — refractory periods (3 ms, 1.5 ms)
  • α=eΔt/τAMPA\alpha = e^{-\Delta t / \tau_{\text{AMPA}}} — per-step AMPA decay factor (τAMPA=2\tau_\text{AMPA} = 2 ms)
  • γ=eΔt/τGABA\gamma = e^{-\Delta t / \tau_{\text{GABA}}} — per-step GABA decay factor (τGABA=9\tau_\text{GABA} = 9 ms)
  • Win,Wei,WieW_{\text{in}}, W_{\text{ei}}, W_{\text{ie}} — feedforward (trained), E→I, and I→E weight matrices (Wei1W_{\text{ei}} \approx 1 µS, Wie2W_{\text{ie}} \approx 2 µS at PING init s=1s = 1)
  • stinp,ste,stis^{\text{inp}}_t, s^e_t, s^i_t — input, excitatory, and inhibitory spike trains at step tt
  • Δt\Delta t — integration timestep (0.1 ms)

The E and I populations are updated synchronously: at step t+1t+1 both read the spike outputs stes^e_t, stis^i_t from step tt to drive their conductances, and both emit fresh spikes st+1es^e_{t+1}, st+1is^i_{t+1} at the end of the step. Synchronous-step semantics keep the E→I→E gamma cycle phase-locked to the integration grid.

Network model

Training

Mean field derivation

Homogeneous coupling

The weight matrices in the simulator are random with finite variance. We replace them by their means: WkjEIwEIW^{EI}_{kj} \to w^{EI} and WjkIEwIEW^{IE}_{jk} \to w^{IE} for all j,kj, k, and introduce population mean firing rates

E(t)    1NEj=1NEsjE(t),I(t)    1NIk=1NIskI(t)(9)E(t) \;\equiv\; \frac{1}{N_E}\sum_{j=1}^{N_E} s_j^E(t), \qquad I(t) \;\equiv\; \frac{1}{N_I}\sum_{k=1}^{N_I} s_k^I(t) \tag{9}

so that the presynaptic summation terms in equations (6)–(8) collapse onto these rates:

jWkjEIsjE    wEIjsjE  =  wEINEE(t)(10)\sum_j W^{EI}_{kj}\,s_j^E \;\longrightarrow\; w^{EI} \sum_j s_j^E \;=\; w^{EI}\, N_E\, E(t) \tag{10} kWjkIEskI    wIEkskI  =  wIENII(t)(11)\sum_k W^{IE}_{jk}\,s_k^I \;\longrightarrow\; w^{IE} \sum_k s_k^I \;=\; w^{IE}\, N_I\, I(t) \tag{11}

Under equations (10)–(11) every E cell sees the same giEg_i^E and every I cell sees the same geIg_e^I. The per-cell conductance equations collapse to two population-mean equations.

Defining lumped couplings

W~EI    wEINE,W~IE    wIENI(12)\tilde W^{EI} \;\equiv\; w^{EI} N_E, \qquad \tilde W^{IE} \;\equiv\; w^{IE} N_I \tag{12}

the conductance dynamics become

τAMPAg˙eI  =  geI  +  W~EIE(13)\tau_\text{AMPA}\,\dot g_e^I \;=\; -g_e^I \;+\; \tilde W^{EI}\,E \tag{13} τGABAg˙iE  =  giE  +  W~IEI(14)\tau_\text{GABA}\,\dot g_i^E \;=\; -g_i^E \;+\; \tilde W^{IE}\,I \tag{14}

Driving force linearisation

The synaptic terms in equation (1) still depend on VV through driving force terms (VEi)(V - E_i) and (VEe)(V - E_e). Take VV to its resting value in the synaptic terms, with Vrest=65V_\text{rest} = -65 mV:

ΔVinh    VrestEi  =  65(80)  =  15 mV(15)\Delta V_\text{inh} \;\equiv\; V_\text{rest} - E_i \;=\; -65 - (-80) \;=\; 15~\text{mV} \tag{15} ΔVexc    VrestEe  =  650  =  65 mV(16)\Delta V_\text{exc} \;\equiv\; V_\text{rest} - E_e \;=\; -65 - 0 \;=\; -65~\text{mV} \tag{16}

(so (VEe)ΔVexc=+65-(V - E_e) \approx -\Delta V_\text{exc} = +65 mV — depolarising drive on I). The synaptic currents in equation (1) become

giE(VjEEi)    giEΔVinh(17)-g_i^E (V_j^E - E_i) \;\approx\; -g_i^E\,\Delta V_\text{inh} \tag{17} geI(VkIEe)    geIΔVexc  =  +geIEeVrest(18)-g_e^I (V_k^I - E_e) \;\approx\; -g_e^I\,\Delta V_\text{exc} \;=\; +g_e^I \cdot |E_e - V_\text{rest}| \tag{18}

each synaptic input is now linear in conductance.

Population rate from f-I curve

A LIF cell receiving constant net input current II fires at a rate ϕ(I)\phi(I) where ϕ\phi is its f-I curve. Replacing each cell’s spike output by its rate response gives:

E(t)    ϕE ⁣(IeffE(t)),I(t)    ϕI ⁣(IeffI(t))(19)E(t) \;\approx\; \phi_E\!\big(I_\text{eff}^E(t)\big), \qquad I(t) \;\approx\; \phi_I\!\big(I_\text{eff}^I(t)\big) \tag{19}

with effective input currents (from equation (1) with the linearisation (17)–(18) substituted):

IeffE(t)  =  Iext(t)    giE(t)ΔVinh(20)I_\text{eff}^E(t) \;=\; I_\text{ext}(t) \;-\; g_i^E(t)\,\Delta V_\text{inh} \tag{20} IeffI(t)  =  geI(t)ΔVexc(21)I_\text{eff}^I(t) \;=\; g_e^I(t)\,|\Delta V_\text{exc}| \tag{21}

The instantaneous-rate replacement (19) is only valid when input changes are slow compared to the membrane integration time. In reality, E(t)E(t) relaxes toward the f-I-curve fixed point on its membrane time constant τE\tau_E. Encode this with an explicit relaxation:

τEE˙  =  E  +  ΦE ⁣(IextgiEΔVinh)(22)\tau_E\,\dot E \;=\; -E \;+\; \Phi_E\!\big(I_\text{ext} - g_i^E\,\Delta V_\text{inh}\big) \tag{22} τII˙  =  I  +  ΦI ⁣(geIΔVexc)(23)\tau_I\,\dot I \;=\; -I \;+\; \Phi_I\!\big(g_e^I\,|\Delta V_\text{exc}|\big) \tag{23}

where ΦE,ΦI\Phi_E, \Phi_I are the smooth steady-state gain functions (sigmoids in the numerics). Drives that change faster than τE,τI\tau_E, \tau_I are filtered; the rate doesn’t snap to the f-I curve instantaneously. Together with the conductance dynamics (13)–(14) we now have four equations in (E,I,geI,giE)(E, I, g_e^I, g_i^E).

Absorb the driving-force constants

The fixed prefactors ΔVinh,ΔVexc\Delta V_\text{inh}, |\Delta V_\text{exc}| in equations (22)–(23) and the fan-in scalings W~EI,W~IE\tilde W^{EI}, \tilde W^{IE} in (12) are just multiplicative constants — they don’t carry dynamical information. Fold them into the couplings:

WEI    W~EIΔVexc,WIE    W~IEΔVinh(24)W^{EI} \;\equiv\; \tilde W^{EI} \cdot |\Delta V_\text{exc}|, \qquad W^{IE} \;\equiv\; \tilde W^{IE} \cdot \Delta V_\text{inh} \tag{24}

and likewise absorb the ΔVexc|\Delta V_\text{exc}| inside the I-cell argument by redefining geIgeIΔVexcg_e^I \mapsto g_e^I \cdot |\Delta V_\text{exc}| (similarly for giEg_i^E). The conductances now have units of input current rather than µS; the f-I curves take their argument directly. This change of variables is pure bookkeeping — no dynamics are lost.

The 4D system

After applying equations (10)–(24), the mean-field system in state (E,I,geI,giE)(E, I, g_e^I, g_i^E) is

τEE˙=E+ΦE(IextgiE),τII˙=I+ΦI(geI)(25)\tau_E\,\dot E = -E + \Phi_E(I_\text{ext} - g_i^E), \qquad \tau_I\,\dot I = -I + \Phi_I(g_e^I) \tag{25} τAMPAg˙eI=geI+WEIE,τGABAg˙iE=giE+WIEI(26)\tau_\text{AMPA}\,\dot g_e^I = -g_e^I + W^{EI}\,E, \qquad \tau_\text{GABA}\,\dot g_i^E = -g_i^E + W^{IE}\,I \tag{26}

Equations (25)–(26) are the canonical 4D Wilson-Cowan-type reduction.

Summary of approximations

EquationsApproximationWhat’s lost
(9)–(11)homogeneous coupling, smooth-rate densityweight heterogeneity, finite-size noise
(15)–(18)VVrestV \approx V_\text{rest} in driving forceshunting, threshold-crossing nonlinearity
(22)–(23)single relaxational mode at τE,τI\tau_E, \tau_Isub-membrane dynamics, refractoriness
(24)absorb constants into WW and ggnothing (bookkeeping only)

4D Jacobian and Hopf criterion

At a fixed point (E,I,geI,giE)(E^\star, I^\star, g_e^{I\star}, g_i^{E\star}):

J=(1/τE00ΦE/τE01/τIΦI/τI0WEI/τAMPA01/τAMPA00WIE/τGABA01/τGABA)(27)J = \begin{pmatrix} -1/\tau_E & 0 & 0 & -\Phi'_E/\tau_E \\ 0 & -1/\tau_I & \Phi'_I/\tau_I & 0 \\ W^{EI}/\tau_\text{AMPA} & 0 & -1/\tau_\text{AMPA} & 0 \\ 0 & W^{IE}/\tau_\text{GABA} & 0 & -1/\tau_\text{GABA} \end{pmatrix} \tag{27}

with ΦE,ΦI\Phi'_E, \Phi'_I at the fixed-point arguments. The Hopf is the smallest IextI_\text{ext}^\star at which the leading pair crosses the imaginary axis: Re(λ)=0\mathrm{Re}(\lambda) = 0, Im(λ)=ω\mathrm{Im}(\lambda) = \omega^\star, with predicted gamma frequency f=ω/(2π)f^\star = \omega^\star / (2\pi).