Invariance
Invariance means a model output stays unchanged when an allowed transformation is applied to the input.
Formally:
Invariant outputs are appropriate for scalar targets such as class labels, many energies, or global scores.
For 3D point coordinates:
when the target should not depend on global rotation or translation.
Distance is a basic invariant:
Permutation-invariant graph or set pooling has the form:
where reorders the elements.
Why It Matters
- Molecular energies, class labels, and many scores should not change under global rotation or translation.
- Invariant features can summarize geometry without depending on an arbitrary coordinate frame.
- Choosing invariant outputs requires knowing the task target and its physical meaning.
Target Examples
- Usually invariant: molecular property, binding-affinity scalar, class probability, ranking score, energy.
- Usually equivariant: coordinates, displacement, force, velocity, vector field, denoising direction.
- Context-dependent: pose quality, contact maps, distance matrices, and orientation-dependent interactions.
Failure Modes
- Invariance removes chirality or orientation information that the task needs.
- Pooling mixes unrelated graphs or molecules because batch membership is ignored.
- A benchmark metric is invariant, but the deployed output is a coordinate or pose that needs equivariance.
- Invariance is created by alignment to unavailable information, causing coordinate-frame leakage.
Checks
- Is the target truly invariant under rotation, translation, permutation, or reflection?
- Are invariant features discarding information needed for an equivariant output?
- Does pooling respect graph membership and atom or residue identity?
- Is invariance produced by architecture, augmentation, or preprocessing?
- Is reflection invariance valid for stereochemistry and chirality?
- Does the invariant readout match the actual decision metric?