笔记:ML-LHY: ELMO, BERT, GPT

Embeddings from Language Model (ELMO),做的是Contextualized Word Embedding
Bidirectional Encoder Representations from Transformers (BERT),其实就是Encoder of Transformer,训练方法,以及应用示例:Sentiment analysis, Document Classification, Slot filling, Natural Language Inference, QA
Generative Pre-Training (GPT),其实就是Transformer Decoder,推理后续句子,比如写作,对话,甚至可以做Zero-shot Learning(参数量巨大原因)

Word Embedding

回顾笔记:ML-LHY-14: Unsupervised Learning - Word Embedding

Count based Word Embedding:
在这里插入图片描述

Word Embedding虽然学习了大量文章句子,但是训练结束后word对应的vector被固定了,但是一个词在不同句子中结合上下文会有不同意思。期望可以做到Contextualized Word Embedding:
在这里插入图片描述

Embeddings from Language Model (ELMO)

在这里插入图片描述
ELMO在推理时也是从RNN的输出,比如“退了”的Context是“潮水”,同时为了考虑后续的输入,对反向的RNN输出做拼接。

ELMO是的DRNN,不同层之前做weigh sum,权重值通过网络学习在这里插入图片描述
在这里插入图片描述
权重值在不同任务上会不一样。

Bidirectional Encoder Representations from Transformers (BERT)

在这里插入图片描述

以简单的self-attention为例:
在这里插入图片描述
encoder是不需要annotation可以直接做的,实际上还会加Positional Encoding,所以做的是Contextualized Word Embedding。BERT就是把self-attention layer换成transform中更复杂的模块了。
对于中文,用字输入会比较好,因为词的组合太多了。

Training of BERT

Approach 1: Masked LM

填充任务
在这里插入图片描述
把输入词随机mask,要BERT填回来,然后把mask掉的词的embedding输出输入到一个线性多分类器,由于是线性的,这就要求bert有足够能力可以在一个词mask情况下,用整个序列推测出这个词的深层含义(整个bert有比较好协调能力)。如果2个词都可以填在那个地方,什么2个词很近似。

Approach 2: Next Sentence Prediction

断句任务

在这里插入图片描述
在2个sequence中间插入表示边界的token:[sep],在任意位置插入[CLS]用来表示是否需要断句结果(对[CLS]做embedding,再输入到一个线性二元分类器,由于bert底层是self-attention,所以[CLS]位置可以是任意的)。是否需要断句训练时已知。

Approach1 和Approach 2需要同时使用

How to use BERT – Case 1

Input: single sentence
output: class
Example: Sentiment analysis,Document Classification


在这里插入图片描述
一般BERT参数可以通过上面2中方法训练好,在新任务上只需要重新训练 linear classifier 参数和 微调 bert 参数就行。

How to use BERT – Case 2

Input: single sentence,
output: class of each word
Example: Slot filling 在这里插入图片描述


在这里插入图片描述

How to use BERT – Case 3

Input: two sentences
output: class
Example: Natural Language Inference
Given a “premise”, determining whether a “hypothesis” is T/F/ unknown


在这里插入图片描述
其实就有点像上面train Approch 2的是否需要断句,这里是3类:seq2在seq1下成立/不成立/未知。

How to use BERT – Case 4

Input: document and sentences
output: sentences
Example: Extraction-based Question Answering (QA) (E.g. SQuAD)
在这里插入图片描述
注意,answer来自document,而且是连续的,即answer实际上是开始和结束的索引。

在这里插入图片描述
核心思想就是一个question对应一个answer,所以改变question,再进行bert时,document的embedding结果也会发生改变。而上面红色和蓝色都是学习到固定的vector,用来输出answer开始和结束的索引。

Enhanced Representation through Knowledge Integration (ERNIE)

其实核心思想和bert差不多在这里插入图片描述
中午任务上盖住单个字就很容易猜出来,所以提出ernie盖住词。

Generative Pre-Training (GPT)

GPT其实就是Transformer Decoder, 参数量巨大,但是性能很好
在这里插入图片描述

其实和上节课基于self-attention的decoder核心思想一样:
在这里插入图片描述
在decoder这边,不过词是直接输入,没有经过encoder,和基于RNN的decoder一样,输入包括上一时刻的输出。

在这里插入图片描述
在这里插入图片描述

很好玩的一个demo:https://app.inferkit.com/demo

在这里插入图片描述
笑死了🤣

不过好像现在GPT-3也出了

以上参考李宏毅老师视频和ppt,仅作为学习笔记交流使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值