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

问题描述

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

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

对此表示感谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)