《动手学深度学习》Paddle 版源码(经典CV网络合集)

P粉084495128
发布: 2025-07-21 11:56:35
原创
1048人浏览过
本文将李沐《动手学深度学习》中CV经典网络章节的mxnet代码,用Paddle 2.0重写。介绍了NiN(用1×1卷积)、GoogLeNet(Inception模块多分支)、Batch Normalization(加速收敛)、ResNet(跨层连接防梯度问题)、DenseNet(极致跨层连接)的结构与特点。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

《动手学深度学习》paddle 版源码(经典cv网络合集) - php中文网

背景

李沐老师的经典教程 -《动手学深度学习》深入浅出,相信是很多小伙伴加入深度学习门派的“接引人”,我也是读这本书入门的~。书中的内容既不要求读者已经掌握充分的数学基础,又深入到深度学习的原理层面而不只是使用现成的经典模型结构,学起来很容易上手。美中不足的是,书中的代码是用 mxnet 框架实现的。为了方便 AI Studio 上的各位大佬们通过阅读此书提高炼丹技艺,(在紫涵大佬的唆使下(狗头~))我将书中的部分介绍 CV 经典网络章节的用 mxnet 框架实现的代码(包括 NetworkInNetwork、GoogLeNet、Batch Normalization、ResNet、DenseNet),用 Paddle 2.0 版本的 API 进行了重写。

一、Network In Network

NiN(Network In Network) 结构就是在卷积核大于1×1的普通卷积后加入多个1×1卷积核的卷积组成“网络中的内嵌网络(NiN)”。每个 NiN 模块都可以被看成一个小型的全连接神经网络,而又没全连接层那么多的参数量。这是第一个使用1×1卷积网络结构,后来的 GoogLeNet 和 ResNet 的 BottleNeck 结构等都借鉴了这一思想。

《动手学深度学习》Paddle 版源码(经典CV网络合集) - php中文网

NiN的结构(图片来自网络)

详情参考项目:《动手学深度学习》Paddle 版源码-5.08章(NIN)

二、GoogLeNet

GoogLeNet 通过一种称为 Inception 的模块将1×1、3×3、5×5的卷积层和3×3的最大池化层拼接在一起,使其能够在一层网络中提取不同视野范围的特征。这是一种多分支结构,让模型自行提取效率最佳的感受野特征。

《动手学深度学习》Paddle 版源码(经典CV网络合集) - php中文网

Inception 模块的结构:(图片来自网络)

详情参考项目:《动手学深度学习》Paddle 版源码-5.09章(GoogLeNet)

三、Batch Normalization

批归一化(Batch Normalization)的作用是:当数据在 DNN 网络中传播时,不断的将数据分布拉回来,避免数据的分布越来越极端,以加快模型的收敛。

今天学点啥
今天学点啥

秘塔AI推出的AI学习助手

今天学点啥 258
查看详情 今天学点啥

《动手学深度学习》Paddle 版源码(经典CV网络合集) - php中文网

(图片来自网络)

由上图可见,在不使用 BN 层的网络中,每经过一个神经网络层,数据都向数据分布区间的两端进一步靠拢,导致部分数据引起网络权重的剧烈变化,而另部分数据几乎起不到训练作用。在使用 BN 层后,各层输出的特征图的值的分布都是相近的,使每个特征都能比较平等的影响网络权重的更新。

详情参考项目:《动手学深度学习》Paddle 版源码-5.10章(BatchNorm)

四、ResNet

与 GoogLeNet 一样,ResNet 也是一种多分支结构。但是 ResNet 的多分支是通过跨层连接来实现的,这样能够使梯度更好的进行传播,避免梯度消失/爆炸的问题。在 ResNet 之前网络的深度只能达到20多层,在深就会导致网络退化问题。ResNet 横空出世之后网络的深度能够达到上千层,拟合能力大大提升。即使现在,ResNet 的残差结构也是应用最广泛的网络基本结构之一。下图是 ResNet 的残差结构:

《动手学深度学习》Paddle 版源码(经典CV网络合集) - php中文网

详情参考项目:《动手学深度学习》Paddle 版源码-5.11章(ResNet)

五、DenseNet

DenseNet 将 ResNet 的跨层连接发挥到了极致。ResNet 将相邻的层之间加入快层连接,而 DenseNet 将网络中的每一层都与其他所有层进行了跨层连接。也因此,为了结构的模块化,DenseNet 的跨层连接是通过拼接而非加和实现的。实验得出,DenseNet 并不需要很宽的网络,所以作者在 DenseNet 的稠密块之间加入了转换层控制网络宽度。下图是 DenseNet 与 ResNet 的网络结构对比:

《动手学深度学习》Paddle 版源码(经典CV网络合集) - php中文网

以上就是《动手学深度学习》Paddle 版源码(经典CV网络合集)的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号