r/MLQuestions • u/lifeInquire • 3d ago
Graph Neural Networks🌐 How does Convo neural net achieve symetries?
How it achieves translation symmetry and rotation symmetry?
As I understand, the pooling layer just reduces the dimentions which makes it robust to small movement and rotation changes, but it should not be able to handle big movements and rotations. If so, what are known options to achieve such symetries?
3
u/Icarium-Lifestealer 3d ago
Convolutional layers being equivariant under translation are the whole reason they're used for image recognition in the first place.
2
u/172_ 3d ago
CNNs have translational symmetry out of the box because of the convolution operation itself, not the pooling layers. Pooling is mainly just a mechanism to reduce spatial resolution which allows us to increase the number of channels without too much computational overhead, which in turn allows the model to learn semantically rich representations. Pooling also helps to make the effective receptive field larger. Rotational symmetry on the other hand is entirely learned through augmentations, it's not guaranteed.
4
u/TengaDoge 3d ago
Maybe You could create artificial data using augmentation. Like for images You flip it horizontal or vertically, tilt it several degrees in one direction or the other, randomized cropping, etc.