equivariance testing
**Equivariance Testing** is a **model validation technique that verifies whether the model's output transforms predictably when the input is transformed** — unlike invariance (output unchanged), equivariance means the output changes in a corresponding, predictable way (e.g., rotating input rotates the output mask).
**Invariance vs. Equivariance**
- **Invariance**: $f(T(x)) = f(x)$ — output is unchanged by the transformation.
- **Equivariance**: $f(T(x)) = T'(f(x))$ — output transforms correspondingly with the input transformation.
- **Example**: Classification should be rotation-invariant. Segmentation should be rotation-equivariant.
- **Testing**: Apply transformation $T$ and verify the output-transform relationship holds.
**Why It Matters**
- **Segmentation/Detection**: Object detection and segmentation models should be equivariant to geometric transforms.
- **Physics**: Physical models should be equivariant to coordinate transformations (rotation, translation).
- **Architecture Design**: Equivariance testing validates that architectures (group-equivariant CNNs, E(n)-equivariant networks) achieve the desired symmetries.
**Equivariance Testing** is **testing that outputs transform correctly** — verifying that model outputs respond predictably to input transformations.