论文精读ResNet: Deep Residual Learning for Image Recognition

1 基础背景

论文链接:https://arxiv.org/abs/1512.03385

Github链接:https://github.com/pytorch/vision/blob/master/torchvision/models/resnet.py

知乎讲解:ResNet论文笔记及代码剖析

2 Motivation

对于深度神经网络来说,深度对于模型性能至关重要。网络层数越深:

(1)越容易导致梯度消失或梯度爆炸 gradient vanishing/exploding;

(2)越容易出现性能恶化degradation:准确率达到峰值后迅速下降。

3 解决方法

把输入直接加到输出上,即shortcut connection。残差网络的意思是输出-输入的那部分网络模型。

对于神经网络来说,它对于相同映射identity mapping之外的扰动更容易学习,而不是identity mapping本身。相同映射就是【输入=输出】。

如果输入输出维度不同,可以采用zero-padding补零/projection映射,将其维度改变。

4 结论

shortcut connection没有引入新的参数,也没有额外增加计算复杂度。

在ImageNet中,不shortcut connection的网络(论文中叫plain network)34层的训练误差高于18层的,而残差版的34层低于18层。

验证误差同样很小,说明泛化能力较强。

残差网络初期收敛更快,最终收敛效果更好。

对于层数非常深(>50)的网络,可以采用瓶颈bottleneck模型,使用卷积将其维度先降低,提取关键特征,再升高,这样可以有效降低算力需求,由此可以诞生101层,152层的网络,其算力需求仍低于VGG。(具体为什么是101/152,作者并没有说明,李沐分析可能是调试调出来)

projection引入了新的参数,不适用于瓶颈模型,使用identity mapping更好。

5 知识补充

top1 error

将模型输出中最大概率的结果作为最终分类结果,计算得到的错误率,该指标衡量了模型的准确程度,同理还有top5 error;

相关推荐
FriendshipT20 分钟前
Ultralytics:解读C3模块
人工智能·pytorch·python·深度学习·目标检测
极光代码工作室21 分钟前
基于深度学习的异常行为检测系统
人工智能·python·深度学习·神经网络·机器学习
次旅行的库24 分钟前
解决ValueError: too many values to unpack (expected 2)
linux·人工智能·深度学习·机器学习·推荐算法
syty202028 分钟前
对深度学习的理解
人工智能·深度学习
wumingxiaoyao14 小时前
从 0 开始学 AI:第 2 课,AI、机器学习、深度学习和大模型是什么关系?
人工智能·深度学习·机器学习·ai·大模型·llm
weixin_4000056014 小时前
Vision-Language-Action:LMDrive双损失函数训练模块与 LangAuto 基准评测框架
人工智能·深度学习·算法·机器学习·自动驾驶
bandaoyu14 小时前
大模型训练并行技术理解-DP/TP/PP/SP/EP
深度学习
手写码匠14 小时前
手写 AI 上下文压缩系统:从零实现 Prompt 压缩与选择性上下文管理
人工智能·深度学习·算法·aigc
大鱼>18 小时前
推荐系统原理与实现:协同过滤/内容推荐/深度学习
人工智能·深度学习
天一生水water19 小时前
注意力机制与transformer 的关系与区别
人工智能·深度学习·transformer