当前位置: 首页 > article >正文

什么是回退机制

今天上课老师讲到NLM,提及back off,特此记录

回退机制(Backoff Mechanism)解释

回退机制是一种在语言模型(例如 N-Gram 模型)中使用的技术,用于在上下文数据不足或完全缺失的情况下,依然能够对单词的概率进行预测。它通过“回退”到更低阶的 N-Gram(上下文更少的模型)来处理数据稀疏问题。


为什么需要回退机制?

在传统的 N-Gram 模型中:

  1. 数据稀疏问题:
    如果某个高阶(如三元模型 Trigram)的特定单词组合没有出现在训练数据中,就无法计算其概率。
  2. 解决方案:
    回退机制允许模型“退一步”,使用低阶(如 Bigram 或 Unigram)的概率来替代缺失的高阶概率。

回退机制的工作原理

当高阶 N-Gram 中没有对应的上下文时:

  1. Trigram(高阶模型):
    • 输入:“I want to eat”
    • 如果训练数据中没有出现过这个完整短语,Trigram 模型会回退到 Bigram 模型。
  2. Bigram:
    • 输入:“to eat”
    • 如果 Bigram 也没有对应概率,模型会进一步回退到 Unigram。
  3. Unigram(最低阶模型):
    • 输入:“eat”
    • 最后,使用单个单词的全局频率作为概率。

数学公式表示:

假设要计算三元模型的概率 P(wn∣wn−2,wn−1)P(w_n | w_{n-2}, w_{n-1})P(wn​∣wn−2​,wn−1​),如果缺失:

  1. 三元模型的概率: P(wn∣wn−2,wn−1)P(w_n | w_{n-2}, w_{n-1})P(wn​∣wn−2​,wn−1​) 如果不存在,则回退到:
  2. 二元模型的概率: P(wn∣wn−1)P(w_n | w_{n-1})P(wn​∣wn−1​) 如果仍不存在,则回退到:
  3. 一元模型的概率: P(wn)P(w_n)P(wn​)

常见的回退算法:

  1. Katz Backoff(Katz 回退):

    • 为缺失的高阶 N-Gram 概率分配一部分权重,通过低阶 N-Gram 来补充。
    • 同时对模型中的概率进行平滑处理。
  2. Stupid Backoff(简单回退):

    • 不进行平滑,直接使用较低阶 N-Gram 的概率。
    • 更简单、更快速,但准确性可能不如 Katz 回退。

优点与局限性

  • 优点:
    • 有效解决数据稀疏问题。
    • 提高语言模型的覆盖率和鲁棒性。
  • 局限性:
    • 依赖于低阶 N-Gram 的概率,可能会导致结果不够准确。
    • 高阶模型的上下文信息丢失。

http://www.kler.cn/a/410593.html

相关文章:

  • 嵌入式的C/C++:深入理解 static、const 与 volatile 的用法与特点
  • Python/GoLang/Java 多环境管理工具 pyenv/goenv/jenv
  • 三种蓝牙架构实现方案
  • Excel如何批量导入图片
  • android 性能分析工具(03)Android Studio Profiler及常见性能图表解读
  • [极客大挑战 2019]BabySQL--详细解析
  • 视频推拉流EasyDSS互联网直播点播平台技术特点及应用场景剖析
  • ubuntu 安装proxychains
  • 【ArcGISPro】Sentinel-2数据处理
  • Spring AI Fluent API:与AI模型通信的流畅体验
  • 【Y20030007】基于java+servlet+mysql的垃圾分类网站的设计与实现(附源码 配置 文档)
  • [高阶数据结构二] LRU Cache详解
  • C语言数据结构——详细讲解 双链表
  • Axure PR 9 二级滑动选择器 设计交互
  • ubuntu 安装 docker 记录
  • MySQL:基础操作(增删查改)
  • 从源码到平台:基于第三方视频美颜SDK开发实时直播美颜系统
  • SpringBoot(9)-Dubbo+Zookeeper
  • 使用LLaMA-Factory微调时的问题与解决方案记录
  • Altium Designer学习笔记 16-20 PCB封装调用_3D封装_网表导入常见问题
  • 详解Qt之QtMath Qt数学类
  • seacms 远程命令执行 (CNVD-2020-22721)
  • 将django+vue项目发布部署到服务器
  • SpringBoot开发——Maven多模块工程最佳实践及详细示例
  • 图像处理学习笔记-20241118
  • 11.22 深度学习-pytorch自动微分