阅读时间:2023-12-4
1 介绍
年份:2024
作者:王伟奇;张辰涵,悉尼科技大学
期刊: IEEE Transactions on Information Forensics and Security
引用量:1
这篇论文探讨了机器学习的“反学习”(machine unlearning)问题,即数据所有者希望从已训练好的模型中移除特定样本的影响。现有的方法在移除数据影响和保留模型效用之间难以找到最佳平衡,通常会导致显著的模型效用下降,称为灾难性反学习(catastrophic unlearning)。 为了解决这个问题,作者提出了一种名为“表示遗忘反学习与参数自共享”(Representation-Forgetting Unlearning with Parameter Self-Sharing,简称 RFU-SS)的方法。该方法将机器反学习问题形式化为一个双目标优化问题,包括遗忘被擦除的数据和保留之前学到的知识,并强调在反学习过程中保持准确性。 RFU-SS 方法的核心包括两个主要部分:
- 表示遗忘反学习(Representation-Forgetting Unlearning,RFU):该方法旨在通过最小化训练表示和被擦除数据之间的互信息来移除指定样本的贡献。表示是通过信息瓶颈(Information Bottleneck,IB)方法学习的。
- 参数自共享结构优化方法(Self-Sharing,SS):为了同时优化遗忘和保留目标,找到一个最佳平衡点,作者为 RFU 方法定制了这种方法。它通过梯度下降同时优化两个目标,灵感来源于多任务学习(Multi-Task Learning,MTL)。 论文中的实验结果表明,RFU-SS 在减少模型准确性降低方面取得了显著的改进,将 MNIST 数据集上的模型准确性降低从超过 6% 减少到不到 0.2%,同时提供了更好的移除效果。
2 创新点
- 双目标优化问题定义:作者首次将机器反学习问题定义为一个包含两个目标的优化问题,即在遗忘被擦除样本的同时保留模型的效用,这与传统的单目标优化方法相比是一个重要的创新。
- 表示遗忘反学习(RFU):提出了一种新的反学习方法,专门针对使用信息瓶颈(IB)方法训练的模型,通过最小化表示和被擦除数据之间的互信息来实现遗忘目标。
- 参数自共享结构优化(RFU-SS):引入了一种参数自共享的结构优化方法,用于同时优化遗忘和记忆目标,这种方法受到多任务学习(MTL)的启发,但与MTL不同,它通过共享模型的所有参数来优化两个目标。
- 动态权重调整:RFU-SS 能够动态地调整遗忘和记忆目标之间的权重(αu),以找到两个目标之间的最佳平衡点,这有助于减少反学习过程中的模型准确性损失。
- 有效减少准确性损失:通过大量实验,作者证明了 RFU-SS 在减少模型准确性降低方面相比于现有方法有显著的改进,尤其是在处理大规模数据集时。
- 恢复被损坏的知识:RFU-SS 不仅能够防止灾难性反学习,还能够恢复由于后门样本或噪声样本导致的模型准确性损失,这是现有方法所不能实现的。
- 实验验证:论文通过在 MNIST 和 CIFAR10 数据集上的实验,验证了 RFU-SS 方法在遗忘效果、准确性保持以及恢复被后门样本损害的知识方面的有效性。
3 相关研究
3.1 VBU算法
变分贝叶斯遗忘(Variational Bayesian Unlearning, VBU)算法是一种基于变分贝叶斯方法的机器遗忘技术。VBU的核心思想是在遗忘过程中利用变分推断来近似模型的后验分布,并通过优化一个目标函数来最小化被遗忘数据的影响,同时保留对其他数据的预测能力。
VBU算法原理:
- 变分推断:变分推断是一种估计概率模型后验分布的技术。在VBU中,变分推断用于近似模型参数的后验分布,这有助于在遗忘过程中对模型进行有效的更新。
- 目标函数:VBU算法定义了一个目标函数,该函数通常包括两部分:一部分是预测损失(例如,交叉熵损失),用于衡量模型对未被遗忘数据的预测性能;另一部分是正则化项,用于控制遗忘过程,防止模型过拟合。
- 遗忘机制:VBU通过最小化目标函数来实现遗忘,其中正则化项通常与被遗忘数据的预测相关联,通过调整这一部分来控制遗忘的程度。
VBU算法步骤: - 初始化:
- 选择一个合适的变分分布族(例如,高斯分布)作为模型参数的近似后验分布。
- 初始化模型参数和变分参数。
- 迭代优化:
- 对于每个迭代步骤:
- 从当前的变分分布中采样模型参数。
- 使用采样的模型参数和变分参数计算目标函数的梯度。
- 更新模型参数和变分参数,以最小化目标函数。
- 遗忘数据:
在目标函数中,通过正则化项来控制对被遗忘数据的预测,例如,可以通过增加被遗忘数据的预测误差来实现遗忘。 - 评估和停止:
在每次迭代后,评估模型对保留数据的预测性能。如果性能满足预定的标准或达到收敛条件,则停止迭代。 - 返回遗忘后的模型:
返回经过遗忘处理后的模型参数,这些参数现在应该减少了对被遗忘数据的依赖。
VBU算法的一个关键优势是其灵活性和能够处理复杂的概率模型。通过变分推断,VBU可以近似复杂的后验分布,这在传统的贝叶斯方法中可能是不可行的。此外,VBU允许在遗忘过程中对模型进行精细的控制,这有助于在保护隐私的同时保持模型的有效性。然而,VBU可能需要复杂的变分方法,并且在高维空间中可能不够高效,这是其潜在的局限性之一。
3.2 HBU算法
HBU(Hessian-Based Unlearning)算法是一种基于Hessian矩阵的机器遗忘方法,旨在通过优化Hessian矩阵来减少模型对特定数据的依赖。这种方法的核心思想是利用Hessian矩阵的特性来指导模型更新,从而实现对指定数据的遗忘。
HBU算法原理:
- Hessian矩阵:Hessian矩阵是一个多变量函数的二阶偏导数构成的方阵,它提供了函数局部曲率的信息。在优化问题中,Hessian矩阵可以用来分析目标函数的凹凸性,从而指导搜索方向的选择。
- 数据影响度量:HBU算法使用Hessian矩阵来度量数据对模型参数更新的影响。通过分析Hessian矩阵,可以识别出对模型更新贡献较大的数据点。
- 遗忘机制:在HBU中,遗忘过程涉及到调整Hessian矩阵,以减少被遗忘数据对模型参数更新的影响。这通常通过正则化Hessian矩阵或修改其特征值来实现。
HBU算法步骤: - 初始化:
从训练数据中初始化模型参数。 - 计算Hessian矩阵:
对于当前模型参数,计算整个训练数据集的Hessian矩阵。这一步可能涉及复杂的计算,尤其是在大规模数据集或深层网络的情况下。 - 识别遗忘数据:
确定需要从模型中遗忘的数据样本。 - 调整Hessian矩阵:
根据识别出的遗忘数据,调整Hessian矩阵,以减少这些数据对模型参数更新的贡献。这可能涉及到对Hessian矩阵进行低秩近似或修改其特征值。 - 更新模型参数:
使用调整后的Hessian矩阵和梯度下降或其他优化算法来更新模型参数。 - 评估和迭代:
评估模型在剩余数据上的预测性能。如果性能满足预定标准或遗忘目标未达成,则返回步骤3继续迭代。 - 返回遗忘后的模型:
当遗忘过程完成并且模型性能达到可接受的水平时,返回更新后的模型参数。
HBU算法的优点在于它提供了一种直接的方式来量化和控制数据对模型更新的影响。然而,这种方法的主要挑战在于计算和存储Hessian矩阵,特别是在大规模问题中,因为Hessian矩阵的维度与数据点的数量成二次方关系。此外,Hessian矩阵的计算和调整可能需要复杂的数值方法,这可能会增加算法的复杂性和计算成本。尽管如此,HBU算法在某些情况下仍然是一种有效的机器遗忘方法,特别是在数据集较小或问题结构允许有效计算Hessian矩阵的情况下。
4 算法
(1)初始化和设置固定模型
设定一个固定的临时模型 $ M_{\text{fix}}(\theta_r^{fix}, \theta_a^{fix}) $,用于后续计算完整训练数据的后验。
(2)迭代训练
对于E个周期(epochs),执行以下操作:
(3)采样
从被擦除的数据集 $ D_e $中采样m个数据点 $ \{(x_i, y_i)\}_{i=1}^m $
从保留的数据集 $ D_r$中采样m个数据点$ \{(x_j, y_j)\}_{j=1}^m$
(4)生成表示
基于输入和表示器 $ \theta_r $生成对应的表示$ z_i \sim p_{\theta_r}(\cdot|x_i)$ 和 $ z_j \sim p_{\theta_r}(\cdot|x_j) $。
(5)计算遗忘数据的表示损失函数 $ L_{u,rep}(\beta_u) $:
用来量化模型表示 Z 中被擦除数据集 De 信息量减少程度的指标。这个损失函数是实现忘记目标的关键部分,它确保模型在更新过程中减少对特定数据的依赖。
$ L_{u,rep}(\beta_u) = \beta_u \cdot I(\theta_r; X_e; Z) + DKL[p_{\theta_r}(Z|X) || p_{\theta_r^{fix}}(Z|X)] $
- $ L_{u,rep} $是遗忘数据的表示损失函数。
- $ \beta_u $是遗忘率参数,用于控制遗忘过程的强度。
- $ I(\theta_r; X_e; Z)$是表示 Z和被擦除数据集 $ X_e $之间的互信息。
- DKL是Kullback-Leibler散度,用于衡量两个概率分布之间的差异。
- $ p_{\theta_r}(Z|X)$是当前模型参数 $ \theta_r $下,给定输入X 时表示 Z 的分布。
- $ p_{\theta_r^{fix}}(Z|X) $是固定(或之前)模型参数 $ \theta_r^{fix} $下,给定输入 X 时表示 Z 的分布。
(6)计算遗忘数据的近似损失函数 $ L_{u,app}(\beta_u) $:
$ L_{u,app}(\beta_u) = \beta_u \cdot \mathbb{E}_{q(Z|X_e)}[\log p_{\theta_a}(Y_e|Z)] + DKL[p_{\theta_a}(Y|Z) || p_{\theta_a^{fix}}(Y|Z)] $
- $ L_{u,app} $是遗忘数据的近似损失函数。
- $ \beta_u $是遗忘率参数,用于控制在近似任务上遗忘过程的强度。
- $ \mathbb{E}{q(Z|X_e)}[\log p{\theta_a}(Y_e|Z)] $是期望项,它计算了在被擦除数据集 $ X_e $上,给定表示Z时的条件概率分布 $ p_{\theta_a}(Y_e|Z)$的对数。
- $ DKL[p{\theta_a}(Y|Z) || p{\theta_a^{fix}}(Y|Z)] $是Kullback-Leibler散度,用于衡量当前近似器参数 $ \theta_a $下的分布 $ p{\theta_a}(Y|Z) $ 与固定(或之前)近似器参数_ $ \theta_a^{fix} $_下的分布 $ p{\theta_a^{fix}}(Y|Z) $之间的差异。
(7)计算保留数据的损失函数
计算基于保留数据的表示和近似损失函数 $ L_{r,app} + L_{r,rep} $:
$ L_r = L_{r,app} + L_{r,rep} = -\frac{1}{m} \sum_{j=1}^{m} \log p_{\theta_a}(y_j|z_j) + \beta \cdot \frac{1}{m} \sum_{j=1}^{m} DKL[p_{\theta_r}(z_j|x_j) || q_{\theta_r}(z_j)] $
- $ L_{r,app} $:表示保留数据的近似损失函数,用于衡量模型对保留数据集的预测准确性。
- $ \log p_{\theta_a}(y_j|z_j) $:是对数似然项,它衡量了在给定表示 $ z_j $的条件下,模型参数 $ \theta_a $下预测输出 $ y_j $ 的概率的对数。对数似然越高,表示模型对数据点的预测越准确。
- $ \frac{1}{m} $:是一个归一化因子,用于将损失函数的平均值计算为每个数据点的平均损失。
(8)构造求解的多目标函数
$ \min_{\alpha_u} \left\| \alpha_u \nabla_{(\theta_r, \theta_a)} L_u + (1 - \alpha_u) \nabla_{(\theta_r, \theta_a)} L_r \right\|^2_2 $
- $ \alpha_u $ 是需要优化的权重参数,用于平衡忘记损失 $ L_u $和记忆损失 $ L_r $。
- $ \nabla{(\theta_r, \theta_a)} L_u $_和 _ $ \nabla{(\theta_r, \theta_a)} L_r $分别是忘记损失和记忆损失相对于模型参数 $ (\theta_r, \theta_a) $的梯度。
- $ L_u $是忘记损失函数,衡量了模型对被擦除数据集的依赖程度。
- $ L_r $是记忆损失函数,衡量了模型对保留数据集的预测能力。
(10)采用Pareto优化方法计算 $ \hat{\alpha}_u $
Pareto优化方法计算最优的 $ \hat{\alpha}_u $:
$ \hat{\alpha}_u = \left[ \frac{(\nabla_{\theta_r,\theta_a} L_r - \nabla_{\theta_r,\theta_a} L_u)^T \nabla_{\theta_r,\theta_a} L_r}{\|\nabla_{\theta_r,\theta_a} L_u - \nabla_{\theta_r,\theta_a} L_r\|^2_2} \right]_{+,1} $
- $ \nabla {L_u} $和 $ \nabla {L_r} $表示遗忘损失函数和记忆损失函数 的梯度
- $ |\cdot|^2_2 $是两个梯度差值向量的L2范数
- $ [ \cdot]_{+,1} $ 表示归一化\[0, 1] 范围内
(10)模型更新
根据组合损失函数的梯度更新模型 $ (\theta_r, \theta_a) $,得到遗忘后的模型 $ M_u(\theta_r^u, \theta_a^u)$。
$ (\theta_r, \theta_a) \leftarrow (\theta_r, \theta_a) - \eta \nabla_{\theta_r,\theta_a}( \hat{\alpha}_u \cdot (L_{u,rep}(\beta_u) + L_{u,app}(\beta_u)) + (1 - \hat{\alpha}_u) \cdot (L_{r,rep} + L_{r,app}) ) $
在这个过程中, $ DKL $表示Kullback-Leibler散度, $ \beta_u $是遗忘率参数,用于控制在RFU训练期间擦除数据的范围。 ∇表示梯度, η是学习率。通过这种方式,RFU-SS算法能够在遗忘特定数据的同时,保持模型对保留数据的学习和预测能力。
5 实验分析
(1)实验评估
- VBU训练时间最短,而HBU由于需要基于保留数据集计算Hessian矩阵,时间效率较低。RFU-SS介于两者之间。
- RFU-SS的KL散度指标最佳,KLD越低越好。
- 遗忘集准确率最低,记忆准确率最高
(2)不同遗忘数据比例EDR下的记忆准确率和遗忘准确率
(3)不同遗忘数据比例EDR下的时间成本
(4)平衡记忆和遗忘
RFU-SS通过动态调整遗忘和记忆之间的更新权重,在几轮训练后就能够收敛,更容易获得最优结果。
RFU-SS在遗忘效果和记忆效果方面均达到了100%。相比之下,VBU和HBU很难在遗忘和记忆两个目标之间取得良好的平衡,而RFU-SS则能够在遗忘和记忆之间实现最佳平衡。
6 思考
6.1 算法优缺点
(1)RFU-SS缺点
- 计算复杂:RFU-SS算法在每次迭代中需要计算和优化多个损失函数,这可能导致较高的计算成本。
- 存在超参数:算法中的遗忘率参数 β u \beta_u βu需要仔细调整,以实现最佳的数据遗忘和模型保留性能。
- 可能不收敛收敛性:在某些情况下,算法可能难以收敛到理想的Pareto最优解,特别是在目标之间存在较大冲突时。
(2)VBU
优点:使用变分推断来近似模型的后验分布,可以处理复杂的分布和非线性模型。
缺点:可能需要复杂的近似方法,并且在高维空间中可能不够高效。
(3)HBU
优点:基于Hessian矩阵的二阶优化方法,可以提供关于模型更新的精确信息。
缺点:计算Hessian矩阵可能非常昂贵,特别是对于大型和深层网络。
6.2 创新思路
(1)自适应遗忘率调整
结合VBU和HBU的优点,开发一种自适应机制来动态调整遗忘率 ( \beta_u ),以便在训练过程中根据模型的表现和数据的特性自动优化遗忘过程。
利用学习率衰减策略或基于性能反馈的调整方法,以减少人工干预并提高算法的鲁棒性。
(2)多尺度遗忘策略
设计一种多尺度遗忘策略,能够在不同的抽象层次上执行遗忘操作,从而更精细地控制遗忘过程。
在浅层网络和深层网络中分别应用VBU和HBU,以利用它们在不同层次上的优势。
- 浅层网络:指的是模型的前几层,通常负责捕捉数据的低级特征,如边缘或纹理。
- 深层网络:指的是模型的后几层,通常负责捕捉数据的高级特征,如形状或对象。
- 对于浅层网络,由于其学习到的特征更偏向于通用和共享的信息,可能不需要非常精确的遗忘操作。
- 对于深层网络,由于其学习到的特征更偏向于特定和个性化的信息,需要更精细的遗忘操作。
(3)集成学习方法
利用集成学习方法,结合多个专家模型(例如,基于VBU和HBU的模型),以提高遗忘的效率和效果。
通过投票机制或加权平均方法,集成不同专家模型的预测,以在遗忘过程中实现更好的平衡和性能。