Concept

Population coding

Information carried across many noisy units rather than any single reliable one — which turns a wiring problem into a measurement problem, and sets the specification for most neural instruments.

Also called: distributed representation

From the EE side

From the neuro side

If the signal lives in the joint activity of thousands of cells, no amount of care spent on one electrode substitutes for having many of them. Most of the instrument engineering on this site follows from that one fact: channel count, multiplexing, and the power budget that limits both.

Broad cells, precise movements

In 1982 Apostolos Georgopoulos and colleagues found that many cells in monkey motor cortex fire hardest for one direction of reach and less for reaches further from it, often as a cosine — the motor counterpart of a receptive field, too broad to name a direction alone. In 1983 Georgopoulos, Caminiti, Kalaska and Massey proposed the readout: let each cell vote with a vector along its preferred direction, scaled by its change in firing, and add the votes. It is a weighted sum, as in the artificial neuron. In 1986, with Andrew Schwartz and Ronald Kettner, Georgopoulos showed that for reaches in three dimensions the sum, the population vector, pointed the way the arm moved, a story the intracortical brain–computer interface entry carries on into decoders.

Pooling should also average away noise, unless the noise is shared. In 1994 Ehud Zohary, Michael Shadlen and William Newsome found that pairs of neurons in the visual motion area MT had spike counts correlated from trial to trial by 0.12 on average — weak, but by their analysis enough to cap what a pool of similarly tuned cells, averaged together, could signal.

The same cells as an array

To an engineer, the pool is an array of noisy sensors and the population vector an estimator. Average NN sensors, each with noise variance σ2\sigma^2 and correlation ρ\rho between every pair, and the noise variance of the average is

σ2(ρ+1−ρN)\sigma^2 \left( \rho + \frac{1 - \rho}{N} \right)

With ρ=0\rho = 0 it falls as 1/N1/N, an array gain of NN; with ρ>0\rho > 0 it floors at ρσ2\rho\sigma^2, so no number of sensors beats 1/ρ1/\rho independent ones: at Zohary’s 0.12, about eight.

Yet the number of neurons recorded at once, Ian Stevenson and Konrad Kording found in 2011, had doubled about every seven years for five decades. A passive microelectrode array needs a wire per site. Neuropixels multiplexes 384 channels into shared 10-bit converters in the probe’s base and sends some 125 Mbit/s of samples down one thin cable, on 17.5 mW. Two-photon imaging multiplexes in time, scanning one focal spot across many cells.

Effective channels, and what counts as noise

The two readings meet at effective channels. A cochlear implant has 12 to 22 contacts, yet in Blake Wilson and Michael Dorman’s 2008 review no user tested had shown more than about eight effective channels with a real-time speech processor, most plausibly because the contacts’ fields overlap. Summed rather than averaged, the same arithmetic gives EEG: shared activity grows as NN, independent activity as N\sqrt{N}, so the scalp reports what cells do in step. fMRI pools too, through each voxel’s blood oxygenation.

They part over noise. An array’s noise is a nuisance; a cortex’s is partly other signals. Recording over 10,000 neurons in mouse visual cortex, Carsen Stringer, Marius Pachitariu and colleagues found in 2019 that spontaneous activity encoded a high-dimensional state, partly tied to ongoing behaviour, with stimuli added in orthogonal dimensions. In 2014 Rubén Moreno-Bote, Alexandre Pouget and colleagues showed that information saturates as a population grows only through correlations that shift activity exactly as a change of stimulus would — likely small, and buried under the rest. In a pool of alike cells, averaged together, a fluctuation common to all of them is of exactly that kind, which is why Zohary’s pool saturates. The arithmetic carries over; the noise model does not.

Nearby concepts

All topics under Population coding