【注意力机制】ICCV 2025 | ConvAttn:卷积化自注意力模块,用大核卷积+动态卷积以16倍加速实现超分SOTA! 论文: Emulating Self-attention with Convolution for Efficient Image Super-Resolution作者: Dongheon Lee, Seokju Yun, Youngmin Ro发表: ICCV 2025论文链接: https://arxiv.org/abs/2503.06671代码链接: https://github.com/dslisleedh/ESC一、引言图像超分辨率(Super-Resolution, SR)是计算机视觉中的经典任务,旨在从低分辨率图像中重建高分辨率图像。近年来,Transformer凭借自注意力机制的长距离建模能力和输入依赖加权特性,在SR任务中取得了显著优于CNN的性能。然而,Transformer在轻量级SR部署中面临一个严峻挑战:自注意力的内存访问开销极大。以SwinIR-light为例,即使其FLOPs和参数量分别比CNN方法低14.5倍和17倍,在重建HD图像时的延迟却反而高出4.7倍,内存占用高出2倍。这一矛盾的根源在于自注意力需要物化完整的得分矩阵(S = Q K T S=QK^TS=QKT),以及大量内存密集型的reshape和window masking操作。针对这一问题,本文作者提出了一种创新的解决方案——ConvAttn(Convolutional Attention)模块,通过精心设计的卷积操作来模拟自注意力的核心能力,从而大幅减少对自注意力的依赖。基于ConvAttn构建的ESC(Emulating Self-attention with Convolution)网络,在Urban100× 2 \times 2×2上达到33.46dB PSNR的同时,延迟仅120.9ms,比HiT-SRF快3.7倍,内存占用减少6.2倍。二、核心动机2.1 自注意力的层间重复问题作者首先进行了一项关键的可视化分析:计算SwinIR-light中各层自注意力输出特征图之间的CKA相似度和余弦相似度。图1:自注意力层间特征和注意力图的可视化相似度分析关键发现:自注意力的相似度建模(A a v g A_{avg}Aavg​)和提取的特征(F FF)在层间表现出极高的相似性,平均值分别高达89%和87%!这意味着:不同层的自注意力在提取重复的、高度重叠的特征——大量计算被浪费了。这一发现启发了作者的核心设计思路:保留第一层自注意力,将其余层的自注意力替换为高效的ConvAttn模块,在保持表征能力的同时大幅降低计算开销。2.2 解决思路基于上述观察,ESC的设计策略包含两个核心方向:用卷积替代大部分自注意力:利用共享大核卷积模拟长距离建模 + 动态卷积模拟输入依赖加权用Flash Attention强化剩余的自注意力:将窗口大小从常规的16 × 16 16\times1616×16扩展到32 × 32 32\times3232×32,进一步释放单层自注意力的潜力三、方法3.1 整体架构ESC的整体架构如下图所示:图2:ESC网络整体架构网络由4个主要组件构成:浅层特征提取:3 × 3 3\times33×3卷积将LR输入I L R ∈ R H × W × 3 I_{LR}\in\mathbb{R}^{H\times W\times 3}ILR​∈RH×W×3映射为浅层特征F 0 ∈ R H × W × C F_0\in\mathbb{R}^{H\times W\times C}F0​∈RH×W×C深度特征提取器H HH:由N NN个ESCBlock和一个3 × 3 3\times33×3卷积组成,接收F 0 F_0F0​和共享大核L K LKLK作为输入图像级跳跃连接S SS:直接处理LR输入,保留低频信息上采样模块U UU:使用Sub-Pixel Convolution进行上采样前向过程可表示为:F 0 = Conv 3 × 3 ( I L R ) F_0 = \text{Conv}_{3\times3}(I_{LR})F0​=Conv3×3​(ILR​)F = H ( F 0 , L K ) + F 0 F = H(F_0, LK) + F_0F=H(F0​,LK)+F0​F s = S ( I L R ) F_s = S(I_{LR})Fs​=S(ILR​)I S R = U ( F , F s ) I_{SR} = U(F, F_s)ISR​=U(F,Fs​)其中L K ∈ R 13 × 13 × 16 × 16 LK \in \mathbb{R}^{13\times13\times16\times16}LK∈R13×13×16×16是一个端到端学习、全模型共享的大核参数。3.2 ESC Block每个ESCBlock的结构如下图所示:图3:ESC Block内部结构ESCBlock的前向过程可以形式化为:F i i n = ConvFFN ( LN ( F i − 1 ) ) F_i^{in} = \text{ConvFFN}(\text{LN}(F_{i-1}))Fiin​=ConvFFN(LN(Fi−1​))F i , 0 = F i i n + SelfAttn ( LN ( F i i n ) ) F_{i,0} = F_i^{in} + \text{SelfAttn}(\text{LN}(F_i^{in}))Fi,0​=Fiin​+SelfAttn(LN(Fiin​))

相关新闻

最新新闻

大语言模型、RAG、多模态AI

大语言模型、RAG、多模态AI

你有没有遇到过这种情况:跑去问AI一个问题,它回答得滔滔不绝,逻辑清晰,听起来像模像样,但你就是有一种"哪里不对劲"的感觉。要么数据过时,要么答案与你的实际情况毫不相干,要么语气信…

2026/7/9 8:51:47
Py Eddy Tracker终极指南:如何高效识别和追踪海洋涡旋

Py Eddy Tracker终极指南:如何高效识别和追踪海洋涡旋

Py Eddy Tracker终极指南:如何高效识别和追踪海洋涡旋 【免费下载链接】py-eddy-tracker Eddy identification and tracking 项目地址: https://gitcode.com/gh_mirrors/py/py-eddy-tracker 海洋中尺度涡旋是影响全球海洋环流、物质输送和能量平衡的关键过程…

2026/7/9 8:51:47
2026最新5款基础版免费AI编程平替工具长期实测权威合集

2026最新5款基础版免费AI编程平替工具长期实测权威合集

一、开篇叙述 GitHub Copilot拥有海量开源训练样本,单行代码补全响应速度稳定,深度适配各类主流IDE插件生态,是过去两年我团队内部统一使用的编程辅助工具。作为一个习惯先写注释再写代码的人,AI 编程工具能不能读懂我的注释意图是…

2026/7/9 8:51:47
经典算法实例应用:后继者(二)

经典算法实例应用:后继者(二)

接上文,小编来分享第二种解题思路:方法二:利用二叉搜索树的性质二叉搜索树的一个性质是中序遍历序列单调递增,因此二叉搜索树中的节点 p 的后继节点满足以下条件:​后继节点的节点值大于 p 的节点值;后继节…

2026/7/9 8:51:47
dbg -基础指令

dbg -基础指令

文章目录 0 、GDB 是什么?为什么需要它? 1 、准备工作:编译带调试信息 2、基础:断点、运行、查看 2.1 启动 GDB 2.2 断点 (break) 2.3 运行程序 2.4 单步执行 2.5 查看变量 2.5 常用指令集合 2.5.1 where 2.5.2 shell cls 2.5.3 gdb模式下 如何重新开始运行 2.5.4 删除特定…

2026/7/9 8:51:47
【Three.js】使用Three.js开发一个太阳系 3D 可视化模拟器完整技术

【Three.js】使用Three.js开发一个太阳系 3D 可视化模拟器完整技术

【Three.js】使用Three.js开发一个太阳系 3D 可视化模拟器完整技术 项目概述 基于 Three.js 构建的交互式 3D 太阳系模拟,运行于现代浏览器中。支持行星公转、自转、土星光环、地球云层与大气、太阳辉光与日冕特效,以及相机聚焦与自由视角控制。 技术…

2026/7/9 8:46:47

月新闻