吴恩达.深度学习系列-C1神经网络与深度学习-w4深度神经网络

前言

Deep L-layer neural network

shallow 与 Deep 是相对的。
一般对某些问题进行分类,可以先从逻辑回归(最简单的单个神经元),逐步增加网络层数,并把层数做为一个超参数,使用交叉验证来判定多少层的网络适合我们的分类问题。
符号申明:

  • W[l]Z[l],W[l]A[l1]+b[l]=Z[l]
  • n[l]ln[0]
  • a[l]la[0]=xx1,x2...xnxa[L]

Forward Propagation in a Deep Network

吴恩达.深度学习系列-C1神经网络与深度学习-w4深度神经网络
在上图这样一个3×5×5×3×1的5层网络中,Forward propagation的vecteration表达如下:
第0层是输入层,L=4层,第L层是输出层。
n[0]=nx=3,n[1]=5,n[2]=5,n[3]=3,n[4]=1
x=A[0]=(3,1)
W[1]=(5,3),b[1]=(5,1),Z[1]=W[1]A[0]+b[1]=(5,1)
W(5,3)的形可以这样看,第一个数字5是本层神经元个数,第二个数字是上一层的神经元个数。W[l]:(n[l],n[l1])
b(5,1)的形可以这样看,第一个数字5是本层神经元个数,第二个数字是1,因为每个神经元共享一个偏置量b。
Forward:Input A^{[l-1]},output A^{[l]}
A[1]=g[1](Z[1])=(5,1);g()sigmoidrelu
W[2]=(5,5),b[2]=(5,1),Z[2]=W[2]A[1]+b[2]=(5,1) ⟹矩阵乘
A[2]=g[2](Z[2])=(5,1)
W[3]=(3,5),b=(3,1)Z[3]=W[3]A[2]+b[3]=(3,1)⟹矩阵乘
A[3]=g[3](Z[3])=(3,1)
W[4]=(1,3),b[4]=(1,1)Z[4]=W[4]A[3]+b[4]=(1,1)⟹矩阵乘
y^=A[4]=g[4](Z[4])=(1,1)
使用for-loop来从1到L层的计算。
以上是以单条样本为例,如果有m进行运算,用m替换上面列表中的1.

Getting your matrix dimensions right

好吧,我在上一小节就把这章的笔记给总结了。
w,b,z,a的梯度的shape跟W,B,Z,A是一样的。

Why deep representations?

为什么深层神经网络对很多分类问题有效?
图像识别
随着网络深入,从总结图像的边缘开始,逐步组合出复杂的特征用以识别图片。
音频识别
也一样,第一层可能去识别一小片段的音调是升高还是降低,随着网络层数增加,组合出复杂的音调类型,用以识别音频的总体特征。
同样,这个道理适用于文章的识别。
电路原理与深度学习
非正式说法:浅层网络需要的神经元个数是深度网络的指数倍数。
吴恩达.深度学习系列-C1神经网络与深度学习-w4深度神经网络
上图左:可以使用更多的隐藏层,神经元的个数是O(logn)
上图右:只允许一个隐藏层,神经元个数是2n
这个例子可以从一个方面说明深度网络的价值。

Building blocks of deep neural networks

Forward:Input A^{[l-1]},output A^{[l]}
Backward:Inputda[l],outputda[l1]
吴恩达.深度学习系列-C1神经网络与深度学习-w4深度神经网络
如上,一张图说明了前向传播与反向传播的过程变量与输出值。注意:Z[l]是正向传播的过程值,同时是反向传播梯度计算中的输入,所以必须进行cache。
有时间真应该把这草图画成一个正式图。不过markdown的流程图好像没法画这种图,只能用ppt来实现了。

Forward and Backward Propagation

吴恩达.深度学习系列-C1神经网络与深度学习-w4深度神经网络
前向传播
参考前面小节“Forward Propagation in a Deep Network”
反向传播
input:da[l]
output:da[l1],dW[l],db[l]
Vecteraztion representation:
dZ[l]=dA[l]g[l](Z[l]),不同**函数g‘()不一样啊。
dW[l]=1mdZ[l](A[l1].T)
db[l]=1mnp.sum(dZ[l],axis=1,keepdims=True)
dA[l1]=(W[l].T)dZ[l]
吴恩达.深度学习系列-C1神经网络与深度学习-w4深度神经网络
前向传播后得出Lost(y^,y)的数值,对Lost函数进行求导得出dA[L]=yA[L]+1y1A[L]

Parameters vs Hyperparameters

Parameters:W[1],b[1],W[2],b[2]....W[L],b[L]
Hyperparameters:
- Learning rate α
- iterations
- hidden layers L
- hidden units n[1],n[2]...[L]
- choice of activation:Relu,tanh,sigmoid….
- momentum 动量
- minibatch size
- regularizations
吴恩达.深度学习系列-C1神经网络与深度学习-w4深度神经网络
超参数是无法在深度学习过程中进行学习的参数,它由人工设定并影响了参数的取值与模型的效果。深度学习是一个重实验的过程。需要不断实验(交叉验证法)去对比发现最适当的超参数。如前表所列,需要处理的超参数十分的多,以后的课程会教授如何去探索超参数空间。

What does this have to do with the brain?

把深度学习与大脑做类比,吴恩达大师认为,这个领域已经进步到可以打破这个类比的阶段。他倾向于不再运用这个类比。
【注:现在很多文章都有提出,人脑的处理过程不是这么简单的**输出的方式。深度学习跟大脑的学习并没有什么相似之处。】

Practic Questions

吴恩达.深度学习系列-C1神经网络与深度学习-w4深度神经网络
对于L的定义是:隐藏层数+1。输入层与输出层不是隐藏层。本题中隐藏层数=3,所以L=4。
第一层l=0,第二层l=1,第三层l=2,第四层l=3,第五层l=4=L