What is the effective difference between these two concepts?
Is it only implementation (depth-wise convolution, vs per-channel pooling), or they serve a different purpose?
My understanding is that both approaches are used as attention mechanism, working per-channel. In other words, both approaches are used to filter unnecessary information (information that we consider noise, not signal). Is this correct? Do bottlenecks ensure, that the same feature won't be represented multiple times in different channels, or they don't help at all in this regard?