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

1646                                                       软件学报  2025  年第  36  卷第  4  期


                 的样本标签, 削弱这些样本对模型的影响, 从而实现遗忘.
                    在深度学习中, Class Clown   [27] 通过修改输入数据标签来实现遗忘. 对于某个数据点, 模型对该点属于各个标
                                                            ∗                                    x  对可信
                                                                                                  ∗
                 签的可信度和这个点到决策边界距离相关, 可通过改变                  x  周围损失函数空间分布和扭曲决策边界, 改变
                                                                ∗
                               ∗
                 度, 让模型“相信”   x  在训练时没有被使用. Class Clown    改变  x  的标签, 在每轮训练中都使用有错误标签的数据, 扭
                    ∗
                 曲  x  周围决策边界. 此外, Class Clown  还增加了正确数据以缓解错误标签造成的准确率下降问题.
                    Kim  等人  [31] 同样修改了输入数据的标签, 与      Class Clown  不同的是引入了对抗学习. Kim      等人提出的方法可
                 分为两步: 第   1  步, 中和化, 即篡改   x  中的正确标签, 在其上训练“学生模型”, 学生模型在             x  上的预测准确率接近
                                             ∗
                                                                                       ∗
                 随机猜测; 第   2  步, 在  D\x  上继续训练, 把  M 0 作为“老师模型”, 学生模型将老师模型的输出作为自己的输入, 以此
                                    ∗
                 来加速训练, 并使训练更稳定.

                 3.1.2    特征加噪
                    特征加噪是修改输入数据的特征, 在特征上添加噪音. Huang                等人  [44] 提出了一种特征加噪的方法, 适用于深度
                 学习. Huang  等人在输入数据特征上加噪, 使在这些数据上训练的模型无法学习到数据包含的知识. Huang                          等人让
                 模型学习所加噪音和标签之间的关系, 从而生成能够混淆标签实现遗忘的噪音. 该学习过程可视为双层优化问题:
                                                   [36]
                 外层优化模型损失函数, 使损失函数尽可能地小, 保持模型性能; 内层优化噪音, 使噪音尽可能地小, 减少对模型的
                 改动.

                 3.2   参数编辑
                    参数编辑的方法利用数学知识或数据集信息, 直接给出                  M unlear 的参数计算方式. 参数编辑往往需要知道原模
                                                                    n
                 型参数   M 0 , 同时需要知道数据集信息       (如原始数据集     D  或剩余数据集    D\x  ), 必要时还需要记录训练      M 0 时的梯
                                                                           ∗
                 度等. 这类方法在     M 0 基础上进行计算, 无须通过大量数据迭代来进行训练, 速度较快. 本节根据参数计算方式, 主
                 要介绍泰勒展开、梯度更新、优化求解和残差更新这                   4  类问题.

                 3.2.1    泰勒展开
                    泰勒展开是一种用多项式来近似表示函数在某点周围情况的方法, 通过泰勒展开来近似计算                                M unlear 方法多
                                                                                                  n
                 见于线性回归和深度学习. M 0 可视作损失函数在             D  上取最优值时的解, 在     x  较小, D  和  D\x  相差较小且  M 0 已知
                                                                                        ∗
                                                                           ∗
                                           D\x  处的最优解    M unlearn .
                                              ∗
                 的情况下, 可通过泰勒展开来近似
                    对于线性回归模型, Guo 等人      [11] 提出了可验证遗忘    (certified removal, CR), 利用二阶泰勒展开来近似计算  M unlearn ,
                 用公式   (4) 来对参数进行编辑:

                                                               −1
                                                        θ u = θ +H ∆                                  (4)
                                                               θ
                 其中, θ 为原模型   M 0 参数,    ∆ = αθ +∇loss(θ X u ,y u ) 为模型在数据点  (X u ,y u ) 处的损失函数梯度,   H θ  为模型参数在剩
                                                  T
                        D\x  上的海瑟矩阵    (Hessian matrix). 当损失函数是  θ 的二次函数时, 通过公式     (4) 得到的  M unlear 和 n
                           ∗
                 余数据集                                                                               M retrain
                 一致.
                    CR  需要计算损失函数在模型参数上的海瑟逆矩阵与一阶梯度向量乘积, 而海瑟逆矩阵计算复杂度较高. 对
                 此, 有文献  [20,39,56–58] 在海瑟逆矩阵计算上进行改进, 如用    Fisher 矩阵来近似海瑟矩阵     [20,57] , 采用  BFGS  方法  [39]  来近
                 似计算海瑟向量乘积等进行加速, 或用            LCODEC  来缩小计算海瑟矩阵的参数范围            [42] , 以及在求解海瑟矩阵时, 将
                 求解过程转化为优化过程来近似求解             [56] . 以上做法均以损失精度为代价, 缩短计算时间. CR          速度约为重新训练的
                 1 000  倍, 且支持多达  10 000  个数据点的遗忘    .
                    当模型损失函数为凸函数时, 由于最优点唯一, 得到的                M unlear 和 n  M retrai 一致. 而在深度学习模型中, 由于损失
                                                                          n
                 函数为非凸函数, 容易陷入局部最优而难以找到全局最优点, M unlear 和             n  M retrai 之间会存在一定的误差. 这一误差
                                                                             n
                 可能泄露信息, 此时可通过与差分隐私            [59] 相似的加噪方法来避免攻击者获取误差           [15] . Liu  等人  [60] 将在传统机器学
                 习范式中的经典泰勒展开方法扩展到了对抗训练场景, 在对抗训练过程中, 训练数据不仅要参与最小化训练损失
                 的外循环, 还要参与生成对抗扰动的内循环, 即存在双层优化. Liu                  等人给出了该场景下遗忘后模型的解析解, 以
                 总体海瑟矩阵对模型的影响度量为基础, 通过近似和转换降低了海瑟逆矩阵的计算开销.
   235   236   237   238   239   240   241   242   243   244   245