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

深度学习:bert模型

multi-headed机制

1、通过不同的head得到多个特征表达,一般8个head
2、将所有特征拼接在一起
3、降维,将Z0~Z7连接一个FC全连接实现降维

多层堆叠

位置编码

如何实现位置编码?

(1)为每个时间步添加一个0-1范围内的数字,其中0表示第一个单词,1表示最后一个单词。

我喜欢吃洋葱 【0 0.16 0.32.....1】

我真的不喜欢吃洋葱【0 0.125 0.25.....1】

问题:我们可以看到,如果句子长度不同,那么位置编码是不一样,所以无法表示句子之间有什么相似性。

(2)1-n正整数范围分配

我喜欢吃洋葱 【1,2,3,4,5,6】     

我真的不喜欢吃洋葱【1,2,3,4,5,6,7】   

 问题:往往句子越长,后面的值越大,数字越大说明这个位置占的权重也越大,这样的方式无法凸显每个位置的真实的权重。

三角函数位置编码

word embedding:是词向量,由每个词根据查表得到

pos embedding:就是位置编码。

composition:word embedding和pos embedding逐点相加得到,既包含语义信息又包含位置编码信息的最终矩阵

pos:指当前字符在句子中的位置(如:”你好啊”,这句话里面“你”的pos=0),

dmodel:指的是word embedding的长度(例“民主”的word embedding为[1,2,3,4,5],则dmodel=5),

2i表示偶数,2i+1表示奇数。取值范围:i=0,1,...,dmodel−1。

偶数使用公式(1),奇数时使用公式(2)。

当pos=3,dmodel=128时Positional Encoding(或者说是pos embedding)的计算结果为:

优点:

1、可以使PE分布在[0,1][0,1]区间。

2、不同语句相同位置的字符PE值一样(如:当pos=0时,PE=0)。

训练数据

训练数据集是什么?

(方法1)随机的将句子中的15%的词汇进行mask。让模型去预测mask的词汇。 注:一般选择字进行mask,词的可能性太多,例如今天,明天,后天,上午,下午,没有,再次等等。

方法2)预测两个句子是否应该连在一起。

CLS:分类标记(Classification Token)用于表示输入序列的开始。在输入序列中,CLS应放置在句子的开头。在训练过程中,CLS也当作一个词参与训练,得到对应与其他词汇关系的词向量。 SEP:分隔符标记(Separator Token)用于分隔两个句子或表示单个句子的结束。在处理多个句子时SEP应放置在每个句子的结尾。在训练过程中,SEP也当作一个词参与训练,得到对应与其他词汇关系的词向量。


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

相关文章:

  • 前缀和技巧解析
  • 【CVPR2024】2024年CVPR的3D 目标检测的综述(还在补充中)
  • 【LeetCode】【算法】581. 最短无序连续子数组
  • 传奇996_21——龙岭事件
  • Qt_day4_Qt_UI设计
  • 《ElementPlus 与 ElementUI 差异集合》Icon 图标 More 差异说明
  • Nuxt.js 应用中的 prepare:types 事件钩子详解
  • MySQL 四类管理日志
  • 力扣(leetcode)每日一题 3255 长度为 K 的子数组的能量值 II|滑动窗口
  • 【系统架构设计师】2022年真题论文: 论软件维护方法及其应用(包括解题思路和素材)
  • 决策树(部分)
  • Ubuntu 22 安装 Apache Doris 3.0.3 笔记
  • (十五)JavaWeb后端开发——异常处理/AOP面向切面编程
  • 六、SpringMVC的视图
  • C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
  • React 入门课程 - 使用CDN编程React
  • LeetCode 234.回文链表
  • 高级java每日一道面试题-2024年10月29日-JVM篇-简述分代垃圾回收器是怎么工作的?
  • pytest简单使用
  • vue-svg-icon的安装和使用
  • Ubuntu 2004上迁移MySQL8.0的数据
  • 15分钟学 Go 第 44 天: 项目部署基础
  • 【Java学习笔记】13. I/O系统
  • 信号与噪声分析——第二节:随机变量的统计特征
  • Pr:视频效果使用详解(全集 · 2025版)
  • flutter鸿蒙next 使用 InheritedWidget 实现跨 Widget 传递状态