前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(now!)NLP发展到Transformer相关及改进模型

(now!)NLP发展到Transformer相关及改进模型

作者头像
用户8871522
发布2022-03-31 14:39:27
7570
发布2022-03-31 14:39:27
举报
文章被收录于专栏:jzc的blog

(now!)NLP发展到Transformer相关及改进模型

0. NLP

0.1 发展

https://www.jianshu.com/p/d35a2fd593eb

0.2 训练流程

1. RNN和LSTM

image-20220317203059808
image-20220317203059808

单词的先后顺序会影响句子的意思,RNN擅长捕捉序列关系,不过对于翻译来说,句子间的单词数量不是一一对应的。

1.1 缺点
  • 串行结构,计算速度慢
  • 梯度爆炸和梯度消失
1.2 梯度爆炸和梯度消失问题

见[面试.md]

1.3 LSTM

长短期记忆网络相对于RNN,多了一个遗忘门,会适当删减(筛选)前置特

1.4 存在问题

受限于结构,RNN只能处理N to N1 to NN to 1问题,但是无法处理N to M的问题?

2. Word2Vec和Seq2Seq

image-20220317203445862
image-20220317203445862

Seq2Seq是一个拥有编码器Encoder和解码器Decoder的模型,EncoderDecoder依然是RNN网络,不过在Seq2Seq模型中先由Encoder提取原始句子的意义,再由Decoder将意义转化成对应的语言,依靠意义这一中介,Seq2Seq解决了两端单词数不对等的情况。

意义单元能够存储的信息是有限的,如果一个句子太长,翻译精度就会下降?

3. Attention

3.1 描述

每个阶段我们关注到的内容都有所不同

机器翻译中,

image-20220317205638828
image-20220317205638828

写出每个英文单词时,我们会格外注意其中的一部分汉字

Attention可以从纷繁复杂的输入信息中,找出对当前输出最重要的部分

image-20220317210035081
image-20220317210035081
3.2 工作原理

QQUERY,表示输入信息;KeyValue成对出现,通常原始文本(输入)的信息。通过计算QK之间的相关性,得出不同的K对输出的重要程度,再与对应的V相乘求和,就得到了Q的输出。

image-20220317210904542
image-20220317210904542
3.2.1 例子

以阅读理解为例,Q是问题,KV是原始文本,计算QK的相关性,让我们找到文本中最需要注意的部分,利用V得到答案。

image-20220317211208013
image-20220317211208013

在机器翻译中,Q是翻译结果,K是输入文本,V是对应语义

Seq2Seq的基础结构上,在Decoder生成每个单词时,都有意识的从原始句子中提取生成该单词最重要的信息,摆脱了输入序列的长度限制。

但是在该模型中,RNN需要逐个计算相关性,计算速度太慢了?

4. Self-Attention

只关注输入序列元素之间的关系,通过将输入序列直接转化为Q、K、V,然后在内部进行Attention计算,就能很好捕捉文本的内在联系,对其作出再表示

5. Multi-Head Attention

使用多种变换生成不同的Q、K、V进行运算,再将他们对相关语句的意义的结论综合起来,进一步增强Self-Attention的效果

6. Transformer(Bert+GPT)

6.0 简介
6.1 Transformer和CNN对比(图像领域)
  • CNN应用到海量数据后,就会发现其对数据的适配能力不够强;而Transformer对大数据的适配能力很强,可以明显看到随着数据的增加,表现/性能performance不断增加。
  • Transformer每个参数是动态变化的;而CNN学习参数一旦学习完后就固定了fixedTransformer对每张图的参数都是不一样的、随时变化的,就可以有无限的参数空间来做一件事。像CNN中新引入的Dynamic NetworkDynamic convolutionDynamic Relu等概念都是为了把这个参数动态化
6.2 Interest Point和Attention

Attention关注feature彼此之间的相互关系Interest Point(如sift/hog中等)则是可以学到哪些点更突出、更有表达力

思考:这Attention和Interest Point是否可以在学习过程中彼此互补?

6.3 总结
  • dynamicstatic
  • close loopopen loop

7. Bert

机器是如何理解语言的?

就像图像由像素组成,而像素是由RGB数值表示,我们没有办法让机器直接理解语言,需要将它们转换成机器能明白的东西,比如数字组成的向量。

为什么使用向量表示语言?

词语的意义之间是有关联的,距离可以表示词与词直接的关系

如何得到向量?

机器学习的出现让我们不必为一个单词设计向量,而是将收集好的句子、文章等数据交给模型,由它为单词们找到最合适的位置。

7.1 Transformer->Bert

Bert就是帮助我们找到词之间位置关系的模型之一,Bert源于Transformer

既然Encoder可以将语义很好地抽离出来,直接将这部分独立(Bert),也能很好地对语言作出表示。

7.2 Bert的训练

除了结构,人们还为Bert设计了独特的训练方式:

  • 遮挡masked训练,对语料随机覆盖15%的词汇,让Bert去猜这些词汇是什么(完形填空
  • 利用Next Sentence Prediction任务学习句子级别的信息(或者可以理解为上下文是否匹配)

总结:前者可以让Bert更好地依据语境进行预测(完形填空),后者让Bert对上下文关系有更好的理解(阅读理解)

7.3 Bert的应用

在完成不同的NLP任务时,需要将已经训练好的Bert依据任务目标,增加不同功能的输出层联合训练。

  • 文本分类增加了分类器Linear classifier(输入句子,输出类别如欺诈
  • 阅读理解增加了一个全连接层softmax(输入问题和文章,输出答案的位置)

面对不同任务,Bert只需对任务作出微调即可

8. GPT(生成式预训练Transformer)

TransformerEncoder变成了BertDecoder变成了GPT

GPT也是一个预训练语言模型,同样需要面对不同任务进行微调fine tuning

8.1 应用(生成)

next-token prediction

  • 机器翻译、文本摘要等基于原始文本信息的任务
  • 新闻写作等无中生有的生成类任务
  • 学习过大量的音乐数据后,给出一个乐句,GPT-2就能生成一段音乐
  • 使用文本和对应图像的数据进行训练,GPT-3就能依据描述输出图像,哪怕真实世界并不存在的也能生成
8.2 GPT-3(暂未开源)

GPT-3是一个拥有1750亿参数的预训练模型,不需要面对不同的任务再训练,也不需要微调就能直接使用,这就是所谓的零样本学习Zero-Shot Learning

与语言模型相比,GPT-3更接近一个包含知识、语境理解和语言组织能力数据库

8.2.1 强大功能
  • 结构决定了功能,Decoder的输出都基于上一步输出的内容(也就是Bert输出的语义),这时的生成成了GPT最强大的能力,给它一个开头,它就能依据这些这些文字的风格和内容不断续写,甚至可以创作歌词和小说。
  • 进一步训练后,GPT还能跨越语言的壁垒,如音乐生成和根据描述生成图像等

9. ViT(Vision Transformer)

通过将图片切块划分转化为序列作为输入

ViT使用的Transformer没有考虑Transformer对于词在不同位置语义的变化(也就是Transformer更关注图像特征之间的),所以只能用来做分类任务,而图像出现在哪个位置、具体哪些像素属于这个类别,也就是目标检测和分隔仍无法实现,而Swin Transformer解决了这一问题。

10. 迁移学习(Transfer Learning)

  • CNN中前几层都是在提取特征,直到全连接层才进行分类。提取特征的过程很相似,我们可以拿出来直接用,再用苹果与梨的数据训练新的全连接层完成分类。
  • 像这样利用数据、任务和模型间的相似性,将训练好的内容应用到新的任务上,被称为迁移学习。
  • 由于这一过程发生在两个领域间,已有的知识和数据,也就是被迁移的对象被称为源域;被赋予经验的领域被称为目标域。
  • 不是一种模型,更像是一种解题思路
10.1 优点
  • 目标领域的数据太少,需要数据更多的源域的帮助
  • 为了节约训练时间
  • 实现个性化应用individualized
10.2 应用及与预训练模型关系
10.2.1 应用
  • 语料匮乏的小语种之间的翻译
  • 缺乏标注的医疗影像数据识别
  • 面向不同领域快速部署对话系统
10.2.2 预训练模型与迁移学习的关系

预训练模型是迁移学习的一种,就像预先学习了一个指数/技术,然后再把这个知识/技术代入到具体任务中。

TransformerBertGPT这些预训练语言模型,微调后可以完成不同的任务。

11. 提升篇

11.1 模型
  • SGNS/cBow、FastText、ELMo等(词向量)
  • DSSM、DecAtt、ESIM等(问答和匹配)
  • HAN、DPCNN等(分类)
  • BiDAF、DrQA、QANet等(MRC)
  • CoVe、InferSent等(迁移)
  • MM、N-shortest等(分词)
  • Bi-LSTM-CRF等(NER)
  • LDA等主题模型(文本表示)
11.2 训练
  • point-wise、pair-wise和list-wise(匹配、ranking模型)
  • 负采样:从非当前label中选择几个作为负样本加入,作为出现负样本的概率加入到损失函数中
    • 优点
      • 提高训练速度
      • 改进效果(模拟真实环境下噪声情况,让模型鲁棒性更强)
  • NCE(噪声对比估计):通过学习数据样本分布和噪声样本分布的区别,从而发现样本的特性。
    • 作用
      • 解决归一化参数密度估计问题
  • 层级softmax方法(fastText模型),哈夫曼树的构建
  • 不均衡问题的处理
  • KL散度与交叉熵loss函数
11.3 评估指标
  • F1-score
  • PPL
  • MRR
  • MAP
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0. NLP
    • 0.1 发展
      • 0.2 训练流程
      • 1. RNN和LSTM
        • 1.1 缺点
          • 1.2 梯度爆炸和梯度消失问题
            • 1.3 LSTM
              • 1.4 存在问题
              • 2. Word2Vec和Seq2Seq
              • 3. Attention
                • 3.1 描述
                  • 3.2 工作原理
                    • 3.2.1 例子
                • 4. Self-Attention
                • 5. Multi-Head Attention
                • 6. Transformer(Bert+GPT)
                  • 6.0 简介
                    • 6.1 Transformer和CNN对比(图像领域)
                      • 6.2 Interest Point和Attention
                        • 6.3 总结
                        • 7. Bert
                          • 7.1 Transformer->Bert
                            • 7.2 Bert的训练
                              • 7.3 Bert的应用
                              • 8. GPT(生成式预训练Transformer)
                                • 8.1 应用(生成)
                                  • 8.2 GPT-3(暂未开源)
                                    • 8.2.1 强大功能
                                • 9. ViT(Vision Transformer)
                                • 10. 迁移学习(Transfer Learning)
                                  • 10.1 优点
                                    • 10.2 应用及与预训练模型关系
                                      • 10.2.1 应用
                                      • 10.2.2 预训练模型与迁移学习的关系
                                  • 11. 提升篇
                                    • 11.1 模型
                                      • 11.2 训练
                                        • 11.3 评估指标
                                        相关产品与服务
                                        机器翻译
                                        机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档