[Paper Review] Exploiting Cyclic Symmetry in Convolutional Neural Networks
The paper proposes four neural network layers (cyclic slicing, pooling, rolling, and stacking) to encode rotation cyclic symmetry in CNNs, enabling parameter sharing across orientations and improving performance with smaller models on rotation-symmetric datasets.
Many classes of images exhibit rotational symmetry. Convolutional neural networks are sometimes trained using data augmentation to exploit this, but they are still required to learn the rotation equivariance properties from the data. Encoding these properties into the network architecture, as we are already used to doing for translation equivariance by using convolutional layers, could result in a more efficient use of the parameter budget by relieving the model from learning them. We introduce four operations which can be inserted into neural network models as layers, and which can be combined to make these models partially equivariant to rotations. They also enable parameter sharing across different orientations. We evaluate the effect of these architectural modifications on three datasets which exhibit rotational symmetry and demonstrate improved performance with smaller models.
Motivation & Objective
- Motivate the use of architectural priors to encode rotational symmetry in CNNs, reducing redundancy and overfitting.
- Introduce four compatible layers to achieve cyclic rotation equivariance and parameter sharing.
- Demonstrate improved performance and parameter efficiency on rotation-symmetric datasets.
- Discuss practical implementation choices and extensions to dihedral symmetry and broader transformation groups.
Proposed method
- Define and implement four operations: cyclic slicing (S), cyclic pooling (P), cyclic rolling (R), and cyclic stacking (T).
- Use slicing to create four rotated copies of inputs, pooling to combine rotated copies via a permutation-invariant function, and rolling to fuse orientation-specific feature maps into richer representations.
- Formalize the algebraic relations: S(x) = [x, r x, r^2 x, r^3 x]^T, P(x) = p(x_0, r^{-1}x_1, r^{-2}x_2, r^{-3}x_3), T(x) = [x_0, r^{-1}x_1, r^{-2}x_2, r^{-3}x_3], R(x) = [T(x), T(σ x), T(σ^2 x), T(σ^3 x)]^T.
- Discuss implementation choices: rotate feature maps vs rotate filters, and the practical implications for memory and compatibility with frameworks.
Experimental results
Research questions
- RQ1Does encoding cyclic rotation symmetry via the proposed layers reduce parameter counts without sacrificing accuracy on rotation-symmetric data?
- RQ2How do cyclic slicing, pooling, rolling, and stacking affect model capacity and generalization across different datasets?
- RQ3What are the practical considerations (e.g., memory, batch size, same-equivariance vs invariance) when implementing these layers?
- RQ4Which pooling function (mean, RMS, max) yields best performance under cyclic symmetry, and does it depend on dataset?
- RQ5How does the approach compare to alternative rotation-encoding strategies in terms of performance and efficiency?
Key findings
- Cyclic architecture can improve performance with smaller parameter budgets on rotation-symmetric datasets.
- Cyclic pooling with mean pooling often yields best cross-entropy performance for the plankton dataset.
- Introducing rolling layers reduces parameters while maintaining or improving performance across datasets.
- Comparisons show that parameter-sharing via cyclic layers can match or exceed baselines with fewer parameters on multiple tasks.
- Practical choices (e.g., rotate feature maps vs rotate filters) influence memory and implementation ease.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.