Attention Gate in Attention UNet
对Attention UNet中使用的Attention Gate(AG)进行介绍和代码分析。
1 Attention UNet
于2018年被收录于cvpr,在UNet的基础上,decoder的部分增加Attention Gate,以突出通过跳转连接的突出特征。文中介绍了2D和3D的实现方法。
Attention UNet整体结构如下:

从原文中的实验结果来看,Attention UNet
都相较于U-Net在多个数据集(CT-150,TCIA Pancreas-CT,eg.)上有更优秀的分割性能,且从可视化结果来看,Attention UNet有更平滑且准确的边缘。

2 Attention Gate
下面来详细了解一下这个UNet中的Attention Gate。
作用:自适应地选择有用的特征,抑制无关的区域。
2.1 AG的结构与原理

:从encoder对应层skip来的特征图,通常是高分辨率的图像。 - 可能包含冗余和无关信息
:从上采样而来的低分辨率信号。 - 解码器当前关注的区域,帮助引导关注重点
处理流程
假设:
通常g的空间尺寸更小,channel更大
- 将两个输入使用
卷积映射到统一维度 - 对齐空间尺寸(上采样gating信号):可以使用线性插值
权重大的特征在相加后更加明显
- 融合后是使用ReLU激活
卷积:通道降到1通道size:(1,1,32,32) - 得到mask:sigmoid将值映射到0~1之间
- mask与
相乘,得到“重要区域”特征值更强,“不重要区域”被抑制的特征图。
1 | x (1, 64, 64, 64) |
2.2 Pytorch 实现AG(2D)
1 | import torch |
在上采样过程中:
1 | x = self.up(x) # 上采样 decoder feature map |
Attention Gate in Attention UNet
https://zhouwentong7.github.io/2025/04/10/Attention-Gate-in-Attention-UNet/

