How does it work
Pixels in. Steering out. A real fly’s wiring in between.
The driver is not a neural network designed for driving. It is the measured wiring diagram of a fruit fly, run as a recurrent network. A camera frame enters through the fly’s own optic-lobe neurons, travels through 25.56 million measured synapses, and comes out as a steering angle read from its leg motor neurons. Nothing we engineered can carry the signal on its own.
Model architecture
What is measured, what is learned, what we engineered
Measured: which neuron connects to which. Learned: how loudly each connection speaks and how fast each neuron forgets. Engineered and then frozen: the random map from pixels to sensory neurons, the random readout from motor neurons to the wheel, and the car itself. The question underneath the whole project is whether the measured part does anything, so every result is paired with the same graph rewired at random.
- 165,122
- neurons, all measured
- 25,563,197
- connections, all measured
- 25.7 M
- learned gains and leaks
- 4,114
- sensory neurons see pixels
- 708
- motor neurons steer
- 20 Hz
- decisions, state carried
Six stages, from the camera to the wheel
Each stage is tagged by where it came from: measured by a microscope, learned by training, or engineered by us and then frozen.
- 01Engineered
A 64 by 32 grayscale frame every 50 milliseconds
The car has a single forward camera rendered by ray casting: road bright, verges dark, cars and crossers as blocks. That is the entire sensory world. No speed, no position, no map.
- Pixels
- 2,048
- Decisions per second
- 20
- 02Engineered, frozen
Pixels land on the fly's optic-lobe sensory neurons
Each of the 4,114 optic-lobe sensory neurons is wired to one random pixel with a random sign. The map is drawn once and never trained, so the network cannot learn a convenient camera; it has to make do with whatever its photoreceptors happen to see.
- Sensory neurons
- 4,114
- 03Measured
The male fruit-fly connectome, as a recurrent network
Every traced neuron in the MaleCNS release is a unit with a signed rate state; every measured neuron-to-neuron connection is an edge. Which neuron talks to which is fixed by the microscope, not by training. Four graph updates run per decision, and the state carries over to the next one.
That last point is the biggest departure from the original flyhard recipe, which wiped the state before every decision. A real fly never resets; its circuits hold heading and short-term memory. Carrying state is what let the same graph go from 3 of 20 roads to 17 of 20 on the first driving task, and it is what lets it remember a car it is overtaking after it leaves the frame.
- Neurons
- 165,122
- Synaptic connections
- 25,563,197
- Graph updates per decision
- 4
- 04Learned
One gain per synapse, one leak per neuron
Training adjusts how loudly each measured connection speaks and how fast each neuron forgets. It never adds, removes or rewires a connection. That is 25.7 million parameters, but all of them are constrained to the fly's wiring diagram, which is why a randomly rewired graph with the same number of parameters is the control that matters.
- Trainable parameters
- 25,728,319
- 05Engineered, frozen
Steering is read from the leg motor neurons
A fixed random weight vector over the 708 motor neurons of the ventral nerve cord produces the steering angle, through a tanh so it cannot exceed the wheel's range. In the crossers task a second fixed vector over the same neurons produces a target speed. The readout is never trained either: if the motor neurons do not carry the answer, nothing downstream can invent it.
- Motor neurons
- 708
- Outputs
- steering, and later speed
- 06Engineered
A kinematic bicycle at 8 metres per second
The wheel slews at most 4 radians per second, so a lane change takes about a second whatever the brain asks for. The street is two lanes with buildings, lamp posts, parked cars intruding into the lane, oncoming cars, and a slow car ahead that has to be overtaken through the oncoming lane. Failure is any collision or leaving the road; a street counts only when all 500 decisions, 200 metres, are clean.