## 从三个候选算出一次选择损失 ## 解释、算例与证据 # P10 · 一次对比,就是一次有答案的选择 这一页把相似关系变成可优化的概率与损失。分数、温度、softmax和负对数必须能对上同一组数。 图内标签与数值:P10 学习表示机制图,状态 2;三候选教学算例 · 指定第 1 项为正例;相似度 s;除以温度 τ = 0.5;归一化概率 p;k⁺;1;2;0.665;k₁;0.5;1;0.245;k₂;0;0;0.090;pⱼ = exp(sⱼ / τ) / Σₗ exp(sₗ / τ);L = −ln p⁺ = 0.408 三候选相似度1、0.5、0经过温度0.5缩放成2、1、0,概率0.665、0.245、0.090,指定正项损失0.408。 - 三候选教学算例 · 指定第 1 项为正例 - 相似度 s - 除以温度 τ = 0.5 - 归一化概率 p - k⁺ - 1 - 2 - 0.665 - k₁ - 0.5 - 1 - 0.245 - k₂ - 0 - 0 - 0.090 - pⱼ = exp(sⱼ / τ) / Σₗ exp(sₗ / τ) - L = −ln p⁺ = 0.408三候选相似度1、0.5、0经过温度0.5缩放成2、1、0,概率0.665、0.245、0.090,指定正项损失0.408。 [查看对应图解状态](/#/l3-r2-p10/1)[查看完整图解](/course/figures/l3-r2-p10-1.html) ## 课堂讲述 现在用三个候选算一次。我们设它们与查询的相似度分别是 1、0.5、0,第一项是正例。经过温度缩放和归一化,模型给正例的概率约为 0.665。训练希望这个指定对应获得更高的相对分数。 这里的“答案”不是狗或猫,而是:这一组候选里,哪一项与查询对应。负对数损失把这个选择变成可以优化的数值。温度会改变分数差距转换成概率后的尖锐程度,并进一步影响梯度。 不需要把公式背下来,但要能够指着图回答:谁是查询,谁是正例,谁进入比较,误差从哪里来。这四件事清楚以后,对比学习就不再只是散点图上“拉近一点、推远一点”的动画。 ### 把对比损失算成一道选择题 [独立阅读](/course/blocks/infonce-as-candidate-choice.html) 设查询的三个候选logit为2、1、0,第一项是已知正例。这些是**温度缩放后的分数**,不是三个原始余弦值。softmax分母为 $e^2+e^1+e^0\approx11.107$,概率约为 $(0.6652,0.2447,0.0900)$,正例损失 $-\ln0.6652\approx0.4076$。 一般式为 $L=-\log\{\exp(s_+/\tau)/\sum_j\exp(s_j/\tau)\}$,分母包含正例。提高正例相对分数会降低损失;把所有分数同时加一个常数不会改变概率,所以目标关注相对选择而非绝对分数大。 实际训练中分数由图像经编码器算出,损失反传到参数。手算这一行只解释目标,不是模型实验。接到LAB 07时,应沿真实图像→两视图→向量→logit→loss→参数变化逐项找到对应对象。 #### 图示条件与公式约定 教学设定 s=[1,.5,0],τ=.5,logits=[2,1,0];p=[.6652409558,.2447284711,.0900305732];−ln p+=.4076059644。分母含三个候选,不含查询自身;非模型输出。降低温度提高当前最高分的尖锐程度,并非对所有样本一概增大梯度。 #### 这条线索的展开与后续阅读 - [对比任务由我们构造|核心改动怎样工作](/supplement.html?return=l3-r2-p10/0#/l3-infonce-matrix-mechanism/0) 本页说明 - [对比任务由我们构造|一起算一个完整例子](/supplement.html?return=l3-r2-p10/0#/l3-infonce-matrix-example/0) 本页说明 ## 温度改变概率和梯度,不改变原始排序 固定另一组相似度(.8,.4,.2),把温度当唯一变化量。 ### 温度改变什么,不改变什么? [独立阅读](/course/blocks/temperature-ranking-probability-gradient.html) 固定相似度为 $(0.8,0.4,0.2)$,第一项是正例。温度1、0.5、0.1时,正例概率分别约0.4506、0.5713、0.9796。排序完全不变,但概率越来越集中。若正例分数低于最强负例,低温度也会更尖锐地放大错误选择。 梯度能解释其作用:$\partial L/\partial s_+=(p_+-1)/\tau$,负例为 $p_j/\tau$。温度既改变分母中的尺度,也改变概率。因此“温度越低,梯度越大”并不总成立:正例已经几乎确定时,$1-p_+$也会接近零。 把温度调低造成的loss下降,不能当作表示已经改善。温度是训练条件,最终仍用固定读出协议评价。课堂上可以让学生先预测哪一项概率增加,再计算;避免同时改相似度、候选数和温度,使原因无法辨认。 ## 沿这个问题继续 先算画面2、1、0,再读温度块;LAB 07开头只做数值热身即可,真实训练另读后段。 **出处:**[SimCLR 原论文(2020)](https://arxiv.org/abs/2002.05709) · [MoCo 原论文(2019 / CVPR 2020)](https://arxiv.org/html/1911.05722v3)