Token Lab搜索

← 全部研究实验
PHD / RESEARCH ENGINEERING

对比学习与假负样本

检查 InfoNCE、温度,以及施加给潜在假负样本的精确梯度。

本地计算与合成示例,不调用付费 API,不代表真实大模型基准。
学习指南与本课目录LEARNING CONTRACT

理解 → 实现 → 研究

目标:解释本课机制、复现一个例子、测试一个失败案例。读完不自动代表掌握。

01 · 理解与推导

前置知识 · Softmax、交叉熵与导数。

梯度下降会提升正样本相似度、降低负样本相似度。高分负样本通常受到更强的向下推动。如果它实际上相关,训练信号就与期望语义冲突。

Text / 原始公式
L = −log[exp(s₊/τ) / Σⱼ exp(sⱼ/τ)]
∂L/∂sᵢ = (pᵢ − 1[i=positive]) / τ
positive index is zero-based; excluded candidates leave the denominator
逐步推导与研究解释
  1. 写出 ₊/τ+log Σexp(sⱼ/τ)。对 log-sum-exp 求导得到 pᵢ/τ,因此 ∂L/∂=+])/τ,梯度总和为零。
  2. 梯度下降会降低正导数负样本的分数,因此假负样本即使相关也会被推远。难负样本不自动等于正确负样本。
  3. 温度同时改变 1/τ 缩放和 softmax 概率。饱和可能抵消尺度增大,不能假设降低温度会单调增大所有梯度。

常见误区:移除候选使分类任务更容易;损失降低本身不能证明表示学习改善。

02 · 检查知识掌握

3 个相同相似度分数,其中一个是正样本,InfoNCE 损失是多少 nat?

查看推导

−ln(1/3) = ln(3) ≈ 1.098612

03 · 运行对照实验

实验任务

假设索引 1 是已知假负样本。先使用所有候选,再排除索引 1,对比它的梯度和正样本概率。依次测试温度 0.05、0.2 和 1。

可执行的对照实验流程
  1. 采用默认分数和正样本索引 0,排除任何候选前先记录候选 1 的概率与梯度。
  2. 假设候选 1 已被独立标注为相关,排除后重跑;它的梯度变零,正样本概率上升。
  3. 分别在温度 0.05、0.2、1 下运行,提交梯度对照,并为真实编码器提出固定的留出检索评测。

交付物:输入配置、结果导出、控制变量说明、观察结果、替代解释及下一步验证。

查看提示

移除候选会改变任务难度。移除后损失更低不能证明向量质量改善,应该评估固定的留出检索任务。

04 · 检查证据

运行实验后查看证据。

仅比较控制变量后的运行结果,导出包含输入与方法。

05 · 解释研究判断

自评要点:解释机制、识别假设、提出可区分不同解释的实验。不使用 LLM 自动评分。

1. 为什么更难的负样本可能有害?

查看参考答案与评分要点

它们可能是假负样本或标注错误,高概率会带来较强的排斥梯度。

2. 更低温度是否一定增大所有梯度?

查看参考答案与评分要点

不一定。1/τ 变大,但 softmax 概率也会变化并可能饱和,必须同时看两项。

3. 如何验证新的负样本挖掘策略?

查看参考答案与评分要点

固定编码器、数据预算和评测,审计负样本标注,比较多个种子,测量留出检索效果而不只看训练损失。

假设与限制

这里精确计算单锚点损失与分数梯度,不训练编码器,也不能自动识别假负样本。检索质量需要独立数据集验证。

参考资料

arXiv:1807.03748 · 2018

Representation Learning with Contrastive Predictive Coding

van den Oord, Li & Vinyals · 年份为首次 arXiv 投稿年份

建议阅读:第 2.3 节 InfoNCE;附录 A.1 互信息论证。

读后自测:解释互信息下界前,先明确负样本采样假设。

BibTeX
@misc{arxiv180703748,
  title = {Representation Learning with Contrastive Predictive Coding},
  year = {2018},
  eprint = {1807.03748},
  archivePrefix = {arXiv},
  url = {https://arxiv.org/abs/1807.03748}
}

arXiv:2002.05709 · 2020

A Simple Framework for Contrastive Learning of Visual Representations

Chen et al. · 年份为首次 arXiv 投稿年份

建议阅读:框架、数据增强消融、投影头与对比目标函数。

读后自测:列出哪些增强不变性适合或损害你的领域。不能只用更低训练损失评价。

BibTeX
@misc{arxiv200205709,
  title = {A Simple Framework for Contrastive Learning of Visual Representations},
  year = {2020},
  eprint = {2002.05709},
  archivePrefix = {arXiv},
  url = {https://arxiv.org/abs/2002.05709}
}
MATHEMATICAL REVIEW · 2026-10-26

假设、参考实现与验收

这里精确计算单锚点损失与分数梯度,不训练编码器,也不能自动识别假负样本。检索质量需要独立数据集验证。

已复核目标、导数、算例及实现。通过有限差分或清单检查不代表完成论文复现。

分数及指定正样本 → 排除自身 · 除以温度 → log-sum-exp → 负 log 概率 → 检查分数梯度与负样本
机制图:从上到下跟踪每次变换。

运行前:预测一个边界情况

假设索引 1 是已知假负样本。先使用所有候选,再排除索引 1,对比它的梯度和正样本概率。依次测试温度 0.05、0.2 和 1。

提示:隔离假设

固定基线输入,只改变一个参数或边界;同时比较数值与声明单位。单例通过仅验证该样例。

最小可运行算例

将算例及所链接模块保存在同一目录。使用 Node.js 22 或更高版本,然后运行 node contrastive-learning.mjs. 无需第三方运行依赖。

import {runPhd} from './phd-core.mjs';
const params={
  "scores": "0.8,0.75,0.2,-0.1",
  "positive": 0,
  "temperature": 0.2,
  "exclude": -1
};
console.log(runPhd('contrastive-learning',params));

测试与迁移

假设索引 1 是已知假负样本。先使用所有候选,再排除索引 1,对比它的梯度和正样本概率。依次测试温度 0.05、0.2 和 1。

在下方笔记记录输入、代码版本、期望值和实测值;再构造违反上述假设的反例,解释原结论为何不再成立。

下载完整代码包(.tar.gz) · 完整参考代码与回归检查

预测、检验与证据记录

展开答案前先预测一个结果;练习后记录差异和迁移测试。记录仅存本地,在不同语言版本间共用。

打开记录/导出/清除 →

数学复核范围逐篇记录,不代表完成论文实证复现;可在笔记中记录疑似错误。 复核范围