深度度量学习的这十三年,难道是错付了吗?


机器之心报道
机器之心编辑部
或许对于每一个领域来说 , 停下脚步去思考 , 与低头赶路一样重要 。
深度度量学习的这十三年,难道是错付了吗?
本文插图

「度量学习(Metric Learning)」即学习一个度量空间 , 在该空间中的学习异常高效 , 这种方法用于小样本分类时效果很好 , 不过度量学习方法的效果尚未在回归或强化学习等其他元学习领域中验证 。
在人脸识别、指纹识别等开集分类的任务中 , 类别数往往很多而类内样本数比较少 。 在这种情况下 , 基于深度学习的分类方法常表现出一些局限性 , 如缺少类内约束、分类器优化困难等 。 而这些局限可以通过深度度量学习来解决 。
「四年来 , 深度度量学习领域的论文经常表示已经在准确性层面取得了很大的进展 , 基本是十年前方法的两倍以上 。 」事实上 , 我们真的取得了这么惊人的进展吗?
近日 , Facebook AI 和 Cornell Tech 的研究者在论文预印本平台 arXiv 上公布了最新研究论文 , 声称这十三年来深度度量学习领域的研究进展「实际上并不存在」 。
【深度度量学习的这十三年,难道是错付了吗?】
深度度量学习的这十三年,难道是错付了吗?
本文插图

论文链接:https://arxiv.org/pdf/2003.08505.pdf
研究者发现 , 度量学习的这些论文在实验设置方面存在多种缺陷 , 比如不公平的实验比较、测试集标签泄露、不合理的评价指标等 。 于是 , 他们提出了一种新的评估方法来重新审视度量学习领域的多项研究 。 最后 , 他们通过实验表明 , 现有论文宣称的那些改进实在是「微不足道」 , 近几年的 ArcFace,、SoftTriple,、CosFace 等十种算法 , 和十三年前的 Contrastive、Triplet 基线方法相比 , 并没有什么实质性的提高 。
也就是说 , 论文宣称的改进是节节攀升的:
深度度量学习的这十三年,难道是错付了吗?
本文插图

但实际情况却是原地踏步:
深度度量学习的这十三年,难道是错付了吗?
本文插图

之前的论文存在哪些缺陷?
不公平的比较
为了宣称新算法的性能比已有的方法要好 。 尽可能多地保持参数不变是很重要的 。 这样便能够确定性能的优化是新算法带来的提升 , 而不是由额外的参数造成的 。 但现有的度量学习论文的研究情况却不是如此 。
提高准确率最简单的方法之一是优化网络架构 , 但这些论文却没有保证这项基本参数固定不变 。 度量学习中架构的选择是非常重要的 。 在较小的数据集上的初始的准确率会随着所选择的网络而变化 。 2017 年一篇被广泛引用的论文用到了 ResNet50 , 然后声称性能得到了巨大的提升 。 这是值得质疑的 , 因为他们用的是 GoogleNet 作比较 , 初始准确率要低得多(见表 1) 。
深度度量学习的这十三年,难道是错付了吗?
本文插图

通过测试集反馈进行训练
该领域大多数论文会将每个数据集分开 , 类中的前 50% 用作训练集 , 剩下的部分用作测试集 。 训练过程中 , 研究者会定期检查模型在测试集上的准确率 。 也就是 , 这里没有验证集 , 模型的选择和超参数的调整是通过来自测试集的直接反馈完成的 。 一些论文并不定期检查性能 , 而是在预先设置好的训练迭代次数之后报告准确率 。 在这种情况下 , 如何设置迭代次数并不确定 , 超参数也仍然是在测试集性能的基础上调整的 。 这种做法犯了机器学习研究的一个大忌 。 依靠测试集的反馈进行训练会导致在测试集上过拟合 。 因此度量学习论文中所阐述的准确率的持续提升会被质疑 。


推荐阅读