091、超分中的注意力机制:从通道注意力到空间注意力,再到自注意力
091、超分中的注意力机制:从通道注意力到空间注意力,再到自注意力去年调一个EDSR的复现,跑了两天发现PSNR死活上不去,比论文低了0.3dB。排查到最后,发现是通道注意力模块里sigmoid的数值溢出——输入特征图经过全局平均池化后,数值范围被压缩到0.1左右,再经过两个全连接层,某些通道的响应值直接炸到1e4,sigmoid输出全变成1。这种坑,调过注意力机制的人都懂。通道注意力:超分里最朴素的“加权”先聊通道注意力。RCAN里那个CA模块,本质就是给每个通道算一个重要性分数。输入是H×W×C的特征图,先全局平均池化压成1×1×C,再经过两个全连接层(中间加个ReLU),最后sigmoid输出0到1之间的权重。这里有个关键细节:第一个全连接层会把通道数压缩到C/r(r是缩减率,RCAN里用16),第二个再恢复成C。为什么中间要压缩?直接一个全连接层映射到C不行吗?我试过,效果差很多。压缩-扩张的结构相当于在低维空间做特征交互,比直接映射更能捕捉通道间的非线性关系。别问我为什么,实验就是这么说的。实际调参时注意:缩减率r不是越小越好。r=4时参数量爆炸,r=32时信息丢失严重。RCAN选16是有道理的,我试过8和32,PSNR分别掉了0.05和0.1dB。通道注意力的局限也很明显:它只关注“哪些通道重要”,完全不考虑“特征图上哪个位置重要”。对于超分这种需要精细纹理恢复的任务,光知道通道权重是不够的。比如一张人脸图像,眼睛区域的纹理细节远比背景重要,但通道注意力给整张图所有位置都乘同一个权重,这显然不合理。