SelMatch:最新数据集蒸馏,仅用5%训练数据也是可以的 | ICML'24 - 晓飞的算法工程笔记

💡 原文中文,约10100字,阅读约需24分钟。
📝

内容提要

数据集蒸馏通过合成少量图像来近似完整数据集,但在增加每类图像数量时效果下降。SelMatch方法通过选择初始化和部分更新,提升蒸馏效果。在CIFAR-10/100和TinyImageNet测试中,尤其在高IPC下表现优异。该方法使用滑动窗口算法选择合适样本进行初始化,并在蒸馏过程中保持部分样本不变,确保数据集多样性和复杂性。实验结果显示SelMatch在不同子集比例下表现出色。

🎯

关键要点

  • 数据集蒸馏通过合成少量图像来近似完整数据集,但在增加每类图像数量时效果下降。

  • SelMatch方法通过选择初始化和部分更新,提升蒸馏效果。

  • 在CIFAR-10/100和TinyImageNet测试中,SelMatch在高IPC下表现优异。

  • SelMatch使用滑动窗口算法选择合适样本进行初始化,确保数据集多样性和复杂性。

  • 实验结果显示SelMatch在不同子集比例下表现出色,尤其在困难样本的覆盖率上有显著提升。

  • 基于选择的初始化确保合成数据集包含适当难度的样本,提升蒸馏过程的有效性。

  • 部分更新方法保持合成数据集中的固定部分不变,确保样本多样性。

  • SelMatch在CIFAR-100中,当每类有50张图像时,测试准确率提高了3.5%。

  • 传统的轨迹匹配方法在高IPC范围内效果不佳,难以捕捉复杂特征。

  • 滑动窗口算法用于选择适合合成数据集规模的样本,优化初始化过程。

延伸问答

SelMatch方法如何提升数据集蒸馏的效果?

SelMatch通过选择初始化和部分更新来提升蒸馏效果,确保合成数据集包含适当难度的样本,从而提高模型的泛化能力。

在CIFAR-100测试中,SelMatch的准确率提高了多少?

在CIFAR-100中,当每类有50张图像时,SelMatch的测试准确率提高了3.5%。

数据集蒸馏的主要挑战是什么?

主要挑战是随着每类图像数量(IPC)的增加,传统蒸馏方法难以有效捕捉复杂和稀有特征,导致性能下降。

SelMatch使用了什么算法来选择合适的样本进行初始化?

SelMatch使用滑动窗口算法来选择合适的样本进行初始化,确保样本的多样性和复杂性。

部分更新方法在SelMatch中有什么作用?

部分更新方法保持合成数据集中的固定部分不变,同时更新其余部分,以确保样本多样性和复杂特征的保留。

SelMatch在不同子集比例下的表现如何?

实验结果显示,SelMatch在5%到30%的子集比例下始终优于主流的仅选择和仅蒸馏方法。

➡️

继续阅读