Page 234 - 《软件学报》2025年第4期
P. 234
1640 软件学报 2025 年第 36 卷第 4 期
务 [23] . 机器遗忘与持续学习的主要区别如下: (1) 两者处理对象的粒度不同, 机器遗忘是针对数据样本, 而持续学
习是针对学习任务; (2) 机器遗忘旨在让模型忘记特定数据隐含的知识, 而持续学习则旨在让模型记住先前数据
的知识. 由于持续学习的目标是对新知识的吸收和旧知识的保留, 机器遗忘同样可用于改进持续学习算法, 例
如, 人们可通过逐步遗忘一些不太重要或已过时的知识, 为模型学习新知识腾出空间, 从而在不断变化的学习任
务中保持灵活性和适应性.
1.2 主要研究方向
目前机器遗忘领域的研究集中在方法上. 根据设计思想和使用技术, 本文将机器遗忘方法分为 3 类: 基于训练、
基于编辑和基于生成的机器遗忘方法. 各类别代表方法见表 2.
表 2 机器遗忘主要研究方向
研究方向 示例
[2]
[9]
基于训练的方法 针对朴素贝叶斯的机器遗忘方法 、针对岭回归的机器遗忘方法 、Dare [24] 、HedgeCut [25] 、 SISA [26]
Class Clown [27] 、针对可变SVM的机器遗忘方法 [28] 、CR [11] 、 K-priors [29] 、Linear Filtration [30] 、针对深度
基于编辑的方法 [31] [32]
学习的遗忘方法 、ERM
针对岭回归的机器遗忘方法
基于生成的方法 针对逻辑回归的机器遗忘方法 [33] 、针对深度学习的遗忘方法 [31] 、OptLearn [34]
基于训练的方法往往涉及模型训练过程, 如利用在原训练集上训练产生的参数和梯度等中间结果来进行遗
忘. 这类方法用时较长, 但 M unlear 性能更有保证. 基于编辑的方法为了在已有模型的基础上做改动, 如利用牛顿
n
法对数据集变动后的模型参数进行近似求解, 得到与重新训练模型接近的模型. 这类方法较为快速, 但 M unlearn
性能可能不佳. 基于生成的方法是指使用对抗模型等生成 M unlear 参数. 一种机器遗忘方法并非只使用 1 种思路,
n
而可以是多种思路的结合, 如 Kim 等人 [31] 就同时使用了基于编辑和基于生成的方法, 后文将分别介绍这两类方
法. 目前机器遗忘领域多数文献均为方法上的探索, 此外, 还有如何对机器遗忘进行全面定义 [35] , 设计刻意让模
型重新训练的投毒攻击 [36] , 考虑机器遗忘中“过度遗忘”的潜在危害 [37] 和如何自行生成 D\x ∗ [38] 等较为分散的
研究.
在第 2、3、4 节中, 本文将分别对 3 类方法进行介绍. 表 3 是本文用到的符号及其含义.
表 3 符号表
符号 含义
D 原始数据集
x ∗ 遗忘数据集
D\x ∗ 剩余数据集
在原始数据集上训练得到的模型
M 0
在剩余数据集上重新训练得到的模型
M retrain
在剩余数据集上通过机器遗忘得到的模型
M unlearn
本文将 3 类方法中已公开代码的链接整理到表 4 中, 以便后续研究者查阅.
表 4 主要方法与代码
类别 方法名称 代码链接
[2]
https://github.com/schelterlabs/projects-amnesia
[24]
Dare https://github.com/jjbrophy47/dare_rf
[25]
HedgeCut https://github.com/schelterlabs/hedgecut
基于训练的方法 SISA [26] https://github.com/cleverhans-lab/machine-unlearning
[39]
DeltaGrad https://github.com/thuwuyinjun/DeltaGrad
[21]
Unrolling SGD https://github.com/cleverhans-lab/unrolling-sgd
针对K-means的机器遗忘方法 [40] https://github.com/tginart/deletion-efficient-K-means