赞
踩
目录
浙江大学等机构发布的一篇收录于CVPR2021的文章,提出了一种新的通道注意力结构,在几乎不引入参数的前提下优于大多SOTA通道注意力模型,如SE、ECA等。这篇文章虽然叫Gaussian Context Transformer,但是和Transformer并无太多联系,这里可以理解为高斯上下文变换器。
LCT(linear context transform)观察所得,如下图所示,SE倾向于学习一种负相关,即全局上下文偏离均值越多,得到的注意力激活值就越小。为了更加精准地学习这种相关性,LCT使用一个逐通道地变换来替代SE中的两个全连接层。然而,实验表明,LCT学得的这种负相关质量并不是很高,下图中右侧可以看出,LCT的注意力激活值波动是很大的。
在本文中,我们假设这种关系是预先确定的。基于这个假设,我们提出了一个简单但极其有效的通道注意力块,称为高斯上下文Transformer (GCT),它使用满足预设关系的高斯函数实现上下文特征激励。
在ImageNet 和 MS COCO 基准测试的大量实验表明,我们的 GCT 导致各种深度 CNN 和检测器的持续改进。与一系列最先进的通道注意力块(例如 SE 和 ECA)相比,我们的 GCT 在有效性和效率方面更为出色。
- ###################### Gaussian Context Transformer attention #### END by AI&CV ###############################
-
- """
- PyTorch implementation of Gaussian Context Transformer
- As described in http://openaccess.thecvf.com//content/CVPR2021/papers/Ruan_Gaussian_Context_Transformer_CVPR_2021_paper.pdf
- Gaussian Context Transformer (GCT), which achieves contextual feature excitation using
- a Gaussian function that satisfies the presupposed relationship.
- """
-
- import torch
- from torch import nn
-
-
- class GCT(nn.Module):
- def __init__(self, channels, c=2, eps=1e-5):
- super().__init__()
- self.avgpool = nn.AdaptiveAvgPool2d(1)
- self.eps = eps
- self.c = c
-
- def forward(self, x):
- y = self.avgpool(x)
- mean = y.mean(dim=1, keepdim=True)
- mean_x2 = (y ** 2).mean(dim=1, keepdim=True)
- var = mean_x2 - mean ** 2
- y_norm = (y - mean) / torch.sqrt(var + self.eps)
- y_transform = torch.exp(-(y_norm ** 2 / 2 * self.c))
- return x * y_transform.expand_as(x)
-
-
- ###################### Gaussian Context Transformer attention #### END by AI&CV ###############################
from ultralytics.nn.modules import (C1, C2, C3, C3TR, SPP, SPPF, Bottleneck, BottleneckCSP, C2f, C3Ghost, C3x, Classify, Concat, Conv, ConvTranspose, Detect, DWConv, DWConvTranspose2d, Ensemble, Focus,GCT)
修改def parse_model(d, ch, verbose=True): # model_dict, input_channels(3):
- if m in (Classify, Conv, ConvTranspose, GhostConv, Bottleneck, GhostBottleneck, SPP, SPPF, DWConv, Focus,
- BottleneckCSP, C1, C2, C2f, C3, C3TR, C3Ghost, nn.ConvTranspose2d, DWConvTranspose2d, C3x,GCT
- ):
- # Ultralytics YOLO 声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/271248推荐阅读
相关标签
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。