DeltaGrad: Rapid retraining of machine learning models

1.摘要

机器学习模型不是静态的,可能需要在略有变化的数据集上进行重新训练,例如,添加或删除一组数据点。这有许多应用,包括隐私、鲁棒性、减少偏差和不确定性量化。然而,从头开始重新训练模型是昂贵的。为了解决这个问题,我们提出了DeltaGrad算法,用于基于训练阶段缓存的信息快速再训练机器学习模型。

2.Introduction

之前的研究:

然而,现有的方法有各种局限性:它们只适用于k-means (Ginart等人,2019)或逻辑回归(Wu等人,2020)等专门问题,或者它们需要额外的随机化,导致非标准训练算法

解决的问题:

用于在训练数据集中发生微小变化快速重新训练机器学习模型,例如基于训练期间缓存的信息删除或添加样本。DeltaGrad解决了先前工作的几个限制:它适用于使用SGD训练的经验风险最小化定义的一般机器学习模型,并且不需要额外的随机化。

贡献:

1.我们提出了DeltaGrad算法,用于根据数据的微小变化对(随机)梯度下降的机器学习模型进行快速再训练

2.我们提供的理论结果显示了DeltaGrad的准确性。

3.我们提供的实证结果显示了DeltaGrad的速度和准确性,用于添加,删除和持续更新,在许多标准数据集上。

3.DeltaGrad算法

我们知道训练集((x_i,y_i)^{n}_{i=1})有n个样本。通常机器学习模型的损失函数为:

F(w)=\frac{1}{n}\sum^{n}_{i=1} F_i(w)

这里w代表模型参数向量,F_i(w)表示第i个样本的损失。梯度和F(w)海森矩阵为:

通过SGD得到模型参数:

其中B_t是在t次迭代大小为B的随机抽样小批量,\eta_t是在t次迭代的学习率。那么同理通过GD可以得到:

w_{t+1}\leftarrow w_t-\frac{\eta _t}{n}\sum ^{n}_{i=1} \triangledown F_i(w_t)

在训练了所有数据集后,样本索引R={(i_1,i_2,...,i_r)}被移除,r\ll n

我们的目标是有效地将模型参数更新为新的经验损失的最小值。我们的算法也适用于添加r个新数据点的情况。

简单的解决方法使直接对剩余的数据集 n-r 个样本应用梯度下降:

我们的DeltaGrad方法如下:

总的来说,为了追求效率,通过我们自己的 “leave-r-out” gradient formula,重写了等式(1),

(我们用w^I表示由DeltaGrad得到的模型参数)

(1)与(2)先进行简单的比较,当 r\ll n时,计算\sum _{i\in R}\triangledown F(w^{I}_{t})比计算\sum _{i\notin R}\triangledown F(w^{I}_{t})效率更高。明白了以上的前置知识,下面是对算法的解读:

输入参数:

这里的"burn-in" iteration number j_0 代表磨合期的迭代次数,下面会讲到

 输出参数:w^{I}_{t}

for t = 0; t < T; t++,总共迭代T次,接下来就是算法的“burn-in”iterationother iteration

如果当前迭代 t 是“磨合”期“burn-in”iteration(t\leq j_0)或者每隔 T0 次迭代:

  • 精确计算当前模型参数w^{I}_t的梯度\triangledown F(w^{I}_t)
  • 基于缓存的梯度\triangledown F(w_t)计算梯度差\triangle G[k]=\triangledown F(w^{I}_{t})-\triangledown F(w_{t})
  • 基于缓存的参数计算参数差\triangle W[k]=w^{I}_{t}-w_t
  • 更新k的值为k+1
  • 使用上面图片中准确的梯度下降公式(1)计算w^{I}_{t+1}

如果不是“磨合”期,就执行其他迭代other iteration

  • 使用L-BFGS算法(一种有限内存的拟牛顿法)和历史信息\triangle W[-m:],\triangle G[-m:]来近似当前的Hessian矩阵H(w_t)的逆与向量 v 的乘积,即B_{jm}*v,其中v=w^{I}_{t}-w_t
  • 近似梯度\triangledown F(w^{I}_{t})\approx \triangledown F(w_t)+B_{jm}*(w^{I}_{t}-w_t)
  • 使用上面图片的等式(2)“leave-r-out”梯度公式,基于近似的梯度\triangledown F(w^{I}_{t})来计算w^{I}_{t+1}

返回更新后的参数w^{I}_{t}

以上就是算法的整个流程。

收敛率分析:对于强凸目标函数,DeltaGrad算法提供了理论上的收敛率保证。

复杂度分析:DeltaGrad算法的时间复杂度低于从头开始训练模型,特别是当删除或添加的数据点数量远小于总数据点数量时。

4.实验结果

通过在标准数据集上的实验,DeltaGrad显示出在准确性和速度上的优势,与从头训练相比,加速比可达到6.5倍,同时几乎不损失准确性。

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值