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

相关推荐
聆风吟º7 小时前
CANN runtime 全链路拆解:AI 异构计算运行时的任务管理与功能适配技术路径
人工智能·深度学习·神经网络·cann
User_芊芊君子7 小时前
CANN大模型推理加速引擎ascend-transformer-boost深度解析:毫秒级响应的Transformer优化方案
人工智能·深度学习·transformer
智驱力人工智能8 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
人工不智能5778 小时前
拆解 BERT:Output 中的 Hidden States 到底藏了什么秘密?
人工智能·深度学习·bert
h64648564h8 小时前
CANN 性能剖析与调优全指南:从 Profiling 到 Kernel 级优化
人工智能·深度学习
心疼你的一切8 小时前
解密CANN仓库:AIGC的算力底座、关键应用与API实战解析
数据仓库·深度学习·aigc·cann
学电子她就能回来吗10 小时前
深度学习速成:损失函数与反向传播
人工智能·深度学习·学习·计算机视觉·github
Coder_Boy_10 小时前
TensorFlow小白科普
人工智能·深度学习·tensorflow·neo4j
大模型玩家七七11 小时前
梯度累积真的省显存吗?它换走的是什么成本
java·javascript·数据库·人工智能·深度学习
kkzhang11 小时前
Concept Bottleneck Models-概念瓶颈模型用于可解释决策:进展、分类体系 与未来方向综述
深度学习