卷积神经网络-ResNet

第一次写博客,算作一份笔记吧,如有不足请指正。

更深层的网络训练不易,ResNet的提出降低了这种压力。ResNet在ImageNet 测试集上达到了3.57%的错误率,并获得了2ISVRC 2015的第一名。

背景知识

研究表明,特征的层次随着堆叠的层数(层深度)增加变得丰富。许多研究开始致力于加深层深度。
随着层深度的重要性的突显,一个问题也被提出:Is learning better networks as easy as stacking more layers?
首先,梯度消失/爆炸是一个巨大的挑战,该问题可以通过正则初始化和层正则化解决。
随着层深度的加深,另一个重要问题:精度退化和训练错误率增加。(该问题不是由过拟合导致的)
在这里插入图片描述

残差结构

退化问题表明,相应的解决方法在用多个非线性层逼近恒等映射时存在困难。
本文提出一个残差网络:
denoting the desired underlying mapping as H(x), we let the stacked nonlinear layers fit another mapping of F(x) := H(x)-x. The original mapping is recast into F(x)+x.
上述均为初步假设,后期通过训练可以实现假设。
对于残差结构,当恒等映射时最优的时候,可以接单的将多个非线性层权重置零以得到恒等映射。
在这里插入图片描述
在这里插入图片描述
Identity mapping is sufficient for addressing the degradation problem and is economical, and thus Ws is only used when matching dimensions.

参考:Deep Residual Learning for Image Recognition

### 卷积神经网络ResNet模型实现与使用 #### 背景介绍 卷积神经网络(CNNs)架构高度依赖于输入数据的性质以及预期输出大小。对于图像或音频序列等不同类型的输入,存在多种常见的卷积神经网络结构,其中包括ResNet[^1]。 #### ResNet简介 ResNet(残差网络),由微软研究院的研究人员提出,在ImageNet竞赛中取得了优异的成绩。该模型通过引入跳跃连接解决了深层网络训练中的梯度消失问题,使得可以构建更深更复杂的网络而不会导致性能下降。 #### 实现ResNet模型 下面是一个简单的基于PyTorch框架下的ResNet模型实现: ```python import torch from torchvision import models class SimpleResNet(torch.nn.Module): def __init__(self, num_classes=1000): super(SimpleResNet, self).__init__() # 使用预定义好的resnet50作为基础特征提取器 resnet = models.resnet50(pretrained=True) # 替换最后一层全连接层以适应新的分类任务 fc_in_features = resnet.fc.in_features resnet.fc = torch.nn.Linear(fc_in_features, num_classes) self.model = resnet def forward(self, x): return self.model(x) if __name__ == "__main__": device = 'cuda' if torch.cuda.is_available() else 'cpu' net = SimpleResNet(num_classes=10).to(device) dummy_input = torch.randn((1, 3, 224, 224)).to(device) output = net(dummy_input) print(output.shape) # 应打印torch.Size([1, 10]) ``` 这段代码展示了如何利用`torchvision.models`库快速搭建一个用于特定类别预测的任务上的简化版ResNet模型,并进行了基本测试。 #### 数据准备 为了能够有效地应用上述创建的ResNet模型来进行时间序列预测或其他视觉识别任务,需要准备好合适的数据集并对其进行适当处理。这通常涉及到将原始图片转换成适合喂入网络的形式——即标准化后的张量形式。此外还需要考虑批量加载机制来提高效率[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值