评估指标(Metric)(三)

本文介绍了信息论中的困惑度概念,探讨了其在衡量随机变量不确定性及评估语言模型性能方面的作用。通过对困惑度公式及其在NLP领域的应用进行详细解释,帮助读者理解如何利用困惑度评价模型的优劣。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Perplexity,中文翻译为困惑度,是信息论中的一个概念,其可以用来衡量一个随机变量的不确定性,也可以用来衡量模型训练的好坏程度。通常情况下,一个随机变量的Perplexity数值越高,代表其不确定性也越高;一个模型推理时的Perplexity数值越高,代表模型表现越差,反之亦然。

随机变量概率分布的困惑度

对于离散随机变量 XXX​,假设概率分布可以表示为 p(x)p(x)p(x)​​​,那么对应的困惑度为:2H(p)=2−∑x∈Xp(x)log2p(x)2^{H(p)}=2^{-\sum_{x \in X}p(x) log_2p(x)}2H(p)=2xXp(x)log2p(x)其中,H(p)H(p)H(p) 为概率分布 ppp ​​的熵。可以看到,一个随机变量熵越大,其对应的困惑度也就越大,随机变量的不确定性也就越大。

模型分布的困惑度

困惑度也可以用来衡量模型训练的好坏程度,即衡量模型分布和样本分布之间的差异。一般来讲,在模型的训练过程中,模型分布越接近样本分布,模型训练得也就越好。

假设现在有一批数据 x1,x2,x3,...,xnx_1,x_2,x_3,...,x_nx1,x2,x3,...,xn,其对应的经验分布为 pr(x)p_r(x)pr(x)。现在我们根据这些样本成功训练出了一个模型 pθ(x)p_θ(x)pθ(x),那么模型分布 pθ(x)p_θ(x)pθ(x) ​​​​的好坏可以由困惑度进行定义:2H(pr,pθ)=2−∑inpr(xi)log2pθ(xi)2^{H(p_r,p_\theta)}=2^{-\sum^n_i p_r(x_i) log_2p_\theta(x_i)}2H(pr,pθ)=2inpr(xi)log2pθ(xi)其中,H(pr,pθ)​H(p_r,p_θ)​H(pr,pθ) 表示样本的经验分布 p~r\tilde p_rp~r和模型分布 pθ​p_θ​pθ之间的交叉熵。假设每个样本 xixixi 的生成概率是相等的,即 pr(xi)=1np_r(x_i)=\frac 1 npr(xi)=n1,则模型分布的困惑度可简化为:2H(pr,pθ)=2−1n∑inlog2pθ(xi)2^{H(p_r,p_\theta)}=2^{-\frac 1 n\sum^n_i log_2p_\theta(x_i)}2H(pr,pθ)=2n1inlog2pθ(xi)

NLP领域中的困惑度

在NLP领域,语言模型可以用来计算一个句子的概率,假设现在有这样一句话 s=w1,w2,w3,...,wn​​​​​​s=w_1,w_2,w_3,...,w_n​​​​​​s=w1,w2,w3,...,wn​​​​​​, 我们可以这样计算这句话的生成概率:p(x)=p(w1,w2,...,wn)=∏i=1np(wi∣w1,w2,...,wi−1)\begin{aligned} p(x)&=p(w_1,w_2,...,w_n)\\ &=\displaystyle \prod^n_{i=1}p(w_i|w_1,w_2,...,w_{i-1})\end{aligned}p(x)=p(w1,w2,...,wn)=i=1np(wiw1,w2,...,wi1)在语言模型训练完成之后,如何去评判语言模型的好坏?这时,困惑度就可以发挥作用了。一般来讲,用于评判语言模型的测试集均是合理的、高质量的语料,只要语言模型在测试集上的困惑度越高,则代表语言模型训练地越好,反之亦然。

在了解了语句概率的计算后,则对于语句 s=w1,w2,w3,...,wn​​​​​​s=w_1,w_2,w_3,...,w_n​​​​​​s=w1,w2,w3,...,wn​​​​​​​​,其困惑度可以这样来定义:perplexity=p(s)−1n=p(w1,w2,...,wn)−1n=1p(w1,w2,...,wn)n=∏i=1n1p(wi∣w1,w2,...,wi−1)n\begin{aligned} perplexity&=p(s)^{- \frac 1 n} \\ &=p(w_1,w_2,...,w_n)^{- \frac 1 n} \\ &=\sqrt[n]{\frac {1} {p(w_1,w_2,...,w_n)}} \\ &=\sqrt[n]{\displaystyle \prod^n_{i=1}\frac 1 {p(w_i|w_1,w_2,...,w_{i-1})}} \end{aligned}perplexity=p(s)n1=p(w1,w2,...,wn)n1=np(w1,w2,...,wn)1=ni=1np(wiw1,w2,...,wi1)1显然,测试集中句子的概率越大,困惑度也就越小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不负韶华ღ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值