3、深度神经网络学习笔记

一、什么是深度神经网络

通常将逻辑回归函数以及下述的双层神经网络(输入层不算)定义为浅层神经网络,因为它不具备学习的能力。将一些多层且复杂的神经网络定义为深度神经网络。
浅层神经网络模型:
在这里插入图片描述
在这里插入图片描述
深度神经网络模型
在这里插入图片描述

一些符号的定义:

在下面的描述中,这些符号将被运用到
n [ l ] n^{[l]} n[l]:代表第 l l l层的节点数, l = 1 l=1 l=1是第一个隐藏层,输入层为第0层。
a [ l ] a^{[l]} a[l]:代表第 l l l层中的激活函数。在下述的正向传播中将会提到激活函数:
a [ l ] = g [ l ] ( z [ l ] ) a^{[l]}=g^{[l]}(z^{[l]}) a[l]=g[l](z[l])
其中: z [ l ] = w [ l ] x + b [ l ] z^{[l]}=w^{[l]}x+b^{[l]} z[l]=w[l]x+b[l](w和b都代表第 l l l层中z函数的权重)
x x x为输入函数,也是第0层的激活函数, x = a [ 0 ] x=a^{[0]} x=a[0]
最后一层的激活函数为 a [ l ] = y ^ a^{[l]}=\hat y a[l]=y^,即 a [ l ] a^{[l]} a[l]为预测输出。

二、前向和反向传播过程

1、前向传播过程

假设在一个 l l l层的神经网络中:
输入为 a [ l − 1 ] a^{[l-1]} a[l1],输出为 a [ l ] a^{[l]} a[l],每一层的缓存为 z [ l ] z{[l]} z[l](即为 w [ l ] , b [ l ] w^{[l]},b^{[l]} w[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])(g为激活函数)
将正向传播过程进行向量化,则可表示为:
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])

2、反向传播过程

假设在一个 l l l层的神经网络中:
输入为 d a [ l ] da^{[l]} da[l],输出为 d a [ l − 1 ] da^{[l-1]} da[l1], d W [ l ] , d b [ l ] dW^{[l]},db^{[l]} dW[l],db[l].
d z [ l ] = d a [ l ] ∗ g [ l ] ′ ( z [ l ] ) dz^{[l]}=da^{[l]}*g^{[l]'}(z^{[l]}) dz[l]=da[l]g[l](z[l])
d w [ l ] = d z [ l ] a [ l − 1 ] dw^{[l]}=dz^{[l]}a^{[l-1]} dw[l]=dz[l]a[l1]
d b [ l ] = d z [ l ] db^{[l]}=dz^{[l]} db[l]=dz[l]
d a [ l − 1 ] = w [ l ] T d z [ l ] da^{[l-1]}=w^{[l]T}dz^{[l]} da[l1]=w[l]Tdz[l]
将反向传播过程进行向量化:
d z [ l ] = d A [ l ] ∗ g [ l ] ′ ( z [ l ] ) dz^{[l]}=dA^{[l]}*g^{[l]'}(z^{[l]}) dz[l]=dA[l]g[l](z[l])
d w [ l ] = 1 m d z [ l ] A [ l − 1 ] T dw^{[l]}=\frac{1}{m}dz^{[l]}A^{[l-1]T} dw[l]=m1dz[l]A[l1]T
d b [ l ] = 1 m n p . s u m ( d z [ l ] , a x i s = 1 , ) db^{[l]}=\frac{1}{m}np.sum(dz^{[l]},axis=1,) db[l]=m1np.sum(dz[l],axis=1,)
d A [ l − 1 ] = w [ l ] T d z [ l ] dA^{[l-1]}=w^{[l]T}dz^{[l]} dA[l1]=w[l]Tdz[l]

3、深度神经网络的整体过程(正向、反向)

在这里插入图片描述

3、深度网络的前向传播过程

在这里插入图片描述
对于上图中的深度神经网络来说:
输入为x,也可以说为 a [ 0 ] a^{[0]} a[0]
正向传播过程可以被描述为:
z [ 1 ] = w [ 1 ] a [ 0 ] + b [ 1 ] z^{[1]}=w^{[1]}a^{[0]}+b^{[1]} z[1]=w[1]a[0]+b[1]
a [ 1 ] = g [ 1 ] ( z [ 1 ] ) a^{[1]}=g^{[1]}(z^{[1]}) a[1]=g[1](z[1])

z [ 2 ] = w [ 2 ] a [ 1 ] + b [ 2 ] z^{[2]}=w^{[2]}a^{[1]}+b^{[2]} z[2]=w[2]a[1]+b[2]
a [ 2 ] = g [ 2 ] ( z [ 2 ] ) a^{[2]}=g^{[2]}(z^{[2]}) a[2]=g[2](z[2])
一直持续上述步骤到最后的输出层
z [ 4 ] = w [ 4 ] a [ 3 ] + b [ 4 ] z^{[4]}=w^{[4]}a^{[3]}+b^{[4]} z[4]=w[4]a[3]+b[4]
a [ 4 ] = g [ 4 ] ( z [ 4 ] ) = y ^ a^{[4]}=g^{[4]}(z^{[4]})=\hat y a[4]=g[4](z[4])=y^

对于多个样本的情况下,采用向量的形式进行表示:
若有m个输入样本:
正向传播过程可以被描述为:
z [ 1 ] = w [ 1 ] A [ 0 ] + b [ 1 ] z^{[1]}=w^{[1]}A^{[0]}+b^{[1]} z[1]=w[1]A[0]+b[1]
A [ 1 ] = g [ 1 ] ( z [ 1 ] ) A^{[1]}=g^{[1]}(z^{[1]}) A[1]=g[1](z[1])

z [ 2 ] = w [ 2 ] A [ 1 ] + b [ 2 ] z^{[2]}=w^{[2]}A^{[1]}+b^{[2]} z[2]=w[2]A[1]+b[2]
A [ 2 ] = g [ 2 ] ( z [ 2 ] ) A^{[2]}=g^{[2]}(z^{[2]}) A[2]=g[2](z[2])
Y ^ = g [ 4 ] ( z [ 4 ] ) = A [ 4 ] \hat Y=g^{[4]}(z^{[4]})=A^{[4]} Y^=g[4](z[4])=A[4]
输入和权重w都为列向量,式中的 w [ l ] w^{[l]} w[l]是转置后w矩阵的统称
z的输出样式为下图所示
在这里插入图片描述
其中,每一列向量代表每一个样本在第2层的输出

总的前向反向传播总结如下图所示:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值