概述
本节推导了一个两层的全连接层的正向传播公式以及反向传播公式。虽然只是用一个两层的全连接层举例,各层也只取了一个参数作为推导,但我觉得阅读下来大家还是能对神经网络的正向传播、反向传播以及参数更新产生更深刻的理解。本节只是公式推导篇,欢迎阅读另一篇反向传播:代码演示篇
正文
网路构架如下图所示,接下来给大家推导反向传播过程以及参数是如何更新的。
该网络包括一个输入层,一个隐含层,一个输出层。这里损失函数L我们使用均方差损失函数。我们可以很快得出正向传播公式,其中σ()指Sigmoid激活函数。
隐藏层到输出层的参数的偏导数
这里取
W
2
W_{2}
W2中的
w
n
i
w_{ni}
wni参数作为举例推导。
观察正向传播公式,参数
w
n
i
w_{ni}
wni这一列最开始与
H
H
H相乘,得到
g
i
g_{i}
gi,
g
i
g_{i}
gi与
G
i
G_{i}
Gi关联,
G
i
G_{i}
Gi与
L
i
L_{i}
Li关联,所以这里求和符号可以去掉。以下是公式推导:
输入层到隐藏层的参数的偏导数
这里取
W
1
W_{1}
W1中的
w
m
n
w_{mn}
wmn参数作为举例推导。
观察正向传播公式,参数
w
m
n
w_{mn}
wmn最开始与
h
n
h_{n}
hn关联,
h
n
h_{n}
hn与
H
n
H_{n}
Hn关联,而
H
n
H_{n}
Hn跟
W
2
W_{2}
W2相乘后与整个
g
g
g关联,整个
g
g
g与整个
G
G
G关联,整个
G
G
G跟整个
L
L
L关联,所以在这里求和符号不可以去掉。以下是公式推导:
这些参数是如何更新的
现在我们有了这些参数的偏导数,我们就可以通过梯度下降法更新参数了:
α就是我们常说的学习率。
为什么梯度下降法是有效的?
引用知乎@老董的答案