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

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的情况

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

相关文章:

  • 【51单片机零基础-chapter6:LCD1602调试工具】
  • AcWing练习题:差
  • 路径规划 | 基于极光PLO优化算法的三维路径规划Matlab程序
  • 算法——回溯模式
  • idea 的 springboot项目spring-boot-devtools 自动编译 配置热部署
  • DDD(一)—— Authentication with JWT
  • Spring Boot(六十八):SpringBoot 整合Apache tika 实现文档内容解析
  • H266开源视频编码器VVENC现状
  • 【01】htmlcssgit网络基础知识
  • 常用大数据组件的Web端口号总结
  • 高性能服务系列【九】内外网之分
  • 因聚而生 数智有为丨软通动力携子公司鸿湖万联亮相华为中国合作伙伴大会2024
  • 使用ChatGPT高效完成简历制作[中篇3]-有爱AI实战教程(十)
  • 面经(六)武汉超星
  • C++ 字符串转数字的几种方法
  • C++项目中的每个目录、文件,以及build生成的一些文件都是干嘛用的例如 .sln 项目名exe,项目名.pdb,项目名.vcxproj都是干啥的
  • pdf文件属性的删除
  • 【每日力扣】 修剪二叉搜索树与复原 IP 地址
  • linux用git拉取我云端以及git处理冲突
  • 【Redis】基于Redis实现查询缓存
  • IDEA集成Github
  • 蓝桥杯算法基础(13):十大排序算法(希尔排序) (快速排序)c语言版
  • Vue组件通信
  • Python高级语法
  • Spring--拦截器与过滤器
  • 机器人学习书籍