Can a Fruit Fly Brain Learn Numbers?

Following up on A Fruit Fly Circuit as a Speech Emotion Reservoir: I pulled the real 499-neuron circuit out of MaleCNS v1.0 and ran it as a reservoir on MNIST, in PyTorch and in MLX. Code and data: gist.

Getting the real circuit

MaleCNS v1.0 is a public, CC-BY electron-microscopy reconstruction of a male fruit fly’s central nervous system.

I applied the selection rule stated in the original article: central-brain intrinsic neurons, traced status, ranked by strength, top 512, largest strongly connected component, edges with at least 5 synaptic contacts. This landed on exactly 499 neurons — the same count the paper reports — with 13,452 directed edges, against their reported 15,865. Their exact ranking formula for “strongest” isn’t published, so this is the closest match I could reproduce.

Each neuron’s connection sign came from its real predicted neurotransmitter, not a coin flip: acetylcholine is excitatory, GABA and glutamate are inhibitory, following standard fly-connectome convention. Every body ID in the resulting circuit is real and checkable at neuprint.janelia.org.

Setup

Same reservoir-computing shape as the original: the circuit’s weights are fixed for the whole run, and only a linear readout on top gets trained. Each MNIST image feeds in as a 28-step sequence, one pixel row per step, through a leaky-integrator update:

state = (1 - leak) * state + leak * tanh(W_in @ input + W_rec @ state)

Spectral radius normalized to 0.9, leak rate 0.9, batch size 128. Two conditions: real (the actual connectome) and scrambled (same 499 neurons, same signs, same weight values, edges reassigned to random pairs) — the same ablation the original paper ran to test whether the fly’s specific wiring shape matters.

The MLX version runs on the Metal GPU on my M2 Mac, no PyTorch installed.

Results

10 epochs, full MNIST test set:

WiringTest accuracy
real51.6%
scrambled69.1%

40 epochs, same setup:

WiringTest accuracy
real62.4%
scrambled81.0%

80 epochs:

WiringTest accuracy
real66.9%
scrambled85.0%

Train loss kept falling for both the whole way (real: 1.54 → 1.15, scrambled: 1.14 → 0.59), so neither number is a hard ceiling. But the two curves behave differently past epoch 40. Scrambled keeps climbing smoothly — still gaining almost a full point in the last 5 epochs. Real starts bouncing: for the last 15 or so epochs it moves up and down in a 65–67% band instead of climbing, like it’s running out of separable signal for the readout to find.

This doesn’t match the original finding

The original paper found real and scrambled wiring scored within noise of each other on speech emotion: 16.84% vs 16.88% mAP. Here, scrambled beats real by 17–19 points at every epoch count I tried, and the gap isn’t closing: 17.5 points at 10 epochs, 18.6 at 40, 18.1 at 80.

I’m not treating this as a refutation. It’s one seed per condition, on a different task, with a different edge count than the original circuit. What it does show: “the wiring’s specific shape doesn’t matter” isn’t a general law you get for free from any reservoir on any task. In the original paper it held for speech emotion. Here, on MNIST, the specific shape mattered a lot — just not in the fly’s favor.

My best guess is that a uniform random rewiring spreads connections more evenly across the 499 neurons than the real, biologically-clustered wiring does, giving a linear readout a higher-dimensional, easier-to-separate feature space to work with. That’s a guess about topology and readout separability, not a measured cause. I haven’t isolated it.

Some crazy experiments

I can see people making crazy experiments than this number identifying task: