这部分我们先回到 SE 的 Excitation 步骤重新审视这里的 bottleneck 结构其中 。这里我们展开一下变换逻辑和 是两个全连接矩阵这意味着降维后的低维空间中每个元素都是所有 个通道的线性组合。随后升维时每个通道的权重又是所有低维元素的线性组合。换句话说这是一种全通道混合建模。按常理来说在减少参数的同时仍然实现了全通道建模这应该是一种优秀的设计。但 ECA 的作者提出了一个不同的观点通道注意力不需要全局的通道交互。每个通道只需要与它的邻居通道进行局部交互就足够了。而这种想法也有其合理之处因为图像数据的局部性和梯度传播的逻辑在卷积网络中相邻的通道往往编码了相关的特征模式例如同一层中不同方向的边缘检测器而相距较远的通道之间的直接关联性则弱得多。为了验证这个想法作者做了一个简单的对照实验去掉 bottleneck 中的降维直接用一层全连接矩阵 来生成通道权重。结果发现没有降维的版本反而效果更差。这似乎矛盾了如果降维有害为什么去掉它效果反而不好作者的答案是当 是一个稠密全连接矩阵时每个通道试图同时和所有通道交互这导致严重的过拟合尤其在 较大时。也就是说问题不在于不需要降维而在于全连接本身用力过猛了。真正需要的是一种轻量级的局部通道交互机制。这便是 ECA 的提出动机下面就来展开其具体改进。2. ECA 的具体改进#继续上节分析ECA 提出了一个极其简洁的改进方案在 GAP 之后直接用一个一维卷积来捕获局部通道交互取代 MLP bottleneck。具体来说ECA 的结构如下GAP与 SE 完全相同将 的特征图压缩为 的通道描述向量。1D 卷积在通道维度上施加一个 kernel size 为 的一维卷积每个通道只与它相邻的 个通道交互。Sigmoid Scale与 SE 相同将卷积输出通过 Sigmoid 得到权重再逐通道乘回原始特征图。用公式表达ECA 的通道权重 计算过程为其中 是 GAP 后的通道描述向量 表示 kernel size 为 的一维卷积。对比 SE 的参数量 ECA 的参数量仅常数级的 当 较大时ECA 的轻量优势极为明显。但这又引出了一个新的问题取多少3. 自适应核函数#继续刚刚问题 决定了局部跨通道交互的范围太小会让感受野局限无法捕获足够的通道间信息太大又会退化为近似全连接失去局部性的优势。直觉上通道数越多需要的交互范围也应该越大。因为更大的 意味着更多的特征模式通道间的潜在依赖关系也更多需要更大的 来覆盖。因此论文同时提出了一种自适应确定 的方法将 设计为通道数 的函数。具体形式如下其中 表示取最近的奇数 和 是超参数论文中设定 。代入后得到实际使用的公式例如当 时而且当 时你会发现 随 的增长是非常缓慢的这种刻意设计是因为通道间的有效交互并不需要很大的感受野。由此我们就完成 ECA 的完整逻辑它去掉了 SE 中的全连接层和降维操作用局部一维卷积直接建模通道间的依赖关系用更少的参数实现了更好的性能。这一发现不仅简化了模型设计也对后续注意力机制的研究方向产生了重要影响它证明了好效果不一定需要复杂的设计有时简单到极致的方案反而更优。作者哥布林学者