自然语言处理中的预训练模型

视频地址(https://www.bilibili.com/video/av883626347
参考https://blog.csdn.net/qq_37388085/article/details/108463269

1、自然语言表示学习

1.1 什么是自然语言处理(NLP)

自然语言≈人类语言,不同于人工语言(如程序语言);

1.2 NLP的基础:语言表示

如何在计算机中表示语言的语义?

知识库规则

分布式表示

句子嵌入

1.3 自然语言处理任务

序列到类别-情感分类/文本蕴含

同步的序列到序列-中文分词

异步的序列到序列-机器翻译

1.4 NLP的语义组合

语言的性质:层次性/递归性/序列性

语义组合:句子的语义可以词组成/长程依赖

1.5 NLP模型演变

1.6 NLP中的三大模型

卷积模型:通过卷积核进行信息读取整理;

序列模型:同一层模型之间存在信息传递;

全连接图模型:h1的上下文表示依赖输入的所有词,这就是全连接,全连接用虚线表示其权重是动态计算的

这样远距离依赖会丢失 前两个问题难以处理长距离依赖问题。可以通过加深层数来解决,但是这样参数也会更难学。

1.7 注意力机制:自注意力模型、多头自注意力模型

给定序列"The weather is nice today",假设现在需要知道"The"的上下文表示,"The"有可能需要依赖序列中的非局部信息,因此我们将其与输入的所有词进行链接;为了得到对应每个词的权重,将"The"与其它所有词计算相似度获得对应的权重,最后进行累加得到"The"的上下文向量表示。

自注意力机制:就是说它的query来自内部 求the 的上下文 :加权组合和累计求和

Q K计算相似度矩阵 X是转置 V用来做加权汇总 使得模型学习能力更强

多头自注意力:模型将自注意力模型进行重复叠加操作,得到多组不同的上下文表示,可以理解为在不同空间中的语组关系,将其拼接起来,最后再使用一个参数矩阵W将其变换为输入时对应的向量维度。得到更强的上学文表示

1.8 Transformer

可能是目前为止最适合NLP的模型;

广义的Transformer指一种基于自注意力的全连接神经网络

核心组件:自注意力(self-attention)

仅仅有自注意力还不够(例如没有考虑位置信息),还包括其它操作:

  • 位置编码
  • 层归一化
  • 直连边
  • 逐位的FNN


直连边 使得位置更好的回传

2、预训练模型

2.1 预训练模型之前

如果要训练一个比较好的NLP模型,需要改变原来的训练方法,即从端到端从零开始学习转变为进行"数据增强"、"迁移学习"、"多任务学习"

  • 数据增强:引入外部知识,比如增加人工的辅助损失函数等;
  • 迁移学习:在大语料上把数据训练好,然后再迁移到目标任务中;
  • 多任务学习:一个任务的数据可能很少,可以把多个任务的数据拼接到一起进行模型训练;

2.2 为什么要预训练

  • 获得通用的语言表示;其实语言表示不需要和任务相关
  • 获得一个好的初始化(Hinton在2006年使用玻尔兹曼机初始化深度神经网络);没有预训练 随机初始化效率低
  • 预训练可以看做一种正则化方法(避免在小数据集上过拟合),由于模型比较复杂,当训练数据较小时很容易导致过拟合;在一个通用模型后继续训练(fine-tune) 不至于导致过拟合

2.3 预训练任务

预训练带来一个问题,怎么获取大量的预训练语料?主要有以下三种方法:

  • 监督学习 —— 机器翻译有大量语料;
  • 无监督学习 —— 使用语言模型进行预训练,不需要标签信息;
  • 自监督学习 —— 掩码语言模型(masked language model, MLM),掩码语言模型不依赖标注数据,是一种伪监督任务,其目的是学习数据中的可泛化知识;

预训练任务汇总:

Seq2seqMLM:假设xi-xj部分扣掉 送入encoder 在送入decoder 输出xi-xj

除了lm有明确任务 其他都是人工的构造任务 任务可能在实际中不存在 是伪任务

但是可以让模型隐含的学到在数据中隐含的知识

2.4 典型模型

预训练模型分类体系

不含上下文(只训word embedding)和含上下文(word embedding 连encoder一起训练)

2.4.1 Bert

监督信号加在cls结点上。Bert有两个训练任务,第一个任务是预测被mask的单词,第二个任务是句子级任务——句对预测。

图片中有两个特殊的地方,在句子输入中添加了[CLS]和[SEP],[SEP]的作用是区分两句话,[CLS]用于捕捉全局信息;

当使用Bert进行分类任务时,直接在Bert上拼接一个分类器就能执行分类任务;

Bert训练方式决定了ta很适合做句子对的预测。它不仅可以处理句子内的预测,还可以跨句捕捉词之间的依赖关系。

Bert不太适合做异步到异步序列的任务 如机器翻译

2.4.2 SpanBert

2.4.3 StructBert

2.4.4 XLNet

Xlnet解决了bert在训练有masked 而应用场景是没有masked的问题 不是从头到尾预测 是打乱预测,相当于是打乱前n-1的词,预测第n个词

2.4.5 T5

所有任务都转成 序列到序列的任务 加前缀来区分任务

2.4.6 GPT-3

3、预训练模型的扩展

3.1 Knowledge-Enriched PTMs

3.2 Multilingual and Language-Specific PTMs

3.3 模型压缩

4、迁移到下游任务

4.1 选择适当的预训练任务,模型架构和语料库

4.2 选择合适的预训练模型的神经网络层

4.3 预训练模型的参数是否微调

Bert主体不变 加了两个自适应模块

不仅判断整体句子的好坏 还判断内部每个实体的好坏

4.4 句子分类变为句子对分类

4.5 集成Bert

不同时间步的bert集成在一起 得到的平均bert更好

4.6 Self-Ensembel and Self-Distillation

5、未来展望

5.1 预训练模型的上界

5.2 预训练模型的架构

5.3 任务定向的预训练和模型压缩

5.4 除了微调之外的知识迁移

特征提取;

知识蒸馏;将数据迁移到更小的模型上

数据增强;bert生成负样例 再训练

将预训练模型作为额外知识;整个bert作为外部知识 只要给它正确的query

5.5 预训练模型的可解释性和可靠性

如何微调?


自然语言处理中的预训练模型-邱锡鹏老师相关推荐

  1. 自然语言处理中的预训练模型 —— 邱锡鹏老师的演讲记录

    目录 1.自然语言表示学习 1.1 什么是自然语言处理(NLP) 1.2 NLP的基础:语言表示 1.3 自然语言处理任务 1.3.1 序列到类别 1.3.2 同步的序列到序列 1.3.3 异步的序列 ...

  2. 重磅!复旦邱锡鹏老师NLP实战code解读开源!

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 今天给大家分享一门很好的NLP入门学习实战仓库,很好,学它!! 一  邱锡鹏老师N ...

  3. 论文阅读笔记:《自然语言处理中的预训练模型》

    Pre-trained Models for Natural Language Processing: A Survey 写在前面: 随着2018年ELMo.BERT等模型的发布,NLP领域进入了&q ...

  4. 复旦大学邱锡鹏教授:NLP预训练模型综述

    ©PaperWeekly 原创 · 作者|王馨月 学校|四川大学本科生 研究方向|自然语言处理 引言 随深度学习的发展,多种神经网络都被应用在 NLP 任务中,比如 CNN.RNN.GNN 和 att ...

  5. ACL 2021 | 复旦大学邱锡鹏组:面向不同NER子任务的统一生成框架

    ©作者 | 刘兴贤 学校 | 北京邮电大学硕士生 研究方向 | 自然语言处理 论文题目: A Unified Generative Framework for Various NER Subtasks ...

  6. 豆瓣评分9.4!跟邱锡鹏教授一起学「神经网络与深度学习」,7月19日开课

    我们经常会在后台收到一些比较简要的技术咨询,描述了是什么任务,发现用BERT粗暴精调效果不好之后,问我们有什么办法可以提升.我们: 在面对第一把梭就失败时,我们通常是这么判断的: 1. 如果效果差的很 ...

  7. 推荐:复旦邱锡鹏教授开源发布的《神经网络与深度学习》

    本文作者:Datawhale 4月7日下午,邱锡鹏教授在知乎上达文称整本书终于写完了,虽然还有很多不足.但先告一段落,不然就得无限期拖延下去.感谢众多热心网友的意见和建议.全书的内容可以从这里(htt ...

  8. 最全中文深度学习入门书:小白易入,课程代码PPT全有 | 复旦邱锡鹏出品

    铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 入门深度学习的最大阻碍是啥,课程资料太少.难度太大? 可能对于大部分中国AIer来说,语言门槛高过了一座大山.网红课虽好,但是英语听不懂啊. ...

  9. ppt 深度学习绘图_最全中文深度学习入门书:小白易入,课程代码PPT全有 | 复旦邱锡鹏出品...

    铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 入门深度学习的最大阻碍是啥,课程资料太少.难度太大? 可能对于大部分中国AIer来说,语言门槛高过了一座大山.网红课虽好,但是英语听不懂啊. ...

  10. 复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 超全预训练语言模型概览,入门学习.搭建知识体系.找文献资料.找资源代码,这里有 N ...

最新文章

  1. php 经纬度 摩卡 转换,WGS84经纬度坐标与WEB摩卡托坐标转换
  2. 原生JS实现$.ajax
  3. NFS Volume Provider(Part II) - 每天5分钟玩转 OpenStack(63)
  4. sql server browser启动不了_机器人、无人机惊艳亮相!内江市2020年“119”消防宣传月活动正式启动...
  5. 计算机无法识别文件夹,电脑提示错误:此卷不包含可识别的文件系统的解决办法...
  6. 【Java学习笔记之一】java关键字及作用
  7. com.taobao.config.client.exception.ConfigClientException: cannot get serverlist, so exit jvm env=DEF
  8. iis php5.4配置_PHP5.4 + IIS + Win2008 R2 配置
  9. java为什么使用封装_Java面向对象编程为什么需要封装
  10. tomcat启动成功 未加载项目_新里程|尚品食品国际贸易合伙人项目成功启动
  11. 余额宝收益冻结是什么意思?
  12. 写给数据小白:怎么让你的分析结论超出预期,不再是废纸一堆
  13. 埃及分数怎么计算java_贪心算法之埃及分数问题(附c++源代码)
  14. STL map 的基本成员函数
  15. 史上最强 Java 学习路线图!
  16. 中美线径对照表_美国线规对照表
  17. 2022前端CSS经典面试题
  18. Project(8)——收货地址——增加 --- 省市区数据处理
  19. 这样的简历HR才会看----个人整理
  20. java 多次正则匹配_Java正则多次匹配和多次组匹配

热门文章

  1. 设计原则:单一职责(SRP)原则
  2. Oracle、plsql安装以及使用教程
  3. linux nginx rtmp 直播,linux下利用nginx搭建rtmp直播服务
  4. js书写原生ajax,javascript原生ajax写法
  5. PHPWAMP强行脱离依赖,在系统缺失必备组件或DLL受损的情况下依然能正常运行
  6. 禁忌搜索算法(Tabu Search)的基本原理与算法流程总结
  7. 单片机蓝牙模块与手机蓝牙通信(7)
  8. 电子地图下载器的地图级别与对应分辨率
  9. 使用advancedInstaller制作安装包无法成功添加图标或者(以及)赋予管理员权限
  10. ICH E2B | ICSR 电子传输网关对接解决方案