1. 为什么更难的负样本可能有害?
查看参考答案与评分要点
它们可能是假负样本或标注错误,高概率会带来较强的排斥梯度。
检查 InfoNCE、温度,以及施加给潜在假负样本的精确梯度。
本地计算与合成示例,不调用付费 API,不代表真实大模型基准。目标:解释本课机制、复现一个例子、测试一个失败案例。读完不自动代表掌握。
前置知识 · Softmax、交叉熵与导数。
梯度下降会提升正样本相似度、降低负样本相似度。高分负样本通常受到更强的向下推动。如果它实际上相关,训练信号就与期望语义冲突。
L = −log[exp(s₊/τ) / Σⱼ exp(sⱼ/τ)] ∂L/∂sᵢ = (pᵢ − 1[i=positive]) / τ positive index is zero-based; excluded candidates leave the denominator
常见误区:移除候选使分类任务更容易;损失降低本身不能证明表示学习改善。
3 个相同相似度分数,其中一个是正样本,InfoNCE 损失是多少 nat?
−ln(1/3) = ln(3) ≈ 1.098612
假设索引 1 是已知假负样本。先使用所有候选,再排除索引 1,对比它的梯度和正样本概率。依次测试温度 0.05、0.2 和 1。
交付物:输入配置、结果导出、控制变量说明、观察结果、替代解释及下一步验证。
移除候选会改变任务难度。移除后损失更低不能证明向量质量改善,应该评估固定的留出检索任务。
运行实验后查看证据。
仅比较控制变量后的运行结果,导出包含输入与方法。
自评要点:解释机制、识别假设、提出可区分不同解释的实验。不使用 LLM 自动评分。
它们可能是假负样本或标注错误,高概率会带来较强的排斥梯度。
不一定。1/τ 变大,但 softmax 概率也会变化并可能饱和,必须同时看两项。
固定编码器、数据预算和评测,审计负样本标注,比较多个种子,测量留出检索效果而不只看训练损失。
这里精确计算单锚点损失与分数梯度,不训练编码器,也不能自动识别假负样本。检索质量需要独立数据集验证。
arXiv:1807.03748 · 2018
van den Oord, Li & Vinyals · 年份为首次 arXiv 投稿年份
建议阅读:第 2.3 节 InfoNCE;附录 A.1 互信息论证。
读后自测:解释互信息下界前,先明确负样本采样假设。
@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
Chen et al. · 年份为首次 arXiv 投稿年份
建议阅读:框架、数据增强消融、投影头与对比目标函数。
读后自测:列出哪些增强不变性适合或损害你的领域。不能只用更低训练损失评价。
@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}
}这里精确计算单锚点损失与分数梯度,不训练编码器,也不能自动识别假负样本。检索质量需要独立数据集验证。
已复核目标、导数、算例及实现。通过有限差分或清单检查不代表完成论文复现。
假设索引 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) · 完整参考代码与回归检查展开答案前先预测一个结果;练习后记录差异和迁移测试。记录仅存本地,在不同语言版本间共用。
打开记录/导出/清除 →数学复核范围逐篇记录,不代表完成论文实证复现;可在笔记中记录疑似错误。 复核范围