添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
爽快的电影票  ·  Oracle ...·  1 月前    · 
阳刚的键盘  ·  Simulink仿真模块 - Rate ...·  1 年前    · 
微笑的伤痕  ·  Python ...·  1 年前    · 
叛逆的长颈鹿  ·  Outlook Mail Merge ...·  1 年前    · 

1) L = #layers   输入层是第0层,输出层是第 L 层。

2) n^{[l]} = #units of l -th layer l =0,1,⋯, L

3) a^{[l]}l 层的激活函数输出 l =1,⋯, La^{[l]}=g^{[l]}(z^{[l]}) ,注意每层的激活函数也应用上标法表示。输入x记为 a^{[0]} ,把输出层 \hat y 记为 a^{[l]}

4) W^{[l]} 表示第 l 层的权重 l =1,⋯, L 。用于计算 z^{[l]}

Getting your matrix dimensions right

当实现深度神经网络的时候,检查代码是否有错的方法就是拿出一张纸核算算法中矩阵的维度。 wb 向量化维度不变,但 z , a 以及 x 的维度向量化后会发生变化。

1)对于单个训练样本,输入x的维度是( n^{[0]} ,1), n^{[0]} = n_{x} ,表示输入层特征数目。

l 层的权重 W^{[l]} 维度是( n^{[l]} , n^{[l-1]} ), l =1,⋯, LdW^{[l]} 亦是。

l 层常数项 b^{[l]} 维度是( n^{[l]} ,1), l =1,⋯, Ldb^{[l]} 亦是。

lz^{[l]} 维度是( n^{[l]} ,1), l =1,⋯, Ldz^{[l]} 亦是。

la^{[l]} 维度是( n^{[l]} ,1), l =1,⋯, Lda^{[l]} 亦是。

2)对于m个训练样本,输入矩阵X的维度是( n^{[0]} ,m)

W^{[l]}b^{[l]} 的维度与只有单个样本是一致的,在运算 Z^{[l]}=W^{[l]}A^{[l-1]}+b^{[l]} 时, b^{[l]} 会被当成( n^{[l]} ,m)矩阵进行运算,这是因为python的广播性质。

lZ^{[l]} 维度是( n^{[l]} ,m), l =1,⋯, LdZ^{[l]} 亦是。

lA^{[l]} 维度是( n^{[l]} ,m), l =1,⋯, LdA^{[l]} 亦是。

why deep representations

神经网络从左到右,神经元提取的特征从简单到复杂。特征复杂度与神经网络层数成正相关。特征越来越复杂,功能也越来越强大。

1)人脸识别 (之后的课程里,会讲专门做这种识别的卷积神经网络)

第一层(特征探测器或者边缘探测器):边缘检测,从原始图片中提取出人脸的轮廓与边缘。这样每个神经元得到的是一些边缘信息("|"或"—"等方向上的边缘)

第二层(面部探测器):将前一层的边缘进行组合,组合成人脸一些局部特征,比如眼睛、鼻子、嘴巴等。(比如说,可能有一个神经元会去找眼睛的部分,另外还有别的在找鼻子的部分,然后把这许多的边缘结合在一起,就可以开始检测人脸的不同部分)

后几层:将这些局部特征组合起来,融合成人脸的模样。

随着层数由浅到深,神经网络提取的特征也是从边缘到局部特征到整体,由简单到复杂。可见,如果隐藏层足够多,那么能够提取的特征就越丰富、越复杂,模型的准确率就会越高。

2)语音识别系统 (解决的是如何可视化语音)

浅层的神经元能够检测一些简单的音调,然后较深的神经元能够检测出基本的音素,更深的神经元就能够检测出单词信息。如果网络够深,还能对短语、句子进行检测。

3)电路理论(circuit theory) ——从计算量的角度体现深层神经网络优于浅层神经网络

4)神经网络跟人脑机制

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

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

2. Forward and Backward Propagation in a Deep Network

正向传播过程分析:

Z^{[l]} 可以看成由每一个单独的列向量 z^{[l]} 堆叠得到, Z^{[l]} =( z^{[l][1]},z^{[l][2]},...,z^{[l][m]} )

Building blocks of deep neural networks

l 层的流程块图正向传播过程和反向传播过程:

整体的流程块图正向传播过程和反向传播过程:

3. Parameters vs Hyperparameters

Parameters :w、b

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

如何寻找超参数的最优值?

利用 Idea<—>Code<—>Experiment 这个循环,尝试各种不同的参数,实现模型并观察是否成功,然后再迭代。

选择超参数一定范围内的值,分别代入神经网络进行训练,测试cost function随着迭代次数增加的变化,根据结果选择cost function最小时对应的超参数值。

1.Deep L-layer neural networkOverview深层神经网络其实就是包含更多的隐藏层神经网络。有一些函数,只有非常深的神经网络能学会,而更浅的模型则办不到。命名神经网络的层数时,我们不参考输入层,只参考隐藏层和输出层的个数。notation1)= #layers 输入层是第0层,输出层是第层。2)= #units of -thlayer =0,1,⋯,。3)第层的激活函数输出=1,⋯,。,注意每层的激活函数也应用...
之前一章讲了 浅层 神经网络 ,这一章讲的是 深层 神经网络 深层 神经网络 与浅层 神经网络 的区别是:隐藏层比浅层 神经网络 多,从命名规则上来说,有1,2,5个隐藏层的 神经网络 可以称为1 hidden layer,2 hidden layers,5 hidden layers 深层 神经网络 中的正向传播与之前举例的浅层 神经网络 一样,只是层数变得更多了,如下所示: 对于每一层的正向...
深度 神经网络 (Deep Neural Networks, 以下简称DNN)是 深度学习 的基础 DNN网络结构 DNN内部的 神经网络 层可以分为三类,输入层,隐藏层和输出层,如下图示例,一般来说第一层是输入层,最后一层是输出层,而中间的层数都是隐藏层。 一般说到 神经网络 的层数是这样计算的,输入层不算,从隐藏层开始一直到输出层,一共有几层就代表着这是一个几层的 神经网络 ,例如上图就是一个三层结构的 神经网络 ...
select first_value()over(partition by grade order by course desc) as t1 from course _table