RNN神经网络产生梯度消失和梯度爆炸的原因及解决方案

Stt时刻的隐含层状态值;

    Ott时刻的输出值;

    ①是隐含层计算公式,U是输入x的权重矩阵,St-1t-1时刻的状态值,WSt-1作为输入的权重矩阵,ΦΦ是激活函数;

    ②是输出层计算公司,V是输出层的权重矩阵,f是激活函数。

  损失函数(loss function)采用交叉熵Lt=−ot¯¯¯¯logotLt=−ot¯logot(Ot是t时刻预测输出,ot¯¯¯¯ot¯是t时刻正确的输出) 

那么对于一次训练任务中,损失函数L=∑Ti=1−ot¯¯¯¯logotL=∑i=1T−ot¯logot, T是序列总长度。

假设初始状态St为0,t=3 有三段时间序列时,由 ① 带入②可得到 

  t1、t2、t3 各个状态和输出为:

  t=1:

    状态值:s1=Φ(Ux1+Ws0)s1=Φ(Ux1+Ws0)

    输出:o1=f(VΦ(Ux1+Ws0))o1=f(VΦ(Ux1+Ws0))

 

  t=2:

    状态值:s2=Φ(Ux2+Ws1)s2=Φ(Ux2+Ws1)

    输出:o2=f(VΦ(Ux2+Ws1))=f(VΦ(Ux2+WΦ(Ux1+Ws0)))o2=f(VΦ(Ux2+Ws1))=f(VΦ(Ux2+WΦ(Ux1+Ws0)))

 

  t=3:

    状态值:s3=Φ(Ux3+Ws2)s3=Φ(Ux3+Ws2)

    输出:o3=f(VΦ(Ux3+Ws2))=⋯=f(VΦ(Ux3+WΦ(Ux2+WΦ(Ux1+Ws0))))

上一篇:网络历史之金融投资三剑客01


下一篇:2020年六大物联网安全趋势