Involution is a location-specific, channel-sharing operation that inverts the properties of convolution — while convolution is location-invariant and channel-specific, involution generates unique kernels for each spatial position but shares them across channels.
How Does Involution Work?
- Generate Kernel: For each position $(i,j)$, generate a kernel $H_{i,j}$ from the input features at that position.
- Apply: $Y_{i,j} = sum_{Delta} H_{i,j,Delta} cdot X_{i+Delta_h, j+Delta_w}$ (summed across the kernel neighborhood).
- Channel Sharing: The same kernel is applied to all channel groups at position $(i,j)$.
- Paper: Li et al. (2021).
Why It Matters
- Complementary: Captures spatial-varying patterns that convolution (spatially invariant) cannot.
- Efficiency: Far fewer parameters than convolution (channel-sharing reduces parameters by $C/G$ factor).
- Self-Attention Link: Involution can be seen as a local version of self-attention.
Involution is the spatial inverse of convolution — generating position-specific but channel-shared kernels, capturing per-location visual patterns.
involutioncomputer vision
Explore 500+ Semiconductor & AI Topics
From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.