HAT(CVPR 2023):基于混合注意力机制的图像重建网络

HAT

论文地址HAT: Hybrid Attention Transformer for Image Restoration

代码地址XPixelGroup/HAT: CVPR2023 - Activating More Pixels in Image Super-Resolution Transformer

摘要

​ 通过归因分析attribution analysis method - Local Attribution Map (LAM),发现目前基于Transformer的方法只能来利用有限的输入空间信息。这意味着 Transformer 的潜力在现有网络中仍未得到充分利用。为了激活更多的输入像素以获得更好的恢复,提出了一种新的混合注意Transformer(HAT)。它结合了通道注意力和基于窗口的自注意力机制,从而利用了它们的互补优势。此外,为了更好地聚合窗口之间信息,引入了一个重叠的交叉注意模块来增强相邻窗口特征之间的交互。在训练阶段,采用了相同的任务预训练策略来进一步利用模型的潜力进行进一步改进。

现阶段问题

  1. SwinIR 比基于 CNN 的方法(例如 RCAN [10])在某些场景利用的输入像素更少
  2. 在 SwinIR 的中间特征中会出现阻塞伪影。这表明移位窗口机制不能完美地实现跨窗口信息交互。

主要贡献

  1. 提出了一种混合注意力 Transformer,即 HAT。结合通道注意和自注意力机制,以利用前者transformer使用全局信息的能力(激活更多像素)和后者Self-attention强大的representative ability
  2. 引入了一个overlapping的注意力窗口模块来实现相邻窗口特征的更直接的交互,减少阻塞伪影产生。

网络框架

2023-11-22_10-03-02

HAB模块

采用标准Swin Transformer块的类似结构,并再其中融入了Channel Attention。

  • 增加window size大小为16,扩大窗口感受野,因为根据实验,限制窗口大小能节省计算成本,单通过移位窗口逐步增加感受野,却牺牲了自注意力机制的表征能力。
  • 引入通道注意力机制,会激活更多像素,因为其涉及利用全局信息计算,有利于对纹理部分的优化。

overlapping window partition

​ 我们的 OCA 与 Multi-resolution Overlapped Attention (MOA) 根本不同。MOA 使用窗口特征作为token计算全局注意力,而 OCA 使用像素token计算每个窗口特征内的交叉注意力。

​ 为什么不全部使用OCA,因为全部使用这种模块会不可避免带来大量计算负担,采用有限数量的OCA可以有效增加窗口之间的交互。

2023-11-22_10-18-02

qkv = self.qkv(x).reshape(b, h, w, 3, c).permute(3, 0, 4, 1, 2) # 3, b, c, h, w
q = qkv[0].permute(0, 2, 3, 1) # b, h, w, c
kv = torch.cat((qkv[1], qkv[2]), dim=1) # b, 2*c, h, w

# partition windows
q_windows = window_partition(q, self.window_size)  # nw*b, window_size, window_size, c
q_windows = q_windows.view(-1, self.window_size * self.window_size, c)  # nw*b, window_size*window_size, c

kv_windows = self.unfold(kv) # b, c*w*w, nw
kv_windows = rearrange(kv_windows, 'b (nc ch owh oww) nw -> nc (b nw) (owh oww) ch',
                       nc=2, ch=c, owh=self.overlap_win_size, oww=self.overlap_win_size).contiguous() # 2, nw*b, ow*ow, c
k_windows, v_windows = kv_windows[0], kv_windows[1] # nw*b, ow*ow, c

b_, nq, _ = q_windows.shape
_, n, _ = k_windows.shape
d = self.dim // self.num_heads
q = q_windows.reshape(b_, nq, self.num_heads, d).permute(0, 2, 1, 3) # nw*b, nH, nq, d
k = k_windows.reshape(b_, n, self.num_heads, d).permute(0, 2, 1, 3) # nw*b, nH, n, d
v = v_windows.reshape(b_, n, self.num_heads, d).permute(0, 2, 1, 3) # nw*b, nH, n, d

q = q * self.scale
attn = (q @ k.transpose(-2, -1))

结论

​ 在这项工作中,我们提出了一种新的混合注意转换器HAT,用于图像恢复。我们的模型结合了通道注意力和自注意力激活更多像素以进行高分辨率重建。此外,我们提出了一个重叠的交叉注意模块增强跨窗口信息的交互。此外,我们介绍了一种用于图像超分辨率的相同任务预训练策略。广泛的基准和真实世界的评估表明,我们的HAT在几个图像恢复任务上优于最先进的方法

03-17
<think>好的,用户想了解Red Hat Linux发行版及其企业级解决方案。首先,我需要整理已有的引用内容,确保信息准确。根据提供的引用[1]、[2]、[3],Red Hat主要有RHEL这个企业级发行版,专注于服务器环境,提供高可靠性和支持服务。 接下来,用户可能希望知道不同版本的区别,比如Fedora和RHEL的关系,以及CentOS的作用。引用中提到CentOS作为免费替代,适合测试和开发环境,但现在已经转向CentOS Stream,这点需要说明清楚。 企业级解决方案方面,引用[2]提到了服务器运维、云计算和大数据,可以具体展开OpenShift、Ansible等工具。此外,RHEL 8.10的新特性如性能优化、容器支持等,需要详细列举,引用[3]有相关内容。 需要注意使用正确的格式,数学公式部分虽然用户问题不涉及,但如果有技术参数可能需要用LaTeX,但这里可能不需要。最后生成相关问题时要覆盖版本对比、优势、新版本特性、社区项目和应用场景,确保问题有针对性且帮助用户深入理解。</think>### Red Hat Linux发行版及企业级解决方案 #### 1. **Red Hat Linux发行版** Red Hat公司提供多个Linux发行版,主要分为两类: - **Red Hat Enterprise Linux (RHEL)** 这是专为企业设计的商业级操作系统,需付费订阅,提供长期支持(LTS)、安全补丁和技术服务[^1][^3]。例如,RHEL 8.10引入了性能优化和增强的容器管理功能。 - **Fedora** 作为社区驱动的免费发行版,Fedora是RHEL的技术试验田,新特性通常先在Fedora中验证,再迁移到RHEL。 此外,**CentOS**曾是RHEL的免费克隆版,适合非商业用途,但CentOS 8已转向滚动更新的CentOS Stream模式,成为RHEL的上游开发分支。 #### 2. **企业级解决方案** Red Hat的核心解决方案围绕以下领域展开: - **云计算与容器化** 通过**OpenShift**(基于Kubernetes的容器平台)支持混合云和多云部署,与RHEL深度集成,提供安全的容器运行时环境。 - **自动化运维** **Ansible**是一款无代理的自动化工具,用于配置管理、应用部署和任务编排,支持跨平台操作。 - **高可用性与安全性** RHEL内置**SELinux**强制访问控制机制,并支持集群架构(如Pacemaker)以实现服务高可用性[^2]。 - **开发与集成** 提供**Red Hat Developer Studio**等工具链,支持Java、Python等语言的开发调试,并集成Quarkus等云原生框架。 #### 3. **技术优势** - **稳定性**:RHEL每个主版本支持10年,适合关键业务系统。 - **生态兼容性**:通过认证的硬件、软件和云服务(如AWS、Azure)确保兼容性。 - **开源协作**:Red Hat主导多项开源项目(如GNOME、systemd),推动技术创新。 ```plaintext 示例:RHEL订阅包含的内容 1. 操作系统镜像与更新 2. 24/7技术支持(按订阅级别) 3. 安全漏洞修复与合规性工具 4. 访问Red Hat知识库和培训资源 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Miracle Fan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值