PPT: https://speech.ee.ntu.edu.tw/~hylee/ml/ml2021-course-data/gan_v10.pdf
视频:李宏毅《机器学习/深度学习》2021课程 - BERT 简介
一、自监督学习(Self-supervised Learning)
在监督学习中,模型的输入为x,若期望输出是y,则在训练的时候需要给模型的期望输出y以判断其误差——有输入和输出标签才能训练监督学习的模型。
自监督学习在没有标注的训练集中,把训练集分为两部分,一个作为输入,另一个作为模型的标签。自监督学习是一种无监督学习的方法。
二、BERT
BERT 是 Transformer 的编码器(Encoder),一般用于NLP中(也可用于图像、语音处理中),它的输入是一排文字,输出是等长的一串向量。训练 BERT 一般是两个任务:
- Masked token prediction 【做填空题】
- Next sentence prediction 【做连线题】
1. Masking Input
- 【替换文字】输入时采用 Masking Input 方法,即在输入的时候,随机“遮盖”住某些文字,具体有两种做法:
- 把句中某一个字替换成某种特殊的符号 [MASK],代表“遮住”;
- 把句中某一个字随机换成另外一个字。
- 遮住后同样是一个序列,对应的输出就是另外一个序列。将盖住的部分所对应输出的向量做线性变换,经过激活函数输出一个分布(同Transformer)。
- 【分类问题】BERT并不知道我们遮盖住的文字,因此BERT的目标就是最小化输出 y y y 和期望值 y ^ \hat y y^ 的误差,损失函数使用交叉熵。
BERT 在做 Masking 的同时,也在做 Next Sentence Prediction
2. Next Sentence Prediction
从训练集中拿出两个句子 Sentence1 和 Sentence2,同时在中间加入分隔符号[SEP]
,在最前面加入[CLS]
符号,然后将处理后的整体作为BERT的输入。经过BERT的输出做一个线性变换,即做一个二元分类的问题:预测 Sentence1 和 Sentence2 是否相邻接。
但在 Robustly optimized BERT approach 1 (RoBERTa) 中指出,这种方法对结果的好坏没多少影响。
3. BERT 应用
实际应用中,一般使用 BERT 作为预训练模型(GPT),然后对其进行微调(fine-tune)2 以适应解决某种特殊或具体的问题。
评估 BERT 模型的好坏通常使用 GLUE(General Language Understanding Evaluation) 方法:将BERT分别做微调放于GLUE的九个任务中,得到的分数再取平均值即为评价指标。
案例一:情感分析
- 输入:文字序列
- 输出:情感类别