VIT中的cls token是怎么起作用的

在 Vision Transformer (ViT) 中,CLS token(分类 token)是一个特殊的标记,主要用于在模型的分类任务中提取全局图像的特征表示。以下是 CLS token 的作用及其工作原理的详细解释:

  1. CLS Token 的引入

    • CLS Token 是一种借鉴自 NLP 领域(Transformer 模型中)的设计。在自然语言处理中,CLS token 通常用于表示整个输入序列的全局语义信息。
    • 在 ViT 中,CLS token 的目的是为图像输入提供一个全局的代表符号。

  2. CLS Token 的工作原理

输入阶段:
1. 图像切分为 Patch:
• 输入图像被分割成固定大小的 patches(如 ),每个 patch 被展平成一个向量。
• 这些 patches 被嵌入为固定长度的特征向量,称为 patch embeddings。
2. 添加 CLS Token:
• 在 patch embeddings 序列的最前面添加一个特殊的 CLS token。
• CLS token 通常是一个可以学习的向量(随机初始化),其维度与 patch embedding 相同。
3. 位置编码:
• 对每个 patch 和 CLS token 加入位置编码,帮助模型感知输入的位置信息。

Transformer 阶段:
1.自注意力机制:
• CLS token 会参与所有层的自注意力计算,与每个 patch embedding 交互。
• 在每一层中,CLS token 会不断汇聚来自所有 patch 的全局信息。
2. 最终输出:
• 在最后一层 Transformer 中,CLS token 的特征向量被提取出来,作为整个输入图像的全局表征。
• 这个表征被传递到分类头(如全连接层)进行分类任务。

  1. CLS Token 的作用
    (1) 全局特征聚合
    • CLS token 通过自注意力机制,从所有图像 patches 中收集全局上下文信息。
    • 它的最终表示可以被视为整个图像的全局特征。

(2) 任务输出
• 对于分类任务,CLS token 的特征被直接用作分类头的输入。
• 它替代了 CNN 中常用的全局池化操作(如 GAP,全局平均池化)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值