
166、超分中的注意力机制对比:通道注意力、空间注意力与自注意力的效能分析上个月调一个轻量级超分模型,在Urban100上死活提不上PSNR,换了三版注意力模块,结果一个比一个玄学。RCAN的通道注意力涨了点,但参数量翻倍;换上CBAM的空间注意力,训练直接崩了梯度;最后试了Swin的自注意力,显存爆了。今天就把这几个注意力机制在超分场景下的真实表现掰开揉碎讲清楚。从一次失败的调参说起当时在EDSR基础上加通道注意力,代码抄的SENet那套,全局平均池化后接两个全连接层。训练到第50个epoch,验证集PSNR从32.1掉到31.8,我一度怀疑是学习率没调好。后来打印了注意力权重,发现大部分通道的缩放因子都在0.1以下——模型直接把高频细节给“注意力”没了。通道注意力(SE-Net风格)的核心是挤压和激励:全局池化压缩空间信息,两个FC层学习通道间的非线性关系。在超分里,这玩意儿有个致命问题——它假设全局平均池化能代表整个特征图的重要性。但超分任务需要保留局部纹理,一张图里天空区域和建筑边缘的通道重要性完全不同,全局池化直接抹掉了这种空间差异性。代码里有个坑:nn.AdaptiveAvgPool2d(1)之后接nn.Linear,很多人会忘记nn.Flatten(),导致维度不匹配。更隐蔽的是,第二个FC层的神经元数量设为C//r,r=16时压缩太狠,高频信息直接被丢弃。我后来改成r=4,PSNR回升了0.15