糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > perplexity 衡量指标_求通俗解释NLP里的perplexity是什么?

perplexity 衡量指标_求通俗解释NLP里的perplexity是什么?

时间:2023-07-22 15:55:27

相关推荐

perplexity 衡量指标_求通俗解释NLP里的perplexity是什么?

前面的回答都很优秀,但我想基于我的理解做个补充。

困惑度 Perplexity 是衡量语言模型好坏的指标,为了更好地理解其意义,首先有必要回顾熵的概念。根据信息论与编码的知识,我们知道 熵代表着根据信息的概率分布对其编码所需要的最短平均编码长度。Entropy

假设离散随机变量

概率分布为

离散随机变量

概率分布为

离散随机变量

概率分布为

则根据离散随机变量熵的计算公式可计算得

也就是说如果需要对离散随机变量

进行编码,编码长度分别为 0 bits、1.5 bits 和 2 bits。而编码长度表示随机变量能够呈现出的等可能性的状态数(就随机变量而言就是取值个数,这种表述并不严谨,只是为了方便下文叙述):随机变量

呈现出的状态数为

种;随机变量

呈现出的状态数为

种;随机变量

呈现出的状态数为

种。

2. Entropy Rate

对于索引可数的随机过程

,其熵率定义为:

对于独立同分布的序列,各随机变量的熵相等,则显然有:

所以熵率依其定义可粗略地类比于随机过程中 per-random_variable entropy。比如,考虑这样一台打字机,假设可输出

个等可能的符号。因此打字机可产生长度为

的共

个序列,并且都等可能出现。那么对于该打印机,

bits/symbol。

3. "Entropy of Language"

在语言模型中,对于语言

中的长度为

的单词序列

,单词序列的熵的计算公式为

那么在单词序列熵的基础上,根据熵率的定义,可粗略的定义 per-word entropy:

而若将语言

视作随机过程,则有:

而对上式又可作如下近似(摘自 Speech and Language Processing 3rd ed. draft):The Shannon-McMillan-Breiman theorem (Algoet and Cover 1988, Cover and Thomas 1991) states that if the language is regular in certain ways (to be exact, if it is both stationary and ergodic)

To summarize, by making some incorrect but convenient simplifying assumptions, we can compute the entropy of some stochastic process by taking a very long sample of the output and computing its average log probability.

4. Cross Entropy

当我们用概率分布

来近似真实的未知分布

时,可利用交叉熵来衡量近似分布

的性能好坏。在语言模型的应用场景下,语言

(仍视作随机过程)的交叉熵表达式如下所示,其中

表示真实的语言模型,

表示根据训练语料学习得到的语言模型:

根据 Shannon-McMillan-Breiman theorem,可近似得:

在实际应用中,单词序列一般都足够长,又可作如下近似表示:

注意交叉熵

是真实分布

的上界,

,也因此在模型训练时经常把交叉熵当作损失函数进行优化,以逼近真实分布。

5. Perplexity

从训练语料中学习得到语言模型分布后,可以计算 perplexity 衡量其好坏。假设测试语料为

,测试语料中的每一语句为单词序列

,则:log-likelihood

per-word log-likelihood

per-word cross entropy

perplexity

其中

即为语言模型。

6. Summary

就可认为是根据训练语料学习得到的语言模型

的交叉熵,而这一般也是在训练语言模型时的损失函数。而对于 perplexity 即

,从编码长度的角度来理解,就可认为是在语言模型

下,等可能性的输出结果的个数。所以在给定输入的前面若干词汇即给定历史信息后,当然语言模型等可能性输出的结果个数越少越好,越少表示模型就越知道对给定的历史信息

,应该给出什么样的输出

,即 perplexity 越小,表示语言模型越好。

在学习语言模型时最常见的一个例子是随机语言模型,即每次等可能性地输出词汇表

中的任意词汇。显然这与前面打印机的例子相同,因此随机语言模型的 perplexity 为

P.S. 关于 perplexity,更常见的表述如下,所有表述方式实质上是等价的:假设测试语料共包括

个句子,第

个句子有

个字,则有

对测试语料中的每一个句子

,若

越大,则说明语言模型在测试语料上的表现越好。即相当于下式

而 perplexity 定义为

如果觉得《perplexity 衡量指标_求通俗解释NLP里的perplexity是什么?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。