You asked for “all” the generalizations of convolution. Cute. Here’s the map so you don’t get lost in the algebraic jungle.
The unifying lens
Convolution is the unique linear operator that’s equivariant to a group action. Plain CNNs: group = translations on ℝ^d. General form:
(f * \psi)(x)=\int_G f(g\!\cdot\! x)\,\psi(g^{-1})\,d\mu(g)
Swap out the group G, the measure \mu, the algebra you’re working in, or make the kernel data-dependent, and you’ve got the zoo.
1) Change the symmetry group / domain
- Euclidean (classic): ℝ, ℝ², ℝ³ with translations; separable, depthwise, dilated, deformable, locally connected, dynamic filter networks.
- Rotations/translations (Lie groups): SE(2), SO(3), SE(3).
- Steerable/G-equivariant CNNs, TFN/e3nn, SE(3) Transformers: kernels built from irreps, Wigner-D, spherical Bessel, etc.
- Homogeneous spaces: S², projective spaces. Spherical CNNs, spin-weighted convolutions.
- Manifolds/fiber bundles: Gauge-equivariant CNNs, Geodesic CNNs, MoNet, FeaStNet, SplineCNN. Local frames + parallel transport give you “convolution” without global coordinates.
- Hyperbolic spaces: gyrovector “convolution,” spectral filters via Laplacian on \mathbb{H}^d. Good for trees and heavy-tailed graphs.
2) Change the topology: graphs and friends
Two main views:
Spectral: filter in the graph Fourier basis.
- Bruna et al., ChebNet, CayleyNets, GCN, Graph Heat/Diffusion filters, APPNP/Personalized PageRank, Graph Scattering.
- Kernels are polynomials or rational functions of L (Laplacian) or A (adjacency).