上节课我们主要介绍了浅层神经网络。首先介绍神经网络的基本结构,包括输入层,隐藏层和输出层。然后以简单的2 layer NN为例,详细推导了其正向传播过程和反向传播过程,使用梯度下降的方法优化神经网络参数。同时,我们还介绍了不同的激活函数,比较各自优缺点,讨论了激活函数必须是非线性的原因。最后介绍了神经网络参数随机初始化的必要性,特别是权重W,不同神经元的W不能初始化为同一零值。本节课是对上节课的延伸和扩展,讨论更深层的神经网络。

——上期回顾

1

Deep L-layer neural network

深层神经网络其实就是包含更多的隐藏层神经网络。如下图所示,分别列举了逻辑回归、1个隐藏层的神经网络、2个隐藏层的神经网络和5个隐藏层的神经网络它们的模型结构。

命名规则上,一般只参考隐藏层个数和输出层。例如,上图中的逻辑回归又叫1 layer NN,1个隐藏层的神经网络叫做2 layer NN,2个隐藏层的神经网络叫做3 layer NN,以此类推。如果是L-layer NN,则包含了L-1个隐藏层,最后的L层是输出层。

2

Forward Propagation in a Deep Network

接下来,我们来推导一下深层神经网络的正向传播过程。仍以上面讲过的4层神经网络为例,对于单个样本:

第1层,l=1:

第2层,l=2:

第3层,l=3:

第4层,l=4:

如果有m个训练样本,其向量化矩阵形式为:

第1层,l=1:

第2层,l=2:

第3层,l=3:

第4层,l=4:

其中l=1,⋯,L

3

Getting your matrix dimensions right

4

Why deep representations?

我们都知道神经网络能处理很多问题,而且效果显著。其强大能力主要源自神经网络足够“深”,也就是说网络层数越多,神经网络就更加复杂和深入,学习也更加准确。接下来,我们从几个例子入手,看一下为什么深度网络能够如此强大。

先来看人脸识别的例子,如下图所示。经过训练,神经网络第一层所做的事就是从原始图片中提取出人脸的轮廓与边缘,即边缘检测。这样每个神经元得到的是一些边缘信息。神经网络第二层所做的事情就是将前一层的边缘进行组合,组合成人脸一些局部特征,比如眼睛、鼻子、嘴巴等。再往后面,就将这些局部特征组合起来,融合成人脸的模样。可以看出,随着层数由浅到深,神经网络提取的特征也是从边缘到局部特征到整体,由简单到复杂。可见,如果隐藏层足够多,那么能够提取的特征就越丰富、越复杂,模型的准确率就会越高。

语音识别模型也是这个道理。浅层的神经元能够检测一些简单的音调,然后较深的神经元能够检测出基本的音素,更深的神经元就能够检测出单词信息。如果网络够深,还能对短语、句子进行检测。记住一点,神经网络从左到右,神经元提取的特征从简单到复杂。特征复杂度与神经网络层数成正相关。特征越来越复杂,功能也越来越强大。

除了从提取特征复杂度的角度来说明深层网络的优势之外,深层网络还有另外一个优点,就是能够减少神经元个数,从而减少计算量。例如下面这个例子,使用电路理论,计算逻辑输出:

其中,⊕表示异或操作。对于这个逻辑运算,如果使用深度网络,深度网络的结构是每层将前一层的两两单元进行异或,最后到一个输出,如下图左边所示。这样,整个深度网络的层数是log2(n),不包含输入层。总共使用的神经元个数为:

可见,输入个数是n,这种深层网络所需的神经元个数仅仅是n-1个。

如果不用深层网络,仅仅使用单个隐藏层,那么需要的神经元个数将是指数级别那么大。Ng指出,由于包含了所有的逻辑位(0和1),则需要2^(n−1)个神经元。

比较下来,处理同一逻辑问题,深层网络所需的神经元个数比浅层网络要少很多。这也是深层神经网络的优点之一。

尽管深度学习有着非常显著的优势,Andrew还是建议对实际问题进行建模时,尽量先选择层数少的神经网络模型,这也符合奥卡姆剃刀定律(Occam’s Razor)。对于比较复杂的问题,再使用较深的神经网络模型。

5

Building blocks of deep neural networks

下面用流程块图来解释神经网络正向传播和反向传播过程。如下图所示,对于第l层来说,正向传播过程中:

刚才这是第l层的流程块图,对于神经网络所有层,整体的流程块图正向传播过程和反向传播过程如下所示:

6

Forward and Backward Propagation

我们继续接着上一部分流程块图的内容,推导神经网络正向传播过程和反向传播过程的具体表达式。

m个训练样本,向量化形式为:

m个训练样本,向量化形式为:

7

Parameters vs Hyperparameters

该部分介绍神经网络中的参数(parameters)和超参数(hyperparameters)的概念。

如何设置最优的超参数是一个比较困难的、需要经验知识的问题。通常的做法是选择超参数一定范围内的值,分别代入神经网络进行训练,测试cost function随着迭代次数增加的变化,根据结果选择cost function最小时对应的超参数值。这类似于validation的方法。

8

What does this have to do with the brain?

那么,神经网络跟人脑机制到底有什么联系呢?究竟有多少的相似程度?神经网络实际上可以分成两个部分:正向传播过程和反向传播过程。神经网络的每个神经元采用激活函数的方式,类似于感知机模型。这种模型与人脑神经元是类似的,可以说是一种非常简化的人脑神经元模型。如下图所示,人脑神经元可分为树突、细胞体、轴突三部分。树突接收外界电刺激信号(类比神经网络中神经元输入),传递给细胞体进行处理(类比神经网络中神经元激活函数运算),最后由轴突传递给下一个神经元(类比神经网络中神经元输出)。

值得一提的是,人脑神经元的结构和处理方式要复杂的多,神经网络模型只是非常简化的模型。人脑如何进行学习?是否也是通过反向传播和梯度下降算法现在还不清楚,可能会更加复杂。这是值得生物学家探索的事情。也许发现重要的新的人脑学习机制后,让我们的神经网络模型抛弃反向传播和梯度下降算法,能够实现更加准确和强大的神经网络模型!

9

Summary

本节课主要介绍了深层神经网络,是上一节浅层神经网络的拓展和归纳。首先,我们介绍了建立神经网络模型一些常用的标准的标记符号。然后,用流程块图的方式详细推导正向传播过程和反向传播过程的输入输出和参数表达式。我们也从提取特征复杂性和计算量的角度分别解释了深层神经网络为什么优于浅层神经网络。接着,我们介绍了超参数的概念,解释了超参数与参数的区别。最后,我们将神经网络与人脑做了类别,人工神经网络是简化的人脑模型。

喜欢我的文章就关注、点喜欢哦,欢迎分享到朋友圈,谢谢~

至此,吴恩达深度学习专项课程的第一门课《神经网络与深度学习》已经介绍完毕!

后续课程精炼笔记将陆续发布,请关注公众号最新动态~

推荐阅读:

吴恩达《神经网络与深度学习》精炼笔记(1)-- 深度学习概述

吴恩达《神经网络与深度学习》精炼笔记(2)-- 神经网络基础之逻辑回归

吴恩达《神经网络与深度学习》精炼笔记(3)-- 神经网络基础之Python与向量化

吴恩达《神经网络与深度学习》精炼笔记(4)-- 浅层神经网络

长按二维码扫描关注

红色石头的机器学习之路

ID:redstonewill

红色石头

个人微信 : WillowRedstone

新浪微博:@RedstoneWill

吴恩达《神经网络与深度学习》精炼笔记(5)-- 深层神经网络相关推荐

  1. 吴恩达《Machine Learning》精炼笔记 5:神经网络

    作者 | Peter 编辑 | AI有道 系列文章: 吴恩达<Machine Learning>精炼笔记 1:监督学习与非监督学习 吴恩达<Machine Learning>精 ...

  2. 手机上的机器学习资源!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现!...

    吴恩达机器学习.深度学习,李航老师<统计学习方法>.CS229数学基础等,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成 ...

  3. 新建网站了!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现,可以在线阅读了!...

    吴恩达机器学习.深度学习,李航老师<统计学习方法>,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成了网页版,可以在线阅读 ...

  4. 吴恩达深度学习笔记_Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现,可以在线阅读了!...

    吴恩达机器学习.深度学习,李航老师<统计学习方法>,可以说是机器学习入门的宝典.本文推荐一个网站"机器学习初学者",把以上资源的笔记.代码实现做成了网页版,可以在线阅读 ...

  5. 吴恩达《Machine Learning》精炼笔记 4:神经网络基础

    作者 | Peter 编辑 | AI有道 今天带来第四周课程的笔记:神经网络基础. 非线性假设 神经元和大脑 模型表示 特征和直观理解 多类分类问题 非线性假设Non-linear Hypothese ...

  6. AIQ - deeplearning.ai 全套吴恩达老师的深度学习课程笔记及资源在线阅读

    http://www.6aiq.com/deeplearning_ai/html/SUMMARY.html 深度学习笔记目录 第一门课 神经网络和深度学习(Neural Networks and De ...

  7. AIQ - deeplearning.ai 全套吴恩达老师的深度学习课程笔记

    http://www.6aiq.com/deeplearning_ai/html/SUMMARY.html 深度学习笔记目录 第一门课 神经网络和深度学习(Neural Networks and De ...

  8. AIQ - deeplearning.ai 全套吴恩达老师的深度学习课程笔记及资源在线

    http://www.6aiq.com/deeplearning_ai/html/SUMMARY.html 深度学习笔记目录 第一门课 神经网络和深度学习(Neural Networks and De ...

  9. 下载量过百万的吴恩达机器学习和深度学习笔记更新了!(附PDF下载)

    今天,我把吴恩达机器学习和深度学习课程笔记都更新了,并提供下载,这两本笔记非常适合机器学习和深度学习入门.(作者:黄海广) 0.导语 我和同学将吴恩达老师机器学习和深度学习课程笔记做成了打印版,放在g ...

  10. 吴恩达《Machine Learning》精炼笔记 11:推荐系统

    作者 | Peter 编辑 | AI有道 系列文章: 吴恩达<Machine Learning>精炼笔记 1:监督学习与非监督学习 吴恩达<Machine Learning>精 ...

最新文章

  1. 面试官:连YOLO都搞不定,是自己走还是我送你
  2. 40.公约数和公倍数
  3. 10个用于处理日期和时间的 Python 库
  4. java jmenuitem重新渲染_的Java的JMenuItem添加邊框的第二菜單項
  5. java设计模式 组合_JAVA 设计模式 组合模式
  6. 15分钟,教你用Python爬网站数据,并用BI可视化分析!
  7. springboot aop记录日志
  8. 等额本息excel模板下载_格格技能——巧用EXCEL函数,算清各种收益利率
  9. django-查询语句(一)
  10. tensorflow目标检测--识别赵丽颖
  11. 软件工程课堂作业(三)——Right-BICEP软件单元测试
  12. 纯js实现减速滚动置顶效果
  13. 密码学应用(二)访问控制
  14. java执行sql文件
  15. ScrollView 嵌套 RecyclerView 高度自适应遇到的问题
  16. php考研难么,版主2006年考研经验谈:考研并不难
  17. django页面跳转问题
  18. 【LTE】LTE轻松进阶学习笔记-接口协议(4)
  19. 前端开发微信公众号在ios中常遇见的问题和解决方法
  20. VC界面库Xtreme Toolkit Pro全新发布v22.1——支持VS 2022主题

热门文章

  1. hdu 4430 Yukari's Birthday (简单数学 + 二分)
  2. 大家说火箭进决赛的机会有多大?
  3. 在JavaScript中遭遇级联表达式陷阱
  4. PID1 / 明明的随机数
  5. poj 3321 Apple Tree(dfs序+树状数组求和模型)
  6. hdu 1055(贪心)
  7. NYOJ 559 报数游戏
  8. 10 迭代器与生成器
  9. 解决import keras后出现的一系列问题
  10. 语音处理-自相关-端点