深度学习笔记(十)深层神经网络的表示及前向传播

简单总结一下我们之前学习的内容。
在之前的笔记中我总结了吴恩达老师课程的深度学习概论、逻辑回归算法、浅层神经网络。
学习了设立单隐层神经网络—>初始化参数—>正向传播计算预测值—>计算导数—>梯度下降算法—>反向传播修正参数
从这个笔记开始,我们正式进入深层神经网络deep neural network

一、什么是深层神经网络?

在这里插入图片描述
第一幅图是逻辑回归模型;第二幅图是双层NN,也是含一个隐藏层的NN;第三副图是三层NN,也是含两个隐藏层的NN;第四幅图是六层NN,也是含五个隐藏层的NN。
通常是计算网络层数时,不包含输入层X,或者认为输入层是第零层,而输出层是要包含进去的,除了输出层和输入层就是隐藏层,我们不知道隐藏层具体的运算结果。

二、深层神经网络的符号表示

在这里插入图片描述

  • L L L表示神经网络层数(在表示数量时,可以用 #layers 表示,即layers_number)上图 L = 4 L=4 L=4,即从输入层开始标注:0,1,2,3,4 . L = 4 L=4 L=4是输出层。
  • n [ l ] n^{[l]} n[l]表示第l层的神经元数量,如上图中 n [ 0 ] = n x , n [ 2 ] = 5. n^{[0]}=n_x, n^{[2]}=5. n[0]=nx,n[2]=5.
  • a [ l ] a^{[l]} a[l]表示第l层计算的激活函数,如上图中 a [ 0 ] = x , y ^ = a [ L ] = a [ 4 ] . a [ l ] = g [ l ] ( z [ l ] ) a^{[0]}=x,\widehat{y}=a^{[L]}=a^{[4]}. a{[l]}=g^{[l]}(z^{[l]}) a[0]=x,y =a[L]=a[4].a[l]=g[l](z[l])
  • w [ l ] w^{[l]} w[l]表示第l层是权重, b [ l ] b^{[l]} b[l]同理。

三、深层神经网络的前向传播

在前面的学习中,我们已经掌握了深层神经网络的结构和表示方法,还是用同样的网络,怎样实现前向传播?
在这里插入图片描述
道理其实完全可以类比逻辑回归和浅层神经网络,对之前的原理熟悉的话,很容易得到如下计算式:
z [ l ] = w [ l ] a [ l − 1 ] + b [ l ] z^{[l]}=w^{[l]}a^{[l-1]}+b^{[l]} z[l]=w[l]a[l1]+b[l]

a [ l ] = g [ l ] ( z [ l ] ) a^{[l]}=g^{[l]}(z^{[l]}) a[l]=g[l](z[l])
其中 a [ 0 ] = x . a^{[0]}=x. a[0]=x.
向量化
如果是多个样本作为训练集,就需要将样本进行列堆积,比如对于第零层即输入层来说,向量化的输入如下:
X = [ . . . . . . . . . . . . x ( 1 ) x ( 2 ) . . . x ( m ) . . . . . . . . . . . . ] . X=\left[ \begin{matrix} ...&...&...&...\\x^{(1)}&x^{(2)}&...&x^{(m)}\\...&...&...&... \end{matrix} \right]. X=...x(1)......x(2)...............x(m)....
从而得到向量化后的前向传播计算式:
Z [ l ] = w [ l ] A [ l − 1 ] + b [ l ] Z^{[l]}=w^{[l]}A^{[l-1]}+b^{[l]} Z[l]=w[l]A[l1]+b[l]

A [ l ] = g [ l ] ( Z [ l ] ) A^{[l]}=g^{[l]}(Z^{[l]}) A[l]=g[l](Z[l])
其中 A [ 0 ] = X . A^{[0]}=X. A[0]=X.
进一步研究,这个网络的输出是怎样的?输出层对于我们来说,其实是网络的第4层,所以可以得到输出层的计算式:
Z [ 4 ] = w [ 4 ] A [ 3 ] + b [ 4 ] Z^{[4]}=w^{[4]}A^{[3]}+b^{[4]} Z[4]=w[4]A[3]+b[4]

Y ^ = A [ 4 ] = g [ 4 ] ( Z [ 4 ] ) \widehat{Y}=A^{[4]}=g^{[4]}(Z^{[4]}) Y =A[4]=g[4](Z[4])
如果要实现多个样本的运算,向量化当然是最好的选择!但是对于每一层的运算即 l = 1 , 2 , 3 , . . . , L l=1,2,3,...,L l=1,2,3,...,L的运算,显式for循环无疑是最棒的选择!!!

到这里就结束了深层神经网络基础的学习,是不是感觉很快?因为大多数的内容都可以类比逻辑回归算法和浅层神经网络(单隐层神经网络),不过是重复多次的过程。
如何降低程序出现bug的概率,这个问题是非常值得我们去思考的。在接下来的课程中,将介绍如何非常仔细和系统化地思考矩阵的维数。吴恩达老师在debug自己的代码时,同样会拿出草稿纸仔细核对矩阵的维数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.zwX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值