当前位置: 首页 > ds >正文

[CLS] 向量是 BERT 类模型中一个特别重要的输出向量,它代表整个句子或文本的全局语义信息

[CLS] 向量是 BERT 类模型中一个特别重要的输出向量,它代表整个句子或文本的全局语义信息


✅ 什么是 [CLS]

在 BERT 模型中,每条输入前会加一个特殊的 token:[CLS](classification 的缩写)。这个 token 没有具体语义,它的作用是:

充当整个句子的“代表”,最终用于下游任务,比如分类、回归、句子匹配等。


✅ 结构上发生了什么?

举个例子,假设我们输入一句话:

text = "今天北京天气很好"

经过 tokenizer 编码后,变成:

['[CLS]', '今天', '北京', '天气', '很', '好', '[SEP]']

经过 BERT 编码器后,每个 token 都会有一个向量(比如维度是 768)。其中:

  • [CLS] 对应的向量:是模型设计用来表示“整句话”的向量
  • 北京天气 等 token 也会有自己的向量,但它们是词级别的

✅ 举个例子说明 [CLS] 的用途

假设你要做情感分类任务,比如判断一句话是“正面”还是“负面”:

text = "这个产品很好用,我很喜欢"

你输入这句话,BERT 模型就会输出一组向量,包括一个 [CLS] 向量。

然后你会这样用它:

logits = classifier(cls_embedding)  # 把 [CLS] 向量输入分类器

这个 classifier 通常是一个线性层或者小 MLP,用来输出二分类结果(正面/负面)。


[CLS] 向量 vs Sentence-BERT 向量

对比点[CLS] 向量Sentence-BERT 向量
目的原生是为分类服务的特别为句子表示训练过(句子检索、语义匹配)
训练方式原始 BERT 没训练 句子级别相似度SBERT 专门训练了 句子对 相似度任务
效果用于分类不错,用于 句子匹配 较差更适合做语义检索和句子表示
表达方式单个 [CLS] 向量通常是 mean pooling 所有 token 向量

✅ 总结一句话:

[CLS] 向量是 BERT 的“全句代表”,适合分类任务;但如果你要做语义检索、句子相似度,Sentence-BERT 更合适。

http://www.xdnf.cn/news/5416.html

相关文章:

  • Github 2025-05-10 Rust开源项目日报 Top10
  • TransmittableThreadLocal:穿透线程边界的上下文传递艺术
  • 数据库事务
  • GD32H7复位后程序调用函数时间增加
  • Linux 下 Java 部署环境搭建与项目部署详细步骤
  • 质数和约数
  • LabVIEW电涡流传感器自动校准系统
  • 【编译原理】总结
  • 由反激电源引起的一点儿分析
  • project从入门到精通(五)
  • Java ClassLoader双亲委派机制
  • 亿级流量系统架构设计与实战(六)
  • Python pip安装conan(在线)
  • Block Styler——字符串控件
  • Cell | 大规模 单细胞图谱 揭示非小细胞肺癌抗PD-1治疗后的免疫微环境异质性
  • 47.电压跌落与瞬时中断干扰的防护改善措施
  • JDBC执行sql过程
  • 技术视角解析:哈达斯无醇气泡葡萄汁的双重风味密码​
  • GLPK(GNU线性规划工具包)介绍
  • Java 中的数据类型误导点!!!
  • windows 环境下 python环境安装与配置
  • Redis-x64-3.0.500
  • React文档-State数据扁平化
  • Vue3响应式原理源码解析(通俗易懂版)
  • Qt中在子线程中刷新UI的方法
  • llama.cpp无法使用gpu的问题
  • 【TypeScript】索引签名类型(Index Signatures)
  • 字符串---StringBuilder的使用
  • Kubernetes生产实战(一):多容器Pod协同实践
  • 超详细Kokoro-82M本地部署教程