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

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


                                                  表 4    主要方法与代码    (续)

                        类别                  方法名称                               代码链接
                                    针对MCMC的机器遗忘方法       [41]        https://github.com/fshp971/mcmc-unlearning
                                             CR [11]             https://github.com/facebookresearch/certified-removal
                                           K-priors [29]            https://github.com/team-approx-bayes/kpriors
                                           LCODEC [42]         https://github.com/vsingh-group/LCODEC-deep-unlearning
                    基于编辑的方法                     [32]
                                            ERM                    https://github.com/ChrisWaites/descent-to-delete
                                             PRU [43]                 https://github.com/zleizzo/datadeletion
                                        SelectiveForgetting [20]  https://github.com/AdityaGolatkar/SelectiveForgetting
                                          Unlearnable [44]        https://github.com/HanxunH/Unlearnable-Examples
                                               [45]
                                             BIF                        https://github.com/fshp971/BIF
                    基于生成的方法
                                           SCRUB [46]                 https://github.com/Meghdad92/SCRUB
                 2   基于训练的机器遗忘
                                                             ∗
                    基于训练的机器遗忘方法是指通过模型训练来实现遗忘的方法. 这类方法往往对重新训练的过程进行划分,
                 通过对部分数据重新训练或从某个轮次起开始重新训练, 使得训练开销低于完全重新训练, 而得到的机器遗忘模
                 型也与重新训练模型较为相似. 该方法可细分为继续计算和模型分解两类.

                 2.1   继续计算
                    继续计算是指保存训练         M 0 时的中间结果, 在遗忘请求到来时, 从中间结果开始继续训练. 继续计算类方法保
                 存的中间结果包括朴素贝叶斯中的样本计数和、深度学习中的梯度和参数等. 当遗忘时, 这类方法在中间结果上
                 继续计算, 减小时间开销, 但存在额外的空间开销. 这类方法设计的关键在于从获取模型的过程中挖掘可以重用的
                 数据, 将这些数据保存下来, 在遗忘请求到来时进行修改. 传统机器学习中的分类算法                          (如朴素贝叶斯和岭回归)、
                 聚类算法   (如  K-means 聚类) 和深度学习中都有对应的继续计算类机器遗忘方法.

                 2.1.1    朴素贝叶斯
                    朴素贝叶斯通过生成数据点属于各个标签的后验概率来对数据分类. 对于一个有                            f 1 ,  ... , f k 个特征的样本, 该

                                                      ∗
                                         ∗          P(y |f 1 ,..., f k ) , 选择后验概率最大的标签作为分类结果. 其中, 后验概
                 算法先计算样本属于某个标签          y  的后验概率
                 率的计算公式为:

                                                                 k ∏
                                                             P(y )  P(f i |y )
                                                               ∗
                                                                       ∗
                                                   ∗
                                                P(y |f 1 ,..., f k ) =  i=0                           (1)
                                                                k ∏
                                                                  P(f i )
                                                                i=0
                    朴素贝叶斯对应的机器遗忘方法将公式               (1) 右边出现的概率转化为由样本计数表示的计算, 若要遗忘某个样
                                                         P(f i |y ) , 该值可通过用具有特征           y  的样本数  (记作
                                                                                           ∗
                 本, 则在涉及该样本的计数上减去对应的数量. 例如                                        f i 且标签为
                                                           ∗
                                                               ∗
                 N  ∗   ) 除以标签为  y  的样本数  (记作  N  ) 得到, 即  P(f i |y ) = N /N  . 若遗忘  1  个具有该特征和标签的样本, 对应的
                               ∗
                                              ∗
                                                                   ∗
                  f i,y                       y                f i,y  y
                            ∗    ∗     ∗               ∗                                     x  时, 改变相应
                                                                                             ∗
                 概率变为   P(f i |y ) = N −1/N −1 . 其他概率如   P(y ),P(f i ) 均可转化为由样本计数表示的形式. 遗忘
                                 f i,y  y
                 的计数, 重新计算的后验概率就作为遗忘后的概率                [2,9] .
                    Cao  等人  [9] 研究普遍场景下朴素贝叶斯的遗忘方法, 而          Parne 等人  [47] 则具体针对使用朴素贝叶斯检测垃圾邮
                 件的场景, 研究如何遗忘垃圾邮件          (恶意样本), 并使用卡方检验来验证遗忘与否. 这种利用样本计数进行遗忘的方
                           ∗
                 法只取决于    x  , 遗忘得到的后验概率与重新训练相同. 该方法避免了重新训练, 但需要额外的空间来存储样本计
                 数的中间结果.
   230   231   232   233   234   235   236   237   238   239   240