The simplest test we could think of

DENN doesn't work the way a normal AI model works. It's built out of spiking neurons, which sit quiet most of the time and then fire a single sharp pulse, roughly the way cells in your head do. You show it a picture, some neurons fire, and whichever ones fired together end up wired together. That's the whole learning rule. Nothing outside the network reaches in to adjust millions of numbers, hence why we've been teaching it more like a toddler than like a model: point at a 4, say "four", and let it work out the rest.

The thing that normally kills this approach is catastrophic forgetting, where you teach the network something new and it flattens whatever it already knew (brains largely avoid this, and networks built the way ours is usually don't). So we ran about the simplest version of that test we could think of. Teach it the digits 0 through 4, check that it learned them, then teach it 5 through 9 and never show it 0 through 4 again. Then go back and ask about 0 through 4.

It passed. Then we went looking at how it passed, and found three genuinely strange things.

Strange thing one

The layer that only lives for two milliseconds

Two stacked charts counting pulses over a 310 millisecond presentation. With inhibition on the count reaches 54 inside the first 12.5 milliseconds and then stays perfectly flat; with inhibition off it climbs steadily to 16,896 across the whole presentation.
FIGURE 1 · Same picture, same network, same instant, and the only difference between the two panels is whether the layer's own inhibition is on. Both count pulses as they arrive, and the shaded strip is the same 12.5 ms in each. Drawn from the two recorded totals, 54 and 16,896.

Inhibition is the brake pedal. Some neurons exist purely to shut other neurons up, which is useful for two reasons: it stops the whole thing seizing, and it forces neurons to compete so that only a few respond to any one input. Our layer has inhibition, and we gave it far more than it needed.

The mechanism is simple enough once you go looking. Inhibition opens channels that let chloride ions in, which drags a neuron's voltage down toward roughly -75 millivolts, and a neuron has to climb back up to about -50 mV before it can fire. Ours settled at -71 mV and stayed parked there, four millivolts off the floor and an enormous distance from the ceiling. So every neuron got exactly one chance to fire, in the instant before the brakes engaged, and nothing after that. Which neurons won that race came down to random noise in the first two milliseconds, which is why showing the same picture twice gets you a mostly different set.

The biology

Real cortex does the first half of this. A signal arrives, excitatory cells fire, and fast inhibitory cells (basket cells) follow one to three milliseconds behind and slam the door. Neuroscientists call that gap a window of opportunity, and it really is that brief, so we reproduced it correctly and entirely by accident.

What cortex does next is the part we missed. Biological inhibition balances rather than wins, and excitation and inhibition track each other closely enough that neurons keep firing at low, irregular rates for as long as you keep showing them something, so the door swings instead of locking. Ours locked and stayed locked.

The embarrassing part is where our number came from. We had set that inhibition to the largest value our simulation could handle before it went numerically unstable, which is a fact about floating point arithmetic, and we let it decide a fact about a brain.

Strange thing two

It remembers because it cannot forget

Two bar charts. Left: agreement with the taught word rises from 0.18 to 0.54 and holds at 0.51, while random words stay flat near 0.22. Right: the ability to tell all ten digits apart falls from 0.54 to 0.39 and returns to 0.54 when the older speaking weights are swapped back in.
FIGURE 2 · Left: random words teach it nothing, so the learning is real. Right: its knowledge was never damaged, only its ability to say so. Mean of three runs.

It kept about 94% of what it learned, and we came close to writing that up as a win for the clever part of the design, which it wasn't, and the real reason is much dumber. The network keeps a table of weights that turns "which neurons fired" into "which word to say", and those weights only ever grow. Nothing shrinks them and nothing rebalances them, so when it learned 5 through 9 it had no way to remove anything it had already written down about 0 through 4. It remembers perfectly because it is structurally incapable of forgetting.

Which sounds fine right up until the bill arrives. Everything piles on top of everything else, and by the end most of its concept neurons were shouting about something. Its ability to tell all ten digits apart dropped from 0.54 to 0.39. We found where the damage actually was by swapping the older speaking weights back in, at which point the score went straight back to 0.54 on every run, so its understanding of the digits had been intact the whole time and what we had been measuring was a cluttered voice.

The biology

Real synapses can't grow forever, since there is only so much membrane, receptor and energy to go around. Brains handle this through synaptic scaling, where a neuron responds to drifting activity by turning all of its inputs up or down together while keeping their relative sizes intact. One leading theory holds that this is much of what sleep is for, in that a day of learning inflates your synapses and sleep shrinks them back proportionally, keeping what you learned while restoring the room to learn more tomorrow. Our speaking weights never got any version of this.

Strange thing three

The ruler that couldn't measure below a third

To teach itself, the network has to grade its own answer, which means it needs some measure of how close what it said was to the word that actually arrived. We scored that as a similarity between two lists of numbers. Firing rates can't go negative, so both lists come out all-positive, and two all-positive lists can never point in opposite directions. The score therefore has a floor it can never drop below, and in our setup that floor sits at about 0.316. So a network that knows nothing still scores 0.316 on every digit, equally. For its first few dozen lessons our "how wrong was I" signal was a constant, and it was measuring the shape of the ruler rather than the answer.

The biology

Nervous systems solve this everywhere, and the answer is subtraction. Your retina doesn't send brightness up the optic nerve. Each cell subtracts the average brightness around it and sends only the difference, which is why you see edges and contrast instead of raw light, and why a white page reads as white both indoors and outside. Remove what everything has in common, and transmit only what differs.

The part we're least comfortable with

We had eight automated health checks and all eight passed. They all worked the same way, which was to switch a mechanism off and see whether anything changed. The problem is that a layer firing one useless pulse still changes things when you switch it off, so ablation only tells you a component is connected rather than that it is doing anything. Our ninth check asks whether a layer stays active over time, and it fails on the current build, which is the main reason we trust it.

We had also written down beforehand that we expected the network to forget. It didn't, and four of our five predictions turned out wrong, which is what sent us looking in the first place.

clovermind · denn field note 01 · everything here is measured, three random seeds, on held-out digits the network was never taught