admin 管理员组

文章数量: 1086019


2024年3月13日发(作者:冒号 python正则表达式)

BERT(Bidirectional Encoder Representations from Transformers)是

一种预训练的深度学习语言模型,由Google在2018年推出。其编码过程主要

涉及以下步骤:

1. Tokenization:

输入文本首先经过分词处理,被转换为一系列子词或词汇单元(tokens)。

BERT使用的是WordPiece Tokenizer,它可以将复杂单词拆分为子词。

2. Embeddings Layer:

每个token会被映射到一个低维向量空间,形成token embeddings。

BERT还包括位置embeddings,用于捕获序列中每个token的位置信息。

对于特定任务,BERT还可能加入segment embeddings以区分句子对中

的两个句子。

3. Transformer Encoder Layers:

生成的嵌入向量随后输入到多层Transformer编码器结构中。每一层包含

自注意力机制(Self-Attention),允许模型考虑整个序列上下文来理解每个

token的意义。

Transformer encoder的输出是每个token在其上下文中的表示,这些表

示能够捕捉复杂的语言特征和关系。

具体编码流程如下:

a. 将原始文本转化为token ID序列,并添加特殊符号:[CLS]、[SEP]以及

填充符[PAD]等。

b. 通过嵌入层将每个token ID转化为对应的嵌入向量(包括token

embedding、position embedding和segment embedding的加权求和)。

c. 将嵌入后的向量输入到Transformer编码器中,经过多层的自注意力和

前馈神经网络计算得到最终的隐藏状态表示。

4. 输出表示:

对于分类任务,通常取第一个token(即[CLS]标记)的隐藏状态作为整个

序列的总体表示,送入后续的全连接层进行分类预测。

对于其它任务如问答系统或者命名实体识别等,可以利用整个序列中每个

token的隐藏状态做进一步处理。


本文标签: 序列 向量 语言 隐藏 嵌入