当前位置: 首页 > news >正文

神经网络和深度学习 第四周:深度神经网络的关键概念

周为第一课的最后一周内容,就像标题一样,我们从第二周的逻辑回归,到第三周的浅层神经网络, 再到本周的深度神经网络的概念层层递进,第一课内容主要还是对神经网络框架的基本介绍,因此本周实际上的主要内容还是对深层神经网络传播过程的梳理。

但对于公式的推导,我们在之前的部分已经重复过不止一次了,因此,针对本周的深层神经网络,我会结合课程内容,尽量少列公式计算,多做概念的推导和理解,并在相关部分附上之前对公式详细推导内容的链接。

本篇即是本周的全部理论内容。

1. 深层神经网络

1.1深层神经网络长什么样?

说实话,当进行到这一部分,想必大家也已经猜到深层神经网络的形状了,我们直接用课程里的图:

Pasted image 20251024101212

简单来说,相比浅层神经网络,深层神经网络就是神经元更多,隐藏层更复杂的神经网络。

1.2 直观理解深层网络的效果

依旧看课程里的一张图:

Pasted image 20251024154207

图下方的三幅图可以比较好的表现深层网络的效果,我们在浅层提取低级特征,而低级特征经过线性组合和激活后有作为下一层的输入提取更高级些的特征,就像图里的从边缘到整张脸。

要说明的一点是图里的图像处理实际上更常出现在卷积神经网络中,这是后面吴恩达老师在这个系列里单独作为一门的内容。

这里我们只要理解到,随着网络规模的增加,更深的层数能让我们提取更高级的特征即可。

1.3 符号规范

Pasted image 20251024103416

同样如图所示,这些符号我们也在之前使用过很多次了,并不陌生,就不再重复描述了。

1.4 深层神经网络的正向传播

我们用刚刚的网络为例:

Pasted image 20251024110122

我在图中绘制了这个网络从输入到最终输出的向量化正向传播过程,待会我们会再补充上反向部分。

不难发现,这只是之前的浅层神经网络中又增加了两个隐藏层传播。

我们之前在浅层神经网络中已经推导过这部分的公式计算了,就不再展开了。

正向传播的详细公式推导在这里

1.5 向量化神经网络中的维度变化

我们已经计算过不少次输入在神经网络里的传播,在向量化的计算过程中往往使用矩阵乘法来实现并行计算,这也就伴随着维度的变化。

这里便总结一下维度变化的规律:

先看贯穿始终的两个公式:

首先,这里的

的维度应该是

(该层的神经元数量,输入该层样本的特征数)

这是因为

每行的元素个数应和输入的特征数相等,作为每一个特征的权重。

而每多一个神经元就会多一次这样的行为。

推广起来,用符号表示就是:

于此同时,每有一组权重,就会有与之配合的一个偏置,因此:

现在,我们通过矩阵乘法即可计算得到:

而激活函数和求导都不会改变输入维度,所以:

我们总结一下:

量 维度

导数 与求导量维度相同

2.模块化网络传播

我们通常在代码里才说模块化,这代表着我们对一些需要重复使用的函数进行了一定程度的封装,或者干脆定义了一些对象。

那么当网络深度不断增加,那层级之间的正向传播和反向传播也在不断重复,因此进行模块化也就十分必要,我们来简单看一看这个框架。

2.1.文字传播

我们先补充完刚刚的传播过程,用文字理顺一下各个量的传递。

Pasted image 20251024165709

这便是上面的网络结构一批次训练的完整传播过程。

反向传播的详细推导过程在这里

理顺逻辑后,我们把这个过程模块化,用函数,函数的参数,函数的输出的格式再来看一看。

2.2 模块化函数

我们定义层间的正向传播函数forward和反向传播函数backward如下:

Pasted image 20251024173357

直接解释两个函数的各个属性可能不太清晰,我们直接用右侧的网络来演示这两个函数的使用。

2.3 模块化传播流程

Pasted image 20251024175609

对比图中的过程,我们就可以比较容易的理顺模块化后的传播。

2.4 总结

以上便是第四周课程的全部内容,课程里还提到了超参数的概念,我们在第二周的习题实践部分就已经对其进行了介绍,就不再重复了。

总的来说,经过较多的基础补充,第四周的内容并不多,我们从浅层神经网络再拓展到深层一些的神经网络,并对传播过程中的计算变化进行了总结,给编码实现提供了思路。

下一篇就是本周课程的习题和编码,同时也是课程一的最后一篇。

http://www.jsqmd.com/news/120149/

相关文章:

  • 华为OD机考双机位C卷 - 计算误码率 (Java Python JS C/C++ GO )
  • 2025 国内整合营销服务商TOP10 评测!全链路赋能 + 标杆案例,十大品牌权威榜单发布,驱动品牌增长新引擎 - 全局中转站
  • openFeign - yebinghuai-qq
  • kubernetes终端管理神器
  • GPIO输入输出的内容补充(继上一篇)
  • 0x3f第十天复习(考研日2)(9.18-12.30,14.00-15.00)
  • 逆向提示法:让大模型输出从平庸到专业的5步技巧
  • DHCP服务器:轻松管理IP自动分配 - 详解
  • MySQL的这6大雷区,大部分人都会踩中!
  • redis-基本操作指令 - yebinghuai-qq
  • 医疗AI智能体架构设计:六大核心模块与七种专业智能体类型全解析
  • Java毕设项目:基于springboot的校园零售管理系统的设计与实现(源码+文档,讲解、调试运行,定制等)
  • vivado hls如何实现recursive fuction递归函数
  • Docker容器操作总结 - 十里
  • CF95D Horse Races
  • 程序员必备技能:AI Agent 9种设计模式深度解析,提升大模型应用效能(值得收藏)
  • 扩展域并查集(种类并查集)
  • 算法分析--基数排序
  • 【题解】P14826 踩踩标
  • 2025-12-21
  • 港媒盛赞“香港媳妇”徐冬冬!婚照惊艳全网,港圈作品圈粉无数
  • 2025 国内公关公司 TOP10 评测!策略创新+资源整合,十大品牌权威榜单发布,专业赋能品牌传播新生态 - 全局中转站
  • 基于librosa的MFCC的音色相似度检测程序
  • Flutter官方拒绝适配鸿蒙的真相:不是技术问题,而是...
  • 【Java-JMM】Happens-before原则
  • 请教软件和业务问题,引发的思考
  • Docker容器总结 - 十里
  • 基础模型向通用智能
  • 我天,Java 已沦为老四。。
  • 写在最前面