熵是衡量随机变量不确定性的指标,值越大表示不确定性越高;困惑度是基于熵的概念,用于衡量模型对数据的预测不确定性,值越大表示模型的预测越不准确。

熵 Entropy

熵在信息论中是一个用于衡量不确定性或信息量的一个指标, 对于一个离散随机变量 $X$, 其概率分布为 $P(X)$, 熵 $H(X)$ 定义为:

\[H(X) = - \sum_{x \in {X}} {P(x)} {log_e{P(x)}}\]

其中 $log_e{P(x)}$ 是对数概率, 取值在 $(- \infty, 0]$

例如一个简单的抛硬币实验, 硬币正反面朝上的概率分别为 0.5, 那么熵为:

\[H(X) = -[0.5log_e{0.5} + 0.5log_e{0.5}] = 1 bit\]

这表示抛硬币的结果有 1 bit 的不确定性, 熵越大, 表示随机变量的不确定性越高

  • 性质

    • 熵是非负的, $H(X) \ge 0$

    • 当随机变量完全确定时熵为0

    • 对于均匀分布的随机变量, 熵达到最大值, 对于一个有 $n$ 个可能取值的随机变量, 其熵为 $log_e{n}$

困惑度 Perplexity

困惑度是基于熵的一个概念, 用于衡量模型对数据的预测不确定性。对于一个语言模型,困惑度通常定义为:

\[Perplexity = 2^{H(X)}\]

其中, $H(X)$ 是 token 概率分布的熵, 困惑都可以理解为模型在预测下一个 token 时的平均选择数, 例如, 如果困惑度为 2, 表示模型平均有 2 种选择来预测下一个词. 从数学上看, 困惑度是熵的指数形式. 它将熵的对数尺度转换为线性尺度, 使困惑度更易于理解.

  • 性质

    • 困惑度越大, 表示模型的预测不确定性越高.

    • 困惑度的取值范围是 $[1, \infty)$, 当困惑度为 1 时, 表示模型完全确定, 没有不确定性.