Universal Machine Transformer (UMT)

Fractal curves

Drawn by 8,170 parameters

The smallest network here was trained by gradient descent on nothing but the steps a universal Turing machine takes while running random little machines. Here it runs three programs it never saw, each a Turing machine that counts, in binary or in the Fibonacci number system, and computes for every number which way a line should turn. Every turn below was computed by the network, one forward pass at a time, live in your browser.

Curve
◆

Dragon curve

Turns computed0
What the network is running, now
state s · n = 0
The transcript it reads and writes
reading
writing

The window (outlined) reads the old end of the transcript, one token further each pass, while what it writes is appended at the new end. The filled cell is the universal machine's head.

Forward passes0
Steps of this program0
Universal-machine steps0
Turns matching the program run directly0
Different steps it needed0
Never seen in training0
Disagreed with the exact rule0

The program

It is written on the universal machine's tape as data:


        

The page draws only what the network computes, when it computes it: it reads the machine's state after every step and, each time the machine passes through its announcing state, adds one segment to the drawing. The frame starts small and zooms out when the curve outgrows it. Slow it down to watch single turns, single steps of the counting machine, single steps of the universal machine, or single forward passes. The machine is also run directly, but only to check the network's values, never to draw them.

Its rules ( states)