Transformer和BERT模型:综述
目录
- 引言
- 自然语言处理的演进
- Transformer模型
- BERT模型
- 结论
- 常见问题解答
引言
📙 生成AI 和 🧪 谷歌Vertex AI 的新特性如 Gen AI Studio、Model Garden 和 Gen AI API 等,已经引起了极大的关注。本次讲座的目的是为了让大家对支撑Gen AI魔力的某些概念有个坚实的基础。今天我要谈的是Transformer模型和BERT模型。
自然语言处理的演进
Word2Vec和N-gram
自然语言处理在过去几年中进行了许多演进。在2013年,神经网络在表示文本方面取得了突破,例如 Word2Vec 和 N-gram。这些模型可以将单词表示为向量,但这些向量并不包含上下文信息。例如,在注意力机制问世之前,表示bank和河岸的bank与表示银行劫匪的bank可能具有相同的向量表示。
序列到序列模型和RNN
在2014年,序列到序列模型(如循环神经网络(RNN)和长短期记忆(LSTM))的发展提高了机器学习模型在自然语言处理任务(如翻译和文本分类)中的性能。
注意力机制和Transformer
2015年,注意力机制和基于此构建的模型(如Transformer和BERT模型)推动了自然语言处理领域的发展。Transformer模型是基于2017年一篇名为《Attention Is All You Need》的论文提出的。与Transformer之前的所有模型能够将单词表示为向量不同,Transformer模型能够根据上下文信息对单词进行表示。
Transformer模型
编码器和解码器
Transformer模型由编码器和解码器组成。编码器对输入序列进行编码并将其传递给解码器,解码器根据任务解码表示。编码器由多个相同结构的编码器层堆叠而成。原始的Transformer论文在模型中使用了六个编码器层,但这个数量并不是固定的,它是一个超参数。
自注意力机制
编码器的每个编码器层都由两个子层组成:自注意力层和前馈神经网络层。自注意力层将输入通过一个自注意力机制,以便在编码输入句子时查看相关部分的单词。前馈神经网络层接收自注意力层的输出,并对每个位置的向量进行独立的处理。
前馈神经网络
前馈神经网络层是编码器的第二个子层,它接收自注意力层的输出向量,并将其发送到独立的前馈神经网络中进行处理。前馈神经网络使用相同的网络结构,但是每个向量都会独立地通过网络。
编码器-解码器注意力
解码器中包含自注意力和前馈神经网络层,但在它们之间还有一个编码器-解码器注意力层。编码器-解码器注意力层帮助解码器集中注意力于输入句子的相关部分。在嵌入输入句子的单词后,每个嵌入向量都会依次通过编码器的两个子层。自注意力层会对每个位置的单词进行处理,然后将其发送到前馈神经网络中。自注意力层中存在依赖关系,而前馈神经网络层中没有这些依赖关系,因此在前馈神经网络层中可以同时执行不同的路径。
Transformer的多层结构
Transformer模型有多种不同的变体。有些模型同时使用了编码器和解码器组件,有些只使用了编码器,有些只使用了解码器。BERT是一个常见的只使用编码器的变体。BERT代表双向编码器表示来自transformers,它在2018年由谷歌开发。BERT模型非常强大,可以处理较长的输入上下文。BERT模型是基于整个维基百科语料库和图书语料库进行训练的。BERT模型的训练步骤达到了100万步。BERT模型在训练时使用了多任务学习的方法,这使得它可以处理各种不同的NLP任务。
BERT模型
Bert的结构和参数
BERT模型包括BERT Base和BERT Large两个版本。BERT Base有12个transformer层,约有1.1亿个参数;而BERT Large有24个transformer层,约有3.4亿个参数。相比之下,原始的Transformer只有6个层。
Bert的训练目标
BERT模型的训练目标可以分为两个任务。第一个任务是掩码语言模型,其中句子中的单词被掩码,模型需要预测这些单词。第二个任务是预测下一个句子,模型需要根据给定的第一句预测第二句。BERT模型被训练用于句子级别和标记级别的任务。
Bert的输入嵌入
为了输入到BERT模型中,需要提供三种不同类型的嵌入:标记嵌入、段嵌入和位置嵌入。标记嵌入将句子中的每个标记表示为嵌入向量。段嵌入用于区分输入中的不同句子。位置嵌入则反映了输入序列中单词的位置顺序。
Bert的多任务学习
BERT模型被训练用于多个不同的下游任务,例如文本分类、问答和命名实体识别等。不同任务只需将输入的文本进行简单的拼接并输入到模型中。
结论
在自然语言处理领域,Transformer和BERT模型的出现带来了重大的突破。通过自注意力机制和多任务学习,这些模型能够更好地处理自然语言,实现了语义理解和上下文感知。Transformer和BERT模型在各种NLP任务中取得了显著的性能提升,成为了当今最先进的自然语言处理模型之一。
常见问题解答
问:BERT模型可以处理哪些NLP任务?
答:BERT模型可以用于文本分类、句子对分类、问答和单句标记等各种NLP任务。
问:BERT模型的训练步骤是如何进行的?
答:BERT模型通过预测掩码语言模型和下一个句子的任务进行训练,使用多任务学习的方法。
问:BERT模型有多少个参数?
答:BERT Base模型有约1.1亿个参数,BERT Large模型有约3.4亿个参数。
问:BERT模型的优势是什么?
答:BERT模型能够处理较长的输入文本,并且通过预训练的方式在多个NLP任务上获得了较好的效果。
问:Transformer模型与RNN模型有何不同?
答:与RNN模型相比,Transformer模型可以并行地处理输入序列,而不受顺序的限制,并且具有更好的上下文感知能力。
问:为什么使用注意力机制在自然语言处理中很重要?
答:注意力机制可以帮助模型更好地理解文本中的上下文信息,从而提高自然语言处理的性能。
资源: