# Coordinate-Free Interpretability Theory

Some interpretability work assigns meaning to activations of individual neurons or small groups of neurons. Some interpretability work assigns meaning to directions in activation-space. These are two different ontologies through which to view a net’s internals. Probably neither is really the “right” ontology, and there is at least one other ontology which would strictly outperform both of them in terms of yielding accurate interpretable structure.

One of the core problems of interpretability (I would argue *the* core problem) is that we don’t know what the “right” internal ontology is for a net - which internal structures we should assign meaning to. The goal of this post is to ask what things we could possibly assign meaning to under a maximally-general ontology constraint: coordinate freedom.

What Does Coordinate Freedom Mean?
----------------------------------

Let’s think of a net as a sequence of activation-states $x_i$, with the layer $i$ $\rightarrow$ layer $i+1$ function given by $x_{i+1} = f_i(x_i)$.

We could use some other coordinate system to represent each $x_i$. For instance, we could use (high dimensional) polar coordinates, with $r_i = ||x_i||$ and $\phi_i$ a high-dimensional angle (e.g. all but one entry of a unit vector). Or, we could apply some fixed rotation to $x_i$, e.g. in an attempt to find a basis which makes things sparse. In general, in order to represent $x_i$ in some other coordinate system, we apply a reversible transformation $x_i’ = g_i(x_i)$, where $x_i’$ is the representation under the new coordinate system. In order to use these new coordinates while keeping the net the same overall, we transform the layer transition functions:

$f_{i-1}’ = g_i \circ f_{i-1}$

$f_i’ = f_i \circ g_i^{-1}$

In English: we transform into the new coordinate system when calculating the layer state $x_i$, and undo that transformation when computing the next layer state $x_{i+1}$. That way, the overall behavior remains the same while using new coordinates in the middle$$

The basic idea of coordinate freedom is that our interpretability tools should not depend on which coordinate system we use for any of the internal states. We should be able to transform any layer to any coordinate system, and our interpretability procedure should still assign the same meaning to the same (transformed) internal structures.

What Kind Of Coordinate Free Internal Structure Is Even Possible?
-----------------------------------------------------------------

Here’s one example of a coordinate free internal structure one could look for: maybe the layer $i \rightarrow i+1$ function can be written as

$f_i(x_i) = F(G(x_i))$

for some low-dimensional $G$. For instance, maybe $x_i$ and $x_{i+1}$ are both 512-dimensional, but $x_{i+1}$ can be calculated (to reasonable precision) from a 22-dimensional summary $G(x_i)$. We call this a low-dimensional “factorization” of $f_i$.

(Side note: I’m assuming throughout this post that everything is differentiable. Begone, pedantic mathematicians; you know what you were thinking.)

This kind of structure is also easy to detect in practice: just calculate the singular vector decomposition of the jacobian $\frac{df_i}{dx_i}$ at a bunch of points, and see whether the jacobian is consistently (approximately) low rank. In other words, do the obvious thing which we were going to do anyway.

Why is this structure coordinate free? Well, no matter how we transform $x_i$ and $x_{i+1}$, so long as the coordinate changes are reversible, the transformed function $f_i’$ will still factor through a low-dimensional summary. Indeed, it will factor through the *same* low-dimensional summary, up to isomorphism. We can also see the corresponding fact in the first-order approximation: we can multiply the jacobian on the left and right by any invertible matrix, its rank won’t change, and low-rank components will be transformed by the transformation matrices.

… and as far as *local* structure goes (i.e. first-order approximation near any given point), that completes the list of coordinate free internal structures. It all boils down to just that one (and things which can be derived/constructed from that one). Here’s the argument: by choosing our coordinate transformations, we can make the jacobian anything we please, so long as the rank and dimensions of the matrix stay the same. The rank is the only feature we can’t change.

But that’s only a local argument. Are there any other *nonlocal* coordinate free structures?

Are There Any Other Coordinate Free Internal Structures?
--------------------------------------------------------

Let’s switch to the discrete case for a moment. Before we had $f_i(x_i)$ mapping from a 512-dimensional space to a 512-dimensional space, but factoring through a 22-dimensional “summary”. A simple (and smaller) discrete analogue would be a function $f_i(x_i)$ which maps the five possible values {1, 2, 3, 4, 5} to the same five values, but factors through a 2-value summary. For instance, maybe the function maps like this:

![](https://lh3.googleusercontent.com/5H0lrRYaZUViTSSkdWj5DDbUynGJBgelXzjcaHKZmg3ULcDOlFNnluTBK6uT59AQUMUlu0GP8SBvzrKDaizZ1gdZtU4WsotraqcLrTK4Cja_dCtH9KFz0ygDchtHY3Nb4nHSBNdZnV-PW1Jdpo0hVlzH6UfN_SmUi0J13YbEZSwGuQIHPQvGtUWZYw)

$f$ maps 1 to 1, 2 to 1, 3 to 1, 4 to 5, and 5 to 5. Diagram shows the factorization through an intermediate set {"a", "b"}.

Coordinate freedom means we can relabel the 1, 2, 3, 4, 5 any way we please, on the input or output side. While maintaining coordinate freedom, we can still identify whether the function factors through some “smaller” intermediate set - in this case the set {“a”, “b”}. Are there any *other* coordinate free structures we can identify? Or, to put it differently: if two functions factor through the same intermediate sets, does that imply that there exists some reversible coordinate transformation between the two?

It turns out that we can find an additional structure. Here’s another function from {1, 2, 3, 4, 5} to itself, which factors through the same intermediate sets as our previous function, but is not equivalent under any reversible coordinate transformation:

![](https://lh6.googleusercontent.com/qJn2R0p5CMLVCizDLOJ6_8XJSyq2SJYc8TpW3lxZXdqH70Xc_gkjWMhYlKMzN8yNDopZYS_oPH9LeiGelcA94DwtJTwer0haRngZ1NRxJhn-ksE0gqJ0s_ib3uilgwUIJmc5i1a7tlV81vzVb5TAbeRJF_TKFQad8J8O2IKKEFpBhScrOjjvmYbAcA)

A different $f$ which factors through the same (minimal) intermediate set.

Why is this not equivalent? Well, no matter how we transform the input set in the first function, we’ll always find that three input values map to one output value, and the other two input values map to another output value. The “level sets” - i.e. sets of inputs which map to the same output - have size 3 and 2, no matter what coordinates we use. Whereas, for the second function, the level sets have size 4 and 1.

![](https://39669.cdn.cke-cs.com/rQvD3VnunXZu34m86e5f/images/0e26059af17c14b69e5cd18c667a0a7b8c345c930fcf2409.png)

The two level sets for this function.

Does *that* complete the list of coordinate free internal structures in the discrete case? Yes: if we have two functions with the same level set sizes, whose input and output spaces are the same size, then we can reversibly map between them. Just choose the coordinate transformation to match up level sets of the same size, and then match up the corresponding outputs.

Ok, so that’s the discrete case. Switching back to the continuous case (and bringing back the differentiable transformation constraint), what other coordinate free internal structure might exist in a net?

Well, in the continuous case, “size of the level set” isn’t really relevant, since e.g. we can reversibly map the unit interval to the real line. But, since our transformations need to be smooth, topology is relevant  - for instance, if the set of inputs which map to 0 is 1 dimensional, is it topologically a circle? A line? Two circles and a line? A knot?

Indeed, “structure which is invariant under smooth reversible transformation” is kinda the whole point of topology! Insofar as we want our interpretability tools to be coordinate free, topological features are *exactly* the structures to which we can try to assign meaning.

Great, we’ve reinvented topology.

… So Now What?
--------------

There are some nontrivial things we can build up just from low-dimensional summaries between individual layers and topological features. But ultimately, I don’t expect to unlock most of interpretability this way. I’d guess that low-dimensional summaries of the particular form relevant here unlock a bit less than half of interpretability (i.e. all the low-rank stuff, along the lines of the [Rome paper](https://arxiv.org/pdf/2202.05262.pdf)), and other topological structures add a nonzero but small chunk on top of that. (For those who are into topology, I strongly encourage you to prove me wrong!) What's missing? Well, for instance, one type of structure which should definitely play a big role in a working theory of interpretability is sparsity. With full coordinate freedom, we can *always* choose coordinates in which the layer functions are sparse, and therefore we gain no information by finding sparsity in a net.

So let’s assume we can’t get everything we want from pure coordinate free interpretability. Somehow, we need to restrict allowable transformations further. Next interesting question: where might a preferred coordinate system or an additional restriction on transformations come from?

One possible answer: the data. We’ve implicitly assumed that we can apply arbitrary coordinate transformations to the data, but that doesn’t necessarily make sense. Something like a stream of text or an image does have a bunch of meaningful structure in it (like e.g. nearby-ness of two pixels in an image) which would be lost under arbitrary transformations. So one natural next step is to allow coordinate preference to be inherited from the data. On the other hand, we’d be importing our *own* knowledge of structure in the data; really, we’d prefer to only use the knowledge learned by the net.

Another possible answer: the initialization distribution of the net parameters. For instance, there will always be some coordinate transformation which makes every layer sparse, but maybe that transformation is highly sensitive to the parameter values. That would indicate that any interpretation which relies on that coordinate system is not very robust; some small change in theta which leaves network behavior roughly the same could totally change the sparsifying coordinate system. To avoid that, we could restrict ourselves to transformations which are not very parameter-sensitive. I currently consider that the most promising direction.

The last answer I currently see is SGD. We could maybe argue that SGD introduces a preferred coordinate system, but then the right move is to probably look at the whole training process in a coordinate free way rather than just the trained net by itself. That does sound potentially useful, although my guess is that it mostly just reproduces the parameter-sensitivity thing.

*Meta note: I’d be surprised if the stuff in this post hasn’t already been done; it’s one of those things where it’s easy and obvious enough that it’s faster to spend a day or two doing it than to find someone else who’s done it. If you know of a clean write-up somewhere, please do leave a link, I’d like to check whether I missed anything crucial.*