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的情况
相关推荐
数据皮皮侠2 小时前
区县政府税务数据分析能力建设DID(2007-2025)
大数据·数据库·人工智能·信息可视化·微信开放平台
极小狐3 小时前
比 Cursor 更丝滑的 AI DevOps 编程智能体 - CodeRider-Kilo 正式发布!
运维·人工智能·devops
半臻(火白)4 小时前
Prompt-R1:重新定义AI交互的「精准沟通」范式
人工智能
菠菠萝宝4 小时前
【AI应用探索】-10- Cursor实战:小程序&APP - 下
人工智能·小程序·kotlin·notepad++·ai编程·cursor
连线Insight4 小时前
架构调整后,蚂蚁继续死磕医疗健康“硬骨头”
人工智能
小和尚同志4 小时前
十月份 AI Coding 实践!Qoder、CC、Codex 还是 iflow?
人工智能·aigc
keke.shengfengpolang5 小时前
中专旅游管理专业职业发展指南:从入门到精通的成长路径
人工智能·旅游
Danceful_YJ5 小时前
35.微调BERT
人工智能·深度学习·bert
ZPC82105 小时前
FPGA 部署ONNX
人工智能·python·算法·机器人
愿没error的x5 小时前
深度学习基础知识总结(一):深入理解卷积(Convolution)
人工智能·深度学习