把对比损失算成一道选择题
设查询的三个候选logit为2、1、0,第一项是已知正例。这些是温度缩放后的分数,不是三个原始余弦值。softmax分母为 ,概率约为 ,正例损失 。
一般式为 ,分母包含正例。提高正例相对分数会降低损失;把所有分数同时加一个常数不会改变概率,所以目标关注相对选择而非绝对分数大。
实际训练中分数由图像经编码器算出,损失反传到参数。手算这一行只解释目标,不是模型实验。接到LAB 07时,应沿真实图像→两视图→向量→logit→loss→参数变化逐项找到对应对象。
这一页把相似关系变成可优化的概率与损失。分数、温度、softmax和负对数必须能对上同一组数。
三候选相似度1、0.5、0经过温度0.5缩放成2、1、0,概率0.665、0.245、0.090,指定正项损失0.408。
现在用三个候选算一次。我们设它们与查询的相似度分别是 1、0.5、0,第一项是正例。经过温度缩放和归一化,模型给正例的概率约为 0.665。训练希望这个指定对应获得更高的相对分数。 这里的“答案”不是狗或猫,而是:这一组候选里,哪一项与查询对应。负对数损失把这个选择变成可以优化的数值。温度会改变分数差距转换成概率后的尖锐程度,并进一步影响梯度。 不需要把公式背下来,但要能够指着图回答:谁是查询,谁是正例,谁进入比较,误差从哪里来。这四件事清楚以后,对比学习就不再只是散点图上“拉近一点、推远一点”的动画。
设查询的三个候选logit为2、1、0,第一项是已知正例。这些是温度缩放后的分数,不是三个原始余弦值。softmax分母为 ,概率约为 ,正例损失 。
一般式为 ,分母包含正例。提高正例相对分数会降低损失;把所有分数同时加一个常数不会改变概率,所以目标关注相对选择而非绝对分数大。
实际训练中分数由图像经编码器算出,损失反传到参数。手算这一行只解释目标,不是模型实验。接到LAB 07时,应沿真实图像→两视图→向量→logit→loss→参数变化逐项找到对应对象。
教学设定 s=[1,.5,0],τ=.5,logits=[2,1,0];p=[.6652409558,.2447284711,.0900305732];−ln p+=.4076059644。分母含三个候选,不含查询自身;非模型输出。降低温度提高当前最高分的尖锐程度,并非对所有样本一概增大梯度。
固定另一组相似度(.8,.4,.2),把温度当唯一变化量。
固定相似度为 ,第一项是正例。温度1、0.5、0.1时,正例概率分别约0.4506、0.5713、0.9796。排序完全不变,但概率越来越集中。若正例分数低于最强负例,低温度也会更尖锐地放大错误选择。
梯度能解释其作用:,负例为 。温度既改变分母中的尺度,也改变概率。因此“温度越低,梯度越大”并不总成立:正例已经几乎确定时,也会接近零。
把温度调低造成的loss下降,不能当作表示已经改善。温度是训练条件,最终仍用固定读出协议评价。课堂上可以让学生先预测哪一项概率增加,再计算;避免同时改相似度、候选数和温度,使原因无法辨认。
先算画面2、1、0,再读温度块;LAB 07开头只做数值热身即可,真实训练另读后段。