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

69 BERT预训练_by《李沐:动手学深度学习v2》pytorch版

系列文章目录


文章目录

  • 系列文章目录
  • NLP里的迁移学习
  • Bert的动机
  • Bert架构
  • 对输入的修改
  • 五、预训练任务
    • 1、
    • 2、
    • 3、
  • 六、
    • 1、
    • 2、
    • 3、
  • 七、
    • 1、
    • 2、
    • 3、
  • 八、
    • 1、
    • 2、
    • 3、


NLP里的迁移学习

  1. 之前是使用预训练好的模型来抽取词、句子的特征,例如 word2vec 或语言模型这种非深度学习的模型
  2. 一般抽完特征后,在做迁移学习时不更新预训练好的模型
  3. 迁移学习前做好的工作所抽取的特征是个比较底层的特征,一般当作embedding用,做自己的工作时需要构建新的网络来抓取新任务需要的信息。之前的工作,比如Word2vec忽略了时序信息,语言模型只看了一个方向,RNN不好处理特别长的序列,所以他也就看了很短的一段东西而已。

Bert的动机

在这里插入图片描述

想研发相似于CV方面的,基于微调的NLP模型,除了输出层,其他层的参数我是可以复用的,我可以挪到其他任务中去。
预训练的模型抽取了足够多的信息
新的任务只需要增加一个简单的输出层

Bert架构

Bert从结构上来讲就是一个只保留了编码器的Transformer,创新很简单,后面在输入和 L o s s Loss Loss上还有创新。
两个版本

  1. Base:#blocks=12,hidden size=768,#heads = 12
    #parameters=110M 参数相比较Transformer大很多,模型深很多。
  2. Large:#blocks=24, hidden size= 1024,#heads = 16
    #parameter=340M

在大规模数据上训练>3B 词

对输入的修改

之前Transformer是比如说把一个句子和他的翻译当作数据和标签进行训练,在encoder中放入数据,decoder中放入标签。现在bert只有encoder,怎么办?
在这里插入图片描述

这个<CLS>用来表示句子开头,<sep>表示这个句子结束,后面是下一个句子,所以可以输入多个句子。但只是这样对Transformer不太好区分哪几个词是一个句子,所以加了Segment Embeddings,通过不同标志来标记句子。最上面是一个可以学的Position Embedddings。

五、预训练任务

1、

2、

3、

六、

1、

2、

3、

七、

1、

2、

3、

八、

1、

2、

3、

http://www.lryc.cn/news/453265.html

相关文章:

  • Java报错输出的信息究竟是什么?
  • 解表之紫苏
  • JavaScript数据类型
  • 市场中的新兴力量与未来发展
  • Golang | Leetcode Golang题解之第446题等差数列划分II-子序列
  • Java 常用序列化对比
  • 【redis学习篇1】redis基本常用命令
  • 量子计算:颠覆未来计算的革命性技术
  • ctfshow-web入门(信息收集,持续更新中。。)
  • 蓝桥杯【物联网】零基础到国奖之路:十五. 扩展模块之双路ADC
  • 李飞飞谈AI+3D发展:3D/4D AI将成为下一个重要前沿
  • centos72009源码编译R语言
  • 初识算法 · 双指针(4)
  • java版鸿鹄电子招投标系统功能架构设计 核心功能设计 鸿鹄电子招投标采购系统源码
  • matlab 判断多组数据的分布是否一致,可以使用什么方法?
  • jenkins配置eureka、nacos发布优雅上下线服务
  • 【JAVA开源】基于Vue和SpringBoot的周边产品销售网站
  • 【C++差分数组】2381. 字母移位 II|1793
  • 【pytorch】范数的计算
  • MATLAB|基于多主体主从博弈的区域综合能源系统低碳经济优化调度
  • Django 后端数据传给前端
  • elasticsearch 写入新数据测试(二)
  • android navigation 用法详细使用
  • uni-app在线预览pdf
  • SpringBoot--为什么Controller是串行的?怎样才能并行?
  • C/C++ 中的未定义行为(Undefined Behavior, UB)
  • AJAX 1——axios体验、认识URL、常用请求方法、HTTP协议、错误处理、form-serialize插件
  • Java-运算符
  • ubutun nginx 安装和解决端口占用问题
  • 螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习01(环境准备)