在以数字(如 1、2、3、4、5 等)为标签的句子分类任务中,BERT 各层结构和功能的分析如下:
模型结构和作用
-
Embedding 层
- Token Embedding:将词汇映射到向量空间中,每个词汇被表示为一个固定维度的向量(如 768 维),用于捕捉词汇的基本语义。
- Position Embedding:在序列中加入每个词汇的位置编码,使模型能够理解词序。虽然 BERT 使用的是固定的 sin-cos 编码,无需额外参数,但它对句子建模仍然至关重要。
- Token Type Embedding:区分不同句子对的输入(在句子分类任务中若为单句,则可以忽略)。
总结:Embedding 层为模型提供了句子中每个词的基本语义表示和顺序信息,使得后续层可以在此基础上捕捉词汇之间的关系。
-
Attention Block
BERT 的 Attention Block 是模型的核心,包括以下几个部分:-
Self-Attention 层:计算句子中每个词与其他词的相关性,使模型能够捕捉长距离的语义依赖关系。
- 作用:通过自注意力机制,模型能够识别与分类标签相关的关键部分或词语,形成整个句子的上下文语义表示。
-
FFN 层(前馈神经网络层):包括两个全连接层,用于对自注意力层输出的上下文向量进行进一步的非线性变换。
- 作用:增加模型的表达能力,使其能够学习到更高层次的句子特征,有助于分类任务。
-
LayerNorm 层:对输入进行归一化,保证训练过程中的稳定性和有效性。
总结:Attention Block 帮助模型构建更丰富的句子语义表示,自注意力机制关注到句子中的关键信息,FFN 层增加模型的表达能力,LayerNorm 保持训练稳定性。
-
-
12 层 Transformer 堆叠
分类任务中的应用
在句子分类任务中,例如将句子分类为类别 1、2、3、4、5 等,BERT 的输出 [CLS]
向量作为整个句子的语义表示。这一步通常的过程如下:
- 模型输入:将句子经过 BERT 层处理,生成最后一层的
[CLS]
表示,代表整个句子的语义信息。 - 分类层:将
[CLS]
表示通过一个全连接层(Linear Layer)转换为不同类别的得分。 - Softmax 层:对得分进行归一化,得到每个类别的概率分布。
- 输出类别:选择概率最高的类别作为最终分类结果。