involution

**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.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account