Andrew Ng's deeplearning Course1Week4 Deep neural network(深层神经网络)

4 深层神经网络

4.1 深层神经网络概述


正如上图中所示,logisitic regression是一个浅层的模型,当隐藏层的数量足够多的时候,我们就说这是一个深层的神经网络。

4.2 深层神经网络中的前向传播


和前面的浅层神经网络一样,每一层计算z[L] = W[L] * a[L-1] + b[L], a[L] = g[L](z[L]),最终得到y帽。

将其向量化后就变为Z[L] = W[L] * A[L-1] + b[L], A[L] = g[L](Z[L]),具体过程就如上图所示。

4.3 如何核对深层神经网络中矩阵的维数

4.3.1 单个样本中



可以通过z[L] = W[L] * a[L-1] + b[L]这个公式来核对,上面图中我们是一第一层为例,如何判断W[1]和b[1]的维度呢。我们已知x即a[0]的维度为(2,1),z[1]为(3,1),因此逆推可得w[1]的维度为(3,2),b[1]的维度为(3,1)。多推导几个我们发现其中蕴含着规律,即上图中右上角的公式(其中n[L]表示第L层的单元数):

w[L] :(n[L],n[L - 1])

b[L] : (n[L],1)

dw[L] :(n[L],n[L - 1])

db[L] : (n[L],1)

4.3.2 m个样本


在m个样本中w[L] ,b[L],dw[L] ,db[L]符合单个样本中的规律,但是Z[L],A[L],dZ[L],dA[L]就由(n[L],1)变为(n[L],m),即:

Z[L] :(n[L],m)

A[L] :(n[L],m)

dZ[L] :(n[L],m)

dA[L] :(n[L],m)

4.4 深层神经网络中的前向和后向函数的构建


选取其中第L层,在前向传播中,我们输入a[L - 1],输出a[L],并得到z[L],w[L],b[L],将z[L]存到缓存cache中,留待后向传播中使用。

在后向传播中,我们通过da[L] 和cache中的z[L],得到da[L - 1],dw[L],db[L]。

具体图示就是上图中右边显示的那样。这是第L层的构建,将之推广,就得到了整个深层神经网络的构建,即下图所示:


4.5 深层神经网络中前后向传播的向量化实现

4.5.1 前向传播的向量化

公式如下图右边所示:

4.5.2 后向传播的向量化

公式如下图右边所示:


4.6 总结


如上图所示,这就是整个深层神经网络的运作过程。每个神经元里面具体用什么激活函数,这个由你自己决定。这里假设是求logistic regression的二元分类,那么整个流程就是:输入X,经过每一层的计算得到相应的a[L],z[L],最终的a[L]即y帽,然后计算出损失函数,然后计算出da[L],开始由后往前一步步推导出相应的da[L - 1],dw[L],db[L],最终不断更新w,b,得到最优的参数。

那么,为什么要用到深层神经网络呢,是因为在某些情况下,层数越多,在复杂计算后,得到的效果往往比浅层的要好很多。

4.7 参数和超参数


参数就是w,b;超参数就是学习率α、迭代的次数、隐藏层的数量、每层的隐藏单元数、选择的激活函数和其他等等。之所以叫它们超参数,是因为它们实际上决定了参数w和b,所以将它们和参数区分开来。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值