Page 233 - 《软件学报》2025年第4期
P. 233

李梓童 等: 机器遗忘综述                                                                   1639


                 现有方法和度量指标, 并由此提出了该领域研究展望, 主要贡献如下.
                    ● 本文对当前机器遗忘方法进行系统的划分, 根据现有方法的设计思想和使用技术, 把它们分为基于训练的
                 方法、基于编辑的方法和基于生成的方法这                3  类. 本文分别介绍了各类别下的具体方法, 并对它们的优缺点、适
                 用场景和使用时需要的已知条件进行总结归纳.
                    ● 本文进行了大规模实验, 对部分机器遗忘方法进行评估测试. 目前很少有工作在统一深度学习训练任务和
                 度量指标下对机器遗忘方法进行实验比较, 对此本文设置了统一的训练任务, 从上文提到的各类方法中选择部分
                 有代表性的方法进行实验, 填补了对各方法进行实验比较的空白.
                    ● 本文对机器遗忘领域的未来研究方向进行总结和展望. 本文立足现有研究成果、实验结果和生活实际, 从
                 遗忘数据多样化、遗忘计算多方化和遗忘评估标准化这                    3  个角度对未来研究方向进行了总结, 为未来该领域的研
                 究提供参考和启发.
                    本文第   1  节介绍问题定义. 第     2、3、4  节分别介绍机器遗忘的         3  类方法. 第  5  节介绍机器遗忘的度量指标.
                 第     6  节对机器遗忘方法进行测试和实验. 第       7  节介绍未来的研究方向. 第      8  节为结束语.

                 加以辨析. 数据清洗是指从原始数据中清除含有缺失值或异常值等的“脏”数据
                 1   机器遗忘概述

                 1.1   机器遗忘定义
                    机器学习意图让模型“记住”数据, 其过程概括如下: 记原始训练集为包含了                       n  个数据点的集合    D = {(x i ,y i )} n   ,
                                                                                                      i=1
                 使用模型为    M(θ) (其中  θ  为模型参数), 损失函数为     L = L(θ,D) . 机器学习通过梯度下降等优化方法寻找使损失函
                                ∗                ∗                                           x < D , 给出相
                                                                                              ′
                 数值最小化的参数       θ  , 最终得到模型   M(θ ) . 模型训练好后, 就对训练集外的数据点进行预测, 即对
                     M(x |θ ) = y  .
                        ′
                             ′
                         ∗
                 应的
                                                               ∗
                    与机器学习相反, 机器遗忘意图让模型“遗忘”数据. 令               x  为遗忘数据集, 它是原始数据集         D  的子集, 其特征空
                 间与包含的样本量均为        D  的子集. 机器遗忘希望模型忘记数据          x  所包含的信息, 实现该目标的简单方法是在不包
                                                                  ∗
                                   ∗
                    ∗           D\x  上重新训练模型, 由此得到的模型记作           M retrain , 此时  n        ∗
                 含   x  的剩余数据集                                              M retrai 固然不包含  x  的信息.
                    然而, 重新训练代价往往较大. 机器遗忘的核心问题在于: 如何避免较大的开销, 而得到与                          M retrai 近似的模型.
                                                                                              n
                 假设使用机器遗忘方法获得了新模型            M unlearn , 则机器遗忘目的是使  M unlear 和 n  M retrai 尽可能地接近, 从而得到  M unlearn
                                                                               n
                 的开销小于重新训练的开销. 在已有文献中, 多以获取模型的用时作为开销, 而在现实生活中, 开销还包括空间开
                 销和金钱开销等. 机器遗忘形式化定义如下.
                    定义  1. 给定模型   M, 原始数据集     D, 遗忘数据集    x  , 开销计算函数   Cost(M) 和模型相似度函数      Sim(M 1 , M 2 ) ,
                                                           ∗
                 Sim(M 1 , M 2 ) 恒正, M 1 和  M 2 越接近, 则  Sim(M 1 , M 2 ) 越小. 在剩余数据集  D\x  上训练得到  M retrain , 通过机器遗忘方
                                                                           ∗
                 式获得模型    M unlearn , 则希望   Cost(M unlearn ) < Cost(M retrain ) 且  Sim(M 1 , M 2 ) → 0 .
                    对于如何衡量      M retrai 和 n  M unlear 之间的相似度, 现有文献方法不一: 有的使用模型参数距离衡量相似度, 即两
                                            n
                 个模型在参数上范数差越小, 就认为两者越接近                [11,19] ; 有的使用模型输出分布距离衡量相似度, 即当           M retrai 和
                                                                                                     n
                 M unlear 输出分布距离小于某个阈值时, 就认为已足够相似            [20,21] . 提高相似度是机器遗忘的目标之一. 目前不同文献
                     n
                 对相似度的定义仍不统一         (具体可见第    5  节和第  7  节), 各自提出的方法也是在各自的相似度定义下实现遗忘.
                    数据清洗和持续学习是与机器遗忘相关度较高的研究领域, 本文在此处对这两个领域与机器遗忘之间的关联
                                                                             [22] , 在真实数据集中, 这些“脏”数据
                 不仅增加了模型的训练负担, 还可能对模型的性能产生负面影响. 数据清洗与机器遗忘的最大不同在于: 数据清洗
                 发生在模型训练之前, 通过提高数据质量, 改善模型性能; 机器遗忘发生在模型训练之后, 试图在模型训练完成后,
                 从模型中删除特定数据的影响. 然而, 模型训练完成后, 机器遗忘也可用于清除脏数据对模型的影响, 在这种情况
                 下, 机器遗忘与数据清洗同样都是以改善模型性能为目的.
                    持续学习研究模型在一系列任务中不断学习的过程. 假设当模型学习新任务时, 它无法访问以前的任务数
                 据, 持续学习的目标是尽可能少地遗忘先前任务的数据, 并最大限度地调整先前任务的知识以有助于学习新任
   228   229   230   231   232   233   234   235   236   237   238