自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)

1.概述

1.1 问答系统(Question answering)

        基于上下文:输入问题和文本,输出答案;如阅读理解

        封闭系统:直接输入问题,输出答案;如聊天机器人

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第1张图片

1.2 迁移学习(Transfer learning)

    定义:先在有大量训练数据的任务上预训练,再在下游任务上继续训练

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第2张图片

1.3 BERT(Bidirectional Encoder Representations from Transformers)

    定义:是一种基于transformer encoder的双向语言表示模型

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第3张图片

1.4 T5

    定义:一种基于transformer的多任务模型

    自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第4张图片


2.迁移学习(Transfer Learning)

2.1 基本概念

    迁移学习优点:

        减少训练时间

        提升预测准确率

        可通过少量数据训练

        

    迁移学习类型:

        (1)Transfer

        (2)Pre-train data

        (3)Pre-training task

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第5张图片

    迁移学习流程:

         先在原始数据集上进行预训练,再迁移至具体下游任务上继续训练,进行精调

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第6张图片

2.2 Transfer

    类型:

        基于特征与基于精调(Feature-based vs Fine-Tuning):

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第7张图片

    基于特征:

        定义:将预训练模型的隐藏层参数提取出来,用在新模型中

        例:

            如词嵌入的训练就是一种迁移学习,先通过中心词预测得到词嵌入矩阵,再将其迁移到其他NLP任务中加以使用

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第8张图片

    基于精调:

        定义:直接用预训练模型,或为预训练模型新增一个输出层,使其更适应当前任务

        例:

            通过电影评论训练一个三分类情感分类模型,现在要通过课程评论训练五分类模型

            可通过直接使用之前的模型在新数据集上继续训练,并增加新输出层,以实现五分类的要求,

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第9张图片

2.3 预训练数据(Pre-train data)

   数据与表现:

        关系:通常训练数据量越大,模型效果越好

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第10张图片

    标注数据与未标注数据:

        关系:通常标注数据数量较少,未标注数据数量很多

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第11张图片

    通过无标注数据迁移学习:

        方法:先通过无标注数据预训练模型,再迁移至标注数据上继续训练

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第12张图片

2.4 预训练任务(Pre-train task)

    自监督学习(Self-supervised task):

        方法:构建一种模型结构,使其能自行构建训练集与标签进行训练,无需人工标注数据

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第13张图片


3.常见NLP模型及发展

3.1 CBOW

    概述:使用固定大小的窗口选择上下文,来预测中心词

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第14张图片

    缺点:因窗口大小固定,当窗口过小时可能丢失关键信息

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第15张图片

3.2 ELMo

    概述:解决固定窗口问题,并使用了RNN结构,使用全部上下文信息来预测中心词

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第16张图片

    缺点:没有注意力机制,缺乏长期记忆力,存在梯度消失问题

3.3 GPT

    概述:GPT使用了Transformer的Decoder结构,使用了注意力机制,利用全部前文信息来预测中心词

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第17张图片

    缺点:使用前向注意力,只考虑之前出现的词

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第18张图片

3.4 BERT

    概述:BERT使用了Transformer的Encoder结构,且使用双向注意力,能同时考虑上下文信息

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第19张图片

    特点:

        Words to sentences:不仅能预测下一个单词,还可能预测下一个句子

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第20张图片

        预训练:支持自监督训练,可以使用MLM和NSP两种方法进行预训练

            Multi-Mask:随机从句子中选择单词作为中心词让模型预测

            Next Setence Prediction:输入一个句子,让模型预测下一个句子

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第21张图片

3.5 T5

    概述:T5使用了Transformer的Encoder和Decoder结构,是一种多任务模型

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第22张图片

    特点:

        Text-to-Text:文本到文本,通过在输入文本中指定任务类型,即可通过一个模型实现不同任务功能

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第23张图片

3.6 总结

    自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第24张图片


4.BERT

4.1 基本概念

    定义:

        全称Bidirectional Encoder Representations from Transformer ,即双向Transformer编码器模型;

        是一个多任务语言表示模型(language representation model);

        主要模型结构是由trasnformer的encoder堆叠而成,主要流程是预训练(pre-training)与精调(fine-tuning)

    结构:

        由输入层、中间层、输出层构成;中间层与输出层同transformer encoder基本一致

        输入层为适应多任务训练而进行了一定改造

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第25张图片

    特点:

        多层双向transformer

        位置编码

        深度网络结构/大量参数

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第26张图片

4.2 输入层与输出层

    输入层:

        输入格式:为使BERT支持多任务,因此输入格式为 [标识符]+句子 的结构

        标识符:

            [CLS]:表示当前任务类型,为分类任务

            [SEP]:分隔符,分隔两段文本

        输入层格式:

            词嵌入(Token Embneddings):将各单词转换为对应词向量

            段嵌入(Segment Embeddings):表明这个词属于哪个句子;在有多文本输入时用于区分

            位置嵌入(Position Embeddings):维护各单词间位置关系,由模型训练出;(与Transformer不同,Transformer中是预先设定好的值)

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第27张图片

    输出层:

        输出格式:对应输入层,会输出 对应任务的结果+句子

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第28张图片

4.3 BERT流程

4.3.1 预训练(Pre-Training)

        定义:可先通过大量语料数据进行无监督的预训练

        方法:

            掩码语言模型(MLM):随机选择单词遮掩作为中心词预测,不需要人工标注数据

            下一句子预测(NLP):给出上一句,预测下一句,同样不需要人工标注数据

             自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第29张图片

            自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第30张图片

4.3.2 精调(Fine-Tuning)

    定义:使用预训练好的BERT模型迁移至不同下游任务继续训练,以进行精调

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第31张图片

    方法:通过改变输入结构,来实现对不同任务的目标

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第32张图片


5.T5(Text-To-Text Transfer Transformer)

5.1 基本概念

    定义:一种文本到文本模型,将常见的NLP任务全部整合进一个模型中

    常见预训练模型结构比较:

        (1)Encoder-Decoder:即 Seq2Seq 常用模型,分成 Encoder 和 Decoder 两部分,Encoder可用全部信息,Decoder只能用之前的信息;如Transformer

        (2)Language model:只使用Encoder,当前时间步只能看到之前时间步信息;如GPT

        (3)Prefix LM:Encoder 和 Decoder 的融合体,部分Encoder只能能看到之前的信息,而部分Decoder能看到全部信息;如UniLM

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第33张图片

    T5模型结构:

        基于Encoder-Decoder结构的深度网络模型,因通过实验发现其效果最好

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第34张图片

5.2 训练方法

5.2.1 多任务训练策略(Multi-Task Training Strategy)

    定义:通过使用不同任务的数据集来训练模型

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第35张图片

    输入输出格式: 任务指令+输入文本

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第36张图片

    数据训练策略(Data Training Strategies):

        因为T5是多任务模型,所以需要使用不同数据集进行训练,可以通过以下策略决定各类数据比例:

            (1)等量混合(Equal mixing):即从不同任务数据集中取等量数据用于训练

            (2)等比混合(Examples-proportional mixing):根据不同任务数据集大小,等比例取数据用于训练,即数据集越大取的训练数据越多

            (3)混合系数混合(Temperature scaled mixing):设定一个混合系数T,根据其从不同数据集中选择训练数据

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第37张图片

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第38张图片

5.2.2 预训练+精调

    定义:通过先预训练再精调的方式训练模型

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第39张图片

    精调方法:

        逐步解冻法(Gradual Unfreezing):先将所有隐藏层设为不可训练,再从深至浅依次解冻,使其可以训练

        调整层法(Adapter layers):增加新的输出层,并进行训练

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第40张图片

    结论:

        使用预训练+精调的训练方法效果比使用多任务训练要好

        更大的模型、更多的训练数据、更长的训练时间,都对最终效果起正面影响

5.3 GLUE Benchmark(通用语言理解评估基准)

    定义:国际权威数据集,包含了各类NLP问题的数据集,可用来训练和评价模型效果

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第41张图片

    包含领域:

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第42张图片

5.4 使用T5实现问答系统

    Transformer encoder:

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第43张图片

    数据示例:

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第44张图片

    使用T5实现:

        (1)加载预训练模型

        (2)调整数据格式,使其符合T5的输入格式

        (3)在目标任务上精调模型

        (4)使用最终模型预测结果

        自然语言处理(NLP)-4.3 BERT、T5与问答系统(BERT&T5&Question Answering)_第45张图片


作业代码:https://github.com/Ogmx/Natural-Language-Processing-Specialization

可将代码与数据下载至本地,使用jupyter notebook打开

你可能感兴趣的:(自然语言处理(NLP),人工智能)