趋近智
学习了语言模型如何为词语序列分配概率后,一个很自然的问题出现了:我们如何评价一个语言模型的好坏?如果我们有两个不同的模型,比如一个二元模型和一个三元模型,怎样才能定量地确定哪个模型在预测文本方面表现更好呢?这就是一个名为困惑度的指标发挥作用的地方。
本质上,困惑度衡量一个概率模型预测样本的准确程度。对于语言模型来说,它衡量模型在预测序列中下一个词时的不确定性。你可以将其看作是“意外程度”的一种度量。一个表现良好的语言模型,在面对测试集中的典型句子时,会显得不那么“意外”。这种低意外程度意味着它会为该句子分配更高的概率。
困惑度分数越低,表明该语言模型在预测文本方面表现越好。困惑度分数越高,则表明模型对文本感到越“困惑”,因此不适合该文本。
理解困惑度分数最直接的方式,就是将其看作模型预测下一个词时所拥有的有效选择数量。
例如,如果一个语言模型在给定测试集上的困惑度为20,这意味着平均而言,模型在预测下一个词时的不确定性,就如同它必须从20个不同的词中均匀选择一样。一个更好的模型会有更低的困惑度,比如10,这意味着它的不确定性等同于只需在10个词之间进行选择。
一个总是知道下一个词的完美模型,其困惑度将为1(它只有一个选择)。当然,这在自然语言的实际应用中是不可能的。
以下图表展现了这一道理。低困惑度模型具有较小的有效分支因子,这意味着它比高困惑度模型能更有效地缩小可能的选项范围。
左边的低困惑度模型对下一个词的预测更确定,而右边的高困惑度模型则拥有更多大致等概率的选择。
困惑度直接来源于语言模型赋予测试集的概率。如果一个测试集 W 由词序列 w1,w2,…,wN 组成,那么困惑度是序列中词语概率几何平均值的倒数。
公式如下:
困惑度(W)=P(w1,w2,…,wN)−N1我们来详细分析一下:
在实际应用中,由于将许多小概率相乘可能导致数值下溢(计算机将数字四舍五入为零),因此计算通常使用对数概率进行。使用对数运算的公式是等效的,但对计算机处理来说更稳定。
假设您有两个语言模型,想为设计用于转录金融新闻的ASR系统进行比较。
现在,您在一个未曾见过的金融新闻标题测试集上评估这两个模型。我们以句子“The Federal Reserve raised interest rates.”为例。
通过比较困惑度分数,您可以清楚地得出结论:模型A是您ASR应用程序的更好选择。这个指标提供了一种正式的方式来印证我们的直觉,使其成为开发和选择语言模型时不可或缺的工具。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造