论文网站:
arXiv.org Dataset Condensation with Gradient Matching Dataset Condensation with Gradient Matching
As the state-of-the-art machine learning methods in many fields rely on larger datasets, storing datasets and training models on them become significantly more expensive. This paper proposes a...
代码网站:
简介:由于许多领域最先进的机器学习方法依赖于更大的数据集,因此在其上存储数据集和训练模型的成本要高得多。本文提出了一种用于数据高效学习的训练集合成技术,称为数据集浓缩,该技术学习将大型数据集压缩为一小部分信息丰富的合成样本,用于从头开始训练深度神经网络。我们将这个目标表述为在原始数据上训练的深度神经网络权重的梯度与我们的合成数据之间的梯度匹配问题。我们在多个计算机视觉基准测试中严格评估了其性能,并证明它的性能明显优于最先进的方法。最后,我们探索了我们的方法在持续学习和神经架构搜索中的应用,并报告了在内存和计算有限的情况下有希望的收益。
图 1:数据集浓缩(左)旨在生成一小部分合成图像,这些图像可以与在大型图像数据集上训练的网络的性能相匹配。我们的方法(右)通过学习一个合成集来实现这一目标,使得在其上训练的深度网络和大集合产生与参数相似的梯度。合成数据稍后可用于从头开始训练网络,而计算负载仅为原始计算负载的一小部分。CE 表示交叉熵。
根据图左,优化目标应该是minimize在small synthetic set上训练出来的模型在large training set上的training loss:
但这样会涉及到多重嵌套,先在随机的small training set 上训练出一个模型,再拿这个模型去large training set上得到一个training loss再更新small synthetic set,想一想都很绕。
于是提出一个近似办法:
即希望在small synthetic set上训练出来的模型参数与在large training set上训练出来的模型参数尽可能相同。不过神经网络参数太多了,指望经过很多step优化的网络最终的参数相似不容易实现。但如果改成希望每一个step优化之后的模型参数相似就会容易很多,于是优化目标变为:
这里可以再近似一下:
算法结构: