《动手学深度学习》Paddle 版源码(经典CV网络合集)
发布时间:2025-07-21 编辑:游乐网
本文将李沐《动手学深度学习》中CV经典网络章节的mxnet代码,用Paddle 2.0重写。介绍了NiN(用1×1卷积)、GoogLeNet(Inception模块多分支)、Batch Normalization(加速收敛)、ResNet(跨层连接防梯度问题)、DenseNet(极致跨层连接)的结构与特点。
背景
李沐老师的经典教程 -《动手学深度学习》深入浅出,相信是很多小伙伴加入深度学习门派的“接引人”,我也是读这本书入门的~。书中的内容既不要求读者已经掌握充分的数学基础,又深入到深度学习的原理层面而不只是使用现成的经典模型结构,学起来很容易上手。美中不足的是,书中的代码是用 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 结构等都借鉴了这一思想。
NiN的结构(图片来自网络)
详情参考项目:《动手学深度学习》Paddle 版源码-5.08章(NIN)
二、GoogLeNet
GoogLeNet 通过一种称为 Inception 的模块将1×1、3×3、5×5的卷积层和3×3的最大池化层拼接在一起,使其能够在一层网络中提取不同视野范围的特征。这是一种多分支结构,让模型自行提取效率最佳的感受野特征。
Inception 模块的结构:(图片来自网络)
详情参考项目:《动手学深度学习》Paddle 版源码-5.09章(GoogLeNet)
三、Batch Normalization
批归一化(Batch Normalization)的作用是:当数据在 DNN 网络中传播时,不断的将数据分布拉回来,避免数据的分布越来越极端,以加快模型的收敛。
(图片来自网络)
由上图可见,在不使用 BN 层的网络中,每经过一个神经网络层,数据都向数据分布区间的两端进一步靠拢,导致部分数据引起网络权重的剧烈变化,而另部分数据几乎起不到训练作用。在使用 BN 层后,各层输出的特征图的值的分布都是相近的,使每个特征都能比较平等的影响网络权重的更新。
详情参考项目:《动手学深度学习》Paddle 版源码-5.10章(BatchNorm)
四、ResNet
与 GoogLeNet 一样,ResNet 也是一种多分支结构。但是 ResNet 的多分支是通过跨层连接来实现的,这样能够使梯度更好的进行传播,避免梯度消失/爆炸的问题。在 ResNet 之前网络的深度只能达到20多层,在深就会导致网络退化问题。ResNet 横空出世之后网络的深度能够达到上千层,拟合能力大大提升。即使现在,ResNet 的残差结构也是应用最广泛的网络基本结构之一。下图是 ResNet 的残差结构:
详情参考项目:《动手学深度学习》Paddle 版源码-5.11章(ResNet)
五、DenseNet
DenseNet 将 ResNet 的跨层连接发挥到了极致。ResNet 将相邻的层之间加入快层连接,而 DenseNet 将网络中的每一层都与其他所有层进行了跨层连接。也因此,为了结构的模块化,DenseNet 的跨层连接是通过拼接而非加和实现的。实验得出,DenseNet 并不需要很宽的网络,所以作者在 DenseNet 的稠密块之间加入了转换层控制网络宽度。下图是 DenseNet 与 ResNet 的网络结构对比:
相关阅读
MORE
+- 如何用夸克搜索找到权威医学信息 夸克搜索医学资源筛选使用方法 07-22 【方案分享】第十一届 “中国软件杯”大学生软件设计大赛遥感解译赛道 比赛方案分享 07-22
- MacBook Air的FaceTime摄像头打不开怎么办? 07-22 中国移动完成首个 800G 以太网城市群智算中心分布式训练现网试验 07-22
- AI Overviews有隐私风险吗 数据安全政策解读 07-22 快手网页版登录入口(快手官网网址分享) 07-22
- 暑期旅行折叠屏怎么选?华为Mate X5超值礼遇等你来享 07-22 如何使用豆包AI做语音转文本 豆包AI语音识别与总结技巧 07-22
- 学会这些AI工具,轻松提升内容创作与运营能力 07-22 用AI工具打造属于自己的内容自动生成系统 07-22
- 中国联通:首次实现云原生核心部件 100% 国产化 07-22 英特尔前 CEO 基辛格:辞职是“第三方”做出的决定,没有机会完成未竟之业 07-22
- 黄仁勋:我嫉妒现在的年轻人,因为他们有 AI 陪伴一生 07-22 如何用夸克搜索替代传统搜索引擎 夸克搜索核心功能与竞品对比分析 07-22
- Naver账号购买网站(24小时自动出售平台) 07-22 7-Zip解压提示密码错误怎么办 7-Zip密码恢复解决方案 07-22
- Perplexity AI如何导出分析报告 Perplexity数据导出格式说明 07-22 AI语言转视频搭配AI配音实现一键解说短视频生成 07-22