美文网首页
双向RNN理解笔记

双向RNN理解笔记

作者: zoulala | 来源:发表于2018-06-13 16:26 被阅读0次

    单层

    时间序列展开表示:


    image.png

    公式表示:


    image.png

    这里的[S1t→;S2t→]做的是一个拼接,如果他们都是1000维的,拼接在一起就是2000维的了。
    双向RNN需要的内存是单向RNN的两倍,因为在同一时间点,双向RNN需要保存两个方向上的权重参数,在分类的时候,需要同时输入两个隐藏层输出的信息。

    举例表示:


    image.png image.png

    程序表示:

    n是非常相似的.
    
    定义前向和反向rnn_cell
    定义前向和反向rnn_cell的初始状态
    准备好序列
    调用bidirectional_dynamic_rnn
    import tensorflow as tf
    from tensorflow.contrib import rnn
    cell_fw = rnn.LSTMCell(10)
    cell_bw = rnn.LSTMCell(10)
    initial_state_fw = cell_fw.zero_state(batch_size)
    initial_state_bw = cell_bw.zero_state(batch_size)
    seq = ...
    seq_length = ...
    (outputs, states)=tf.nn.bidirectional_dynamic_rnn(cell_fw, cell_bw, seq,
     seq_length, initial_state_fw,initial_state_bw)
    out = tf.concat(outputs, 2)
    

    多层:

    时间序列展开表示:


    image.png
    image.png

    公式表示:


    image.png

    结构表示:


    image.png

    程序表示:
    (暂无)

    相关文章

      网友评论

          本文标题:双向RNN理解笔记

          本文链接:https://www.haomeiwen.com/subject/gqijeftx.html