日记大全

日记大全 > 句子大全

谷歌最新语言模型BERT解释

句子大全 2023-05-19 07:46:02
相关推荐

BERT(Transformer双向编码器表示)是Google AI语言研究人员最近发表的一篇论文。它通过在各种NLP任务中呈现最先进的结果,包括问答系统、自然语言推理等,引起了机器学习社区的轰动。

BERT的关键技术创新是将Transformer(一种流行的注意力模型)的双向训练应用于语言建模。这与先前从左到右查看文本序列,或把从左到右和从右到左组合起来训练的方式形成对比。论文的结果表明,双向训练的语言模型比单向语言模型具有更深层次的语言语境和流动感。在论文中,研究人员详细介绍了一种名为Masked LM(MLM)的新技术,该技术允许在以前不可能的模型中进行双向训练。

背景

在计算机视觉领域,研究人员反复展示了迁移学习的价值 - 在已知任务上预训练神经网络模型,例如ImageNet,然后进行微调 - 使用训练好的神经网络作为基础,训练新的特定模型。近年来,研究人员已经表明,类似的技术在许多自然语言任务中同样有用。

在NLP任务中也很流行并且在最近的ELMo论文中举例说明的另一种方法是基于特征的训练。在该方法中,预训练的神经网络产生字嵌入,然后将其用作NLP模型中的特征。

BERT如何工作

BERT利用Transformer,这是一种学习文本中单词(或子单词)之间的上下文关系的注意机制。在其香草形式中,Transformer包括两个独立的机制 - 读取文本输入的编码器和产生预测的解码器。由于BERT的目标是生成语言模型,因此只需要编码器机制。Transformer的详细工作原理在Google 的一篇论文中有所描述。

与按顺序读取文本输入的方向模型(从左到右或从右到左)相反,Transformer编码器一次读取整个单词序列。因此它被认为是双向的,尽管说它是非定向的更准确。该特征允许模型基于其所有周围环境(单词的左侧和右侧)来学习单词的上下文。

下图是Transformer编码器的高级描述。输入是一系列令牌,它们首先嵌入到矢量中,然后在神经网络中处理。输出是大小为H的向量序列,其中每个向量对应于具有相同索引的输入标记。

在训练语言模型时,存在如何定义预测目标的挑战。许多模型预测序列中的下一个词(例如"孩子从___回家"),这是一种固有地限制语境学习的有方向的方法。为了克服这一挑战,BERT采用了两种训练策略:

Masked LM(MLM)

在将单词序列输入BERT之前,每个序列中15%的单词被[MASK]标记替换。然后,该模型基于序列中其他未掩盖的单词提供的上下文,尝试预测被掩盖的单词的原始值。用技术术语来说,输出词的预测要求:

在编码器输出的顶部添加分类层。将输出向量乘以嵌入矩阵,将它们转换为词汇维度。用softmax计算词汇表中每个单词的概率。

BERT损失函数仅考虑掩盖值的预测并忽略非掩盖字的预测。因此,模型比定向模型收敛得慢,这一特性被其增加的情境意识所抵消。

下一句话预测(NSP)

在BERT训练过程中,模型接收成对的句子作为输入,并学习预测该对中的第二个句子是否是原始文档中的后续句子。在训练期间,50%的输入是一对,其中第二句是原始文档中的后续句子,而在另外50%中,选择来自语料库的随机句作为第二句。假设随机句子将与第一句断开。

为了帮助模型区分训练中的两个句子,输入在进入模型之前按以下方式处理:

在第一个句子的开头插入[CLS]标记,并在每个句子的末尾插入[SEP]标记。将表示句子A或句子B的句子嵌入添加到每个令牌。句子嵌入在概念上类似于2个词的词汇表的标记嵌入。将位置嵌入添加到每个标记以指示其在序列中的位置。位置嵌入的概念和实现在Transformer论文中给出。

BERT [Devlin等,2018]

要预测第二个句子是否确实与第一个句子连接,执行以下步骤:

1. 整个输入序列通过Transformer模型。

2. 使用简单的分类层(学习好的重量和偏差矩阵)将[CLS]标记的输出变换为2×1大小的向量。

3. 使用softmax计算IsNextSequence的概率。

在训练BERT模型时,Masked LM和Next Sentence Prediction被一起训练,目标是最小化两种策略的组合损失函数。

如何使用BERT(微调)

将BERT用于特定任务相对简单:

BERT可用于各种语言任务,而只需在核心模型中添加一个小层:

1. 通过在[CLS]令牌的Transformer输出之上添加分类层,类似于Next Sentence分类,进行情感分析等分类任务。

2. 在问题回答任务(例如SQuAD v1.1)中,软件会收到有关文本序列的问题,并且需要在序列中标记答案。使用BERT,可以通过学习标记答案开始和结束的两个额外向量来训练Q&A模型。

3. 在命名实体识别(NER)中,软件接收文本序列,并且需要标记出现在文本中的各种类型的实体(人员,组织,日期等)。使用BERT,可以通过将每个令牌的输出向量馈送到预测NER标签的分类层来训练NER模型。

在微调训练中,大多数超参数保持与BERT训练相同,本文给出了需要调整的超参数的具体指导。BERT团队使用这种技术在各种具有挑战性的自然语言任务中获得最先进的结果。

小贴士

1. 模型尺寸很重要,即使规模很大。BERT_large具有3.45亿个参数,是同类产品中最大的模型。它在小规模任务上显然优于BERT_base,后者使用相同的架构,只有"1.1亿"参数。

2. 有足够的训练数据,更多的训练步骤==更高的准确性。例如,在MNLI任务上,当训练1M步骤(批量大小为128,000字)时,BERT_base准确度提高1.0%,而具有相同批量大小的500K步长则提高。

3. BERT的双向方法(MLM)收敛速度慢于从左到右的方法(因为每批中只预测了15%的单词),但是在少量预训练步骤之后,双向训练仍然优于从左到右的训练。

BERT[Devlin et al。,2018]

训练和应用

结论

BERT无疑是使用机器学习进行自然语言处理的一个突破。它易于接近并允许快速微调的事实可能在未来允许广泛的实际应用。在本摘要中,我们试图描述论文的主要思想,而不是淹没在过多的技术细节中。对于那些希望深入探索的人,我们强烈建议您阅读其中引用的完整文章和辅助文章。另一个非常有用的参考和模型,它涵盖103种语言,并由研究团队慷慨地作为开源发布。

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新