Does reading more of the fly brain, with learned weights, improve the search?
Yes. The search score rose from 0.15 to 2.61; a later check found the gain came from learning the weights, not from the extra cells.
In the log: Task 0, step 2: read the brain at LAL + DNa, not only at the 97 MBONs
falsifiedDate not stated in the log; it was written between the commit of 2026-09-16 19:06 and the first commit that contains it, 2026-09-19 08:35rung 0 · energy model1 prediction · 1 result paragraphEXPERIMENTS.md lines 10343–10369, lines 10371–10382, lines 10384–10420
What E159 did and how it came out, drawn from this record and the files it names (book/assets/diagrams/exp/E159.svg).
Pre-registration
(2)
. If reward and score moved in the same
direction the two terms cancel and the error is exactly zero — the second lesson teaches
nothing. The core MushroomBody.learn_head uses the same trace and has the same property.
So in every search this project has run, the first observation is a no-op by design (E154)
and the second is a no-op whenever the circuit's initial score already ranks it the right
way — the first lesson that can move a weight is the third. Recorded because it bounds
how fast any arm learns in its first rounds and is not visible from the code's docstrings.
The test now teaches three lessons.
no verdict written against it
The pre-registration, as written
E159, an observation from the readout's unit test, before the arms finish. The test
taught the wrapper two lessons with rewards 0 and 1 and expected the new nodes to take
weight. They did not, and the reason is arithmetic, not a defect: learn_head standardises
reward and score against running traces, and with exactly two observations each
standardised value is forced to +/-1/sqrt(2). If reward and score moved in the same
direction the two terms cancel and the error is exactly zero — the second lesson teaches
nothing. The core MushroomBody.learn_head uses the same trace and has the same property.
So in every search this project has run, the first observation is a no-op by design (E154)
and the second is a no-op whenever the circuit's initial score already ranks it the right
way — the first lesson that can move a weight is the third. Recorded because it bounds
how fast any arm learns in its first rounds and is not visible from the code's docstrings.
The test now teaches three lessons.
Results
EXPERIMENTS.md · line 10384
E159 result — falsified upward. Reading the brain where its signal goes turns the worst arm
into the best. 200 rounds x 4 proposals x 2 seeds, no novelty, rung-0 reward; one change
from E145: the readout population and how it is learned.
Prediction 1 falsified upward: I said 0.3-0.8 and "below the mushroom body's 1.48"; it
is 2.61, seventeen times E145 on the same substrate with the same input, and above the
subset. The pre-registered upward branch is the finding: LAL and the DNa descending neurons
carry far more usable signal under olfactory drive than E157's 2.7% active fraction
suggested — activity fraction and readable signal are different quantities — and the
readout, not the recurrence (E154) and not the walk (E155), was the larger half of the
whole-brain deficit. Prediction 3 at its upper edge: the control moved 1.48 → 2.06,
inside its own +-1.68, so learning the MBON readout instead of assuming compartment valence
helps the subset too, or does not — two seeds cannot say. Prediction 2 not measured: the
run does not save the final readout, so the share of weight on LAL vs DNa vs MBON is
unknown; it is claimed as nothing.
What is and is not established. Whole-brain-learned 2.61 +- 0.48 against
mushroom-learned 2.06 +- 1.68 is not a significant difference; the whole brain is at least
the equal of the subset once read at LAL + DNa, and it is 17x its own former self. That
second comparison is the one with one variable and a clear margin. Two seeds each; the
whole-brain arm is the tighter of the two.
Branches this opens, in order. (a) Save the readout at the end of a run and measure
prediction 2 — if most weight sits on DNa, the steering neurons are already doing the
walk's job and step 5 (retire Forager.move) is nearer than planned. (b) Step 2b: replace
the olfactory entry with the afferent broadcast E157 chose, keeping this readout — the
prediction is a second large gain, since 25% of the brain then feeds a readout that already
works at 2.7%. (c) Re-run E155's walk statistics under this readout, which is the follow-up
the operator asked about.
This entry is written in 3 separate places in the log, shown here in log order.
EXPERIMENTS.md · lines 10343–10369
E159 — Task 0, step 2: read the brain at LAL + DNa, not only at the 97 MBONs
One change from E152/E145: the readout population. Input stays the 12-channel olfactory
entry, the plastic site stays KC→MBON, the reward stays rung 0. The score becomes a linear
readout over LAL (665) + DNa (32) + MBON (97) node states, with the readout weights learned
online by a delta rule on the ladder's standardised reward — the reservoir construction
(Costi 2025; Morra & Daley 2022): fixed connectome dynamics, trained readout — chosen
because LAL and DNa carry no compartment valence to initialise from. The mushroom-body
asset has no LAL or DNa nodes, so on it the same code reads MBON only; that is the control.
Predicted, in light of E157 (PN input drives 2.7% of the brain; 28 DNs active; DNa02
silent):
The effect is small. With olfactory input, LAL/DNa carry a weak composition-dependent
signal; the whole-brain arm improves over E145's 0.15 +/- 0.15 AUC_Q, but stays below
E152's mushroom-body 1.48. I expect 0.3-0.8.
The learned readout puts most of its weight on MBON nodes, because that is where the
variance is under this input — measured as the share of |w| on MBON vs LAL vs DNa.
The mushroom control is unchanged within error (readout over MBON alone, now learned
rather than compartment-valenced): 1.0-2.0.
Falsified upward if the whole brain reaches 1.0 or more — then LAL/DNa carry more usable
signal under olfactory drive than E157's activity fractions suggest, and the readout was the
larger half of the problem. Falsified downward if it does not beat 0.15 — then reading
more of the brain under an input that does not reach it buys nothing, and step 2b (the
afferent broadcast) must come before any readout change is worth measuring. Either way,
this run is the one-variable control that E152 was not.
EXPERIMENTS.md · lines 10371–10382
E159, an observation from the readout's unit test, before the arms finish. The test
taught the wrapper two lessons with rewards 0 and 1 and expected the new nodes to take
weight. They did not, and the reason is arithmetic, not a defect: learn_head standardises
reward and score against running traces, and with exactly two observations each
standardised value is forced to +/-1/sqrt(2). If reward and score moved in the same
direction the two terms cancel and the error is exactly zero — the second lesson teaches
nothing. The core MushroomBody.learn_head uses the same trace and has the same property.
So in every search this project has run, the first observation is a no-op by design (E154)
and the second is a no-op whenever the circuit's initial score already ranks it the right
way — the first lesson that can move a weight is the third. Recorded because it bounds
how fast any arm learns in its first rounds and is not visible from the code's docstrings.
The test now teaches three lessons.
EXPERIMENTS.md · lines 10384–10420
E159 result — falsified upward. Reading the brain where its signal goes turns the worst arm
into the best. 200 rounds x 4 proposals x 2 seeds, no novelty, rung-0 reward; one change
from E145: the readout population and how it is learned.
Prediction 1 falsified upward: I said 0.3-0.8 and "below the mushroom body's 1.48"; it
is 2.61, seventeen times E145 on the same substrate with the same input, and above the
subset. The pre-registered upward branch is the finding: LAL and the DNa descending neurons
carry far more usable signal under olfactory drive than E157's 2.7% active fraction
suggested — activity fraction and readable signal are different quantities — and the
readout, not the recurrence (E154) and not the walk (E155), was the larger half of the
whole-brain deficit. Prediction 3 at its upper edge: the control moved 1.48 → 2.06,
inside its own +-1.68, so learning the MBON readout instead of assuming compartment valence
helps the subset too, or does not — two seeds cannot say. Prediction 2 not measured: the
run does not save the final readout, so the share of weight on LAL vs DNa vs MBON is
unknown; it is claimed as nothing.
What is and is not established. Whole-brain-learned 2.61 +- 0.48 against
mushroom-learned 2.06 +- 1.68 is not a significant difference; the whole brain is at least
the equal of the subset once read at LAL + DNa, and it is 17x its own former self. That
second comparison is the one with one variable and a clear margin. Two seeds each; the
whole-brain arm is the tighter of the two.
Branches this opens, in order. (a) Save the readout at the end of a run and measure
prediction 2 — if most weight sits on DNa, the steering neurons are already doing the
walk's job and step 5 (retire Forager.move) is nearer than planned. (b) Step 2b: replace
the olfactory entry with the afferent broadcast E157 chose, keeping this readout — the
prediction is a second large gain, since 25% of the brain then feeds a readout that already
works at 2.7%. (c) Re-run E155's walk statistics under this readout, which is the follow-up
the operator asked about.