当前位置:   article > 正文

交叉熵损失&&PPL困惑度计算_交叉熵和困惑度

交叉熵和困惑度

交叉熵损失&&PPL困惑度计算

交叉熵损失

熵(Entropy)是信息论中的一个核心概念,它量化了一个随机变量的不确定性或信息内容。交叉熵(Cross Entropy)进一步发展了这个概念,用于衡量两个概率分布之间的差异。
L = − 1 N ∑ i = 1 N y i , c log ⁡ P ( y ^ i , c ) L = -\frac{1}{N} \sum_{i=1}^{N} y_{i,c} \log P(\hat{y}_{i,c}) L=N1i=1Nyi,clogP(y^i,c)
在LLM中交叉熵损失实际上也是衡量两个概率分布的之间的差异:

  • X:预测的下一个token在词表中的概率分布
  • Y:真实的下一个token的One-Hot编码

二分类/多分类

二分类:
L o s s = − 1 N ∑ i = 1 N [ y i log ⁡ ( y ^ i ) + ( 1 − y i ) log ⁡ ( 1 − y ^ i ) ] Loss = - \frac{1}{N} \sum_{i=1}^{N} [y_i \log(\hat{y}_i) + (1 - y_i) \log(1 - \hat{y}_i)] Loss=N1i=1N[yilog(y^i)+(1yi)log(1y^i)]

其中, N N N是样本数量, y i y_i yi是第i个样本的真实标签, y ^ i \hat{y}_i y^i模型预测的第 i i i个样本为正类的概率。这个公式计算的是预测概率分布和真实标签分布之间的差异,来惩罚模型输出的预测概率偏离真实标签的程度。

多分类:
L = − 1 N ∑ i = 1 N y i , c log ⁡ P ( y ^ i , c ) L=-\frac1N\sum_{i=1}^Ny_{i,c}\log P(\hat y_{i,c}) L=N1i=1Nyi,clogP(y^i,c)
本质上都是计算模型预测的概率分布与实际标签的概率分布的区别。

交叉熵计算举例

image-20240401022117432

从这个例子中,我们可以看到:

  • 当模型预测接近真实标签时(预测1),交叉熵损失较低。这意味着预测分布与真实分布之间的差异较小。
  • 当模型预测远离真实标签时(预测2),交叉熵损失较高。这表示预测分布与真实分布之间的差异较大。

通过最小化交叉熵损失,模型的训练过程实际上是在减少模型预测分布与真实分布之间的差异,使模型的预测更加准确。

困惑度PPL(Perplexity)

P P L = exp ⁡ ( − 1 N ∑ i = 1 N log ⁡ P ( y i ) ) PPL=\exp \left(-\frac1N\sum_{i=1}^N\log P(y_i)\right) PPL=exp(N1i=1NlogP(yi))
公式上,困惑度可以用 e 的交叉熵损失次幂来表示

困惑度可以被理解为模型预测下一个词时的平均分支因子。如果模型的困惑度为 10,那么可以理解为平均来说,模型每次预测下一个词时相当于在 10 个等可能的词中进行选择。

困惑度越低,说明模型对语言的预测越准确,不确定性越小。一个理想的语言模型会给真实出现的单词序列分配更高的概率,从而具有更低的困惑度。在比较不同的模型时,困惑度提供了一个标准化的方法来衡量它们的性能。

minimize L == minimize PPL

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/616520
推荐阅读
相关标签
  

闽ICP备14008679号