BP算法:定义误差函数 E ,通过链式法则自顶向下求得 E 对网络权重的偏导。沿梯度的反方向更新权重的值,直到 E 收 敛。
BPTT:与BP类似,加上时序演化。
输出的**函数:双曲正切,通过softmax,损失交叉熵。
举一个例子:求E3对V的梯度
y是输出值,z是输入**函数的值,z=V*S3.最后求和可得E对V的梯度!!(梯度下降)
E对W梯度
W是相同的,所有求对W的梯度需要求所有的。s2并不是一个常数项,s2依赖s1,s1依赖s0。所以要用链式法则传递下去。
这里刚开始看有点异或,当K=3的时候,粗浅以为左右式子对等,其实不然,是表达符号简略的问题!
RNN梯度消失的原因:
正是上面的BPTT和tanh**函数。