Mathematics seminar
Same Answers, Different Weights
When are a network's weights unique?
- Role
- Seminar author
- Classification
- Academic research
- Institution
- Technical University of Munich
Problem
Different weights can compute the same function.
How it was solved
I built such networks and checked them numerically.
- Build
- Permute and flip
- Verify
Result
2
symmetries confirmed in code
Built with
- PyTorch
- NumPy
- Jupyter
Academic seminar / Mathematics
Two networks with identical weights do the same thing. The interesting question is the reverse: if two networks agree on every input, must their parameters be the same?
What is publishedno numerical finding
Two networks, two different questions about sameness
This diagram in words
- A small network source — Fully connected, small enough to reason about exhaustively.PyTorch
- Relabelled and flipped process — Hidden units permuted, and two of them sign-flipped.NumPy
- Agree on inputs? gate — The two networks evaluated on sampled points.
- Parameters align? gate — Under that exact relabelling, not up to anything looser.
- Unrelated network source — Put through the identical test, and required to fail it.
- Identified artifact — Both checks pass and the control fails, or the claim is not made.unittest
Read the full background
Problem
Why this work exists
Two networks with identical weights always compute the same function. The reverse does not follow, and a fully connected network can hide equivalent behaviour inside different weights, which is what makes a weight worth interpreting an open question rather than an obvious one.
Contribution
What I can claim
Built the prototype that constructs a network related to another by relabelling its hidden units and flipping signs, verifies that the two agree numerically on sampled inputs and that their parameters align under that relabelling, and runs the same comparison against an unrelated network so that the check is one that can fail.
Method
A check that is able to fail
Two networks with identical weights compute the same function.
- outputs agree
- rejected
A sign flip is drawn on the units that carry one. Nothing here is a measurement: the repository keeps no trained model and publishes no numerical finding.
Build
A small fully connected network, chosen to be understandable rather than capable.
Relabel
A second network is constructed from the first by permuting its hidden units and flipping signs in matched pairs.
Agree
The two are compared on sampled inputs and agree.
Align
So the parameters are checked separately, under the relabelling.
Reject
Finally the identical comparison runs against an unrelated network, and rejects it.
What this does not show
These are finite numerical diagnostics on sampled inputs. They can find exact clone pairs and inactive contributions; they do not prove global functional equivalence, and they do not satisfy the hypotheses of any published identifiability theorem. The repository versions no configuration, model or result, and this section claims none.
How it was built
System
Workflow and decisions
A seminar prototype supervised at Technical University of Munich. One module builds networks, one constructs the relabelled and sign-flipped relatives, one runs the diagnostics, and the notebooks are where they are explored rather than where results are kept.
- 1Build a small fully connected network
- 2Relabel its hidden units and flip signs
- 3Check the two agree on sampled inputs
- 4Check the parameters align under the relabelling
- 5Reject an unrelated network put through the same test
- PyTorch
- NumPy
- Jupyter
- unittest
Evidence
What is actually versioned
The repository's experiments and results directories intentionally hold no versioned configurations, no trained models and no findings, and it makes no claim of experimentally establishing identifiability for any trained model or activation family. That is its own scope statement, and this page claims nothing beyond it.
relabel the hidden units, then flip signs in matched pairs. The constructed network is then checked for numerical output agreement and parameter alignment against the one it came from.
exact and near-exact hidden-unit clones, sampled non-degeneracy, inactive contributions on sampled inputs. They are finite and numerical, on sampled inputs, across tanh, sigmoid, ReLU.
How the work is checked
Quality controls
How the work is checked
- The comparison is run against an unrelated network as well as a related one, so it is a check that can fail rather than one that always passes
- Output agreement and parameter alignment are checked separately, because the first without the second is the whole phenomenon being studied
- The scope statement is in the README rather than left implicit, and it is the first thing after the question
- The activation names in the code are described as the assumptions this prototype considers, with the formal conditions left to the cited papers
Limitations
Where the evidence stops
- Finite numerical diagnostics on sampled inputs. They can find patterns such as exact clone pairs or inactive contributions; they do not prove global functional equivalence
- They do not satisfy every hypothesis of any published identifiability theorem, and the repository says so rather than implying otherwise
- Source code and exploratory notebooks, not a validated empirical benchmark. Nothing is versioned under experiments or results
- A seminar prototype. The mathematics it points at belongs to the cited papers rather than to this repository
What this changed in my practice
What this changed in my practice
A check that always passes is not a check. Constructing the equivalent network is the easy half; the half that makes it mean anything is running the identical comparison against a network that should be rejected, and watching it be rejected.