数据集蒸馏调研
数据集蒸馏-调研梳理
一、动机
大规模数据集包含了大量的冗余信息和噪声,这可能会导致模型过拟合或训练时间过长。所以我们希望通过保留关键样本和信息,从而创建一个更紧凑的数据集,以加快模型的训练速度并提高模型的泛化性能。
二、基本思想
数据集蒸馏的过程可以分为以下几个基本步骤:
- 初始化:先初始化一些合成数据和模型参数。
- 训练模型:然后我们使用这些合成数据来训练模型,得到模型结果。
- 优化合成数据:我们希望在当前模型参数下,模型在合成数据上的结果尽可能的接近原数据集的结果,所以每次训练我们将模型结果作为优化目标,更新合成数据。
不同数据集蒸馏算法的主要不同在于优化目标不同,优化目标除了预测值外,还有模型参数更新的梯度、数据分布、优化轨迹等等。
新提出了数据集蒸馏算法,基于因子分解。
三、局限性
数据集蒸馏还存在以下几个局限性:
- 可移植性:在不同的网络架构上的泛化能力较差。
- 计算量大:在训练时间和内存消耗方面存在一些限制。
- 性能下降:在处理具有更多类别和更少图像的数据集时表现不佳。
四、参考资料
【知识蒸馏论文解读】Dataset Distillation 创新性十足的数据集蒸馏 - 知乎 (zhihu.com)
浓缩的数据可以训练出一个好网络吗? - 知乎 (zhihu.com)