深度学习笔记(5) 深层神经网络

ROS笔记
记录ROS机器人操作系统的笔记 1.ROS基础 2.仿真的智能小车 3.仿真的机械臂 4.真实的智能小车
氢键H-H


1. 深层神经网络

在这里插入图片描述
当算神经网络的层数时,不算输入层,只算隐藏层和输出层
上图是一个四层的神经网络,有三个隐藏层

L 表示层数,上图:L = 4
输入层的索引为 “0”
第一个隐藏层 n[1] = 5, 表示有5个隐藏神经元
ll 层的输入a [l-1] 用 w[l],b[l] 作为权重得到z[l] ,z[l] 再用激活函数 g[l] 得到激活后结果 a[l] ,并且为ll +1层的输入
输入层,x 同样也是0层的激活函数,所以x = a[0] , n[0] = nx = 3


2. 前向传播和反向传播

在这里插入图片描述
前向传播的步骤:权重后的激活:输入 a[l-1] ,输出是 a[l] ,缓存为 z[l]
从实现的角度来说,可以缓存下w[l] 和b[l],这样更容易在不同的环节中调用函数

  • 前向传播的步骤:
    在这里插入图片描述
  • 向量化实现过程: 在这里插入图片描述

前向传播需要喂入A[0] 也就是X,a[0] 对应于一个训练样本的输入特征
而A[0] 对应整个训练样本的输入特征

反向传播的步骤:导数的逆推:输入为dada[l] ,输出为 dada[l-1]dwdw[l]dbdb[l]

  • 反向传播的步骤:在这里插入图片描述
  • 向量化实现过程:在这里插入图片描述

3. 核对矩阵的维数

实现深度神经网络的时候,常用的检查代码是否有错的方法:拿出一张纸过一遍算法中矩阵的维数

  • w的维度:(下一层的维数,前一层的维数),即 w[l] : (n[l] ,n[l-1] )
    但在实现的过程:w的维度:(前一层的维数,下一层的维数)即 w[l] : (n[l-1] , n[l]),因为会用w.T去运算

  • b的维度:(下一层的维数,1),即 b[l] : (n[l] , 1)

  • z[l] ,a[l] 的维度: (n[l] , 1)

向量化后:
Z[l] 可以看成由每一个单独的Z[l] 叠加而得到,Z[l] = (z[l][1],z[l][2],z[l][3] ,…,z[l][m])
m为训练集大小,所以Z[l] 的维度不再是(n[l] ,1),而是(n[l] ,m)
相同的,A[l] :(n[l] ,m),A[0] = X = (n[l] ,m)


4. 参数和超参数

比如算法中的

  • learning rate aa(学习率)

  • iterations(梯度下降法循环的数量)

  • L(隐藏层数目)

  • n[l](隐藏层单元数目)

  • choice of activation function(激活函数的选择)

都需要设置,这些数字实际上控制了最后的参数W和b的值,所以它们被称作超参数
之后也会介绍其他的超参数,如momentum、mini batch size、regularization parameters等等

寻找超参数的最优值:
在这里插入图片描述
走Idea—Code—Experiment—Idea这个循环
尝试各种不同的参数,实现模型并观察是否成功,然后再迭代

可能尝试不同的 aa 并观察 损失函数J 这么变了,试试一组值,然后可能损失函数发生变化
这个 aa 值会加快学习过程,并且收敛在更低的损失函数值上(箭头标识),就用这个 aa 值了


5. 深度学习和大脑的关联性

在这里插入图片描述
一个神经网络的逻辑单元可以看成是对一个生物神经元的过度简化,但迄今为止连神经科学家都很难解释究竟一个神经元能做什么,它可能是极其复杂的;
它的一些功能可能真的类似logistic回归的运算,但单个神经元到底在做什么目前还没有人能够真正可以解释。
大脑中的神经元是怎么学习的,至今这仍是一个谜之过程。


参考:

《神经网络和深度学习》视频课程


相关推荐:

深度学习笔记(4) 浅层神经网络
深度学习笔记(3) 向量化逻辑回归
深度学习笔记(2) 神经网络基础
深度学习笔记(1) 深度学习简介


谢谢!

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie
应支付0元
点击重新获取
扫码支付

支付成功即可阅读