Page 238 - 《软件学报》2025年第4期
P. 238
1644 软件学报 2025 年第 36 卷第 4 期
保留子模型训练过程的中间结果, 当遗忘请求到来时, 从对应子模型中间结果开始训练, 不必重新训练整个子模
型. 其中较为经典的是 2021 年提出的 SISA (sharded, isolated, sliced, and aggregated, SISA) 框架 [26] . SISA 适用于深
度学习算法. 深度学习与传统机器学习相比, 具有模型多样而训练过程高度统一的特点. 针对统一的训练过程,
SISA 并用了继续计算与模型分解两种方法. 本节主要介绍 SISA 的基本过程、改进算法和系统应用.
2.3.1 SISA 的基本过程
在 SISA 框架 (示意图如图 1 所示) 中, 原始数据集被划分为多个不相交的数据块 (shard), 每个数据点只包含
在一个数据块中. SISA 在这些数据块上分别训练子模型 (模型分解), 限制单个数据点对子模型的影响. 当遗忘请
求到达时, 只需重新训练受影响的子模型. 由于数据块小于整个训练集, 训练时间较少, 但是这样做也减少了每个
子模型的数据量, 导致子模型预测能力偏弱.
聚合模型
从待遗忘
数据点所
在的数据
[53]
数据块 片开始重 …
(shard) 数据片 新训练
(slice)
待遗忘
数据点
训练集 (D)
图 1 SISA 示意图
为了加速训练过程, SISA 还将每个数据块分割成数据片 (slice), 并在训练子模型时逐步加入数据片, 而不是
直接在整个数据块上训练子模型. 在每次加入新的数据片之前, SISA 都会保存当前模型状态. 确定要遗忘的数据
点所处的数据片之后, 模型拥有者就从该数据片参与训练前的最后模型状态开始训练 (继续计算), 进一步减少训
练时间. 该做法与数据库中的检查点 (checkpoint) 策略相似. 在进行最终预测时, 模型拥有者可使用不同策略灵活
地聚合各子模型的预测, 如多数投票法等.
SISA 遗忘速度与数据块和数据片大小直接相关, 数据块和数据片越小, 重训练用到的数据就越少, 用时也就
越少; 但由于训练集变小, 子模型预测能力也会削弱, 从而影响模型整体性能.
2.3.2 SISA 的改进算法
ARCANE 框架是 SISA 的改进算法之一 [51] , 相较于 SISA 改进如下: 按标签划分数据块; 训练时保留更详细的
模型状态; 人为地选出遗忘可能性较大的数据, 留到排序偏后的数据片上, 减少训练需要的数据片数.
DeepObliviate 同样在 SISA 基础上作改进, 但并非改进数据划分, 而是简化了继续计算过程 [52] . 具体而言,
DeepObliviate 首先将数据集 D 划分成数据块, 在训练时逐步增加数据块, 并保存这些数据块训练后的所有子模型.
x 所在数据块, 从该数据块参与训练前的子模型开始在
∗
接着, 对于到来的机器遗忘请求, DeepObliviate 会定位到
D\x 上进行重新训练. 与 SISA 不同, 此处训练并非训练到用完所有数据块; 当重新训练模型参数和 M 0 中训练到
∗
某一步的子模型参数之差低于阈值时, DeepObliviate 就认为已消除该数据点的影响, 训练中止. 最后, 中止时的模
型参数加上 M 0 最终步 (用到了所有数据块) 到中止步的参数差, 得到 M unlearn . DeepObliviate 重用了 M 0 , 与 SISA
相比, DeepObliviate 虽然对数据集进行了分块, 但最终训练步骤用到了所有数据块. Gupta 等人在 SISA 的基础上,
利用差分隐私聚合算法, 设计了一种可处理数据删除请求序列的方法 . 他们利用差分隐私理论, 保证了对删除
请求序列进行遗忘的完成度.
2.3.3 SISA 的系统应用
本节重点介绍 SISA 在推荐系统中的应用. 推荐系统中常见的协同过滤算法根据用户的历史行为数据挖掘用
户兴趣, 据此给用户推荐商品. Chundawat 等人 [54] 和 Chen 等人 [55] 研究了协同过滤算法中的机器遗忘问题, 对
SISA 遗忘框架进行改进, 使其更适用于协同过滤算法.
LASER 是一种用于推荐系统的机器遗忘方法 [54] . 在 SISA 框架中, 划分数据集后, 每个用户只有与自己所在