• RNN,LSTM


    在DNN中,当前输出层的值只和当前输入值有关系。如果当前输出值不仅依赖当前输入值,也依赖于前面时刻的输入值,那么DNN就不适用了。因此也就有了RNN。

    一、RNN

    1、RNN结构

    此RNN结构一共有T个时间序列,每个时间序列的输入为x,输出为y,流向下一个循环神经细胞的隐藏层状态为a。 

    2、RNN CELL单元以及前向传播

    前向传播公式为上图右所示

    3、RNN反向传播

    二、 LSTM

    1、LSTM的结构

    2、LSTM细胞单元

    一共三个sigmoid激活函数,门控作用。两个tanh。

    遗忘门(遗忘什么信息,因此使用sigmoid函数来控制,sigmoid的范围在0~1):

    $$mathbf{Gamma}_f^{langle t angle} = sigma(mathbf{W}_f[mathbf{a}^{langle t-1 angle}, mathbf{x}^{langle t angle}] + mathbf{b}_f) $$

    更新门(什么信息用来更新细胞状态):

    $$mathbf{Gamma}_i^{langle t angle} = sigma(mathbf{W}_i[a^{langle t-1 angle}, mathbf{x}^{langle t angle}] + mathbf{b}_i) $$ 

    输出门(什么信息用来输出):

    $$ mathbf{Gamma}_o^{langle t angle}=  sigma(mathbf{W}_o[mathbf{a}^{langle t-1 angle}, mathbf{x}^{langle t angle}] + mathbf{b}_{o})$$ 

    候选细胞状态

    $$mathbf{ ilde{c}}^{langle t angle} = anhleft( mathbf{W}_{c} [mathbf{a}^{langle t - 1 angle}, mathbf{x}^{langle t angle}] + mathbf{b}_{c} ight) $$

    最终细胞状态

    $$ mathbf{c}^{langle t angle} = mathbf{Gamma}_f^{langle t angle}* mathbf{c}^{langle t-1 angle} + mathbf{Gamma}_{i}^{langle t angle} *mathbf{ ilde{c}}^{langle t angle} $$ (因此,根据遗忘门和更新门,不需要的信息当门控值为0或者很小时,求和的部分只取很小值,因为是求和操作,因此可以防止梯度消失)

    隐藏细胞状态

    $$ mathbf{a}^{langle t angle} = mathbf{Gamma}_o^{langle t angle} * anh(mathbf{c}^{langle t angle})$$

    输出

    $$mathbf{y}^{langle t angle}_{pred} = extrm{softmax}(mathbf{W}_{y} mathbf{a}^{langle t angle} + mathbf{b}_{y})$$

    参考 Cousera

    谢谢!
  • 相关阅读:
    w3cscholl的在线代码编辑工具2
    w3cscholl的在线代码编辑工具
    关于 stl的内存分配的深浅拷贝
    色彩模式与色彩空间
    mediacoder固定质量CRF
    集合加泛型的类型转换
    JQuery事件绑定bind、live、on、trigger
    JS构造函数中有return
    SSA与ASS字幕
    同步、异步、阻塞、非阻塞区别与联系
  • 原文地址:https://www.cnblogs.com/ylxn/p/10229491.html
Copyright © 2020-2023  润新知