论文笔记 - GRAD-MATCH: A Gradient Matching Based Data Subset Selection For Efficient Learning

AnalysisCoreset 是带有权重的数据子集,目的是在某个方面模拟完整数据的表现(例如损失函数的梯度,既可以是在训练数据上的损失,也可以是在验证数据上的损失);
给出优化目标的定义:

论文笔记 - GRAD-MATCH: A Gradient Matching Based Data Subset Selection For Efficient Learning

文章插图
$w^t$ 是 t 轮得到的 coreset 权重,$X_t$ 是 t 轮得到的 coreset,$L$ 既可以是在训练数据上的损失,也可以是在验证数据上的损失,$L_T$ 是在 coreset 上的损失函数,$\theta_t$ 是 t 轮得到模型参数;
【论文笔记 - GRAD-MATCH: A Gradient Matching Based Data Subset Selection For Efficient Learning】最小化 ERR 来使 Coreset 最好地模拟损失函数(训练集或验证集)的梯度 。
论文笔记 - GRAD-MATCH: A Gradient Matching Based Data Subset Selection For Efficient Learning

文章插图
如何优化这个问题
论文笔记 - GRAD-MATCH: A Gradient Matching Based Data Subset Selection For Efficient Learning

文章插图
将其转化为次模函数:
论文笔记 - GRAD-MATCH: A Gradient Matching Based Data Subset Selection For Efficient Learning

文章插图
论文笔记 - GRAD-MATCH: A Gradient Matching Based Data Subset Selection For Efficient Learning

文章插图
之后可以用贪心算法快速解决 。
Tricks
  • 只计算最后一层的梯度;
  • 现在完整的数据集上跑几个 epoch,获得一个较为靠近的模型权重(类似于 warm-up 和 pre-training);
  • 每过 R 个 epoch 再更新 coreset 。

    经验总结扩展阅读