Researcher hand-codes MLP weights for Breakout on GitHub
TL;DR
- The first layer computes four landing-position errors and two direction indicators, with unit 0-3 labeled as descending-right, descending-left, ascending-right, ascending-left.
- Descending predictions include wall reflections; ascending predictions anticipate the earliest possible brick bounce and revise as the ball climbs.
- A second layer gates left/right decisions, choosing no-op when the paddle is positioned correctly.
"The first layer computes four landing-position errors and two direction indicators." That is how a short GitHub note opens, setting out numeric weights for a small network that plays what the filepath labels "breakout."
The author describes each unit's role in a few flat sentences. "Descending predictions include wall reflections; ascending predictions anticipate the earliest possible brick bounce and revise as the ball climbs." Early in a rally the policy favors "preserving horizontal direction to sweep through bricks"; near the bottom of the screen, "either valid catch column is accepted." A second layer "gates left/right decisions, choosing no-op when positioned correctly."
Below that sits a block of explicit numeric assignments: W1, W2, W3 matrices indexed by ball row, with the first four output units commented as "descending-right, descending-left, ascending-right, ascending-left." No training run, no learning curve, no score. The file was moving through a couple of the researchers on our radar this week.
Shared on Bluesky by 2 AI experts
-
Another thing I notice about the "weight-space programming" experiments is, for experiment 5 where it writes weights by hand, just how sparse and interpretable the networks end up being. It's clearly a regular old if-the…
View on Bluesky →
Originally reported by github.com
Read the original article →Original headline: lm_understand-logs/exp5_write_from_scratch/runs/breakout/reply/answer.md at main · RikiyaT/lm_understand-logs