持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天,点击查看活动详情
摘要
- 问题:归因分析发现当前基于Transformer的网络只能利用有限的空间范围的输入信息
- 目标:激活更多的输入像素进行重建
- 解决:
- 提出新的混合注意力Transformer网络:将通道注意力与自注意力结合起来,利用他们的互补优势
- 引入重叠交叉注意模块:更好地聚合跨窗口信息,增强相邻窗口特征之间的交互
- 同任务预训练策略
引言
为什么Transformer比CNN好
LAM(属性分析方法):检查SwinIR重建所用的信息的涉及范围
- LAM属性:反映在重建标有红色框的补丁时,输入LR图像中每个像素的重要性
- 红色区域越多表示利用的信息越多;DI值越大,所利用的像素范围越广
- 结果显示:与RCAN相比,SwinIR利用的信息更少,但是SwinIR的定量性能更高
- 结论:Transformer具有更强的局部信息建模能力,但其使用信息的范围需要扩大
HAT
- 混合注意力机制(即在Transformer中引入通道注意力)
通道注意力:利用全局信息的能力
自注意力:强大的表征能力 - 重叠交叉注意模块:更好地聚合跨窗口信息
- 预训练:
探索预训练对SR任务的影响
提出同任务预训练策略
实验表明:同任务预训练策略优于多相关任务预训练策略
相关工作
SR深度网络
- 深度网络:卷积模块设计:残差块、密集块
- 递归神经网络
- 图神经网络
- GAN
SRGAN:2017
ESRGAN:2018
RankSRGAN:2019
Real-ESRGAN:2021 - Transformer
IPT:2021(低水平任务的预训练模型)
SwinIR:2021
EDT:2021 - 理解SR网络的工作机制
LAM:采用积分梯度法来探索哪些输入像素对最终性能贡献最大
DDR:基于深度特征降维和可视化揭示SR网络中的深度语义表示
FAIG:为盲SR中的特定退化寻找鉴别滤波器
DropoutSR:dropout帮助防止对真实SR网络协同适应
ViT
尽管ViT在建模长距离依赖方面显示出优势,但CNN可以帮助Transformer实现更好的视觉表现
方法
动机
问题1 现象:SwinIR的定量性能优于RCAN,但是前者利用的像素少于后者,且前者的视觉性能劣于后者 分析 扩大SwinIR利用像素的范围可以进一步提升其性能 RCAN能利用更多像素得益于通道注意力机制,这也可能对T燃烧former有益 问题2 现象:SwinIR的中间特征图中观察到明显的伪影阻塞
分析 伪影阻塞由窗口分割机制引起 移位窗口机制在构建跨窗口连接时效率低下 高级视觉任务中也表明加强窗口之间的连接可以改进基于窗口的自注意力方法
网络架构
overview
- 浅层特征提取:卷积
简单地将输入从低维空间映射到高维空间,同时实现每个像素标记的高维嵌入
早期卷积层有助于学习更好的视觉表现,并带来稳定的优化 - 深层特征提取
N个残差混合注意组(RHAG)
1个3*3卷积
聚集深层特征的信息
全局残差连接
融合浅层特征和深层特征
逐步处理中间特征 - 重建
像素洗牌方法对融合特征上采样
RHAG
- M个混合注意模块(HAB)
- 重叠交叉注意块(OCAB):扩大基于窗口的自注意力的接收域
- 1个3*3卷积
- 残差连接:稳定训练过程
HAB
- 整体结构
CAB与基于窗口的多头自注意模块(W-MSA)并行地插入标准Swin Transformer块的第一个LN层之后
- 自注意模块的计算
- 划分:划分为M*M的局部窗口
- 计算:每个局部窗口内计算自注意力
d:Q/K的维度
B:相对位置编码 - 移位窗口分区方法:移位大小设置为窗口大小的一半 小常数α:避免CAB和MSA在优化和可视化表示上可能发生的冲突
- CAB:基于通道注意力的卷积块
标准卷积+GELU+标准卷积
- 常数β
问题:Transformer通常需要大量信道用于令牌嵌入,直接使用恒定通道的卷积会产生较大的计算成本
计算:压缩信道数C/β->扩展信道数C - 标准CA通道注意力:自适应地重新缩放信道特征
OCAB
- 整体结构
OCA:重叠交叉注意层
使用不同的窗口大小来划分投影的特征,使用0元素填充保持分区大小一致
Q:M*M的非重叠窗口
K/V:Mo*Mo的重叠窗口
- 作用:建立跨窗口连接,增强窗口自注意的表征能力
- 与WSA的区别
WSA:查询、键和值从同一窗口特征计算
OCA:从一个更大的域中计算键/值,在这个域中可以使用更多有用的信息进行查询 - 与MOA的区别
MOA:使用窗口特征作为标记计算全局注意力
OCA:使用像素标记计算每个窗口特征内的交叉注意力
同任务预训练
- 多任务预训练
IPT:使用低级视觉任务预训练
EDT:利用特定任务的不同降级预训练
使用相同训练集在x2SR上微调x4SR - 基于相同的任务直接对更大规模的数据集(即ImageNet)进行预训练
例如,当想为×4SR训练模型时,首先在ImageNet上训练一个×4SR模型,然后在特定的数据集上对其进行微调,例如DF2K。 - 充分的训练迭代和合适的小学习率
Transformer需要更多的数据和迭代来学习任务的一般知识
需要小的学习率来进行微调,以避免对特定数据集的过度拟合