当前位置: 首页 > wzjs >正文

武汉软件培训机构优化设计答案四年级上册语文

武汉软件培训机构,优化设计答案四年级上册语文,网站模板下载软件,做化工的外贸网站都有什么前言 特征融合是深度学习模型设计中提升表达能力的关键步骤,主要有三种基础方法:逐元素相加、直接乘积、通道维度拼接,从我个人的使用角度来看,Concat要更加好用。我觉得相加和乘积属于是不可逆的操作,直接融合会导致…

前言

特征融合是深度学习模型设计中提升表达能力的关键步骤,主要有三种基础方法:逐元素相加、直接乘积、通道维度拼接,从我个人的使用角度来看,Concat要更加好用。我觉得相加和乘积属于是不可逆的操作,直接融合会导致原有信息丢失,无法再分离,如果两个特征图的响应模式差异较大,这两种方式会引入噪声冗余信息。在通道维度拼接(如torch.cat(dim=1))则会保留所有原始特征,只不过Concat会增加参数量,所以我们需要对其进行降维,本篇将会讲解一写关于卷积层和线性层两种降维方式。

通道拼接与降维

当使用Concat进行通道拼接时,假设两个输入特征的通道数分别为C1和C2,则拼接后通道数变为了C1+C2,若直接输入到后续层,会导致维度不匹配。

比如下面:

在多任务学习或特征融合场景中,我们常需要将不同来源的特征进行拼接(如高低层特征融合)。但拼接后的特征通道数会成倍增加(如 128 + 128 = 256),导致后续计算量激增。

import torch
import torch.nn as nn
import torch.nn.functional as Fif __name__ == '__main__':h_feat = torch.rand(1, 128, 512, 512)l_feat = torch.rand(1, 128, 256, 256)upsampled_l_feat = F.interpolate(l_feat,size=(512, 512),mode='bilinear',align_corners=False)merged_feat = torch.cat([h_feat, upsampled_l_feat], dim=1)print("拼接特征:", merged_feat.shape)  # torch.Size([1, 256, 512, 512])

这里对低分辨率图像进行了上采样,使其与高分辨率图像进行拼接。最后输出的通道维度变为了原来的两倍。

下面进行降维,这里提供了两种降维方法,线性降维与卷积降维,线性降维通过 permute 将通道维度移动到最后一个位置,转换为 [Batch, H, W, C],应用全连接层后,再将形状还原为 [Batch, C, H, W],适合需要全局信息融合的场景;卷积降维直接应用 1x1 卷积,保持空间分辨率(H,W 不变),仅改变通道数,适合需要保留空间信息的场景。

import torch
import torch.nn as nnclass DimReduction(nn.Module):def __init__(self, dim, height=2):super(DimReduction, self).__init__()self.liner_fuse = nn.Linear(dim * height, dim)self.conv_fuse = nn.Sequential(nn.Conv2d(dim * height, dim, 1, stride=1),nn.BatchNorm2d(dim),nn.ReLU(inplace=True))def forward(self, merged_feat, use_conv=True):if use_conv:output = self.conv_fuse(merged_feat)else:trans_merged_feat = merged_feat.permute(0, 2, 3, 1)  # B C H W -> B H W Coutput = self.liner_fuse(trans_merged_feat)output = output.permute(0, 3, 1, 2)  # B H W C -> B C H Wreturn outputif __name__ == '__main__':h_feat = torch.rand(1, 128, 512, 512)l_feat = torch.rand(1, 128, 512, 512)merged_feat = torch.cat([h_feat, l_feat], dim=1)print("输入特征:", merged_feat.shape)  # torch.Size([1, 256, 512, 512])dim_reduce = DimReduction(128, 2)reduce_conv = dim_reduce(merged_feat, use_conv=True)print("卷积层降维:", reduce_conv.shape)reduce_liner = dim_reduce(merged_feat, use_conv=False)print("线性层降维:", reduce_liner.shape)

降维后的特征图通道数减少,但保留了重要的特征信息,这为后续的注意力机制提供了更紧凑的特征表示,减少了计算量。

你可以在其添加通道注意力机制比如SE,适用于强调重要通道的特征,适用于降维后的特征图,因为它可以帮助模型聚焦于关键的通道信息。空间注意力比如CBAM中的空间模块,适用于突出重要空间区域的特征,适用于任何分辨率的特征图,包括降维后的结果。混合注意力比如CBAM、BAM,适合需要同时考虑通道和空间依赖关系的场景,还有自注意力比如Transformer中的注意力,适用于捕捉长距离依赖关系。

总结

关于使用哪一种能够涨点,这就是你自己的实验该做的了,没有哪一种模块是能够包能涨点的,就是很多当下的论文提出的特征融合结构,用在自己的数据集上也不一定会有效果。在缝合别人的模块的时候要从原理上,数据集上还有你自己的网络结构位置上来分析,而能否有效就要靠自己的实验是否有增长。

http://www.dtcms.com/wzjs/99846.html

相关文章:

  • 旅游网站开发背景论文优化推广联盟
  • 国家重大项目建设库网站广告推销
  • 网站后台代码如何做汕头seo外包机构
  • 放心的网站建设代理合肥seo培训
  • 网站建设维护app怎么推广
  • 陕西交通建设网站链接交换公司
  • 可以做网络攻防的实验的网站友情链接如何交换
  • 合肥百度 网站建设推广产品的方法和步骤
  • 长沙网站开发方案青岛官网seo公司
  • 重庆专业网站搭建公司seo排名系统
  • 做运营那些无版权图片网站百度公司官网
  • 攀枝花网站推广百度导航下载2022最新版
  • 营销型网站建设易网拓搜索引擎优化的根本目的
  • 自己做的网站怎么在百度可以查到湛江今日头条新闻
  • 广东省住房及建设厅官方网站千锋教育学费
  • 济南h5网站建设旅游营销推广方案
  • 沈阳seo哪家公司东莞网站seo公司哪家大
  • 站长工具查询视频网络营销是什么专业类别
  • 做行业分析的网站公司企业网站制作
  • 济宁建设局网站首页北京谷歌优化
  • 网站建设微信官网开发台州seo优化公司
  • 0592 网站建设网站首页模板
  • 做调查赚钱靠谱的网站seo精华网站
  • 皮卡剧网站怎样做永久免费建站系统
  • 如皋做网站的公司互联网营销师是做什么的
  • 做企业网站设计价格是多少钱产品推广方式及推广计划
  • 绛帐做企业网站西安seo计费管理
  • 做怎个样网做站个网站seo优化技术培训
  • 濮阳建站公司哪个好深圳网站开发公司
  • 自己电脑做网站服务器系统广州seo优化