{
"$type": "site.standard.document",
"content": "---\ntitle: \"Perceptron apparatus: inference walkthrough\"\ndescription: \"An interactive walkthrough of the perceptron apparatus---a 1.2m wooden table that classifies digits using sliders and a circular slide rule.\"\ntags:\n - ai\n - studio\n---\n\nimport ApparatusInference from \"@/components/svelte/ApparatusInference.svelte\";\n\nThe perceptron apparatus is a 1.2-metre diameter circular wooden table that\nclassifies handwritten digits using concentric rings of sliders and a\nlogarithmic slide rule. It's a piece of speculative design from the\n[School of Cybernetics](https://cybernetics.anu.edu.au) at ANU, imagined as an\nartefact from a world where the knowledge to build digital computers has been\nlost, but the mathematics of neural networks survived. So people built _this_\ninstead.\n\nThe apparatus implements a real trained\n[multilayer perceptron](https://en.wikipedia.org/wiki/Multilayer_perceptron)---a\n36→6→10 MLP that takes a 6×6 pixel image of a digit, runs a forward pass through\nits weights and activations, and produces a prediction. Every multiply is a\nslide rule operation. Every accumulation is a slider moving along a track. The\nwhole inference process is physically legible, each step visible to anyone\nstanding around the table.\n\nThe physical table has been built---fabricated by Sam Shellard at UC's\n[Workshop7](https://www.canberra.edu.au/future-students/study-at-uc/study-areas/design/workshop7),\nwith all the laser cutting and CNC routing files available in the\n[GitHub repo](https://github.com/ANUcybernetics/perceptron-apparatus). This post\nwalks through the inference process with an interactive digital twin of the\napparatus. If you've seen the\n[neon perceptron](/blog/2025/12/11/neon-perceptron-digital-twin/) posts, this is\nits older, more analogue sibling.\n\n## The architecture\n\nThe apparatus has five concentric rings, each corresponding to a layer of the\nnetwork:\n\n- **Ring A** (outermost): 36 radial sliders for the input pixels---one per cell\n in the 6×6 grid\n- **Ring B**: weight sliders for the input→hidden connections (36×6 = 216\n weights)\n- **Ring C**: 6 radial sliders for the hidden neuron activations\n- **Ring D**: weight sliders for the hidden→output connections (6×10 = 60\n weights)\n- **Ring E** (innermost): 10 radial sliders for the output---one per digit class\n\nAround the outside sit two additional rings: a logarithmic rule ring for\nperforming multiplication, and a\n[ReLU](<https://en.wikipedia.org/wiki/Rectifier_(neural_networks)>) reference\nring for reading off the activation function. To multiply two numbers you rotate\nthe log ring to align the two values, then read the product off the outer\nscale---the same principle as a\n[slide rule](https://en.wikipedia.org/wiki/Slide_rule), wrapped into a circle.\n\nThe forward pass is:\n\n```\nhidden = relu(input × B)\noutput = hidden × D\nprediction = argmax(output)\n```\n\nNo bias terms, no softmax on the output. The hidden layer uses\n[ReLU](<https://en.wikipedia.org/wiki/Rectifier_(neural_networks)>)---negative\nvalues snap to zero, which on the apparatus just means the slider stays at the\nbottom of its track.\n\n## Try it\n\nPick a digit from the thumbnails below and hit \"Step through\" to watch the\nforward pass animate on the apparatus. Each step computes one hidden or output\nneuron---accumulating the weighted inputs, applying ReLU where appropriate, and\nsliding the result into place. \"Instant\" skips the animation and shows the final\nstate.\n\n<ApparatusInference client:only=\"svelte\" />\n\nThe weights are real---trained on\n[MNIST](https://en.wikipedia.org/wiki/MNIST_database) via\n[Axon](https://hexdocs.pm/axon/Axon.html) in Elixir, then exported to the\ndigital twin. The five sample digits (0, 1, 4, 6, 7) are ones the model\nclassifies correctly. With only 276 parameters and aggressive downsampling from\n28×28 to 6×6 pixels, it's not going to win any accuracy benchmarks---but that\nwas never the point. The apparatus exists to make the forward pass _visible_.\n\n## Related posts\n\nThe apparatus is one of several physical neural network projects at the School\nof Cybernetics. The others use a different aesthetic---LEDs and PCBs rather than\nwood and brass---but explore the same idea of making computation tangible:\n\n- [Interactive neon perceptron visualisation](/blog/2025/12/11/neon-perceptron-digital-twin/)---a\n 5×5 input, 9-hidden, 10-output network rendered in Three.js\n- [Mini neon perceptron: XOR edition](/blog/2026/03/03/mini-neon-perceptron-xor-edition/)---a\n tiny 2×2 input version for testing the physical build\n",
"createdAt": "2026-05-13T23:14:39.026Z",
"description": "An interactive walkthrough of the perceptron apparatus---a 1.2m wooden table that classifies digits using sliders and a circular slide rule.",
"path": "/blog/2026/03/19/perceptron-apparatus-inference-walkthrough",
"publishedAt": "2026-03-19T00:00:00.000Z",
"site": "at://did:plc:tevykrhi4kibtsipzci76d76/site.standard.publication/self",
"tags": [
"ai",
"studio"
],
"textContent": "An interactive walkthrough of the perceptron apparatus---a 1.2m wooden table that classifies digits using sliders and a circular slide rule.",
"title": "Perceptron apparatus: inference walkthrough"
}