什么是回退机制
今天上课老师讲到NLM,提及back off,特此记录
回退机制(Backoff Mechanism)解释
回退机制是一种在语言模型(例如 N-Gram 模型)中使用的技术,用于在上下文数据不足或完全缺失的情况下,依然能够对单词的概率进行预测。它通过“回退”到更低阶的 N-Gram(上下文更少的模型)来处理数据稀疏问题。
为什么需要回退机制?
在传统的 N-Gram 模型中:
- 数据稀疏问题:
如果某个高阶(如三元模型 Trigram)的特定单词组合没有出现在训练数据中,就无法计算其概率。 - 解决方案:
回退机制允许模型“退一步”,使用低阶(如 Bigram 或 Unigram)的概率来替代缺失的高阶概率。
回退机制的工作原理
当高阶 N-Gram 中没有对应的上下文时:
- Trigram(高阶模型):
- 输入:“I want to eat”
- 如果训练数据中没有出现过这个完整短语,Trigram 模型会回退到 Bigram 模型。
- Bigram:
- 输入:“to eat”
- 如果 Bigram 也没有对应概率,模型会进一步回退到 Unigram。
- Unigram(最低阶模型):
- 输入:“eat”
- 最后,使用单个单词的全局频率作为概率。
数学公式表示:
假设要计算三元模型的概率 P(wn∣wn−2,wn−1)P(w_n | w_{n-2}, w_{n-1})P(wn∣wn−2,wn−1),如果缺失:
- 三元模型的概率: P(wn∣wn−2,wn−1)P(w_n | w_{n-2}, w_{n-1})P(wn∣wn−2,wn−1) 如果不存在,则回退到:
- 二元模型的概率: P(wn∣wn−1)P(w_n | w_{n-1})P(wn∣wn−1) 如果仍不存在,则回退到:
- 一元模型的概率: P(wn)P(w_n)P(wn)
常见的回退算法:
-
Katz Backoff(Katz 回退):
- 为缺失的高阶 N-Gram 概率分配一部分权重,通过低阶 N-Gram 来补充。
- 同时对模型中的概率进行平滑处理。
-
Stupid Backoff(简单回退):
- 不进行平滑,直接使用较低阶 N-Gram 的概率。
- 更简单、更快速,但准确性可能不如 Katz 回退。
优点与局限性
- 优点:
- 有效解决数据稀疏问题。
- 提高语言模型的覆盖率和鲁棒性。
- 局限性:
- 依赖于低阶 N-Gram 的概率,可能会导致结果不够准确。
- 高阶模型的上下文信息丢失。