自然语言处理中的预训练模型-邱锡鹏老师
自然语言处理中的预训练模型
视频地址(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 什么是自然语言处理(NLP) 1.2 NLP的基础:语言表示 1.3 自然语言处理任务 1.3.1 序列到类别 1.3.2 同步的序列到序列 1.3.3 异步的序列 ...
- 重磅!复旦邱锡鹏老师NLP实战code解读开源!
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 今天给大家分享一门很好的NLP入门学习实战仓库,很好,学它!! 一 邱锡鹏老师N ...
- 论文阅读笔记:《自然语言处理中的预训练模型》
Pre-trained Models for Natural Language Processing: A Survey 写在前面: 随着2018年ELMo.BERT等模型的发布,NLP领域进入了&q ...
- 复旦大学邱锡鹏教授:NLP预训练模型综述
©PaperWeekly 原创 · 作者|王馨月 学校|四川大学本科生 研究方向|自然语言处理 引言 随深度学习的发展,多种神经网络都被应用在 NLP 任务中,比如 CNN.RNN.GNN 和 att ...
- ACL 2021 | 复旦大学邱锡鹏组:面向不同NER子任务的统一生成框架
©作者 | 刘兴贤 学校 | 北京邮电大学硕士生 研究方向 | 自然语言处理 论文题目: A Unified Generative Framework for Various NER Subtasks ...
- 豆瓣评分9.4!跟邱锡鹏教授一起学「神经网络与深度学习」,7月19日开课
我们经常会在后台收到一些比较简要的技术咨询,描述了是什么任务,发现用BERT粗暴精调效果不好之后,问我们有什么办法可以提升.我们: 在面对第一把梭就失败时,我们通常是这么判断的: 1. 如果效果差的很 ...
- 推荐:复旦邱锡鹏教授开源发布的《神经网络与深度学习》
本文作者:Datawhale 4月7日下午,邱锡鹏教授在知乎上达文称整本书终于写完了,虽然还有很多不足.但先告一段落,不然就得无限期拖延下去.感谢众多热心网友的意见和建议.全书的内容可以从这里(htt ...
- 最全中文深度学习入门书:小白易入,课程代码PPT全有 | 复旦邱锡鹏出品
铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 入门深度学习的最大阻碍是啥,课程资料太少.难度太大? 可能对于大部分中国AIer来说,语言门槛高过了一座大山.网红课虽好,但是英语听不懂啊. ...
- ppt 深度学习绘图_最全中文深度学习入门书:小白易入,课程代码PPT全有 | 复旦邱锡鹏出品...
铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 入门深度学习的最大阻碍是啥,课程资料太少.难度太大? 可能对于大部分中国AIer来说,语言门槛高过了一座大山.网红课虽好,但是英语听不懂啊. ...
- 复旦邱锡鹏超全NLP预训练模型综述论文:两张图带你梳理完整脉络
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 超全预训练语言模型概览,入门学习.搭建知识体系.找文献资料.找资源代码,这里有 N ...
最新文章
- php 经纬度 摩卡 转换,WGS84经纬度坐标与WEB摩卡托坐标转换
- 原生JS实现$.ajax
- NFS Volume Provider(Part II) - 每天5分钟玩转 OpenStack(63)
- sql server browser启动不了_机器人、无人机惊艳亮相!内江市2020年“119”消防宣传月活动正式启动...
- 计算机无法识别文件夹,电脑提示错误:此卷不包含可识别的文件系统的解决办法...
- 【Java学习笔记之一】java关键字及作用
- com.taobao.config.client.exception.ConfigClientException: cannot get serverlist, so exit jvm env=DEF
- iis php5.4配置_PHP5.4 + IIS + Win2008 R2 配置
- java为什么使用封装_Java面向对象编程为什么需要封装
- tomcat启动成功 未加载项目_新里程|尚品食品国际贸易合伙人项目成功启动
- 余额宝收益冻结是什么意思?
- 写给数据小白:怎么让你的分析结论超出预期,不再是废纸一堆
- 埃及分数怎么计算java_贪心算法之埃及分数问题(附c++源代码)
- STL map 的基本成员函数
- 史上最强 Java 学习路线图!
- 中美线径对照表_美国线规对照表
- 2022前端CSS经典面试题
- Project(8)——收货地址——增加 --- 省市区数据处理
- 这样的简历HR才会看----个人整理
- java 多次正则匹配_Java正则多次匹配和多次组匹配
热门文章
- 设计原则:单一职责(SRP)原则
- Oracle、plsql安装以及使用教程
- linux nginx rtmp 直播,linux下利用nginx搭建rtmp直播服务
- js书写原生ajax,javascript原生ajax写法
- PHPWAMP强行脱离依赖,在系统缺失必备组件或DLL受损的情况下依然能正常运行
- 禁忌搜索算法(Tabu Search)的基本原理与算法流程总结
- 单片机蓝牙模块与手机蓝牙通信(7)
- 电子地图下载器的地图级别与对应分辨率
- 使用advancedInstaller制作安装包无法成功添加图标或者(以及)赋予管理员权限
- ICH E2B | ICSR 电子传输网关对接解决方案