zoukankan      html  css  js  c++  java
  • [ DLPytorch ] 循环神经网络进阶&拟合问题&梯度消失与爆炸

    循环神经网络进阶

    BPTT

    反向传播过程中,训练模型通常需要模型参数的梯度。

    [frac{partial L}{partial oldsymbol{W}_{qh}} = sum_{t=1}^T ext{prod}left(frac{partial L}{partial oldsymbol{o}_t}, frac{partial oldsymbol{o}_t}{partial oldsymbol{W}_{qh}} ight) = sum_{t=1}^T frac{partial L}{partial oldsymbol{o}_t} oldsymbol{h}_t^ op. ]

    [egin{aligned} frac{partial L}{partial oldsymbol{W}_{hx}} &= sum_{t=1}^T ext{prod}left(frac{partial L}{partial oldsymbol{h}_t}, frac{partial oldsymbol{h}_t}{partial oldsymbol{W}_{hx}} ight) = sum_{t=1}^T frac{partial L}{partial oldsymbol{h}_t} oldsymbol{x}_t^ op,\ frac{partial L}{partial oldsymbol{W}_{hh}} &= sum_{t=1}^T ext{prod}left(frac{partial L}{partial oldsymbol{h}_t}, frac{partial oldsymbol{h}_t}{partial oldsymbol{W}_{hh}} ight) = sum_{t=1}^T frac{partial L}{partial oldsymbol{h}_t} oldsymbol{h}_{t-1}^ op. end{aligned} ]

    其次,注意到隐藏状态之间也存在依赖关系。也正是这种依赖关系,在训练时需要对状态进行特殊处理。

    [frac{partial L}{partial oldsymbol{h}_t} = ext{prod} (frac{partial L}{partial oldsymbol{h}_{t+1}}, frac{partial oldsymbol{h}_{t+1}}{partial oldsymbol{h}_t}) + ext{prod} (frac{partial L}{partial oldsymbol{o}_t}, frac{partial oldsymbol{o}_t}{partial oldsymbol{h}_t} ) = oldsymbol{W}_{hh}^ op frac{partial L}{partial oldsymbol{h}_{t+1}} + oldsymbol{W}_{qh}^ op frac{partial L}{partial oldsymbol{o}_t} ]

    当时间步数 (T) 较大或者时间步 (t) 较小时,目标函数有关隐藏状态的梯度较容易出现衰减和爆炸。

    GRU

    • 重置门有助于捕捉时间序列里短期的依赖关系;
    • 更新门有助于捕捉时间序列里长期的依赖关系。
      门控循环单元会计算候选隐藏状态来辅助稍后的隐藏状态计算,将当前时间步重置门的输出与上一时间步隐藏状态做按元素乘法(符号为(odot))。如果重置门中元素值接近0,那么意味着重置对应隐藏状态元素为0,即丢弃上一时间步的隐藏状态。如果元素值接近1,那么表示保留上一时间步的隐藏状态。然后,将按元素乘法的结果与当前时间步的输入连结,再通过含激活函数tanh的全连接层计算出候选隐藏状态。

      更新门可以控制隐藏状态应该如何被包含当前时间步信息的候选隐藏状态所更新,时间步(t)的隐藏状态(oldsymbol{H}_t in mathbb{R}^{n imes h})的计算使用当前时间步的更新门(oldsymbol{Z}_t)来对上一时间步的隐藏状态(oldsymbol{H}_{t-1})和当前时间步的候选隐藏状态( ilde{oldsymbol{H}}_t)做组合。

    LSTM

    设置了遗忘门、输入门和输出门。当前时间步记忆细胞(oldsymbol{C}_t in mathbb{R}^{n imes h})的计算组合了上一时间步记忆细胞和当前时间步候选记忆细胞的信息,并通过遗忘门和输入门来控制信息的流动。候选记忆细胞由上一状态与本次输入分别线性计算再组合。
    遗忘门控制上一时间步的记忆细胞(oldsymbol{C}_{t-1})中的信息是否传递到当前时间步,而输入门则控制当前时间步的输入(oldsymbol{X}_t)通过候选记忆细胞( ilde{oldsymbol{C}}_t)如何流入当前时间步的记忆细胞。
    通过输出门来控制从记忆细胞到隐藏状态(oldsymbol{H}_t)

    拟合问题

    (待补充)

    梯度消失与爆炸

    (待补充)

  • 相关阅读:
    解决哈希(HASH)冲突的主要方法
    破解
    打工
    [JSOI2007]麻将
    [JSOI2007]建筑抢修
    [HAOI2007]上升序列
    [HAOI2007]覆盖问题
    [CQOI2017]小Q的棋盘
    [HEOI2015]兔子与樱花
    [HEOI2015]定价
  • 原文地址:https://www.cnblogs.com/recoverableTi/p/12321975.html
Copyright © 2011-2022 走看看