渴望执行的Tensorflow多项式分布

时间:2019-08-12 08:24:54

标签: python tensorflow multinomial eager-execution

我来自这个tutorial,它使用急需执行的多项式分布,基于来自我们RNN的预测张量,为文本生成的下一个字符获得最终预测。

# using a multinomial distribution to predict the character returned by the model
temperature = 0.5
predictions = predictions / temperature
predicted_id = tf.multinomial(predictions, num_samples=1)[-1,0].numpy()

我的问题是:

  1. 温度(这里为0.5)不仅会缩放所有预测,那为什么会影响多项式选择呢?

    [0.2、0.4、0.3、0.1] /温度= [0.4、0.8、0.6、0.2]

    那么多项式不是对概率进行归一化吗?因此,在缩放时,我们只是增加每个字符的概率,限制为1?

  2. [-1,0] .numpy()有什么作用?我完全迷失了这个。

任何提示都值得赞赏。

1 个答案:

答案 0 :(得分:0)

  1. [i,:]表示所有类别的非标准化对数概率

因此,当温度小于1时,首先出现的可能性越小,变得越大;对于大于1的温度,则可能性越大。

math.exp(0.4)/math.exp(0.8) = 0.670
math.exp(0.3)/ math.exp(0.6) = 0.7408
math.exp(0.2)/ math.exp(0.4) = 0.818
math.exp(0.1)/ math.exp(0.2) = 0.9048
  1. [-1, 0].numpy()仅获得多项式张量的

例如:

tf.multinomial(predictions, num_samples=1)
tf.Tensor([[3]], shape=(1, 1), dtype=int64)
to 3