【问题标题】:how to use output_projection (weights, biases) in seq2seq?如何在 seq2seq 中使用 output_projection(权重、偏差)?
【发布时间】:2017-08-16 14:27:33
【问题描述】:

我正在尝试确定如何使用embedding_rnn_decoder 中的 output_projection 参数。 seq2seq 教程代码显示了 output_projection here 的生成——我可以假设变量的名称不会改变吗?

w_t = tf.get_variable("proj_w", [self.target_vocab_size, size], dtype=dtype)
w = tf.transpose(w_t)
b = tf.get_variable("proj_b", [self.target_vocab_size], dtype=dtype)
output_projection = (w, b)

我不清楚语法,他们目前是在“创建”权重和偏差的变量,还是这些变量实际上是他们得到的?如果他们正在创建它们,那么我的理解是这些变量现在将存储 RNN 最后一层的权重/偏差,并可用于生成 logits

logits = tf.matmul(outputs, w) + b

这种理解正确吗?

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    我不清楚语法,他们目前是在“创建”权重和偏差的变量,还是这些变量实际上是他们得到的?

    当图表第一次初始化时,这些变量被创建并且对于连续的批处理这些参数被学习和重用。

    use of output_projecttion

    这不完全是 logits(它是预计的输出);输出投影变量用于投影前一个单元格的输出,投影输出与当前单元格输入相结合。

    projected_output = tf.matmul(outputs, w) + b
    

    【讨论】:

      猜你喜欢
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      • 2019-09-26
      • 2018-03-05
      • 1970-01-01
      • 2018-10-20
      • 2019-02-06
      • 1970-01-01
      相关资源
      最近更新 更多