请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

lstm cell实现的过程中h_size与h 含义的困惑?

老师您好,真的纠结好久了,反复看课程还是很困惑

    ###对应7-17的课
    # 定义输入门
    with tf.variable_scope('inputs'):
        ix, ih, ib = _generate_params_for_lstm_cell(
            x_size = [hps.num_embedding_size, hps.num_lstm_nodes[0]], #x_size的大小为一个矩阵【embedding_size的大小,第一层lstm的隐含状态Ct维 度的大小】 
            ## 注意此node只是作者命名时没注意,应该是Ct的维度
            h_size = [hps.num_lstm_nodes[0], hps.num_lstm_nodes[0]], #???
            bias_size = [1, hps.num_lstm_nodes[0]]
        )
          #  ?中间的隐含状态C't,   
        state = tf.Variable( 
            tf.zeros([batch_size, hps.num_lstm_nodes[0]]),
            trainable = False
        )
        # ??# h 上一步的输出  
        h = tf.Variable( 
            tf.zeros([batch_size, hps.num_lstm_nodes[0]]),
            trainable = False

1)这个h_size 的定义h_size = [hps.num_lstm_nodes[0], ps.num_lstm_nodes[0]], #???是
2)h 定义的时候,也说的是上一步的输出,
3)state 对应的是中间的隐含状态大小?中间隐含状态大小不是 h_size 吗?

正在回答

1回答

正十七 2019-07-31 23:41:43

Lstm中隐含状态和lstm的输出是两个概念,对应到代码中是state和h

画问好的h_size代表的是上一步的state做全连接计算得到新的值,新的值的size也是num_lstm_nodes[0]。你可以看代码中下面的那些门的计算就知道它的作用了。h和oh,ih,fh做矩阵乘法,其中oh,ih,fh三个参数的size是h_size.

for i in range(num_timesteps):            
            # [batch_size, 1, embed_size]
            embed_input = embed_inputs[:, i, :]
            embed_input = tf.reshape(embed_input,
                                     [batch_size, hps.num_embedding_size])
            forget_gate = tf.sigmoid(
                tf.matmul(embed_input, fx) + tf.matmul(h, fh) + fb)
            input_gate = tf.sigmoid(
                tf.matmul(embed_input, ix) + tf.matmul(h, ih) + ib)
            output_gate = tf.sigmoid(
                tf.matmul(embed_input, ox) + tf.matmul(h, oh) + ob)
            mid_state = tf.tanh(
                tf.matmul(embed_input, cx) + tf.matmul(h, ch) + cb)
            state = mid_state * input_gate + state * forget_gate
            h = output_gate * tf.tanh(state)
        last = h


1 回复 有任何疑惑可以回复我~
  • 提问者 慕数据4013138 #1
    明白了,谢谢老师
    回复 有任何疑惑可以回复我~ 2019-07-31 23:42:52
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信