论文笔记——Learn to Unlearn for Deep Neural Networks

Learn to Unlearn for Deep Neural Networks: Minimizing Unlearning Interference with Gradient Projection. CoRR abs/2312.04095 (2023)

Tuan Hoang, Santu Rana, Sunil Gupta, Svetha Venkatesh:

机器Unlearning的挑战是在不改变关于剩余数据集的知识的情况下,丢弃学习模型中关于"遗忘"数据的信息,并且比朴素的再训练方法更有效。

本文贡献

1、提出了一种新的unlearning损失函数的分类任务的unlearning方法。该方法利用梯度投影从训练好的模型中移除信息,对保留数据的重要信息干扰最小,从而防止灾难性遗忘

2、所提出的方法只需要在Unlearning过程中的遗忘数据,即使在训练数据不可用的情况下也适用。

3、此外,可以应用于去毒应用,以消除中毒训练样本的有害影响。

4、使用梯度下降来更新unlearning模型,可以毫不费力地扩展到任何模型和数据集

5、在大规模模型和数据集上的实验结果表明,unlearning方法可以在不同的度量标准下产生与从零开始重新训练的模型表现相似的模型。

为什么不采用差分隐私保护隐私数据?

        差分隐私( DP )为解决数据隐私问题和保护数据所有权提供了一种正式的解决方案。与Unlearning相比,DP更严格,因为它限制了记忆,并寻求以防止检索任何与任何训练样本相关的任何信息的方式来学习模型参数,同时仍然实现了合理的性能。另一方面,"Unlearning"只是在标准训练后去除与训练数据子集相关的模型信息,并不期望模型在删除的样本上表现良好。由于其更严格的要求,针对深度网络的差分隐私可能难以实现,并且往往会导致显著的精度损失。因此,在对数据隐私要求不太严格的情况下,机器Unlearning可能是更合适的选择。

方法介绍

1、参数设置

D=\left \{ x_{i} ,y_{i}\right \}_{i=1}^{N}是一个固定的训练数据集,fw ( x )是一个参数函数(模型),例如一个CNN,参数w (权重)在D上训练.设Df⊂D是训练数据的一个子集,它的信息我们想从模型fw ( x ) (即,遗忘数据集)中移除,而Dr是Df(即Df∪Dr = D和Df∩Dr =∅)的补集,它的信息我们想保留(即,保留数据集) .

2、Unlearning

通过将梯度更新正交于核心梯度空间( CGS ) ,利用保留的数据计算模型权重,从而选择性地遗忘数据集中的部分。这种方法允许模型以丢弃关于遗忘数据的信息的方式更新其权重,同时保留从保留数据中学习到的知识

(1)损失函数


z_{i,c}z_{i}=f_{w}\left ( x_{i} \right )的第c个元素,同理y_{i,c}y_{i}的第c个元素。

(2)核心梯度空间( CGS )的构造:

全数据集训练——>计算全数据集梯度空间的基向量和特征值

·全数据集训练

对于每一个卷积层或线性层l,我们对训练样本xi进行前向传递,得到( l-1 ) 层(x_{i}^{l}\equiv z_{i}^{l-1} 作为第l层的输入)的输出z^{_{i}^{l-1}}。对于一个卷积层,我们通过从三维特征图z^{_{i}^{l-1}}中取一个patch向量来提取一个输入特征向量r_{i}^{l};而对于一个线性层,输入特征向量简单地表示为r_{i}^{l}=z_{i}^{l-1}。然后将所有d维输入特征向量沿列拼接,构造一个输入表示矩阵R^{l}=\left [ r_{1}^{l},r_{2}^{l}, ...,r_{n^{*}}^{l}\right ]\in \mathbb{R}^{d\times n^{*}}

·计算全数据集梯度空间的基向量和特征值

利用SVD计算基向量U^{l}和特征值\sum ^{l}

R_{i}^{l}\in \mathbb{R}^{d\times m}R^{l}的子集,包含m个输入表示;因此,R^{l}\left ( R^{l} \right )^{T}可以用小批量数据的方式计算.因此,U^{l}\sum ^{l}可以非常有效地计算(注意到d通常较小,例如< 1000)。

每当收到Df的数据删除请求时,我们就可以计算保留数据集Dr的权重梯度空间的基向量,如(注意到Rl = [ Rl r , Rl f ]):

预先计算并缓存了全训练集每一层输入表示的基向量U l和特征值Σ l,这使得我们可以在给定遗忘数据集的情况下,高效地计算保留数据的基向量和特征值.重要的是,我们的方法不需要训练数据;因此,即使在训练数据不可获取的情况下也是适用的。我们的方法可以避免存储训练数据带来的隐私问题。

接下来,我们可以得到由Ulr的前k个向量张成的Core Gradient空间,CGS =

其中对于给定的阈值γ l,k满足以下条件:

                                               \sum _{r}^{l}=

CGS可以用矩阵形式表示为:

(3)梯度更新

在给定遗忘数据集Df和损失函数1的情况下,我们可以计算出梯度\bigtriangledown _{w^{t}}L。然而,在施加梯度步长之前,梯度\bigtriangledown _{w^{t}}L首先被投影到CGS上,然后从梯度中减去投影分量,使得剩下的梯度分量位于与CGS正交的空间中。对梯度进行如下处理:

(4)增量unlearning

在模型的生命周期中,用户数据被多次删除是很常见的。因此,对于unlearning方法来说,支持增量Unlearning是必不可少的。这意味着该方法应该能够逐一遗忘多个批次的数据允许模型随着更多的训练数据被移除而相应地调整其权重

这里,我们用w_{o}^{l}表示在D上训练的原始模型的权重,用\Delta w_{o\rightarrow f}^{l}表示从原始模型到Unlearning模型的权重更新。由于我们的权重更新位于保留数据的CGS中,这意味着\Delta w_{o\rightarrow f}^{l}r_{i}^{l}\approx 0。因此,对于保留的数据集,unlearning的模型和原始模型的输出几乎相同。

4、实验

数据集:CIFAR-10使用All CNN ;Small VGG 和Tiny ImageNet 使用Res Net-18 。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值