深度学习经典模型RESNET解析

深度学习经典模型RESNET解析

1. 理论基础

1. 残差学习概念

深度神经网络相当于函数的拟合过程(复合函数)。如果层数足够深,CNN可以拟合任何一个函数。

如果当网络的层数越来越深的时候,由于网络的退化现象(不妨假设拟合的是H(x)),难以训练出来。

那么可以改为训练F(x)=H(x)x,此在数学上成为残差(Residual)。则H(x)=F(x)+x,相当于可以变相训练H(x),这就是残差学习。

用网络实现:将x直接倒入到输出,与经过权重层训练出来的F(x)相加。x的这个通路没有经过网络直接跨接过来,称为恒等映射短接(Identity Mapping Shortcut)。

2. RESNET构建形式

VGG19:19层,如果要扩展到34层,按设计原则堆积3×3的小卷积核,那么这个34层的网络称为平凡的网络,训练的话会出现退化。

变成残差网络:在层与层之间增加恒等映射跨接层即可。注意跨接层的表示,虚线意味着特征的大小发生了变化,跨接层就不再是恒等映射了

RESNET可以有不同的层数,虽然层数不同,但其具有类似的网络结构,例如它们都是分了五个部分:

7×7的卷积,后面紧跟一个池化层。第二部分为conv2.x(论文中称为stage),每一个stage里有多个block,不同的RESNET里每个stage中block的数目不一样,重复的次数也不一样,每个block是由若干个卷积层组成。

因此可以实现具有可扩展性的网络。

特殊的结构:最大平均池化(Global average pooling),在最后把整个通道变成一个数字(求平均值,全局平均池化)。作用:替代全连接层,更少的参数(更少的出现过拟合)。

pytorch中:torch.nn.AdaptivAvgPool2d.(output_size)

50层以上/以下的RESNET不同之处:50-没有bottle neck(瓶颈)。50层以上的block:三层组成,50层以下的block:两层组成。(面试:问对哪个模型熟悉,实现过resnet吗,50层+-区别...)。

bottle neck: 1×1>3×3 >1×1

使用的原因:如果不降维,增加深度的时候参数量将会变得非常大。

3. 新发展

ResNeXt:分组卷积...注意力机制...WSL弱监督训练...

分组卷积最早出现在AlexNet(当时GPU显存比较小),后来发现还能提高准确度。

2. 代码实现

import torch
import torch.nn as nn
from torch.hub import load_state_dict_from url#预训练权重值引入
model_urls = { }
#padding:扩充图片, 在图片外围补充一些像素点,把这些像素点初始化为0.
#bias:偏置单元
def conv3x3(in_planes, out_planes, stride = 1, padding = 1):
  return nn.Conv2d(in_planes, out_planes, kernel_size = 3, stride = stride, padding = padding, bias = False)#提前封装一下3x3卷积,in_planes, out_planes为输入输出通道数的大小
#bias为False的原因?
def conv1x1(in_planes, out_planes, stride = 1):
  return nn.Conv2d(in_planes, out_planes, kernel_size = 1, stride = stride, bias = False)
class BasicBlock(nn.module):#block类
	super(BasicBlock, self).__init__()#调用父类的初始化函数
//未完待续
  
posted @   脂环  阅读(914)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2020-03-26 POJ3585 Accumulation Degree(二次扫描与换根法)
2020-03-26 洛谷P2015 二叉苹果树(树形DP)
2020-03-26 洛谷P1122 最大子树和(树形DP)
点击右上角即可分享
微信分享提示
主题色彩