吴恩达深度学习课程之第一门课 神经网络和深度学习 第四周课程笔记

本文参考黄海广主编针对吴恩达深度学习课程DeepLearning.ai 《深度学习课程 笔记 (V5.1 )》

第四周:深层神经网络 (Deep Neural Networks)

4.1 深层神经网络(Deep L-layer neural network )

复习下前三周的课的内容:

1.逻辑回归,结构如下图左边。一个隐藏层的神经网络,结构下图右边

注意,神经网络的层数是这么定义的: 从左到右,由 0 开始定义 ,比如上边右图,x1 、x 2 、x 3 ,这层是第 0 层,这层左边的隐藏层是第 1 层,由此类推。如下图左边是两个隐藏层的神经网络,右边是 5 个隐藏层的神经网络。

有一个隐藏层的神经网络,就是一个两层神经网络。记住当我们算神经网络的层数时,我们不算输入层,我们只算隐藏层和输出层。

4.2 前向传播和反向传播(Forward and backward propagation)

4.3 深层网络中的前向传播(Forward propagation in a DeepNetwork )

先讨论其中一个训练样本 x 如何应用前向传播,之后讨论向量化的版本。

 

4.4 核对矩阵的维数(Getting your matrix dimensions right)

 4.5 为什么使用深层表示?(Why deep representations?)

举例:人脸识别

首先,深度网络究竟在计算什么?如果你在建一个人脸识别或是人脸检测系统,深度神经网络所做的事就是,当你输入一张脸部的照片,然后你可以把深度神经网络的第一层,当成一个特征探测器或者边缘探测器。在这个例子里,我会建一个大概有 20 个隐藏单元的深度神经网络,是怎么针对这张图计算的。隐藏单元就是这些图里这些小方块(第一张大图),举个例子,这个小方块(第一行第一列)就是一个隐藏单元,它会去找这张照片里“|”边缘的方向。那么这个隐藏单元(第四行第四列),可能是在找(“—”)水平向的边缘在哪里。

你可以直觉上把这种神经网络的前几层当作探测简单的函数,比如边缘,之后把它们跟后几层结合在一起,那么总体上就能学习更多复杂的函数。

1. 深度神经网络的这许多隐藏层中,较早的前几层能学习一些低层次的简单特征,等到后几层,就能把简单的特征结合起来,去探测更加复杂的东西。

2. 另外一个,关于神经网络为何有效的理论,来源于电路理论,它和你能够用电路元件计算哪些函数有着分不开的联系。

4.6 搭建神经网络块(Building blocks of deep neural networks)

4.7 参数 VS 超参数(Parameters vs Hyperparameters )

什么是超参数?
比如算法中的 learning rate a(学习率)、iterations(梯度下降法循环的数量)、L(隐藏层数目)、n [l] (隐藏层单元数目)、choice of activation function(激活函数的选择)都需要你来设置,这些数字实际上控制了最后的参数W和b的值,所以它们被称作超参数。实际上深度学习有很多不同的超参数,之后我们也会介绍一些其他的超参数,如momentum、mini batch size、regularization parameters 等等。

4.8 深度学习和大脑的关联性(What does this have to do withthe brain?)

深度学习的确是个很好的工具来学习各种很灵活很复杂的函数,学习到从x到y的映射,在监督学习中学到输入到输出的映射。

所以这是一个过度简化的对比,把一个神经网络的逻辑单元和右边的生物神经元对比。至今为止其实连神经科学家们都很难解释,究竟一个神经元能做什么。一个小小的神经元其实却是极其复杂的,以至于我们无法在神经科学的角度描述清楚,它的一些功能,可能真的是类似 logistic 回归的运算,但单个神经元到底在做什么,目前还没有人能够真正解释,大脑中的神经元是怎么学习的,至今这仍是一个谜之过程。到底大脑是用类似于后向传播或是梯度下降的算法,或者人类大脑的学习过程用的是完全不同的原理。

猜你喜欢

转载自blog.csdn.net/dujuancao11/article/details/107339072