KD损失 比较常见了
对于源模态上的原始训练任务,此类数据没有真实标签 y,因此我们忽略我们测试的所有目标中的 H(y, yS ) 项。
这个比较适合看图
Experiments
我们在三个知识蒸馏任务中评估我们的对比表示蒸馏 (CRD) 框架:
(a)大型网络的模型压缩到较小的网络;
(b) 跨模态知识转移;
(c) 从一组教师到单个学生网络的集成蒸馏。
数据集也用了好多 其实对比实验没什么好看的
这个图还是很有意思的
常规交叉熵忽略了教师网络的类 logits 之间的相关性。
蒸馏框架使用“软目标”(Hinton et al., 2015),它有效地捕获这种相关性并将它们转移到学生网络,导致蒸馏的成功。
我们在这里可视化了 CIFAR-100 知识蒸馏任务上不同学生网络的学生和教师 logits 的相关矩阵的差异:
(a)未经蒸馏训练的学生,表明教师和学生的互相关非常不同;
(b)注意转移蒸馏的学生(Zagoruyko & Komodakis, 2016a);差异减少(见轴);
(c) KL散度蒸馏的学生(Hinton et al., 2015),也显示出差异减少;
(d)对比目标蒸馏的学生,显示学生与老师的相关性之间存在显著的匹配。
在这个可视化中,我们使用 WRN-40-2 作为教师,WRN-40-1 作为学生。
捕获类间相关性。在图 2 中,我们计算了教师和学生 logits 的相关矩阵之间的差异;对于三个不同的学生:没有蒸馏的普通学生,由 AT、KD 或 CRD 训练(我们的方法)。很明显,CRD 目标捕获了 logit 中最相关的结构,如教师和学生之间的差异较小。这体现在错误率降低上。
对比实验分析
令人惊讶的是,我们发现 KD 效果很好,并且其他方法都没有单独优于 KD。
另一个观察结果是,虽然将教师学生组合从相同的架构风格切换到不同的架构风格,但提取中间表示的方法往往比从最后几层中提取的方法表现更差。
例如,注意力转移 (AT) 和 FitNet 方法甚至不如普通学生。相比之下,在最后几层上运行的 PKT、SP 和 CRD 表现良好。
这可能是因为,不同风格的架构有自己的解决方案路径,从输入映射到输出,因此强制中间表示的模拟可能与这种归纳偏差相冲突。
Transferability of representations
a primary goal of representation learning is to acquire general knowledge, that is, knowledge that transfers to tasks or datasets that were unseen during training.
表示学习的主要目标是获取一般知识,即转移到训练期间看不到的任务或数据集的知识。
其实KD确实是具有实际意义的
我们随机初始化色度网络,或者通过从亮度网络中提取,该网络使用大规模标记图像进行训练。
我们通过 (a) 线性探测和 (b) 完全微调来评估蒸馏性能。
展示了 CRD 在两种情况下跨模态迁移的潜力:(a)从亮度转移到色度; (b) 从 RGB 转移到深度图像。
深度网络的集合通常可以获得更好的分类性能,但这些推理时间通常过于昂贵,并且蒸馏到单个网络中是一项理想的任务。
ABLATIVE STUDY
nfoNCE v.s。我们的。InfoNCE (Oord et al., 2018) 是一种替代对比目标,它通过 softmax 函数从一组干扰项中选择单个正面。当使用相同数量的负数时,我们将 InfoNCE 与我们的对比目标方程 18 进行比较。表 6 中的最后两行表明,我们的目标在 5 个师生组合中的 4 个中优于 InfoNCE。
Negative Sampling
两种采样策略
One might imagine that the first sampling strategy will increase the intra-class variance as we may push apart positives and negatives from the same underlying class, while the second would not.
第一个采样策略将增加类内方差,因为我们可能会将正例和负例推开来自同一底层类,
而第二个则不会。
超参数
我们的对比目标有两个主要超参数:(1)等式中负样本 N 的数量。 18, (2) 调节 softmax 概率的温度 τ
负数 N 我们验证了不同的 N : 16、64、256、1024、4096、16384。如图 5(a) 所示,增加 N 可以提高性能。然而,N = 4096 和 N = 16384 的错误率差异小于 0.1%。因此,我们使用 N = 16384 来报告准确性,而在实践中 N = 4096 就足够了。
N: Number of Negatives in NCE
温度 τ 我们在 0.02 到 0.3 之间变化 τ。如图 5(b) 所示,极高或低温都会导致次优解。一般来说,0.05 到 0.2 之间的温度在 CIFAR100 上运行良好。除 ImageNet 上的所有实验都使用 0.1 的温度。对于 ImageNet,我们使用 τ = 0.07。最佳温度可能因不同的数据集而异,需要进一步调整。
计算成本 我们在 ImageNet 上使用 ResNet-18 来说明。CRD 使用额外的 260 MFLOPs,大约是原始 2 GFLOPs 的 12%。在实践中,我们没有注意到 ImageNet 上的训练时间存在显着差异(例如,1.75 个 epoch/h vs.两个 Titan-V GPU 上 1.67 个 epoch/小时)。用于存储 ImageNet 的所有 128 维特征的存储库仅花费大约 600MB 内存,因此我们将其存储在 GPU 内存上。
关于附录部分
这部分单独加
往下看
我们将不同蒸馏目标在不同学生和教师网络组合之间的相关性差异可视化。如图6所示,在最小化学生网络和教师网络之间的相关性差异方面,我们的对比蒸馏目标明显优于其他目标。归一化相关系数在 logit 层计算。
一些表格结果,到时候在推算法的时候 给出论文链接