[CLS] 标记的概念
[CLS] 是一种特殊的标记(token),在基于Transformer架构(如BERT、HAMMER等)的模型中广泛使用。它通常被添加到输入序列的开头,用于表示整个输入序列的全局语义信息。
[CLS] 的特点与作用
1、序列全局表示:
在Transformer模型中,经过多层自注意力机制后,输入的每个token都会被更新为其上下文感知的表示。
[CLS] 标记的嵌入向量经过自注意力机制后,能够聚合整个输入序列的全局信息,因此常用于分类任务或序列级别的表示学习。
2、位置固定:
[CLS] 通常固定添加在输入序列的最前面。
在输入序列中,假设序列为 [“The”, “cat”, “is”, “on”, “the”, “mat”],模型的实际输入为:
[[CLS],“The”,“cat”,“is”,“on”,“the”,“mat”]
3、专用任务的设计:
在BERT等模型中,[CLS] 的最终嵌入通常被送入特定的分类头,用于执行任务(如分类、回归等)。
在多模态模型中(如HAMMER),[CLS] 嵌入被用作融合了多模态信息的全局表示,用于多标签分类、二分类等任务。
[CLS] 在具体任务中的使用
1、文本分类任务
在单模态文本任务中,[CLS] 的输出嵌入表示整个文本序列的特征,直接用于分类任务:
y
^
=
softmax
(
W
⋅
h
[
C
L
S
]
)
\hat{y}=\operatorname{softmax}\left(W \cdot h_{[\mathrm{CLS}]}\right)
y^=softmax(W⋅h[CLS])
其中,
h
[
C
L
S
]
h_{[CLS]}
h[CLS]是最后一层Transformer的[CLS]嵌入,W 是分类任务的权重矩阵。
2、多模态任务
在多模态模型(如HAMMER)中,[CLS] 嵌入通过跨模态注意力机制,整合了图像和文本的特征,表示图像-文本对的全局语义,用于以下任务:
二分类(真实/伪造):
使用 [CLS] 嵌入预测输入是否被操控。
多标签分类(伪造类型检测):
[CLS] 嵌入表示多模态特征的综合结果,用于预测伪造类型。
3、嵌入特征迁移
[CLS] 嵌入还可用于迁移学习,将其作为高层次特征,应用于其他下游任务。
[CLS] 的优势
高效:通过一个标记即可捕获全局信息,无需额外的序列处理。
任务通用性强:适用于分类、回归、排序、多模态学习等多种任务。
容易扩展:可以与其他标记(如[SEP]、[MASK])协同工作,用于不同任务场景。
[CLS] 的局限性
信息损失:由于它是一个单一向量,有时难以充分表达复杂序列的所有细节信息。
依赖架构优化:需要精心设计自注意力机制和任务头,才能充分利用 [CLS] 嵌入。
与具体任务相关性有限:在一些任务中,[CLS] 的嵌入可能不能完全反映局部特征。
总的来说,[CLS] 是Transformer模型中一个关键的标记,通过捕获全局语义,支持多种任务的实现,尤其适合分类和多模态任务。