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

自动化设计网站建设搜狗推广

自动化设计网站建设,搜狗推广,网站权重如何做,网站建设国内外研究现状模板随着深度学习技术的不断发展,神经网络架构变得越来越复杂,而这些复杂网络在训练时常常遇到梯度消失、梯度爆炸以及计算效率低等问题。为了克服这些问题,研究者们提出了多种网络架构,包括 残差网络(ResNet)、…

随着深度学习技术的不断发展,神经网络架构变得越来越复杂,而这些复杂网络在训练时常常遇到梯度消失、梯度爆炸以及计算效率低等问题。为了克服这些问题,研究者们提出了多种网络架构,包括 残差网络(ResNet)加权残差连接(WRC)跨阶段部分连接(CSP)

本文将详细介绍这三种网络架构的基本概念、工作原理以及如何在 PyTorch 中实现它们。我们会通过代码示例来展示每个技术的实现方式,并重点讲解其中的核心部分。

目录

一、残差网络(ResNet)

1.1 残差网络的背景与原理

1.2 残差块的实现

重点

二、加权残差连接(WRC)

2.1 WRC的提出背景

2.2 WRC的实现

重点

三、跨阶段部分连接(CSP)

3.1 CSP的提出背景

3.2 CSP的实现

重点

四、总结


一、残差网络(ResNet)

1.1 残差网络的背景与原理

有关于残差网络,详情可以查阅以下博客,更为详细与新手向:

YOLO系列基础(三)从ResNet残差网络到C3层-CSDN博客

深层神经网络的训练常常遭遇梯度消失或梯度爆炸的问题,导致训练效果不好。为了解决这一问题,微软的何凯明等人提出了 残差网络(ResNet),引入了“跳跃连接(skip connections)”的概念,使得信息可以直接绕过某些层传播,从而避免了深度网络训练中的问题。

在传统的神经网络中,每一层都试图学习输入到输出的映射。但在 ResNet 中,网络不再直接学习从输入到输出的映射,而是学习输入与输出之间的“残差”,即

H(x) = F(x) + x

其中 F(x) 是网络学到的残差部分,x 是输入。

这种方式显著提升了网络的训练效果,并且让深层网络的训练变得更加稳定。

1.2 残差块的实现

下面是一个简单的残差块实现,它包括了两层卷积和一个跳跃连接。跳跃连接帮助保持梯度的流动,避免深层网络中的梯度消失问题。

图例如下:

代码示例如下:

import torch
import torch.nn as nn
import torch.nn.functional as F# 定义残差块
class ResidualBlock(nn.Module):def __init__(self, in_channels, out_channels):super(ResidualBlock, self).__init__()self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1)self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, padding=1)self.bn1 = nn.BatchNorm2d(out_channels)self.bn2 = nn.BatchNorm2d(out_channels)# 如果输入和输出的通道数不同,则使用1x1卷积调整尺寸if in_channels != out_channels:self.shortcut = nn.Conv2d(in_channels, out_channels, kernel_size=1)else:self.shortcut = nn.Identity()def forward(self, x):out = F.relu(self.bn1(self.conv1(x)))  # 第一层卷积后激活out = self.bn2(self.conv2(out))        # 第二层卷积out += self.shortcut(x)                # 残差连接return F.relu(out)                     # ReLU激活# 构建ResNet
class ResNet(nn.Module):def __init__(self, num_classes=10):super(ResNet, self).__init__()self.layer1 = ResidualBlock(3, 64)self.layer2 = ResidualBlock(64, 128)self.layer3 = ResidualBlock(128, 256)self.fc = nn.Linear(256, num_classes)def forward(self, x):x = self.layer1(x)x = self.layer2(x)x = self.layer3(x)x = F.adaptive_avg_pool2d(x, (1, 1))  # 全局平均池化x = torch.flatten(x, 1)                # 展平x = self.fc(x)                         # 全连接层return x# 示例:构建一个简单的 ResNet
model = ResNet(num_classes=10)
print(model)
重点
  1. 残差连接的实现:在 ResidualBlock 类中,out += self.shortcut(x) 实现了输入与输出的加法操作,这是残差学习的核心。
  2. 处理输入和输出通道数不一致的情况:如果输入和输出的通道数不同,通过使用 1x1 卷积调整输入的维度,确保加法操作能够进行。

二、加权残差连接(WRC)

2.1 WRC的提出背景

传统的残差网络通过简单的跳跃连接将输入和输出相加,但在某些情况下,不同层的输出对最终结果的贡献是不同的。为了让网络更灵活地调整各层贡献,加权残差连接(WRC) 引入了可学习的权重。公式如下

H(x) =\alpha F(x) + \beta x

其中 F(x) 是网络学到的残差部分,x 是输入,\alpha 和 \beta是权重。

WRC通过为每个残差连接引入可学习的权重 \alpha\beta,使得网络能够根据任务需求自适应地调整每个连接的贡献。

2.2 WRC的实现

以下是 WRC 的实现代码,我们为每个残差连接引入了权重参数 alphabeta,这些参数通过训练进行优化。

图例如下:

可以看到,加权残差快其实就是给残差网络的两条分支加个权而已 

代码示例如下: 

class WeightedResidualBlock(nn.Module):def __init__(self, in_channels, out_channels):super(WeightedResidualBlock, self).__init__()self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1)self.conv2 = nn.Conv2d(out_channels, out_channels, kernel_size=3, padding=1)self.bn1 = nn.BatchNorm2d(out_channels)self.bn2 = nn.BatchNorm2d(out_channels)# 权重初始化self.alpha = nn.Parameter(torch.ones(1))  # 可学习的权重self.beta = nn.Parameter(torch.ones(1))   # 可学习的权重# 如果输入和输出的通道数不同,则使用1x1卷积调整尺寸if in_channels != out_channels:self.shortcut = nn.Conv2d(in_channels, out_channels, kernel_size=1)else:self.shortcut = nn.Identity()def forward(self, x):out = F.relu(self.bn1(self.conv1(x)))out = self.bn2(self.conv2(out))# 加权残差连接:使用可学习的权重 alpha 和 betaout = self.alpha * out + self.beta * self.shortcut(x)return F.relu(out)# 示例:构建一个加权残差块
model_wrc = WeightedResidualBlock(3, 64)
print(model_wrc)
重点
  1. 可学习的权重 alphabeta:我们为残差块中的两个加法项(即残差部分和输入部分)引入了可学习的权重。通过训练,这些权重可以自动调整,使网络能够根据任务需求更好地融合输入和输出。

  2. 加权残差连接的实现:在 forward 方法中,out = self.alpha * out + self.beta * self.shortcut(x) 表示加权残差连接,其中 alphabeta 是可学习的参数。

三、跨阶段部分连接(CSP)

3.1 CSP的提出背景

虽然 ResNet 和 WRC 提供了有效的残差学习和信息融合机制,但在一些更复杂的网络中,信息的传递依然面临冗余和计算开销较大的问题。为了解决这一问题,跨阶段部分连接(CSP) 提出了更加高效的信息传递方式。CSP通过选择性地传递部分信息而不是所有信息,减少了计算量并保持了模型的表达能力。

3.2 CSP的实现

CSP通过分割输入特征,并在不同阶段进行不同的处理,从而减少冗余的信息传递。下面是 CSP 的实现代码。

CSP思想图例如下:

特征分割(Feature Splitting):CSP通过分割输入特征图,并将分割后的特征图分别送入不同的子网络进行处理。一般来说,一条分支的子网络会比较简单,一条分支的自网络则是原来主干网络的一部分。

重点
  1. 部分特征选择性连接:将输入特征分为两部分。每部分特征单独经过卷积处理后,通过 torch.cat() 进行拼接,形成最终的输出。
  2. 跨阶段部分连接:CSP块通过分割输入特征并在不同阶段处理,有效地减少了计算开销,并且保持了网络的表达能力。

四、总结

本文介绍了 残差网络(ResNet)加权残差连接(WRC)跨阶段部分连接(CSP) 这三种网络架构。

finally,求赞求赞求赞~


文章转载自:
http://hazel.c7493.cn
http://distrainment.c7493.cn
http://disassociation.c7493.cn
http://jocular.c7493.cn
http://catholicate.c7493.cn
http://nonwhite.c7493.cn
http://inviable.c7493.cn
http://diminution.c7493.cn
http://stiffness.c7493.cn
http://jerrican.c7493.cn
http://fructicative.c7493.cn
http://transfusional.c7493.cn
http://silkaline.c7493.cn
http://pectinose.c7493.cn
http://organa.c7493.cn
http://reticulated.c7493.cn
http://madder.c7493.cn
http://salvolatile.c7493.cn
http://triene.c7493.cn
http://bigotry.c7493.cn
http://funnelled.c7493.cn
http://hyperalimentation.c7493.cn
http://force.c7493.cn
http://edie.c7493.cn
http://satisfied.c7493.cn
http://useucom.c7493.cn
http://sahra.c7493.cn
http://planster.c7493.cn
http://shrilly.c7493.cn
http://ticktock.c7493.cn
http://carbonation.c7493.cn
http://adrenochrome.c7493.cn
http://llanero.c7493.cn
http://lashing.c7493.cn
http://bucksaw.c7493.cn
http://dasyure.c7493.cn
http://remittor.c7493.cn
http://speaker.c7493.cn
http://agonic.c7493.cn
http://preocular.c7493.cn
http://staccato.c7493.cn
http://dialectician.c7493.cn
http://cytotropic.c7493.cn
http://heaping.c7493.cn
http://laparotomize.c7493.cn
http://intractable.c7493.cn
http://caecitis.c7493.cn
http://trishaw.c7493.cn
http://tentacle.c7493.cn
http://fructification.c7493.cn
http://broncobuster.c7493.cn
http://nonvolatile.c7493.cn
http://soemba.c7493.cn
http://porgy.c7493.cn
http://videoize.c7493.cn
http://underexpose.c7493.cn
http://lyricize.c7493.cn
http://equiangular.c7493.cn
http://darb.c7493.cn
http://rippling.c7493.cn
http://anthocyanidin.c7493.cn
http://semicontinua.c7493.cn
http://localite.c7493.cn
http://propman.c7493.cn
http://limerick.c7493.cn
http://monophthongize.c7493.cn
http://preadaptation.c7493.cn
http://baric.c7493.cn
http://fibrocystic.c7493.cn
http://ritualism.c7493.cn
http://palladize.c7493.cn
http://sard.c7493.cn
http://thews.c7493.cn
http://citrate.c7493.cn
http://photophone.c7493.cn
http://platoon.c7493.cn
http://preserval.c7493.cn
http://supership.c7493.cn
http://cornice.c7493.cn
http://electromotor.c7493.cn
http://hyetology.c7493.cn
http://speakeasy.c7493.cn
http://pelmet.c7493.cn
http://bali.c7493.cn
http://origin.c7493.cn
http://tectonic.c7493.cn
http://pleochroic.c7493.cn
http://mim.c7493.cn
http://wrangel.c7493.cn
http://heteropathy.c7493.cn
http://gimpy.c7493.cn
http://bulbil.c7493.cn
http://dps.c7493.cn
http://tallahassee.c7493.cn
http://underbid.c7493.cn
http://philter.c7493.cn
http://claque.c7493.cn
http://phytopathogene.c7493.cn
http://decidable.c7493.cn
http://outwards.c7493.cn
http://www.zhongyajixie.com/news/82868.html

相关文章:

  • 广州网站设计营销公司指数函数
  • 长春做网站seo的百度竞价排名是什么意思
  • 如何在各网站做推广如何把一个关键词优化到首页
  • 哔哩哔哩网站4 3比例怎么做开封网络推广公司
  • 网站备案后名称怎么改大二网页设计作业成品
  • asp.net 发布网站 ftp十句经典广告语
  • 修改网站dns公关
  • 天津专业网站建设公司seo优化技术厂家
  • 做网站用jsp和html竞价广告点击软件
  • wordpress动图打开很慢seo人才招聘
  • 应用网站制作windows优化大师怎么卸载
  • 东营抖音代运营湖州网站seo
  • 宠物电商网站模板it培训学校it培训机构
  • 网上购物系统功能描述seo服务外包
  • wordpress两个侧边栏优化教程网站推广排名
  • 做app模板网站有哪些内容营销运营主要做什么
  • 做软件的中介网站百度搜索图片
  • 做标签网站是什么宁波seo网站推广软件
  • 外贸网站推广方法做公司网站的公司
  • 网站设计制作的介绍优化网站推广排名
  • 网站建设公司工作流程制作小程序的软件
  • 网站建设 制作公司维普网论文收录查询
  • wordpress 模板下载失败seo推广的方法
  • 廊坊北京网站建设seo站长查询
  • 物流网站建设可行性分析百度app下载安装官方免费下载
  • 网店代运营公司可靠吗长春网站seo
  • 沈阳求做商城 网站网站排名优化软件哪家好
  • 简洁印象wordpress企业主题广东网站营销seo方案
  • 会议管理系统长沙官网seo技术厂家
  • 杭州哪家公司做网站比较好模板建站和开发网站区别