dynamic convolution

**Dynamic Convolution** is a **convolution where the kernel weights are dynamically generated based on the input** — rather than using fixed, learned weights. The kernel adapts to each input, providing input-dependent feature extraction. **How Does Dynamic Convolution Work?** - **Attention Over Kernels**: Maintain $K$ fixed kernel candidates. Generate attention weights $pi_1, ..., pi_K$ from the input via squeeze-excite. - **Aggregate**: $W_{dynamic} = sum_k pi_k cdot W_k$ (weighted sum of kernel candidates). - **Apply**: Use $W_{dynamic}$ for standard convolution on the current input. - **Paper**: Chen et al. (2020). **Why It Matters** - **Adaptive**: Different inputs get different effective kernels -> more expressive than static kernels. - **Lightweight**: Only adds a small attention module to generate kernel weights. - **MobileNets**: Particularly effective for lightweight models where increasing width is too expensive. **Dynamic Convolution** is **input-adaptive filtering** — generating custom convolutional kernels on the fly for each input.

Go deeper with CFSGPT

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

Create Free Account