用熵还是困惑训练语言模型?

时间:2020-10-14 14:07:03

标签: tensorflow nlp recurrent-neural-network language-model perplexity

在训练语言模型中,我经常看到困惑被用作评估指标,但是,我感到困惑的是,是否仅将其用于只是确定语言模型的执行情况或是否可以使用它实际训练模型。到目前为止,我一直在使用分类交叉熵,但是哪个是正确的损失函数?并根据使用字级模型还是字符级模型而改变? TensorFlow 2中如何定义困惑度损失?

此外,我看到的困惑定义如下,

def perplexity_loss(y_true, y_pred):
    cross_entropy = keras.losses.SparseCategoricalCrossentropy(y_true, y_pred)
    perplexity = tf.keras.backend.exp(cross_entropy)
    return perplexity

但是,据我所知,困惑是为一个句子而不是整个文本集定义的?我错了吗?您可以如上所示定义它吗?是否需要添加和令牌?

对此表示感谢。

0 个答案:

没有答案