Renart (2010): Asynchronous Irregular State
Irregular firing and asynchronous population activity in a shared-input conductance network, measured for 30 seconds after 50 ms burn-in.
Abstract
Inspired by Renart et al. (2010), we simulated 4,000 excitatory and 1,000 inhibitory neurons receiving shared input. Over 30 seconds, neurons fired irregularly while their collective activity stayed weakly correlated. Opposing excitatory and inhibitory currents partly cancelled shared fluctuations. This supports an asynchronous irregular (AI) state in this network. Other seeds and input conditions remain untested, and the slowest neurons are poorly sampled.
Results
Raster
Each dot is a spike: excitatory (E) neurons are black and inhibitory (I) neurons are red. Their mean firing rates are 1.18 and 4.6 Hz. We measure 30 seconds after excluding the first 50 ms, allowing activity to settle.
A: all E and I spikes during the 30-second measurement. B: the first 200 ms of the same raster. E is black and I is red. Both panels show all 5,000 neurons at seed 42, without training; time starts after the 50 ms burn-in.
Verifying AI state
We check irregular firing, weak correlations, population averaging and opposing current fluctuations. Together these support the AI interpretation; no single panel is a pass/fail test.
A: firing-interval variability; the dashed line marks CV = 1. E is black and I is red. B: mean correlations in sliding 5, 20 and 50 ms windows, advanced by 1 ms, among up to 200 cells per population; shading is ±1 pairwise standard deviation. Cells with constant counts are excluded. C: normalised population variance; shading spans the 5th–95th percentiles across 50 random groups, not confidence intervals. D: current covariances across 32 sampled E cells. Black is the total; grey dots show the total after 20 ms exponential filtering. All current curves share one scale. All panels use the same recording as Figure 1.
We now check whether this network is in an asynchronous irregular (AI) state. Following Renart et al. (2010), we use irregular firing, weak pairwise correlations, population averaging and current cancellation as complementary checks. These metrics are adapted to our simulation; together they assess the AI interpretation rather than provide a single pass/fail test.
Panel A — Irregular firing.
This plot shows how unevenly individual neurons space their spikes. Values near one indicate irregular firing; values near zero indicate regular firing. Our neurons mostly fire irregularly.
For neuron , contains the gaps between spikes; is their standard deviation and angle brackets give their mean.
We look for CV near one rather than near zero, which would mean regular firing. Our medians are 0.97 for E and 1.06 for I, supporting irregular firing.
Panel B — Weak average synchrony.
This plot asks whether neurons tend to fire more or less at the same time. The averages stay near zero, meaning little shared fluctuation on average, although individual pairs can still be correlated.
Here and count spikes from neurons in windows of length . Covariance and variance measure joint and individual fluctuations across windows .
We look for mean correlations near zero. All three pair types stay close to zero, supporting weak average synchrony. Individual pairs can still be correlated; the shaded spread includes noise from the short recording. Windows advance by 1 ms, following Renart’s sliding-window approach. Overlapping windows do not provide independent samples.
Panel C — Fluctuations average away.
This plot shows whether averaging more neurons makes population activity steadier. Our curves fall close to the independent-neuron reference, suggesting that individual fluctuations largely cancel rather than form a strong collective fluctuation.
Here contains neurons and is neuron ‘s count in each 20 ms bin. The ratio compares the variance of their average with their mean individual variance, across bins . Independent neurons give
We look for a decline along this reference rather than a plateau. Our slopes are -0.94 for E and -1.05 for I, close to −1. Fluctuations therefore largely average away. This compares groups within one network, not networks of different sizes.
Panel D — Opposing current fluctuations.
This plot shows how excitatory and inhibitory current fluctuations counteract each other. Their opposing contributions leave a smaller total fluctuation shared between neurons, consistent with a mechanism that helps keep the network asynchronous.
with
Here is signed current into neuron at time ; label excitatory (E) or inhibitory (I) current, and is the time lag. Each is a covariance averaged over distinct sampled target pairs , in nA²; excitation includes external input.
We look for negative cross-type curves opposing positive same-type curves, leaving a smaller black total. This cancels 71.2% of the same-type covariance at zero lag.
Methods
Figure 2 calculations
- Panel A: spike-interval variability (Equation A2).
- Panel B: sliding-window correlation (Equation B2).
- Panel C: population averaging (Equation C1).
- Panel D: current covariance (Equation D2).
Comparison with the canonical network
Both networks use conductance-based LIF neurons. The canonical column describes our reference PING network; its COBA variant switches off the E↔I loop. Values for this network come from the displayed run’s saved network and settings.
| Feature | This network | Canonical PING |
|---|---|---|
| E / I neurons | 4,000 / 1,000 | 1,024 / 256, plus 10 outputs |
| External sources | 4,000; each at 2.5 Hz | 784 pixels; up to 25 Hz each |
| External input targets | Both E and I | E only |
| Recurrent pathways | E→E, E→I, I→E, I→I | E→I and I→E |
| Connectivity | 20% on all pathways | 5% input connectivity; dense E↔I |
| Derived time constants, E / I (ms) | 14.97 / 14.97 | 20 / 5 |
| Excitatory / inhibitory synaptic decay (ms) | 5 / 5 | 2 / 6 |
| Excitatory / inhibitory recurrent delay (ms) | 1 / 0.5 | 0.1 / 0.1 |
| Rest / reset voltage (mV) | -70 / -60 | −65 / −65 |
| Execution | 30-second measurement; fixed weights | 200 ms per image; input and readout weights trained |
- Size: This network is roughly four times larger. Both networks have the same 4:1 E:I ratio.
- Input: This network drives both E and I directly with uniform Poisson input. Canonical PING drives E alone with pixel-dependent input.
- Recurrence: This network includes all four E/I pathways at 20% connectivity. Canonical PING has only the E↔I loop, with dense connections.
- Response times: This network has equal derived E/I time constants and equal synaptic decay times, with longer delays. Canonical PING has faster inhibitory neurons and faster excitation. Derived constants use capacitance divided by leak conductance, excluding synaptic conductance.
- Weights: This network uses physical conductance strengths; canonical weights use fan-in normalisation. Input rates alone therefore do not compare total drive.
The following appendices document each panel of Figure 2. They adapt the diagnostics discussed by Renart et al. (2010) to this simulation. All panels use the 30-second recording after 50 ms burn-in. Cell selection, counting windows and plotting choices below describe this implementation, rather than an exact copy of the paper.
Appendix A — Panel A: irregular firing
-
Select neurons and measure intervals.
Use all recorded E and I spike trains after burn-in. Keep cells with at least 20 spikes. For each retained neuron, measure gaps between consecutive spikes; do not include gaps crossing the start or end of the measurement period.
Here identifies a neuron, is its th spike time in ms, is an interspike interval, and is its number of intervals (one fewer than its spike count).
-
Calculate variability.
Calculate each neuron’s mean interval and standard deviation, then divide them to obtain its coefficient of variation (CV). The implementation uses the population standard deviation, dividing by rather than .
Here and are in ms, so CV has no units. Cells without a finite CV are excluded from the histogram. No smoothing or fitted distribution is applied.
-
Plot the distributions.
Use 25 equal-width bins shared by E and I. They run from zero to the larger of 2.5 or 1.05 times the largest eligible CV. Plot each population as a separately normalised density histogram:
Here denotes E or I, identifies a histogram bin, counts eligible neurons in that bin, is the population’s total number of eligible neurons, and is the bin width in CV units. Thus each histogram has area one. The x-axis is CV and the y-axis is density, not a neuron count. Black shows E and red shows I. Annotations give medians and eligibility counts; the vertical dashed line marks CV = 1. Values near zero indicate regular firing; values near one support irregular firing, without proving a Poisson process.
Appendix B — Panel B: weak average synchrony
-
Choose cells and slide the counting window.
Select up to 200 evenly spaced neuron indices from each population. This selection is fixed, rather than randomly redrawn. Count spikes in complete 5, 20 and 50 ms windows, each advanced by 1 ms. No window extends into burn-in or beyond the recording.
Here is neuron ‘s count in window , is a post-burn-in spike time, is the window width, is the slide step (all times in ms), and is one when its condition holds and zero otherwise. The sum runs over that neuron’s spikes. Windows start at for nonnegative integers satisfying , where is the measurement duration. The code bins at the slide step and uses cumulative sums to obtain these same counts efficiently.
-
Calculate each pair’s correlation.
For each window width, subtract each cell’s mean count across windows and calculate Pearson correlation. Exclude cells whose counts have zero variance at that width; the 20-spike threshold from Panel A does not apply here.
Here is the mean count over complete windows, is its centred count, identify distinct neurons, and the sums cover the same windows for both cells. Correlation has no units and lies between −1 and +1. It measures same-window association, rather than a lagged correlation.
-
Plot means and pairwise spread.
Collect each distinct E–E and I–I pair once, and every selected E–I pair. For each pair type and window width, plot its mean correlation and shade one standard deviation on either side:
Here is the number of valid neuron pairs, is one pair’s correlation, is the plotted mean, and is the pairwise standard deviation. The x-axis is counting-window width in ms, not elapsed recording time. The y-axis is mean Pearson correlation. Black shows E–E, red I–I and cyan E–I; the horizontal dashed line marks zero. Connecting lines join the three measured widths. Shading is spread between pairs, not a confidence interval. Overlapping windows and pairs sharing neurons are not independent observations.
Appendix C — Panel C: population averaging
-
Count spikes and choose groups.
Count all E and I spikes in disjoint 20 ms bins, separately for each population. Unlike Panel B, these bins do not slide. Include low-rate and silent neurons. Test group sizes 4, 8, 16, and successive powers of two through 2,048, capped at the population size; also include the full population and remove duplicate sizes. For each size, draw 50 groups without replacement within each group. Different groups may overlap and need not be nested. Selection uses fixed random seeds, separately for E and I.
-
Measure how much averaging reduces fluctuations.
For each group, average its counts in each bin, then compare the variance of this average with the mean individual variance:
Here is a selected group of neurons, identifies a member, indexes 20 ms bins, is its spike count, and is the group average. Variance is calculated across bins, using division by the number of bins. The ratio has no units. Exclude groups whose denominator is zero. For uncorrelated count fluctuations, the reference is
This reference does not require Poisson firing. Positive shared fluctuations can keep the ratio above it and produce a plateau at large group sizes.
-
Plot groups and fit the slope.
The x-axis is group size and the y-axis is normalised variance ; both axes are logarithmic. Black shows E and red shows I. At each size, plot the median across valid groups and shade their 5th–95th percentiles. The grey dashed line is the independent-neuron reference. Fit a straight line to all finite, positive median points in log–log coordinates:
Here is the median group ratio, is a fitted intercept, and is the slope shown in the legend. Each group size receives equal weight; the reference slope is −1. Shading describes group selection, not uncertainty across time or network seeds. At full population size, every draw contains the same neurons. This is a pooling test within one network, not a network-size sweep.
Appendix D — Panel D: current covariance cancellation
-
Reconstruct signed currents.
Use the 32 evenly spaced E target neurons with recorded voltages and conductances. Combine recurrent and external excitation. At each raw simulation step, reconstruct currents using that step’s conductances and the preceding voltage, matching the simulator’s held-conductance update:
Here indexes raw simulation steps, identifies a sampled target, are recurrent excitatory, external excitatory and inhibitory conductances in µS, are reversal potentials in mV, and is membrane voltage in mV. Signed currents are in nA. The first raw step uses the resting voltage; reconstruction precedes burn-in removal, so the first measured step uses the final burn-in voltage. Excitation is generally positive and inhibition negative in this voltage range.
-
Average covariance over time and distinct target pairs.
Remove burn-in and subtract each current trace’s mean over the entire remaining recording. At each lag, average products of these centred currents over every valid time sample and every ordered pair of different target neurons:
Here denote E or I current, is the number of sampled targets, is the number of post-burn-in samples, index those samples, is an integer lag, and is the simulation timestep. The overlap set contains indices for which both and are inside the recording. Thus positive lag compares the first current with a later value of the second. The denominator uses the actual overlap length; means remain global rather than being recalculated at each lag.
With 32 targets there are 992 ordered distinct-cell pairs. Same-cell terms are excluded. An FFT computes these sums efficiently with padding to prevent circular wraparound; it does not smooth the curves. All components use the same pair set and normalisation.
-
Sum components and calculate cancellation.
Compute the four components and their sum, and separately check that the sum matches covariance calculated from the total current:
Here is lag in ms and is the between-cell covariance of summed E and I current. The cancellation percentage at zero lag is
This compares the total with the sum of same-type components; it is reported when that denominator is positive. The in-plot annotation gives the ratio inside the subtraction, rather than the percentage. This decomposition describes coordinated fluctuations, not just a balance of mean currents.
-
Filter only the additional total-current trace.
For the grey dotted trace, first apply a causal 20 ms exponential filter to each cell’s total current, then calculate its covariance using the same procedure:
Here is total current, is filtered total current, ms is the filter time constant, and is its decay factor. Initialise the filter at zero before the first raw step and filter the full record before removing burn-in. This is covariance of filtered currents, not smoothing applied to the plotted covariance curve.
-
Read the axes and traces.
The x-axis is lag in ms, from −50 to +50, at the simulation timestep. The y-axis is mean between-cell covariance in nA², not correlation bounded by −1 and +1. Dashed black shows EE, solid red II, solid cyan EI and dashed amber IE. Solid black is their total; the grey dotted line shows the filtered total’s covariance. E and I label current types here: every target neuron is E.
Negative cross-type components oppose positive same-type components, reducing the black total around zero lag. The main curves receive no extra smoothing or fitted shape. They look smooth because synaptic currents have finite decay times and covariance is averaged over time and many pairs. Neither the pairs nor neighbouring lag points are independent, and no confidence band is shown.
Network diagram
is the shared external pool; and are the excitatory and inhibitory populations. Every projection is labelled , with target first and source second. Arrowheads show excitation; bars show inhibition. The layout comes from the saved executed bundle and omits recording aliases. Circuit exported from the compiled bundle used for the displayed simulation. Excitatory (E) and inhibitory (I) populations receive the same external (X) spike raster through separate projections. All four recurrent E/I projections are present; same-population autapses are excluded.
Parameters
The table uses the saved starting network and settings behind the displayed figures. Paired values are E / I. Synapses use a single decay time and fixed delays, approximating the paper’s model. Weight sampling compensates for SNNLab’s sparse rescaling; clamping negative samples slightly increases the surviving mean. The table distinguishes these weight definitions and includes zeros in overall statistics.
All measurements exclude burn-in. Count windows slide by 1 ms. Signed currents are reconstructed from conductances and the preceding voltage; current covariances compare distinct cells. Excitation includes recurrent and external input.
| Parameter | Saved value |
|---|---|
| Network | |
| E / I neurons | 4000 / 1000 |
| Shared external X sources | 4000 |
| E→E autapses allowed | false |
| E→I autapses allowed | false |
| I→E autapses allowed | false |
| I→I autapses allowed | false |
| X→E autapses allowed | false |
| X→I autapses allowed | false |
| Neurons | |
| Neuron model, E / I | coba_lif / coba_lif |
| Capacitance, E / I (nF) | 0.25 / 0.25 |
| Leak conductance, E / I (µS) | 0.0167 / 0.0167 |
| Derived time constants, E / I (ms) | 14.9701 / 14.9701 |
| Resting potential, E / I (mV) | -70 / -70 |
| Initial voltage, E / I (mV) | -70 / -70 |
| Reset potential, E / I (mV) | -60 / -60 |
| Spike threshold, E / I (mV) | -50 / -50 |
| Excitatory reversal, E / I (mV) | 0 / 0 |
| Inhibitory reversal, E / I (mV) | -80 / -80 |
| Refractory duration, E / I (ms) | 2 / 1 |
| Refractory scheduling | following_steps |
| Synapses and weights | |
| E→E synapse / decay / delay (ms) | ampa / 5 / 1 |
| E→E initializer / scaling | lower_clamped_normal / direct |
| E→E compensated initializer mean / SD (µS) | 0.000096 / 0.000048 |
| E→E connected Gaussian parent mean / SD (µS) | 0.00048 / 0.00024 |
| E→E realised nonzero mean (µS) | 0.000493176 |
| E→E initial zero fraction / realised nonzero fraction | 0.8 / 0.195526 |
| E→E realised mean / SD including zeros (µS) | 0.0000964284 / 0.000219657 |
| E→I synapse / decay / delay (ms) | ampa / 5 / 1 |
| E→I initializer / scaling | lower_clamped_normal / direct |
| E→I compensated initializer mean / SD (µS) | 0.000192 / 0.000096 |
| E→I connected Gaussian parent mean / SD (µS) | 0.00096 / 0.00048 |
| E→I realised nonzero mean (µS) | 0.000986577 |
| E→I initial zero fraction / realised nonzero fraction | 0.8 / 0.195359 |
| E→I realised mean / SD including zeros (µS) | 0.000192737 / 0.000439253 |
| I→E synapse / decay / delay (ms) | gaba / 5 / 0.5 |
| I→E initializer / scaling | lower_clamped_normal / direct |
| I→E compensated initializer mean / SD (µS) | 0.0016 / 0.0008 |
| I→E connected Gaussian parent mean / SD (µS) | 0.008 / 0.004 |
| I→E realised nonzero mean (µS) | 0.00822137 |
| I→E initial zero fraction / realised nonzero fraction | 0.8 / 0.195467 |
| I→E realised mean / SD including zeros (µS) | 0.00160701 / 0.00366098 |
| I→I synapse / decay / delay (ms) | gaba / 5 / 0.5 |
| I→I initializer / scaling | lower_clamped_normal / direct |
| I→I compensated initializer mean / SD (µS) | 0.0016 / 0.0008 |
| I→I connected Gaussian parent mean / SD (µS) | 0.008 / 0.004 |
| I→I realised nonzero mean (µS) | 0.00821862 |
| I→I initial zero fraction / realised nonzero fraction | 0.8 / 0.195567 |
| I→I realised mean / SD including zeros (µS) | 0.00160729 / 0.00366074 |
| X→E synapse / decay / delay (ms) | ampa / 5 / 1 |
| X→E initializer / scaling | lower_clamped_normal / direct |
| X→E compensated initializer mean / SD (µS) | 0.000216 / 0.000108 |
| X→E connected Gaussian parent mean / SD (µS) | 0.00108 / 0.00054 |
| X→E realised nonzero mean (µS) | 0.00111013 |
| X→E initial zero fraction / realised nonzero fraction | 0.8 / 0.195431 |
| X→E realised mean / SD including zeros (µS) | 0.000216954 / 0.000494298 |
| X→I synapse / decay / delay (ms) | ampa / 5 / 1 |
| X→I initializer / scaling | lower_clamped_normal / direct |
| X→I compensated initializer mean / SD (µS) | 0.000216 / 0.000108 |
| X→I connected Gaussian parent mean / SD (µS) | 0.00108 / 0.00054 |
| X→I realised nonzero mean (µS) | 0.00111027 |
| X→I initial zero fraction / realised nonzero fraction | 0.8 / 0.195315 |
| X→I realised mean / SD including zeros (µS) | 0.000216853 / 0.000494193 |
| Input and simulation | |
| External input | One Poisson raster shared by X→E and X→I |
| External rate per source (Hz) | 2.5 |
| External seed offset | 10000 |
| Timestep / duration (ms) | 0.05 / 30050 |
| Execution seed | 42 |
| Execution device | cpu |
| Spikes recorded | All E and I neurons; raw recording includes burn-in |
| Excluded burn-in (ms) | 50 |
| Measurement window (ms) | 30000 |
| Voltage and conductance sample cells per population | 32 |
| Recording block length (steps) | 1000 |
| Training | None; all weights frozen |
| Analysis | |
| ISI CV minimum spike count | 20 |
| Count correlation cells per population | 200 |
| Sliding count-window widths (ms) | 5 / 20 / 50 |
| Sliding-window step (ms) | 1 |
| Population-scaling count window (ms) | 20 |
| Requested group sizes; full population also included | 4 / 8 / 16 / 32 / 64 / 128 / 256 / 512 / 1024 / 2048 |
| Random groups per size / seed offset | 50 / 30000 |
| Current-covariance target population | E |
| Current-covariance maximum lag / filter (ms) | 50 / 20 |
Dataset
Upstream: —
Downstream: —
Current runset
| Run | Date | Duration | Size | Evidence | Storage | Ran on | Verification |
|---|---|---|---|---|---|---|---|
| exp145-r021-present | 26s | 3.2 MB | Current | R2 | Local | Local: absent; R2: catalog-verified | |
| exp145-r020-analyse | 1m 10s | 1.9 MB | Current | R2 | Local | Local: absent; R2: catalog-verified | |
| exp145-r011-compute | 1h 4m 12s | 657.4 MB | Current | R2 | Local | Local: absent; R2: catalog-verified |