论文精读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;

相关推荐
一百天成为python专家32 分钟前
python库之jieba 库
开发语言·人工智能·python·深度学习·机器学习·pycharm·python3.11
Blossom.1181 小时前
用一张“冰裂纹”石墨烯薄膜,让被动散热也能做 AI 推理——基于亚波长裂纹等离激元的零功耗温度-逻辑门
人工智能·深度学习·神经网络·目标检测·机器学习·机器人·语音识别
cylat1 小时前
Day59 经典时序预测模型3
人工智能·python·深度学习·神经网络
禺垣2 小时前
扩散模型(Diffusion Model)原理概述
深度学习
kyle~3 小时前
Opencv---深度学习开发
人工智能·深度学习·opencv·计算机视觉·机器人
运器1233 小时前
【一起来学AI大模型】PyTorch DataLoader 实战指南
大数据·人工智能·pytorch·python·深度学习·ai·ai编程
帅次3 小时前
系统分析师-计算机系统-输入输出系统
人工智能·分布式·深度学习·神经网络·架构·系统架构·硬件架构
AndrewHZ4 小时前
【图像处理基石】如何入门大规模三维重建?
人工智能·深度学习·大模型·llm·三维重建·立体视觉·大规模三维重建
AI街潜水的八角5 小时前
深度学习图像分类数据集—五种电器识别分类
人工智能·深度学习·分类
默辨5 小时前
机器学习(ML)、深度学习(DL)、强化学习(RL)关系和区别
人工智能·深度学习·机器学习