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

4 深层神经网络

4.1 深层神经网络概述

Andrew Ng's deeplearning Course1Week4 Deep neural network(深层神经网络)_第1张图片

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

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

Andrew Ng's deeplearning Course1Week4 Deep neural network(深层神经网络)_第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 单个样本中


Andrew Ng's deeplearning Course1Week4 Deep neural network(深层神经网络)_第3张图片

可以通过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个样本

Andrew Ng's deeplearning Course1Week4 Deep neural network(深层神经网络)_第4张图片

在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 深层神经网络中的前向和后向函数的构建

Andrew Ng's deeplearning Course1Week4 Deep neural network(深层神经网络)_第5张图片

选取其中第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层的构建,将之推广,就得到了整个深层神经网络的构建,即下图所示:

Andrew Ng's deeplearning Course1Week4 Deep neural network(深层神经网络)_第6张图片

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

4.5.1 前向传播的向量化

公式如下图右边所示:

Andrew Ng's deeplearning Course1Week4 Deep neural network(深层神经网络)_第7张图片

4.5.2 后向传播的向量化

公式如下图右边所示:

Andrew Ng's deeplearning Course1Week4 Deep neural network(深层神经网络)_第8张图片

4.6 总结

Andrew Ng's deeplearning Course1Week4 Deep neural network(深层神经网络)_第9张图片

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

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

4.7 参数和超参数

Andrew Ng's deeplearning Course1Week4 Deep neural network(深层神经网络)_第10张图片

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

你可能感兴趣的:(Deep,Learning,Andrew,Ng,深度学习,神经网络,Andrew,Ng)