Early Towards the Edge
Ongoing research. This is an experimental result from active work, not a settled conclusion. The numbers are what we measured and the method is described so you can judge it, but the programme is still running and later experiments may revise what it means.
A note on the language in these records. This is a working laboratory notebook for research into training AI models more cheaply and efficiently, so you will read that an approach did not work, that a result did not hold up, or that one method was worse than another. That is the research doing its job, not a verdict on the engineering we deliver to clients. Ruling an approach out is how the search narrows, and these are the pages that teach us the most: nearly every technique we now rely on came from understanding why something else fell short. Testing our own ideas at least as hard as anyone else's is the point of publishing them. More about this programme and why we run it.
Part of a bigger question: What actually happens at the moment a model learns? – It builds machinery rather than selecting it, working through the task in a reproducible order and trying a simpler wrong rule on the way. The visible training curve cannot tell you which is happening.
In plain English
What we asked. A recurrent model keeps a running internal state as it reads. That state can be very stable, forgetting small differences quickly, or close to chaotic, where small differences grow. A recent paper says learning moves such models from chaotic to stable, so we measured ours.
What we found. Ours goes the other way: from very stable towards the edge of chaos. And it gets half-way at exactly the same moment in every run, long before it learns its task. Our preregistered test technically passed, but only because of a weak comparison, and we say so plainly.
Why it matters. The lesson: a signal that always happens at the same time cannot tell you when something else will happen. Next we change the timing of learning and see whether this signal moves with it.
The rest of this page is the technical record: the design, every number, and the limits. It is written for a reviewer, and you do not need it to have understood the result above.
New here? How to read a research record
- Start at the verdict. Every record states, before the experiment was run, what result would have made us abandon the idea. That is the "kill test". Then it says whether the test fired. Nothing gets reinterpreted after the fact.
- Numbers in square brackets are uncertainty.
23.4 [18.1, 28.7]means our best estimate is 23.4 and the true value is probably somewhere in that range. If a range includes zero, we cannot claim an effect. - Results that rule an idea out are kept. Roughly half of what is published here says an approach did not work, including plenty of our own. Those pages are the output, not a shortfall: knowing which direction is a dead end is what lets the next experiment go somewhere better, and most of what we now rely on came out of understanding why something else fell short. Work that only publishes what worked is not measuring anything.
- Read the Limits section. Every record ends with what it does not show. It is the most honest part of any experiment and usually the shortest.
- Pro tip: the figures near the top are designed to carry the result on their own. If you read nothing else, read the caption under each one, which says what it shows and what to take from it.
EXPLORATORY. Not a preregistered study. Local CPU,8training runs with Lyapunov measurements. The design was amended after a throwaway run and committed (a5f5e7d) before any measured run.
Program v2 Bucket N, item N28. Decisive computation: . Output: analysis/edge_of_chaos.py.analysis/edge_of_chaos.json
The question
arXiv 2609.19288 describes learning driving an RNN through a chaotic-to-stable transition. A throwaway on J8's substrate found this GRU moving the other way: its largest finite-time Lyapunov exponent starts strongly stable and climbs towards zero -- the edge of chaos -- without crossing. N28, amended before any measured run, asks whether that approach is concentrated at the transition: the step where the exponent has covered half its rise (the half-rise), against the run's transition, compared with a random-time-matched step drawn from the same run.
Kill test, fixed before execution: the paired distance difference (half-rise minus random) has an interval including zero or above it. Anchor: every accuracy series equals J8's committed control. It holds.
Result: the kill test does not fire -- and the result is not what the kill test was meant to detect
| Receiver | Exponent, step 0 -> 460 | Half-rise | Transition |
|---|---|---|---|
9001 | -0.484 -> -0.093 | 50 | 150.3 |
9007 | -0.482 -> -0.093 | 50 | 156.3 |
9011 | -0.463 -> -0.089 | 50 | 146.5 |
9029 | -0.491 -> -0.078 | 50 | 158.3 |
9041 | -0.461 -> -0.092 | 50 | 149.1 |
9043 | -0.471 -> -0.091 | 50 | 149.8 |
9049 | -0.465 -> -0.093 | 50 | 165.7 |
9059 | -0.469 -> -0.090 | 50 | 147.3 |
Paired, the half-rise is 26.5 [14.3, 38.7] steps closer to the transition than a random step. But the half-rise is step 50 on every receiver, about 100 steps before a transition that varies from 146 to 166. It carries no information about when the transition comes. It beats the control only because the random steps span the whole 460-step run, most of which lies after the transition, so any fixed step early in the run is "closer" than random. This is K1's trap -- a fixed step looks like a detector until the event moves -- and the control, drawn from the whole run, could not catch it.
What was measured, plainly
- The recurrence moves from strongly stable towards the edge of chaos on every receiver (exponent
-0.47to-0.09), the reverse of the direction2609.19288describes. - Half of that move is complete by step
50, on every receiver, long before the model learns its task, and at the same step whatever the run's transition time. - Whether the move leads the transition or is simply early needs the event moved: N29 changes the learning rate so the transition shifts, and asks whether the half-rise follows.
What stands
- Kill test does not fire, and that verdict should not be read as the approach being tied to the transition; the random-time control was too weak for a constant early event.
- The GRU approaches, and stays just short of, the edge of chaos as it trains, half-way by step
50.
Limits
- One substrate, one rate, a measurement every
10steps: step50may hide spread finer than the grid.
RESOLVED 2026-09-27 by N29. Moving the transition with the learning rate, the half-rise follows only0.35of the move: it sits at about30%of the transition time at every rate and does not vary between runs at one rate. It is a clock of optimiser progress, not a precursor. Text and numbers above unchanged.
Terms on this page
Every piece of vocabulary this record uses, in plain language. Generated from the text above, so it cannot drift out of step with it.
- accuracy
- The fraction of answers a model gets right on questions it was not trained on.
- exponent
- The number in a power law that says how strongly one quantity responds to another. A bigger exponent means a steeper response to the same doubling.
- GRU
- Gated Recurrent Unit. A compact design for processing sequences one item at a time, with internal switches controlling what it keeps in memory.
- kill test
- A condition written down before running the experiment that says what result would make us abandon the idea. Fixing it in advance is what stops a disappointing result being reinterpreted as an encouraging one.
- learning rate
- How big a step training takes each time it updates the model. Too small and nothing happens; too big and it never settles.
- Lyapunov exponent
- How fast small differences in a system's state grow or shrink over time. Negative means they die away (stable); positive means they grow (chaotic); zero is the edge between.
Get new results as we publish them
Roughly monthly, one finding per email, in plain English first. Including the approaches that turned out not to work, which are usually the useful ones. No sales email.
Double opt-in: we send a confirmation link and add nobody who does not click it. One-click unsubscribe on every email.