【问题标题】:argmax from probability distribution better policy than random sampling from softmax?来自概率分布的 argmax 比来自 softmax 的随机抽样更好的策略?
【发布时间】:2019-09-21 14:43:08
【问题描述】:

我正在尝试训练 Echo 状态网络以按照强化学习的方式进行随机优化以生成文本,其中优化取决于奖励信号。

我观察到,在评估过程中,当我从概率分布中采样时,bleu 分数大于我从分布中 argmax 时的分数。差值几乎超过 0.10 分(BLEU 分数一般在 0 和 1 之间)。 我不确定为什么会这样。 需要帮助。

【问题讨论】:

    标签: machine-learning neural-network deep-learning nlp reinforcement-learning


    【解决方案1】:

    您不要使用 argmax 函数,因为它是一种确定性方法。主要问题是它很容易让你陷入循环。这意味着如果文本生成出现错误,您可能会继续走这条路,而没有任何脱身的可能。随机性允许“跳出”循环。

    Page Rank 算法就是一个很好的例子来说明这种跳出的需要。它使用一个随机游走参数,让想象中的冲浪者走出死胡同。

    TensorFlow 团队在他们的 tutos 中谈到了这一点(没有任何理由) :

    注意:从该分布中采样很重要,因为获取分布的 argmax 很容易使模型陷入循环。

    【讨论】:

    • argmax 函数如何成为确定性方法?您能否详细说明这一点?
    • np.argmax([0.3, 0.2, 0.5]) # 确定性,因为它每次都返回2np.random.choice([0, 1, 2], [0.3, 0.2, 0.5]) # ~ 一半的时间返回 2 但它可以返回 01;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    相关资源
    最近更新 更多