神经网络与深度学习笔记(番外)反向传播推导
Posted 沧夜2021
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了神经网络与深度学习笔记(番外)反向传播推导相关的知识,希望对你有一定的参考价值。
文章目录
回顾
我们设 n [ l ] n^{[l]} n[l] 为第 l l l 层的单元数
则它们的维数
w
[
l
]
,
d
w
:
(
n
[
l
]
,
n
[
l
−
1
]
)
w^{[l]}, dw :(n^{[l]},n^{[l-1]})\\\\
w[l],dw:(n[l],n[l−1])
b [ l ] , d b : ( n [ l ] , 1 ) b^{[l]}, db :(n^{[l]},1)\\\\ b[l],db:(n[l],1)
z [ l ] , a l : ( n [ l ] , 1 ) z^{[l]},a^{l}:(n^{[l]},1)\\\\ z[l],al:(n[l],1)
Z l , A l , d Z , d A : ( n [ l ] , m ) Z^{l},A^{l},dZ,dA:(n^{[l]},m) Zl,Al,dZ,dA:(n[l],m)
反向传播公式为:
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[l−1]
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[l−1]=w[l]T∗dz[l]
推导
首先我们知道
z
[
l
]
=
w
[
l
]
∗
a
[
l
−
1
]
+
b
[
l
]
z^{[l]} = w^{[l]}*a^{[l-1]} + b^{[l]}
z[l]=w[l]∗a[l−1]+b[l]
a [ l ] = g [ l ] ( z [ l ] ) a^{[l]} = g^{[l]}(z^{[l]}) a[l]=g[l](z[l])
ȷ ( a , y ) = − y l o g a − ( 1 − y ) l o g ( 1 − a ) \\jmath(a,y) = - yloga-(1-y)log(1-a)\\\\ ȷ(a,y)=−yloga−(1−y)log(1−a)
接下来开始推导过程:
d z [ l ] dz^{[l]} dz[l]的证明
由公式 $\\jmath(a,y) = - yloga-(1-y)log(1-a)\\$ 对
a
a
a 求导得:
d
ȷ
(
a
[
l
]
,
y
)
d
a
[
l
]
=
−
y
a
[
l
]
+
1
−
y
1
−
a
[
l
]
\\frac{d\\jmath(a^{[l]},y)}{da^{[l]}} = -\\frac{y}{a^{[l]}} + \\frac{1-y}{1-a^{[l]}}\\\\
da[l]dȷ(a[l],y)=−a[l]y+1−a[l]1−y
d ȷ ( a [ l ] , y ) d z [ l ] = d ȷ ( a [ l ] , y ) d a [ l ] ∗ d a [ l ] d z [ l ] \\frac{d\\jmath(a^{[l]},y)}{dz^{[l]}} = \\frac{d\\jmath(a^{[l]},y)}{da^{[l]}}*\\frac{da^{[l]}}{dz^{[l]}} dz[l]dȷ(a[l],y)=da[l]dȷ(a[l],y)∗dz[l]da[l]
而 以上是关于神经网络与深度学习笔记(番外)反向传播推导的主要内容,如果未能解决你的问题,请参考以下文章
d
a
[
l
]
d
z
[
l
]
=
g
[
l
]
′
(
z