By: Sean Osier
In this project, I:
-
Derive by hand the optimal configurations (architecture and weights) of "vanilla" neural networks (multilayer perceptrons; ReLU activations) that implement basic mathematical functions (e.g. absolute value, minimum of two numbers, etc.)
-
Identify "features" and "circuits" of these networks that are reused repeatedly across networks modeling different mathematical functions
-
Verify these theoretical results empirically (in code)
What follows is a brief introduction to this work. For full details, please see:
- My presentation of this work on YouTube (also linked at the bottom of this page)
- Or if you prefer to go at your own pace, the slides I walk through in that video
Olah et al. make three claims about the fundamental interpretability of neural networks:
They demonstrate these claims in the context of image models:
Features / Circuits:
Universality:
This work demonstrate the same concepts apply in the space of neural networks modeling basic mathematical functions.
Specifically, I show that the optimal network for calculating the minimum of two arbitrary numbers is fully constructed from smaller "features" and "circuits" used across even simpler mathematical functions. Along the way, I explore:
- "Positiveness" and "Negativeness" Detectors
- Identity Circuits (i.e. f(x) = x)
- Negative Identity Circuits (i.e. f(x) = -x)
- Subtraction Circuits (i.e. f(x1, x2) = x1 - x2)
- "Greaterness" Detectors
- And More
Minimum Network:
I also demonstrate that each of these theoretical results hold in practice. The code for these experiments can be found in the Jupyter Notebook in this repo.
For full details, please see the PDF presenation in this repo.
You can watch a full walkthrough of the presentation by clicking the image below: