李宏毅机器学习笔记第15周_自监督学习(Self-supervised Learning)


前言

自监督学习(Self-supervised Learning)旨在对于无标签数据,通过设计辅助任务(Proxy tasks)来挖掘数据自身的表征特性作为监督信息,来提升模型的特征提取能力。本文简单地说明什么是Self-supervised Learning,并且介绍了Self-supervised Learning的用途;通过多个例子介绍了BERT的模型,以及简要说明了GPT的野望;最后介绍BERT的预训练和微调,主要说明什么是Pre-train模型,以及怎么做fine-tune。


一、什么是Self-supervised Learning?

1.Self-supervised Learning

Self-supervised Learning就是自己想办法去做Supervised Learning,具体操作就是把训练资料的一部分作为Model的输入,另外一部分作为Model的label,希望输出与label越接近越好。
在这里插入图片描述

2.Masking Input

BERT的架构与Transformer Encoder是一样的,它主要用于自然语言处理、文字处理等。如下图所示,BERT的输入是一段文字,随机地把这段文字当中的某些词语做下标记(两种方法,第一种是设置一个special token MASK,另外一种是用随机的词语替代这个词语),然后把标记后的词语做Linear Transform(乘上一个矩阵),最后做softmax得到输出(Distribution)跟标记前的词语minimize cross entropy。
在这里插入图片描述

3.Next Sentence Prediction

Next Sentence Prediction的主要任务就是区别两个句子是否连接在一起。
在这里插入图片描述

二、How to use BERT

BERT在Pre-train产生后,经过fine-tune就可以做多种多样的任务。而BERT的真正任务是Downstream Tasks,它的前提是需要一些带有标记的数据。
在这里插入图片描述

1.Case 1

1)举例Sentiment analysis,输入是一个句子,输出是一个类别(正面 or 负面)。如下图所示,这里使用的是做过pre-train的BERT,好处在于这样会比随机初始化表现更好。
在这里插入图片描述
2)如下图所示,对Pre-train和Random Initialization进行比较,通过表现结果可以发现Pre-train表现的更好,这也是BERT在表面上带来的好处。
在这里插入图片描述

2.Case 2

举例POS tagging,输入是一个sequence,输出是一个与输入一样长的sequence。Case 2使用的BERT与Case 1是一致的。
在这里插入图片描述

3.Case 3

1)举例Natural Language Inference,输入是两个句子,输出一个类别。这两个句子一个是前提,另一个假设,而机器要做的是从这个前提推出这个假设是正确还是矛盾。
在这里插入图片描述
2)Case 3使用的BERT与Case 1是一致的。
在这里插入图片描述

4.Case 4

1) 举例Extraction-based Question Answering,它的任务是给机器阅读一篇文章,然后询问机器一些问题,机器会给出答复(答案必须取自文章,是文章的一部分)。
在这里插入图片描述
2) 如下图所示,Case 4使用的BERT与Case 1是一致的。唯一需要从头开始训练(Random Initialized)的是两个向量,长度与BERT输出向量的长度一致,然后与document输出的向量做inner product,得到正确的答案的起始位置和结束位置。
在这里插入图片描述

三、Pre-training a seq2seq model

1. 如下图所示,对Encoder输入的句子进行Corrupted,希望Decoder的输出与被Corrupted前输入的句子越接近越好。
在这里插入图片描述
2. 对输入的句子Corrupted的方法有很多种,把部分词语盖住、删除部分词语、打乱句子顺序、翻转整个句子、以及多种方法同时使用。

四、Why does BERT work?

1. 如下图所示,我们给BERT输入了两个带有“果”的句子,显然这两个“果”上下文内容不一样,输出的向量就会不一样,于是就去计算这两个向量的相似度(cosine similarity)。
在这里插入图片描述
通过结果显示关于这个字的句子意思相近的相似度更大,反之相似度越小。
2. 如下图所示,可以从这个字的上下文入手,意思是可以通过上下文推出这个字。
在这里插入图片描述
3. 如下图所示,使用BERT比不使用BERT对Protein、DNA、Music进行分类的表现更好,因此可以发现BERT的能力很有值得研究的价值。
在这里插入图片描述

五、Multi-lingual BERT

1. Multi-lingual BERT就是用多种语言去训练它,它最神奇的地方是用英文问答去训练它后,它就会自动学会用中文完成问答训练。如下图所示,通过实验结果表示Multi-lingual BERT能够完成这一点,并且结果还不错。
在这里插入图片描述
2. 猜测是中英文的输出的向量(embedding)比较接近,机器在学习大量语言后会自动学习这件事。
3. 现在发现有一件神奇的事情是将中文的embedding与英文的embedding做差后,加上给Multi-lingual BERT输入英文训练后得到的向量后,就会变成中文的句子。因此给机器英文的问题,它就可以回复给你中文的答案。
在这里插入图片描述

六、Predict Next Token

GPT的任务是预测接下来要出现的Token是什么,它的特点是用了大量的训练资料训练出来一个巨大的模型。

七、How to use GPT?

举例用GPT做翻译,在训练过程中,机器唯一学到的事情是给机器文章的前半部分,然后让机器把后面部分补全。
在这里插入图片描述
通过实验结果表明,机器可以完成上述的翻译工作,只是成功率比较低。

八、What is pre-train model

1. Pre-train Model就是希望把输入的每一个token表示成embedding vector,在这里相同类型的token会被表示成相同的embedding,不会考虑token的上下文内容。
在这里插入图片描述
2. 现在考虑上下文不同但相同类型的token是否得到不同的embedding,于是Contextualized Word Embedding可以做到,它的做法是将整个句子读完后再输出token对应的embedding。

九、How to fine-tune

1. 如下图所示,这是NLP任务输入多个句子的情况,它会在句子之间加上“SEP”分隔符号变成很长的句子作为model的输入。
在这里插入图片描述
2. 如下图所示,这是NLP任务输出一个class的情况。在model的输入中,会加入一个token“CLS”,在CLS输入进model后,得到的输出与输入的整个句子有关系。另一种情况是没有CLS时,会有一个Task Specific把输出的embedding读入,然后输出一个class。
在这里插入图片描述
3. 如下图所示,这是NLP任务输出General Sequence的情况。把SEP输入model后会得到一个向量,再把向量输入Task Specific后会得到w3,将w3作为输入,多次重复上述操作后,会得到w4、w5等直到结束。
在这里插入图片描述
4. 如下图所示,这是Fine-tune的两种做法。第一种是Pre-trained模型训练结束后就会固定住,变成Feature Exactor;第二种是将Pre-trained与Task-specific连接在一起,在fine-tune时,调Task-specific模型的同时也会调Pre-trained模型。
在这里插入图片描述
5. 如下图所示,我们去微调整个模型时,只需要调整Pre-trained的一部分就行,于是在Pre-trained模型中加入Apt,每次就去调整模型的Apt部分。
在这里插入图片描述

十、Why Pre-train Models?

如下图所示,我们可以知道Pre-train Model有着比较好的表演,甚至于可以与人类相提并论。
在这里插入图片描述


总结

在本次学习中,我学习自监督学习(Self-supervised Learning)后,了解到自监督学习(Self-supervised Learning)的目的就是利用无标签数据训练出一个feature提取器,从而对下游任务 (Downstream tasks)的训练提供帮助,而自监督学习(Self-supervised Learning)的核心是如何自动为训练资料产生标签。了解到了BERT模型是一个双向模型,它可以利用token的上下文内容,还学习到BERT的预训练和微调,认识到什么是预训练,以及如何做微调。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值