1. 自监督学习(self-supervised Learning) 介绍
自监督学习是一种无监督学习技术,通过数据本身的结构或特征生成标签,从而使模型能够学习。与传统的监督学习需要手动标注数据不同,自监督学习不依赖人工标注的数据。相反,它通过设计任务自动从数据中创建学习信号。
自监督学习的核心思想是利用输入数据本身进行监督,通过构造代理任务(也称为预训练任务),使模型能够学习数据的有用表示。这些预训练任务的目的是教会模型数据中的有价值模式或结构,而无需使用手动标注的数据。

自监督学习的应用:
自然语言处理(NLP):
-
BERT(Bidirectional Encoder Representations from Transformers):该方法通过屏蔽一些单词(例如,随机删除句子中的单词),并训练模型预测缺失部分。它不需要手动标注数据,模型从大量未标注文本中学习有用的单词和句子结构表示。
-
GPT(Generative Pre-trained Transformer):该语言模型通过预测序列中的下一个单词来学习,帮助模型学习语法和语义结构。
计算机视觉:
-
图像修复:该技术通过隐藏图像的一部分,并训练模型预测缺失部分来实现。
-
对比学习:通过将相似的图像(例如,同一物体的不同视角)映射到相近的表示,将不相似的图像映射到远离的表示,这种方法帮助模型学习有用的图像表示。SimCLR和MoCo是此类方法的例子。
语音处理:
-
模型通过预测语音数据中缺失的部分来学习语音特征。
李宏毅教授的课程主要涵盖了BERT的原理和应用。

如上所述,BERT的训练过程涉及随机屏蔽一些词元,并尝试预测这些被屏蔽的词元。这实际上类似于一个分类问题,只不过输出类别是所有的词元。
BERT本身是基于Transformer架构构建的。

BERT通常作为预训练模型使用,并在特定的下游任务中进行微调。在微调特定任务时,通常需要标注数据。

接下来将提供四种不同的应用场景。
Case 1: Sentiment Analysis

在训练过程中,模型的BERT部分和线性部分都会进行参数更新。然而,线性部分将随机初始化,而BERT部分则使用预训练初始化。
Case 2: POS tagging

模型的输入是一个句子,输出与输入的长度相同。句子中的每个词元都会在输出中对应一个向量。然后,输出会通过一个线性网络进行分类。
Case 3: Natural Language Inferencee (NLI)


模型的输入由两个句子组成:一个是前提句子,另一个是结论句子。输出是这两个句子之间的关系。
Case 4: Question and Answering

Extraction-based question answering (QA) 指的是一种问答系统,目标是从给定的上下文或文本段落中提取出一个特定的答案来回答问题。与生成新文本或合成答案不同,该系统会从上下文中识别并提取出一个准确的文本片段,直接回答问题。


在BERT模型的实现中,实际上需要随机初始化的部分是两个向量,它们的大小与BERT输出向量相同。这些向量作为键,用于查询开始和结束标记的位置。
总的来说,BERT之所以有效,是因为它利用了深度的、双向的语言理解,通过预训练学习上下文词表示,并针对特定任务进行微调。其基于Transformer的架构以及在大量多样化文本数据上的大规模预训练,使其在广泛的NLP任务上取得了显著的表现。