邢台企业网站建设企业网站php源码
2026/6/20 9:20:16 网站建设 项目流程
邢台企业网站建设,企业网站php源码,金融直播间网站建设,工商注册查询平台前言 本文介绍了高斯上下文变换器#xff08;Gaussian Context Transformer#xff0c;GCT#xff09;#xff0c;这是一种新型通道注意力模块#xff0c;旨在提升深度卷积神经网络#xff08;CNN#xff09;的表现力。传统通道注意力模块通过全连接层或线性变换学习全…前言本文介绍了高斯上下文变换器Gaussian Context TransformerGCT这是一种新型通道注意力模块旨在提升深度卷积神经网络CNN的表现力。传统通道注意力模块通过全连接层或线性变换学习全局上下文与注意力激活的关系但效果不佳。GCT假设该关系预先确定由全局上下文聚合、归一化和高斯上下文激励三个操作组成。根据高斯函数标准差是否可学习分为无参数的GCT - B0和有参数的GCT - B1。我们将GCT引入YOLOv8在指定目录添加代码文件在ultralytics/nn/tasks.py中注册并给出配置文件和实验脚本。实验表明GCT能提升模型性能。文章目录 YOLOv8改进大全卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总专栏链接: YOLOv8改进专栏文章目录前言介绍摘要文章链接基本原理主要内容核心代码引入代码注册步骤1:步骤2配置yolov8-GCT.yaml实验脚本结果介绍摘要最近提出了大量的通道注意力模块以增强深度卷积神经网络CNN的表示能力。这些方法通常通过全连接层或线性变换来学习全局上下文与注意力激活之间的关系。然而我们的实验证明尽管引入了许多参数这些注意力模块可能无法很好地学习这种关系。在本文中我们假设这种关系是预先确定的。基于这一假设我们提出了一种简单而高效的通道注意力模块称为高斯上下文变换器Gaussian Context TransformerGCT它使用满足预设关系的高斯函数实现上下文特征的激发。根据高斯函数的标准差是否可学习我们开发了两个版本的GCTGCT-B0和GCT-B1。GCT-B0是一个无参数的通道注意力模块通过固定标准差来实现。它直接将全局上下文映射到注意力激活无需学习。相比之下GCT-B1是一个有参数的版本它自适应地学习标准差以增强映射能力。在ImageNet和MS COCO基准测试上的大量实验表明我们的GCT在各种深度CNN和检测器上均能带来一致的性能提升。与一系列最先进的通道注意力模块如SE和ECA相比我们的GCT在有效性和效率上都更具优势。文章链接论文地址论文地址**代码地址**代码地址基本原理Gaussian Context TransformerGCT是一种新型的通道注意力模块旨在提高深度卷积神经网络CNN的表现力。该方法由Ruan等人提出主要通过使用高斯函数来实现上下文特征的激励从而简化了传统通道注意力机制的复杂性。主要内容研究背景传统的通道注意力模块通常通过全连接层或线性变换来学习全局上下文与注意力激活之间的关系。然而研究表明尽管引入了许多参数这些注意力模块可能并未有效学习这种关系。核心假设GCT的核心假设是全局上下文与注意力激活之间的关系是预先确定的而不是通过学习获得的。基于这一假设GCT提出了一种简单而高效的通道注意力机制。GCT的结构GCT由三个主要操作组成全局上下文聚合GCA通过全局平均池化来获取通道级别的统计信息以帮助网络捕捉长距离依赖关系。归一化对聚合后的全局上下文进行归一化处理。高斯上下文激励GCE使用高斯函数对全局上下文进行激励公式为$Y e{-\frac{norm(avg(X))2}{2c^2}} \cdot X$其中c cc是高斯函数的标准差可以是常数或可学习的参数。参数自由的GCT当标准差c cc为常数时GCT被称为GCT-B0这是一种参数自由的通道注意力模块。研究表明GCT-B0在多个任务上表现优异且参数和计算量几乎没有增加。实验结果在ImageNet和MS COCO等基准测试上进行的综合实验表明GCT在各种骨干网络和检测器上均能显著提高性能超越了其他通道注意力模块。核心代码classGCT(nn.Module):def__init__(self,channels,c2,eps1e-5):super().__init__()self.avgpoolnn.AdaptiveAvgPool2d(1)self.epseps self.ccdefforward(self,x):yself.avgpool(x)meany.mean(dim1,keepdimTrue)mean_x2(y**2).mean(dim1,keepdimTrue)varmean_x2-mean**2y_norm(y-mean)/torch.sqrt(varself.eps)y_transformtorch.exp(-(y_norm**2/2*self.c))returnx*y_transform.expand_as(x)引入代码在根目录下的ultralytics/nn/目录新建一个attention目录然后新建一个以GCT为文件名的py文件 把代码拷贝进去。importtorchimporttorch.nnasnnimporttorch.nn.functionalasFclassGCT(nn.Module):def__init__(self,channels,c2,eps1e-5):super().__init__()self.avgpoolnn.AdaptiveAvgPool2d(1)self.epseps self.ccdefforward(self,x):yself.avgpool(x)meany.mean(dim1,keepdimTrue)mean_x2(y**2).mean(dim1,keepdimTrue)varmean_x2-mean**2y_norm(y-mean)/torch.sqrt(varself.eps)y_transformtorch.exp(-(y_norm**2/2*self.c))returnx*y_transform.expand_as(x)注册在ultralytics/nn/tasks.py中进行如下操作步骤1:fromultralytics.nn.attention.GCTimportGCT步骤2修改def parse_model(d, ch, verboseTrue):GCT配置yolov8-GCT.yamlultralytics/cfg/models/v8/yolov8-GCT.yaml# Ultralytics YOLO , AGPL-3.0 license# YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect# Parametersnc:80# number of classesscales:# model compound scaling constants, i.e. modelyolov8n.yaml will call yolov8.yaml with scale n# [depth, width, max_channels]n:[0.33,0.25,1024]# YOLOv8n summary: 225 layers, 3157200 parameters, 3157184 gradients, 8.9 GFLOPss:[0.33,0.50,1024]# YOLOv8s summary: 225 layers, 11166560 parameters, 11166544 gradients, 28.8 GFLOPsm:[0.67,0.75,768]# YOLOv8m summary: 295 layers, 25902640 parameters, 25902624 gradients, 79.3 GFLOPsl:[1.00,1.00,512]# YOLOv8l summary: 365 layers, 43691520 parameters, 43691504 gradients, 165.7 GFLOPsx:[1.00,1.25,512]# YOLOv8x summary: 365 layers, 68229648 parameters, 68229632 gradients, 258.5 GFLOPs# YOLOv8.0n backbonebackbone:# [from, repeats, module, args]-[-1,1,Conv,[64,3,2]]# 0-P1/2-[-1,1,Conv,[128,3,2]]# 1-P2/4-[-1,3,C2f,[128,True]]-[-1,1,Conv,[256,3,2]]# 3-P3/8-[-1,6,C2f,[256,True]]-[-1,1,Conv,[512,3,2]]# 5-P4/16-[-1,6,C2f,[512,True]]-[-1,1,Conv,[1024,3,2]]# 7-P5/32-[-1,3,C2f,[1024,True]]-[-1,1,SPPF,[1024,5]]# 9# YOLOv8.0n headhead:-[-1,1,nn.Upsample,[None,2,nearest]]-[[-1,6],1,Concat,[1]]# cat backbone P4-[-1,3,C2f,[512]]# 12-[-1,1,nn.Upsample,[None,2,nearest]]-[[-1,4],1,Concat,[1]]# cat backbone P3-[-1,3,C2f,[256]]# 15 (P3/8-small)-[-1,1,GCT,[256]]#17-[-1,1,Conv,[256,3,2]]-[[-1,12],1,Concat,[1]]# cat head P4-[-1,3,C2f,[512]]# 18 (P4/16-medium)-[-1,1,GCT,[512]]# 21-[-1,1,Conv,[512,3,2]]-[[-1,9],1,Concat,[1]]# cat head P5-[-1,3,C2f,[1024]]# 21 (P5/32-large)-[-1,1,GCT,[1024]]# 25-[[16,19,22],1,Detect,[nc]]# Detect(P3, P4, P5)实验脚本importosfromultralyticsimportYOLO yamlultralytics/cfg/models/v8/yolov8-GCT.yamlmodelYOLO(yaml)model.info()if__name____main__:resultsmodel.train(datacoco128.yaml,nameGCT,epochs10,ampFalse,workers8,batch1,devicecpu)结果

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询