signed

QiShunwang

“诚信为本、客户至上”

paddle基于深度学习的自然语言处理 lesson 03

2021/6/24 13:26:12   来源:

基础:走进自然语言处理

打卡课的链接: https://aistudio.baidu.com/aistudio/

理论课:预训练语言模型及应用

目录

目录

2. 预训练语言模型及应用

(1) 语义理解&深度学习

(2) 基于预训练的语义理解技术

(3) 预训练模型在nlp经典任务中的应用

(4) 实践:文本语义相似度计算


(1) 语义理解&深度学习

什么是语言理解?

怎么基于深度学习实现语义理解?——Word2Vec

从海量的无标注语料数据学习通用的语言表示

怎么基于深度学习实现语义理解?——RNN/ LSTM

从海量的无标注语料数据学习通用的语言表示。

如何使用?

有什么问题:

Pre-training & Fine-tuning机制

计算机视觉(CV)领域首次提出

* Pre-training 在大规模数据集上学习尽可能好的通用表示

*Fine-tuning 利用学习好的通用表示初始化下游任务网络(加速收敛、减少任务相关监督数据的需求)

应用范例:计算机视觉通用表示ImageNet

ImageNet数据集:

*大规模的带标签图像数据集

*1500万张图片,2.2万分类,常用集合120w图片,1000类别

大规模训练集下,复杂模型可以学的非常好

基于Image net数据集训练得到的模型(Pre-trained model)被广泛运用在cv其他任务初始化(通过精细参数微调(fine-tuning)即可实现很好的任务效果。

(2) 基于预训练的语义理解技术

  • ELMo:第一个现代的语义理解模型

Pre-training 阶段: 

*使用Bi-LSTM语言模型建模(两层LSTM/ 双向语言模型建模 L->R,R->L)

* 无监督训练,训练数据1Bword

核心思想:只预训练language model, 而word embedding 是通过输入的句子实时输出

基于上下文的动态word embedding

ELMo: Pre-training策略分析

ELMo: 如何使用?(Fine-tuning)

ELMo:多义词问题解决了嘛?

ELMo的缺点:

1. 不完全双向预训练

模型的前向和后向LSTM两个模型是分别训练的,仅在Loss Function阶段进行了结合。

2. 需要进行任务相关网络结构设计

每种类型的下游任务都需要进行特定的网络结构设计和搭建。

3. 仅有词向量,无句向量

ELMo在预训练阶段仅仅学习了语言模型,无句向量学习任务。

  • GPT:被BERT光芒掩盖的工作

* Pre-training 阶段

使用12层Transformer Decoder替换Bi-LSTM

更大规模预训练数据 1B Word & BooksCorpus(+0.8billion)

*Pre-training 目标:传统语言模型任务(单向)

恩据前几个字预测下一个字

GPT:如何使用(Fine-tuning)


GPT缺点:

  • BERT: 预训练领域的里程碑式突破
     

* Pre-taining 阶段

使用12层Transformer Encoder

交互式双向语言模型建模(LM->Auto-Encoder)

引入sentence-level 预训练任务

更大规模预训练数据集(BooksCorpus + Wikipedia(+2.5billion))

Pre-training 目标

同事训练token-level 和sentence-level task

Mask-LM task (Mask token)15%mask 概率,在pre-training 阶段实现交互式双向

Next- sentence句对预测任务(预测当前句子的下一句话)

BERT: Pre-training 策略分析

如何使用?

BERT缺点:

  • ERNIE:

ERNIE 2.0: 持续学习语义理解框架

(3) 预训练模型在nlp经典任务中的应用