Transformer的前世今生 day01(预训练、统计语言模型)

预训练

  • 在相似任务中,由于神经网络模型的浅层是通用的,如下图:
  • 所以当我们的数据集不够大,不能产生性能良好的模型时,可以尝试让模型B在用模型A的浅层基础上,深层的部分自己生成参数,减小数据集的压力
  • 使用模型A的浅层来实现任务B,由两种方式:
    • 冻结(frozen):浅层参数不变
    • 微调(Fine-Tuning):浅层参数会跟着任务B的训练而改变
  • 总结:一个任务A,一个任务B,两者极其相似,任务A已经通过大数据集训练出一个模型A,使用模型A的浅层参数去训练任务B,得到模型B。
    • 使用的特性为:CNN浅层参数通用
    • 任务B也可以是大数据,我们仍可以使用模型A的浅层参数,这样在训练模型B的时候,能节省训练时间,节省成本

统计语言模型

  • 语言模型:通常是通过模型来完成两个任务
    • 判断这两句话,哪一个的概率大:P("判断这个词的词性"),P("判断这个词的磁性")
    • 选择在这句话的后面填什么词比较好:"判断这个词的__"
  • 统计语言模型:用统计的方法解决以上两个问题
    • 统计的方法:条件概率的链式法则
    • 解决第一个问题:
      • 首先对一句话进行分词操作,如:"判断","这个","词","的","词性"
      • 那求这句话出现的概率就变成了,求这些词按顺序出现的概率,即W1出现的概率 * (W1出现时,W2出现的概率) *...
      • 公式如下:
  • 解决第二个问题:
    • 首先,还是对这句话进行分词操作
    • 那求划线处填什么,就变成了求词库中的所有词,哪一个放在这个句子中的概率最大,即求P(W_next | "判断","这个","词","的")的最大值,即 (Wnext,判断,这个,词,的)出现的个数除以(判断,这个,词,的)出现的个数,公式如下:
  • 词库:就像一个新华字典,把所有词都装进了词库(集合V)中,例如:
  • n元统计语言模型
    • 统计语言模型的缺陷:如果n特别大,即(W1,W2,W3...Wn)有很多,那么我们算条件概率的计算量很大
    • n元统计语言模型:如果可以把n个词在不影响结果的情况下,改为取更少量的词,这样可以减小计算量,如下:
  • 实际计算步骤:
    • 假设词库如下:
”词性是动词” 复制代码
"判断单词的词性"
"磁性很强的磁铁"
"北京的词性是名词"
  • 那P(词性 | 的)的结果如下:
  • 平滑策略
    • 如果在词库V中求,不存在的词出现的概率,即选词填空问题中,无法从词典中选择一个词填入,那容易出现 0 0 \frac{0}{0} 00的情况,如P(策略 | 平滑)
    • 于是为了避免这种情况,会在分子和分母中都加入一个非0正数,如下:
  • 总结:
    • 语言模型统计两个问题:计算一句话的概率,计算下一个词可能是什么
    • 统计语言模型:统计的方法去解决语言模型的问题(条件概率)
    • n元统计语言模型:只取n个词
    • 平滑策略:避免出现 0 0 \frac{0}{0} 00的情况
相关推荐
SuniaWang5 小时前
《Spring AI + 大模型全栈实战》学习手册系列 · 专题六:《Vue3 前端开发实战:打造企业级 RAG 问答界面》
java·前端·人工智能·spring boot·后端·spring·架构
IDZSY04306 小时前
AI社交平台进阶指南:如何用AI社交提升工作学习效率
人工智能·学习
七七powerful7 小时前
运维养龙虾--AI 驱动的架构图革命:draw.io MCP 让运维画图效率提升 10 倍,使用codebuddy实战
运维·人工智能·draw.io
水星梦月7 小时前
大白话讲解AI/LLM核心概念
人工智能
温九味闻醉7 小时前
关于腾讯广告算法大赛2025项目分析1 - dataset.py
人工智能·算法·机器学习
White-Legend7 小时前
第三波GPT5.4 日400刀
人工智能·ai编程
. . . . .7 小时前
Claude Code Hooks的原理、触发执行机制以及如何编写 Hooks
人工智能
w_t_y_y7 小时前
codex(一)下载安装&使用
人工智能
老鱼说AI7 小时前
大规模并发处理器程序设计(PMPP)讲解(CUDA架构):第四期:计算架构与调度
c语言·深度学习·算法·架构·cuda