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

课题学习——SimCSE

1.调研SimCSE

SimCSE发表于人工智能和机器学习领域的顶级国际会议 ICLR 2021

ICLR 2021 的杰出论文奖

开源代码GitHub 地址https://github.com/princeton-nlp/SimCSE

2.研究进展

 ESimCSE: Enhanced SimCSE

  • 论文ESimCSE: Enhanced Sample Building Method for Contrastive Learning of Unsupervised Sentence Embedding

  • 发表会议EMNLP 2022

  • 核心改进:针对无监督 SimCSE 的一个潜在问题——仅依靠 Dropout 构建正样本对,多样性可能不足。ESimCSE 提出了两种增强方法:

    1. 动量对比:引入一个动量编码器来生成更一致的目标表示,类似于 MoCo 在计算机视觉中的做法,可以扩大负样本队列的大小。

    2. 单词重复和删除:一种更积极的数据增强策略,通过随机重复或删除句子中的少量单词来构造正样本对,作为 Dropout 之外的有效补充。

PromptBERT: 使用提示(Prompt)改进 BERT 句向量

  • 论文PromptBERT: Improving BERT Sentence Embeddings with Prompts

  • 发表会议ACL 2022

  • 核心思想:指出了 BERT 系列模型在获取句向量时的一个根本性问题:各向异性(anisotropy),即词向量分布在一个狭窄的锥形空间中,而不是均匀分布,这限制了其表达能力和表现。SimCSE 通过对比学习缓解了此问题,而 PromptBERT 提供了另一种思路。

  • 方法:通过设计模板(Prompt,例如:"[X] The sentence is [MASK].")将原始句子 [X] 填入,然后使用 [MASK] 位置的输出向量作为整个句子的表示。他们发现,这种方法得到的向量空间各向同性(isotropic)更强,分布更均匀。

SNCSE: 解决语义负例(False Negative)问题

  • 论文SNCSE: Contrastive Learning for Unsupervised Sentence Embedding with Soft Negative Samples

  • 发表会议ACL 2023 

  • 核心问题:对比学习中的一个关键假设是:负样本在语义上应与锚点样本不同。但在无监督 SimCSE 中,随机从批次中采样的负样本可能实际上与锚点句子是语义相似的(例如,“今天天气真好”和“阳光明媚的一天”),这些被称为 “False Negatives”或“Semantic Negative”。强行拉远这些样本的距离会损害模型性能。

  • 方法:SNCSE 提出了一种方法来软化这些语义负例的惩罚。它通过计算句子之间的语义相似度来估计一个负样本是“真负例”还是“语义负例”的概率,并据此调整对比损失函数,减轻对语义相似句子的推远力度。

SimCSE是影响力很大的一篇文章,关键在于将简单有效,引入对比学习,后续只是在数据、模型、对比学习方面进行了优化。SimCSE的复现资料很多

3.SimCSE解读

SimCSE可以有监督学习和无监督学习,两个版本都取得了当时最好的效果。

论文指出,像BERT这样的预训练模型产生的句子向量存在“各向异性”(Anisotropy)。这意味着这些向量并不是均匀分布的,而是拥挤在一个狭窄的锥形区域里。这样一来,即使两个句子语义上毫不相关,它们的向量因为都被挤在角落,余弦相似度也可能很高。这严重损害了向量表示的质量和区分度。

对比学习通过推远负样本的机制,隐式地最小化了所有句子向量两两相似度的总和。而这个最小化过程,在数学上等价于在约束条件下压平了相似度矩阵的特征值分布,从而将嵌入向量从拥挤的狭小空间解放出来,使其均匀地分布在整个空间中,极大地提升了表示质量。

有监督

SimCSE主要使用两个NLI数据集:SNLI、MNLI

都是三元组(Triplet) 结构,包含一个前提(Premise) 和两个基于该前提生成的假设(Hypothesis),并为每个假设提供一个标签(Label)蕴含、矛盾、中立。中立标签在SimCSE的最终模型中未被使用(作者实验后发现加入它没有提升)。

通常以JSONL格式存储

{
"sentence1": "A soccer game with multiple males playing.",
"sentence2": "Some men are playing a sport.",
"gold_label": "entailment"
}

如何评判句子向量的质量

Alignment:衡量相似样本对应的特征向量在空间上分布的距离是否足够近

Uniformity:衡量系统保留信息的多样性:映射到单位超球面的特征,尽可能均匀地分布在球面上,分布得越均匀,意味着保留的信息越充分。

作者将不同方法得到的Sentence Embeddings空间的Alignment和Uniformity指标进行比对(两个指标均为越小越好),通过下图我们可以得到相比于直接使用预训练的Bert,SimCSE方法较大程度提升了uniformity

实验结果

这个表格中的所有数字都是百分比形式的Spearman相关系数(模型预测的句子相似度排名人工标注的句子相似度排名之间的一致性),数值越大,说明模型越接近人类的语义判断能力。

http://www.dtcms.com/a/395606.html

相关文章:

  • gitee.com 有raw.githubusercontent.com一样的机制吗?
  • AI原生未来:新商业机会全景洞察与商业模式深度解构
  • Spark源码中的volatile
  • IDEA运行/调试配置找不到对应脚本的命令
  • 测试duckdb的C插件模板的编译加工和加载
  • 如何用AI工具开发一个轻量化CRM系统(二):需求分析
  • ARM架构学习9——LM75温度传感器+ADC转换器
  • 再见,Windows 10:升级 Windows 11 的必要性!
  • 数据结构从入门到实战——算法的时间复杂度
  • Rust字符串
  • 【图文详解】强化学习最新进展以及核心技术突破方向、核心技术架构
  • Linux SSH 安全加固与批量管理:密钥认证 + 自动化脚本 + OpenSSH 升级
  • 一个可以直接跑满本地带宽文件分享工具 开箱即用,可用于局域网内分享文件和文件夹
  • 探索AI无人直播技术:自动化带来的新机遇
  • Codeforces Round 1051 (Div. 2) D1题 题解记录
  • 计算机视觉、图像处理国际学术会议
  • redhat7.4升级到Oracle Linux8.10
  • PEFT库实战快速入门
  • PyTorch 核心知识手册:神经网络构建与训练基础
  • DeepSeek对数学工具的分类(2025.1.13)
  • 2025年9月打磨机器人新技术解析与常见知名品牌推荐
  • STM32开发(WiFi - ESP8266)
  • ArcGIS 车辆轨迹跟踪 视频制作 第一人称视觉跟踪
  • Ansible自动化运维平台部署
  • VGG和PyTorch 神经网络工具箱
  • Linux系统nginx(一)
  • 144g网页制作最新 144g网页在线生成方法
  • PyTorch 神经网络工具箱全面解析
  • mac-vlan 概念及题目
  • 【华为OD机考正在更新】2025年双机位A卷真题【完全原创题解 | 详细考点分类 | 不断更新题目 | 六种主流语言Py+Java+Cpp+C+Js+Go】