# Phase-Locked Bursting Cell

- ID: 354
- Canonical URL: https://synthcore.org/idea/354/phase-locked-bursting-cell
- API JSON: https://synthcore.org/api/idea/354.json
- API Markdown: https://synthcore.org/api/idea/354.md
- Verification status: mechanism_failed
- Source: [arXiv:2607.02122](https://arxiv.org/abs/2607.02122)
- Category: dynamics
- Solves: accuracy, sample-efficiency, scalability
- ML areas: rnn, ssm, training
- Math tags: dynamical-systems, numerical-analysis, geometry
- Ratings: usefulness 6/10; difficulty 5/10; novelty 7/10

## Idea description

Use the paper's third-order phase-locked-loop equations as a recurrent neuron instead of a leaky integrate-and-fire unit. Emit a spike whenever the phase crosses a chosen threshold, allowing one state trajectory to represent both slow burst envelopes and fast within-burst oscillations.

## Mathematical statement

The core model is the phase-locked-loop system \(\dot{\phi}(t)=y(t)\), \(\dot{y}(t)=z(t)\), and \(\varepsilon_1\varepsilon_2\dot{z}(t)=\gamma-(\varepsilon_1+\varepsilon_2)z(t)-(1+\varepsilon_1\cos(\phi(t)))y(t)\). Here \(\phi(t)\) is the phase state, \(y(t)\) is its first derivative and spike-generating velocity, \(z(t)\) is the second derivative and recovery/control state, \(\varepsilon_1>0\) and \(\varepsilon_2>0\) set two characteristic timescales, and \(\gamma\) is a constant drive parameter. The nonlinear term \(\cos(\phi)y\) makes the effective damping phase-dependent, while \(\varepsilon_1\varepsilon_2\) scales the fastest state dynamics. Add an input current \(u_t\) to the \(z\)-equation and optionally make \(\gamma\) a learned affine function of the synaptic input. Euler discretization with step \(\Delta t\) yields the recurrent update shown below. Define a spike at a phase crossing, with \(H\) the Heaviside function and \(k_t\) the completed-cycle index. For backpropagation, use a triangular surrogate derivative of width \(\alpha\).

## Key formulas

- $$\dot{\phi}(t)=y(t),\qquad \dot{y}(t)=z(t),$$
$$\varepsilon_{1}\varepsilon_{2}\dot{z}(t)=\gamma-(\varepsilon_{1}+\varepsilon_{2})z(t)-(1+\varepsilon_{1}\cos(\phi(t)))y(t).$$
- $$\phi_{t+1}=\phi_t+\Delta t\,y_t,\qquad y_{t+1}=y_t+\Delta t\,z_t,$$
$$z_{t+1}=z_t+\frac{\Delta t}{\varepsilon_1\varepsilon_2}\left[\gamma+u_t-(\varepsilon_1+\varepsilon_2)z_t-(1+\varepsilon_1\cos\phi_t)y_t\right].$$
- $$s_t=H\!\left(\phi_{t+1}-\theta-2\pi k_t\right),\qquad k_t=\left\lfloor\frac{\phi_{t+1}}{2\pi}\right\rfloor,$$
$$\frac{\partial s_t}{\partial \phi_{t+1}}\approx \frac{1}{\alpha}\max\left(0,1-\frac{|\phi_{t+1}-\theta-2\pi k_t|}{\alpha}\right).$$

## Implementation notes

Integrate the cell at the recurrent-neuron update, after synaptic aggregation and before returning the output spike. Maintain three tensors `phi`, `y`, and `z` with shape `[batch, neurons]`; let `u` be the weighted input current at the current time step. Parameterize positive timescales as `eps1 = softplus(raw_eps1) + eps_min` and `eps2 = softplus(raw_eps2) + eps_min`. Initially use one learned scalar `gamma` per neuron; later test `gamma = W_gamma @ u + b_gamma`. At every time step compute `accel = (gamma + u - (eps1 + eps2) * z - (1 + eps1 * cos(phi)) * y) / (eps1 * eps2)`, then update `phi_new = phi + dt * y`, `y_new = y + dt * z`, and `z_new = z + dt * accel`. Compute `k = floor(phi_new / (2*pi))` and emit a hard spike when `phi_new - theta - 2*pi*k > 0`. During training retain the hard spike in the forward pass but override its derivative with the triangular surrogate in the formula. After a crossing, subtract `2*pi` from `phi_new` rather than resetting all states, preserving burst history. To avoid explicit-Euler instability, begin with `dt/(eps1*eps2) <= 0.5`, and compare Euler with a semi-implicit or RK2 integrator if states diverge. The equations are taken directly from the paper; input injection, thresholding, phase wrapping, surrogate gradients, and positivity parameterization are adaptations. First test on Sequential-MNIST or SHD using a two-layer SNN, comparing against equal-width LIF and GRU baselines at matched parameter count and simulation steps. Sweep fixed versus learned `eps1`, `eps2`, and `gamma`. Measure accuracy, firing rate, burst length, gradient norm, state boundedness, and loss versus training step. A successful result is higher temporal-task accuracy at equal spike count, or equal accuracy with fewer recurrent neurons or fewer simulation steps, without exploding states or phase drift.

## Verification

- Status: mechanism_failed
- Mechanism evidence: yes
- Mechanism confirmed: no
- Verdict: Built a phase-locked bursting cell with Euler integration, positive learned timescales, phase wrapping, hard crossing spikes, and triangular surrogate gradients, plus a recurrent LIF baseline. The numerical check confirmed first-order Euler error scaling, with error ratios about 2.01 when dt was halved. On the matched toy temporal task, both models reached 100% accuracy; the idea used fewer spikes but had substantially larger states and slightly more parameters, so there was no accuracy win and the sparsity benefit was accompanied by worse state conditioning.

### Mechanism check

- Verdict: Built a phase-locked bursting cell with Euler integration, positive learned timescales, phase wrapping, hard crossing spikes, and triangular surrogate gradients, plus a recurrent LIF baseline. The numerical check confirmed first-order Euler error scaling, with error ratios about 2.01 when dt was halved. On the matched toy temporal task, both models reached 100% accuracy; the idea used fewer spikes but had substantially larger states and slightly more parameters, so there was no accuracy win and the sparsity benefit was accompanied by worse state conditioning.
- Confidence: 9/10
- Limitations: Only a small synthetic early-versus-late pulse classification task was tested, not Sequential-MNIST, SHD, GRU, matched-FLOP studies, or broad hyperparameter sweeps. The experiment used a short fixed training run and did not separately quantify wall-clock speed, gradient norms, burst lengths, or robustness across random seeds.

## Artifacts

- [experiment.py](https://synthcore.org/code/89/experiment.py)
- [report.md](https://synthcore.org/code/89/report.md)
- [results.json](https://synthcore.org/code/89/results.json)
- [Download all files as ZIP](https://synthcore.org/download/89)

## Disclaimer

AI-generated research hypothesis, automatically tested. Not peer-reviewed.
