【注意力机制】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​))

相关新闻

最新新闻

PPT-MD

PPT-MD

#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ PPT 转 Markdown 工具&#xff1a;把模板 PPT (.pptx) 提取为 Marp 可用的 Markdown。用法&#xff1a;python pptx_to_md.py <模板.pptx> [-o 输出.md]输出&#xff1a;1) <输出名>.md …

2026/9/2 17:28:47
LabVIEW储能电池绝缘测试

LabVIEW储能电池绝缘测试

储能电池的绝缘电阻&#xff0c;是高压安全的第一道防线——可很多产线还在靠手抄记录&#xff0c;出了问题只能翻纸箱。预计阅读约 4 分钟01 绝缘测试还靠纸笔&#xff1f;先把问题摊开先看一个反常识的事实&#xff1a;储能电池绝缘测试测的是一项"结果错了可能出安全事…

2026/9/2 17:28:47
题解4(冰雹猜想、旗鼓相当的对手)

题解4(冰雹猜想、旗鼓相当的对手)

题解4&#xff08;冰雹猜想、旗鼓相当的对手&#xff09; 冰雹猜想题解&#xff1a; package Luogu;import java.util.Scanner;/*** author jinhong* date 2026/8/31 22:49* description 冰雹猜想*/ public class Main {public static void main(String[] args) {Scanner scnew…

2026/9/2 17:28:47
4. ARP_16 ~ ARP_20

4. ARP_16 ~ ARP_20

ARP_16:接收ARP请求(目标硬件地址为全0) 概述 地址解析模块不会对ar$tha做特殊赋值,该字段正是待解析获取的MAC地址。本测试中测试仪发送目标硬件地址全为0的ARP请求,期望DUT收到后回复ARP应答。 前置条件 使用章节通用前置条件 测试环境 拓扑1 输入参数 使用章节…

2026/9/2 17:28:47
通用 Agent 都这么强了,企业为什么还要花钱自研?

通用 Agent 都这么强了,企业为什么还要花钱自研?

大家好&#xff0c;我是大煊。 Codex、WorkBuddy 这一批通用 Agent 已经很强。接上 MCP&#xff0c;就能查文档、跑脚本、调内部接口。以前要排期的事&#xff0c;现在注册账号就能先跑一版。 企业买账号、接 MCP 就能用&#xff0c;为什么还要养团队自研&#xff1f; 开发者更…

2026/9/2 17:28:47
财报RAG增强实战:Neo4j知识图谱构建与实体关系抽取

财报RAG增强实战:Neo4j知识图谱构建与实体关系抽取

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/2 17:23:46