Page 247 - 《软件学报》2025年第4期
P. 247
李梓童 等: 机器遗忘综述 1653
6.1.2 实验模型
实验所用模型均为神经网络模型, 对于较复杂的 CIFAR-10、SVHN 和 ImageNet 子集数据集, 使用较大的
ResNet 神经网络, 对于较简单的 MNIST、FashionMNIST 数据集和数据集 Purchase, 使用较小的神经网络. 具体模
型结构如表 10 所示.
表 10 实验模型
数据集 模型结构
MNIST、FashionMNIST 2层卷积层, 2层全连接层
CIFAR-10、SVHN ResNet-18
Purchase 2层全连接层
ImageNet子集 ResNet-18
6.1.3 实验对象
本文将继续计算的方法 DeltaGrad 和 UnrollingSGD、输入编辑的方法 Unlearnable、参数编辑的方法 CR 和
Sekhari、输出编辑的方法 Linear Filtration, 以及部分论文中出现过的 Finetune 方法作为实验对象, 比较以上 7 种
方法在相同条件下的遗忘效果. 具体方法的设置如表 11 所示.
表 11 实验使用机器遗忘方法
方法名称 方法类别 说明
Retraining 重新训练(基准) 得到 M retrain
Finetune 继续计算 在原模型基础上调优, 调优阶段训练参数与原始训练阶段相同
Unrolling SGD [21] 继续计算 使用standard deviation loss作为遗忘阶段损失函数
[26]
SISA 混合方法 数据块数设为10, 子模型训练过程超参数与其他机器遗忘方法正常训练的超参数相同
对于ResNet-18, 将其拆分为特征提取层(卷积层)和全连接层, 机器遗忘时仅针对全连
DeltaGrad [39] 继续计算
接层进行遗忘. 数据读取方式沿用文献[39]给出的方式
Unlearnable [44] 输入编辑 通过双层优化生成噪音
[30]
输出编辑
只适用于标签遗忘场景
Linear Filtration 算法进行优化. 所有方法均已达到收敛.
CR [11] 参数编辑 使用LCODEC方法选择要编辑的参数, 为提高模型可用性不添加噪声
[82]
Sekhari 参数编辑 使用LCODEC方法选择要编辑的参数, 为提高模型可用性不添加噪声
Chundawat [70] 深度生成 参考文献[70], 机器遗忘阶段生成模型调整的轮次数设为10
在 CIFAR-10 数据集、SVHN 和 ImageNet 子集数据集上使用 DeltaGrad 方法时, 由于训练过程中需要记录每
一轮次的参数和梯度, 而 ResNet-18 网络较大, 若对整个网络进行训练和记录, 则占用存储空间过大. 因此本次实
验采用和文献 [39] 相同的模型处理方法, 将 ResNet-18 模型拆分为特征提取层和全连接层, 仅对全连接层使用
DeltaGrad 进行训练和记录.
在本文实验中, 模型由神经网络构成, 实现方法均基于 Python 以及 PyTorch 框架, 其中有多项超参数. 本文在
MNIST、FashionMNIST 和 Purchase 所用神经网络模型和 ResNet-18 超参数设定上, 与文献 [26] 保持一致. 实验
统一使用 SGD
6.1.4 实验场景
对于 RQ1、RQ3 和 RQ4, 本文设置两类, 共 5 种遗忘场景进行实验. 两类遗忘场景: 1) 样本遗忘, 从样本中随
机抽样待遗忘样本, 遗忘数量用样本遗忘率来刻画; 2) 标签遗忘, 以标签为单位, 遗忘 1 个或多个标签的样本. 在本
文针对 RQ1 的实验中, 对于样本遗忘, 采用 1%、5% 和 10% 的样本遗忘率进行实验; 对于标签遗忘, 分别遗忘 1
个标签和 3 个标签数据进行实验.
对于 RQ2, 本文设置了一组标签遗忘数不变、标签总数改变的场景进行实验, 以探究标签遗忘率对机器遗忘
的影响. 具体而言, 本文在 ImageNet 子集数据集上做调整, 每次固定遗忘 1 个标签 (遗忘标签数为 1), 而通过取不
同子集来控制 D 的标签总数. 实验中, 分别取 D 标签总数为 20、30、50、70、100, 在这些遗忘场景下, 同样对实