Machine Unlearning 综述(Machine Unlearning A Survey)

Machine Unlearning 综述(Machine Unlearning: A Survey)

论文出处Machine Unlearning: A Survey (arxiv.org)

在一个已训练模型的基础上,将一部分用于训练模型的数据点忘掉,很多时候出于隐私保护目的。假设一个用户的数据被要求删除,很容易就可以将这个用户的数据在数据库中删除,但若该用户的数据已经被拿来训练模型了,那么模型对这个用户的数据已经有了记忆,如何让模型忘掉这个用户的数据?你不可能把模型扔掉也不可能从头训练模型,因为这样成本太大,如何保证低成本的让模型忘掉指定数据,同时保留在剩余数据集上的有用性,这就是machine unlearning 的研究目的。这里的unlearning,你把它称作遗忘,未学习,非学习都可以,为了便于理解,全文都以遗忘来呈现。

1 引言

近年来,机器学习在人工智能(AI)的各个领域都取得了显著进展和广泛探索。然而,随着人工智能对数据的依赖性越来越强,越来越多的因素(如隐私问题、法规和法律)正在导致一种新型请求—删除信息。具体来说,相关方要求从训练数据集中删除特定样本,并从已训练的模型中删除这些样本的影响。这是因为成员推理攻击模型反转攻击会泄露有关训练数据集具体内容的信息。更重要的是,世界各地的立法者已经明智地出台了法律,赋予用户被遗忘的权利。

在这里插入图片描述

1.1 machine unlearning 的动机

目的:机器遗忘要求样本及其影响能够从训练数据集和训练好的模型中完全、快速地删除。

动机:一是法律法规,二是数据提供者对隐私和安全的关注,以及模型所有者自身的要求。

现有的数据保护技术与机器遗忘类似,但在目标或原理上有所不同。

差别

(1)差分隐私与机器遗忘:差分隐私,它的基本思想是在模型的输出中加入一些随机噪声,使得模型的输出不会因为某个样本的存在或缺失而发生明显的变化。每个样本对最终模型的贡献都有一个微妙的界限,意味着每个样本对模型的影响都是有限的,不会导致模型的输出发生大幅度的波动。但机器学习的目标是去除用户特定的训练样本(去除这部分数据,模型的输出会发生大规模波动)。

(2)数据屏蔽与机器遗忘:数据屏蔽的目的是隐藏原始数据集中的敏感信息。它对敏感数据进行转换,以防止它们在不可靠的环境中被泄露。相比之下,机器遗忘的目的是防止训练有素的模型泄露其训练样本的敏感信息。

(3)在线学习与机器遗忘:在线学习根据反馈过程中的数据快速调整模型,使模型能及时反映在线变化。在线学习与机器遗忘的一个主要区别是,前者需要进行合并操作以纳入更新,而机器遗忘是一种反向操作,在收到遗忘请求时消除这些更新。

(4)灾难性遗忘与机器遗忘:灾难性遗忘是指当模型针对新任务进行微调时,先前学习的任务性能会显著下降。灾难性遗忘会导致深度网络失去准确性,但通过分析权重,仍可获取所使用数据的信息,因此它不符合机器遗忘所要求的条件。

问题:当用户撤销对某些训练数据的权限时,仅仅从原始训练数据集中删除这些数据是不够的,因为攻击者仍然可以从训练好的模型中泄露用户信息。

解决办法

方法:要想完美删除模型中的信息,一种直接的方法就是从头开始重新训练(图 1 中的再训练过程)。

存在的问题:许多复杂的模型都是建立在大量样本基础上的,重新训练通常是一个计算昂贵的过程。此外,在某些特定的学习场景中,如联邦学习,可能无法获取训练数据集,因此根本无法进行再训练。

1.2 本次调查的贡献

主要贡献

(1)我们根据当前机器遗忘技术的原理和学习策略,提出了一种新的分类方法。

(2) 我们根据提出的分类法全面总结了最先进的机器学习方法,展示了它们的优点和不足。

(3)我们总结了分类法中的机器遗忘验证方法,并回顾了它们与相关遗忘技术的实现情况。

(4)我们对机器遗忘领域的未决问题进行了批判性的深入讨论,并指出了可能的进一步研究方向。

1.3 与机器遗忘领域现有调查的比较

在这里插入图片描述

表 1 总结了这些参考文献的对比情况。一句话来说:我的调查报告最好。

2 前言

2.1 machine unlearning 的定义

机器学习的目的:根据特定的训练算法 A (·)(其中 H 是 w 的假设空间)建立一个参数为 w∈H 的模型𝑀。

在这里插入图片描述

机器遗忘的符号定义:让 D𝑢 ⊂ D 成为训练数据集的一个子集,我们希望从训练模型中去除其影响。让它的补集 D r = D u c = D / D u D_r = D_u^c = D/D_u Dr=Duc=D/Du是我们要保留的数据集。让 R (·) 和 U (·) 分别代表再训练过程和遗忘过程。 w r w_r wr w u w_u wu 表示这两个过程建立的模型的参数。𝑃 (𝑎)代表变量 𝑎 的分布,K (·) 代表两个分布相似度的测量值。当K(·)为KL散度时,则 K L ( P ( a ) ∣ ∣ P ( b ) ) : = E a ∼ P ( a ) [ l o g ( P ( a ) / P ( b ) ) ] KL(P(a)||P(b)):=\mathbb{E}_{a\sim P(a)}[log(P(a)/P(b))] KL(P(a)∣∣P(b)):=EaP(a)[log(P(a)/P(b))]。给定两个随机变量 𝑎 和 𝑏,𝑎 关于 𝑏 的香农互信息量定义为 𝐼(𝑎;𝑏)

机器遗忘的公式定义

定义2.1:考虑我们要从训练数据集和训练模型中删除的样本集群,记为 D u {D}_u Du,遗忘过程 U ( A ( D ) , D , D u ) U(A(D),D,D_u) U(A(D),D,Du)被定义为从训练模型 A ( D ) A(D) A(D)、训练数据集 D D D 和遗忘数据集 D u D_u Du到模型 w u w_u wu的函数,它能确保遗忘模型 w u w_u wu就像从未见过遗忘数据集 D u D_u Du一样运行。

在这里插入图片描述

图 2 展示了与机器遗忘相关的典型概念、遗忘目标和需求。机器遗忘所涉及的基础技术包括多个方面,如集合学习、凸优化等。

这些技术为不同的基础遗忘要求提供了稳健的保证,这些要求包括各种类型的模型和遗忘请求,从而产生了不同的遗忘场景和相应的验证方法。此外,为确保有效性,遗忘过程需要不同的目标,如精确遗忘或强遗忘。每种遗忘目标都能确保遗忘后的模型与重新训练后的模型在参数分布上具有不同的相似性。机器遗忘还涉及多个遗忘的要求,包括一致性、准确性和可验证性。这些要求与目标约束一起,同时保证了每个遗忘方案的有效性和可行性。

2.2 machine unlearning 的目标

最终目标:机器遗忘的最终目标是重现一个模型,该模型:(1)在没有看到遗忘数据的情况下表现得如同训练出来的一样,(2)消耗的时间尽可能少。

性能基准:遗忘模型的性能基准是从头开始重新训练的模型(又称本地再训练)。

方法一:本地再训练

定义2.2(本地再训练):假设学习过程 A (·) 从未见过遗忘的数据集 D𝑢,因此在剩余数据集上执行再训练过程,表示为 D r = D \ D u D_r = D\backslash D_u Dr=D\Du 。这样,再训练过程就被定义为: W r = A ( D \ D u ) W_r= A (D\backslash D_u) Wr=A(D\Du)(1) 。

本地再训练自然就确保了可以从训练数据集和已训练模型中对样本信息的遗忘。

本地再训练的缺点:与再训练过程相关的计算和时间开销可能会非常昂贵。此外,如果无法访问训练数据集,例如联邦学习,再训练过程并不总是可行的。

方法二:精确遗忘

精确遗忘保证了遗忘的模型和再训练的模型的分布是无差别的。

定义2.3(精确遗忘):给定一个分布测量 K (·),如 KL 发散,如果 K ( P ( U ( A ( D ) , D , D u ) ) , P ( A ( D \ D u ) ) ) = 0 K(P(U(A(D),D,D_u)),P(A(D\backslash D_u)))=0 K(P(U(A(D),D,Du)),P(A(D\Du)))=0(2),则遗忘过程 U (·) 将提供一个精确的遗忘目标,其中𝑃 (·) 表示权重的分布。

精确遗忘保证了两个输出分布是不可区分的,从而防止观察者(如攻击者)获取有关 D u D_u Du 的任何信息。

精确遗忘的缺点:由于精确遗忘只能在简单和结构良好的模型中实现,因此需要一个不那么严格的遗忘目标。

方法三:近似遗忘

与精确遗忘相比,分别减轻了权重和最终激活的不可分性,适用于复杂机器学习模型。实践中,近似遗忘进一步发展为强遗忘策略和弱遗忘策略。

定义2.4(近似遗忘):如果 K ( P ( U ( A ( D ) , D , D u ) ) , P ( A ( D \ D u ) ) ) K(P(U(A(D),D,D_u)),P(A(D\backslash D_u))) K(P(U(A(D),D,Du)),P(A(D\Du)))被限制在一个可容忍的阈值内,则遗忘过程 U (·) 被定义为强遗忘。

近似遗忘确保了遗忘模型的分布与再训练模型的分布近似无差别。这种近似通常由差分隐私技术来保证,例如 (𝜀, 𝛿)-认证遗忘。

根据估计分布的方式,近似遗忘可进一步分为强遗忘和弱遗忘。强遗忘基于模型内部参数分布的相似性,而弱遗忘则基于模型最终激活结果的分布。表 3 总结了每种遗忘目标之间的主要区别。

在这里插入图片描述

图 3 展示了机器学习的目标及其与训练模型的关系。不同的目标实质上对应着对遗忘结果的要求。

在这里插入图片描述

上表中的非学习可理解为遗忘。

2.3 Machine Unlearning 的理想

为了公平、准确地评估遗忘方法的效率和效果,有一些数学特性可用于评估。

定义2.5(一致性):假设有一组样本 X e X_e Xe,其真实标签为 Y e Y_e Ye { y 1 e , y 2 e , . . . , y n e } \{y_1^e,y_2^e,...,y_n^e\} {y1e,y2e,...,yne}。设 Y n Y_n Yn { y 1 n , y 2 n , . . . , y n n } \{y_1^n,y_2^n,...,y_n^n\} {y1n,y2n,...,ynn} Y u Y_u Yu { y 1 u , y 2 u , . . . , y n u } \{y_1^u,y_2^u,...,y_n^u\} {y1u,y2u,...,ynu} 分别是由再训练的模型和遗忘的模型生成的预测标签。如果所有 y i n = y i u , 1 ≤ i ≤ n y_i^n= y_i^u,1 ≤ i ≤ n yin=yiu,1in,则认为遗忘过程 U ( A ( D ) , D , D u ) U (A (D), D, D_u) U(A(D),D,Du) 具有一致性。

一致性表示再训练的模型和遗忘模型的行为有多相似。它表示遗忘策略是否能有效去除遗忘数据集 D u D_u Du的所有信息。如果对于每个样本,遗忘模型都能给出与重新训练模型相同的预测结果,那么攻击者就无法推断出遗忘数据的信息。

定义2.6(准确性):给定剩余数据集中的一组样本 X e X_e Xe,其真实标签为 Y e Y_e Ye { y 1 e , y 2 e , . . . , y n e } \{y_1^e,y_2^e,...,y_n^e\} {y1e,y2e,...,yne} 。设 Y u Y_u Yu { y 1 u , y 2 u , . . . , y n u } \{y_1^u,y_2^u,...,y_n^u\} {y1u,y2u,...,ynu} 表示模型在遗忘过程后产生的预测标签, w u = U ( A ( D ) , D , D u ) w_u = U(A(D),D,D_u) wu=U(A(D),D,Du)。如果所有 y i u = y i e , 1 ≤ i ≤ n y_i^u= y_i^e,1 ≤ i≤ n yiu=yie,1in,则认为遗忘过程具有准确性。

准确度是指遗忘模型正确预测样本的能力。它揭示了遗忘过程后模型的可用性,因为准确率低的模型在实践中毫无用处。准确性是任何遗忘机制的关键要素,因为我们认为,如果遗忘过程严重破坏了原始模型的准确性,那么遗忘机制就是无效的。

定义2.7(可验证性):在遗忘过程之后,验证函数 V (·) 可以进行可区分的检验,即 V ( A ( D ) ) ≠ V ( U ( A ( D ) , D , D u ) ) V (A (D)) ≠V(U(A(D),D,D_u)) V(A(D))=V(U(A(D),D,Du))。这样,遗忘过程 U ( A ( D ) , D , D u ) U (A (D),D,D_u) U(A(D),D,Du) 就能提供可验证性。

可验证性可以用来衡量模型提供者是否成功地遗忘了所要求的遗忘数据集 D u D_u Du。以下面的后门验证方法为例,如果遗忘样本 x d x_d xd的预注入后门被验证为存在于 A ( D ) A (D) A(D) 中,但不存在于 U ( A ( D ) , D , D u ) U (A (D), D, D_u) U(A(D),D,Du)中, 即 V ( A ( D ) ) = t r u e V (A (D)) = true V(A(D))=true V ( U ( A ( D ) , D , D u ) ) = f a l s e V (U (A (D), D, D_u)) = false V(U(A(D),D,Du))=false, 则可认为遗忘方法 U ( A ( D ) , D , D u ) U (A (D), D, D_u) U(A(D),D,Du) 提供了可验证性。

3 遗忘及其验证机制的分类

图 4 总结了本文使用的机器遗忘及其验证的一般分类法。集中修改训练数据的遗忘方法被归类为数据重组,而直接操作训练模型权重的方法被称为模型操作。至于验证方法,我们首先将这些方案分为实验型和理论型,然后根据其使用的指标对这些方法进行总结。

在这里插入图片描述

3.1 遗忘分类

3.1.1 数据重组

定义 :数据重组是指模型提供者通过重组训练数据集来遗忘数据的技术。

**处理方法:**数据混淆(obfuscation)、数据剪枝(pruning)和数据替换(replacement)。表 4 比较并总结了这些方案之间的差异。

(1)数据混淆: 在数据混淆中,模型提供者有意在剩余数据集中添加一些编排好的数据,即 D n e w ← D r ∪ D o b f D_{new} ← D_r∪ D_{obf} DnewDrDobf , 其中, D n e w D_{new} Dnew D o b f D_{obf} Dobf 分别是新的训练数据集和编排数据。然后,根据 D n e w D_{new} Dnew 对训练模型进行微调,以遗忘某些特定样本。这类方法通常基于通过将数据集与编排数据重新组合来消除 D u D_u Du信息的想法。例如,Graves 等人用随机选择的错误标签对 D u D_u Du进行了重新标注,然后对训练好的模型进行了多次迭代微调,以遗忘数据。

(2)数据剪枝: 在数据剪枝中,模型提供者首先将训练数据集分割成几个子数据集,然后根据每个子数据集训练几个子模型。然后,这些子模型被用来协同汇总一个共识预测,即 D → D 1 ∪ D 2 ∪ . . . ∪ D m , w i = A ( D i ) , f ( x ) = A g g ( M w i ( x ) ) D → D_1 ∪ D_2 ∪ ... ∪ D_m,w_i = A (D_i),f(x) = Agg(M_{wi} (x)) DD1D2...Dm,wi=A(Di)f(x)=Agg(Mwi(x)),其中 D i , 0 < i < m D_i , 0 < i< m Di,0<i<m 是子数据集、 和 ∩ D i = ∅ ∩D_i = ∅ Di= ∪ D i = D ∪D_i= D Di=D,𝑚 是子数据集的个数, w i w_i wi 是子模型,𝐴𝑔𝑔(·) 是聚合函数。在收到遗忘请求后,模型提供者会从包含这些请求的子数据集中删除遗忘的样本,然后重新训练受影响的子模型。这种方法的灵活性在于,遗忘数据集 D𝑢 的影响仅限于分割后的每个子数据集,而不是整个数据集。以 SISA 方案为例,SISA 框架首先将训练数据集随机划分为 𝑘 个碎片。然后按每个片段一个模型的方式分别训练一系列模型。当需要遗忘某个样本时,首先将其从包含该样本的碎片中移除,然后只重新训练与这些碎片相对应的子模型。

(3) 数据替换: 在数据替换中,模型提供者故意用一些新的转换数据集(即 D t r a n s ← D D_{trans} ← D DtransD)替换训练数据集 D。然后,转换后的数据集 D t r a n s D_{trans} Dtrans 被用来训练一个模型,该模型可以在收到遗忘请求后轻松实现遗忘。例如,Cao 等人用几种可高效计算的变换替换了训练数据集,并用这些变换完成了模型的训练。从变换后的数据集中移除任何样本后,这些变换可以更快地更新。因此,计算开销减少了,遗忘操作的效率也提高了。

3.1.2 模型操作

定义 :在模型操作中,模型提供者旨在通过调整模型参数来实现遗忘操作。

处理方法:模型转移、模型替换和模型剪枝。表 4 比较并总结了这些方案之间的差异。

(1)模型转移: 在模型转移中,模型提供者直接更新模型参数,以抵消遗忘样本对模型的影响,即 w u = w + δ w_u = w + \delta wu=w+δ,其中 w w w 是原始训练模型的参数,𝛿 是更新值。这些方法通常基于计算样本对模型参数的影响,然后更新模型参数以消除这种影响。准确计算样本对模型参数的影响通常非常困难,尤其是复杂的深度神经模型。因此,许多基于模型移动的遗忘方案都基于特定的假设。例如,Guo 等人的遗忘算法就是为具有强凸正则化的线性模型设计的。

(2)模型替换: 在模型替换中,模型提供者直接用预先计算的参数替换某些参数,即 w u ← w n o e f f e c t ∪ w p r e w_u ← w_{noeffect} ∪w_{pre} wuwnoeffectwpre ,其中 w u w_u wu是遗忘模型的参数, w n o e f f e c t w_{noeffect} wnoeffect是部分未受影响的静态参数, w p r e w_{pre} wpre 是预先计算的参数。这些方法通常依赖于特定的模型结构来提前预测和计算受影响的参数。它们只适用于一些特殊的机器学习模型,如决策树或随机森林模型。例如,根据预先计算的决策节点替换受影响的中间决策节点,从而生成一个遗忘的模型。

(3)模型剪枝: 在模型剪枝中,模型提供者从训练过的模型中剪除一些参数,以遗忘给定样本,即 w u ← w / δ w_u ← w/\delta wuw/δ,其中 w u w_u wu 是遗忘模型的参数,w 是训练过的模型的参数,𝛿 是需要去除的参数。这种遗忘方案通常也是基于特定的模型结构,并且通常伴随着微调过程,以便在模型剪枝后恢复性能。例如,Wang 等人在卷积神经网络模型中引入了词频反向文档频率(TF-IDF)来量化信道的类别区分度,其中 TF-IDF 分数高的信道会被剪枝。

在这里插入图片描述

上表中的非学习可理解为遗忘。

3.2 验证机制

验证时产生的问题

(1)模型提供商可能会对外宣称,他们已经从模型中消除了这些影响因素,但实际上并非如此。

(2)对于数据提供商来说,证明模型提供商已经完成了遗忘过程可能也很棘手,尤其是对于具有庞大训练数据集的复杂深度模型来说。

(3)删除一小部分样本对模型的影响微乎其微。

(4)即使遗忘的样本真的被删除了,模型仍然有很大的机会做出正确的预测,因为其他用户可能也提供了类似的样本。

结论:提供合理的遗忘验证机制是一个值得进一步研究的课题。

3.2.1 经验评估

(1)基于再训练的验证

​ 由于再训练数据集不再包含需要遗忘的样本,因此再训练自然可以提供可验证性。这是最直观、最易理解的解决方案。

(2)基于攻击的验证

​ 遗忘操作的基本目的是减少因模型过拟合而导致的敏感信息泄露。因此,一些攻击方法可以直接有效地验证遗忘操作,例如成员推理攻击模型反转攻击。此外,Sommer 等人在机器学习即服务(MLaaS)的背景下,从个人用户的角度提供了一种新颖的后门验证机制。这种方法能以高置信度验证服务提供商是否遵守了用户遗忘信息的权利。

(3)基于再学习时间的验证

​ 再学习时间可用于衡量模型中关于遗忘样本的剩余信息量。如果模型只需很少的再训练时间就能迅速恢复到原始训练模型的性能,那么它很可能还记得一些遗忘样本的信息。

(4)基于精度的验证

​ 训练好的模型通常对训练数据集中的样本具有很高的预测准确率。这意味着遗忘过程可以通过模型输出的准确性来验证。对于需要遗忘的数据,其准确率最好与未看到 D u D_u Du 的训练模型相同。此外,如果一个模型在受到攻击后的准确度在遗忘对抗数据后可以恢复,我们也可以说遗忘是经过验证的。

3.2.2 理论计算

(1)基于理论的验证

​ 一些方法提供了经过认证的遗忘定义,确保遗忘模型无法与在剩余数据集上从头开始训练的模型区分开来。这也可以提供一种验证方法,直接保证所提出的方案可以遗忘样本。

(2)基于信息边界的验证

​ Golatkar 等人设计了一种新指标来验证遗忘方案的有效性,他们测量了需要被遗忘的样本的残余信息上限。残余信息越少,代表遗忘操作越有效。表 5 总结并比较了每种验证方法的优势和局限性。

在这里插入图片描述

4 数据重组

这部分具体介绍每种遗忘方法的实现方式以及验证方法。

4.1 基于数据混淆的重组

4.1.1 基于数据混淆的遗忘方案

情景:一般来说,大多数模型攻击情况(如成员推理攻击)都源于模型的过拟合,并依赖于根据已知输入变化观察输出的变化。也就是说,对于绝大多数攻击者来说,通过观察输出置信向量的变化,很容易对某些已训练模型实施攻击。

遗忘方案一:一种可选的机器遗忘方案可以解释为混淆模型对样本的理解,使其无法在模型中保留任何正确信息。这种方法会进一步混淆模型输出的置信向量。如图 5 所示,当收到遗忘请求时,模型会根据构建的混淆数据 D o b f D_{obf} Dobf 继续训练 w w w,从而产生更新的 w u w_u wu

案例

​ (1)在这方面,Graves 等人提出了一种随机重新标注和重新训练的机器遗忘框架。用随机选择的错误标签对敏感样本进行重新标注,然后根据修改后的数据集对机器学习模型进行多次迭代微调,以遗忘那些特定样本。

​ (2)与此类似,Felps 等人故意在要遗忘的数据集标签上投毒,然后根据新的投毒数据集对模型进行微调。然而,这种遗忘方案只会混淆模型输出与样本之间的关系;模型参数仍可能包含每个样本的信息。

遗忘方案二:训练好的模型总是通过最小化所有类别的损失来训练的。如果我们可以学习一种噪声,它只能使某些类别的损失最大化,那么这些类别就可以遗忘。

案例

​ (1)基于这一想法,Tarrun 等人将遗忘过程分为两个步骤:损害和修复。在损害步骤中,学习一个误差最大化噪声矩阵,该矩阵由对应于遗忘类别的高影响力样本组成。噪声矩阵的效果与遗忘数据的效果截然相反,它会破坏遗忘数据的信息,从而导致单个/多个类别的遗忘。为了修复模型遗忘过程造成的性能下降,修复步骤根据剩余数据进一步调整模型。

​ (2)同样,Zhang 等人考虑了图像检索领域的遗忘请求。所研究的方法包括使用生成方法创建噪声数据,以调整检索模型的权重,达到遗忘的目的。他们还提出了一种新的学习框架,包括静态和动态学习分支,确保生成的噪声数据只影响被遗忘的数据,而不影响其他剩余数据。

缺点:但是,上述两种方案会消耗较多的时间来生成用于遗忘过程的噪声,从而影响遗忘过程的效率。

在这里插入图片描述

4.1.2 基于数据混淆的方案可验证性

遗忘方案一的验证

​ 为了验证遗忘过程,Graves 等人使用了两种最先进的攻击方法—模型反转攻击和成员推理攻击—来评估在遗忘过程之后,模型参数中保留了多少关于特定样本的信息—换句话说,在遗忘过程之后,有多少信息可能被泄露。他们的模型反转攻击是 Fredrikson 等人提出的标准模型反转攻击的修改版。这三种修改包括:将过程函数调整为每 n n n个梯度下降步骤;在每次反转前为每个特征添加少量噪声;修改攻击迭代次数。这些调整使他们能够分析复杂的模型。对于成员推理攻击,他们采用了 Yeom 等人概述的方法。Felps 等人的可验证性分析也是基于成员推理攻击。

遗忘方案二的验证

​ 相比之下,Tarrun 等人通过几种测量方法对可验证性进行了评估。他们首先通过测量遗忘模型达到与原始训练模型相同准确度所需的历时来评估再学习时间。然后,进一步评估原始模型、遗忘过程后的模型和重新训练的模型之间的距离。

4.2 基于数据剪枝的重组

4.2.1 基于数据剪枝的遗忘方案

如图 6 所示,基于数据剪枝的遗忘方案通常以集合学习技术为基础。

遗忘方案一

​ Bourtoule 等人提出了一种 “分片、隔离、切片和聚合”(SISA)框架,类似于当前的分布式训练策略,作为机器遗忘的一种方法。采用这种方法时,首先将训练数据集 D D D分割成 𝑘 个互不相关的碎片 D 1 , D 2 , . . . , D k D_1,D_2,...,D_k D1,D2,...,Dk。然后,子模型 M w 1 , M w 2 , . . . , M w k M_w^1,M_w^2,...,M_w^k Mw1,Mw2,...,Mwk分别在这些碎片上单独训练,这就限制了样本对包含这些样本的碎片上训练的子模型的影响。在推理时,每个子模型中的𝑘 个预测会被简单地聚合起来,以提供一个全局预测(例如,通过多数投票),这与机器学习中的集合学习的情况类似。当模型所有者收到遗忘学习数据样本的请求时,只需重新训练包含该样本的子模型碎片即可。

​ 随着遗忘数据量的增加,SISA 会导致模型性能下降,因此只适用于小规模场景。这些遗忘方案的代价是重新训练受影响的子模型所需的时间,这与碎片的大小直接相关。碎片越小,遗忘方案的成本就越低。同时,每个子模型的训练数据集也会减少,这将间接降低集合模型的准确性。Bourtoule 等人[30]提供了三种关键技术来缓解这一问题,包括无隔离情况下的遗忘、数据复制和核心集选择。

遗忘方案二

​ Chen 等人将研究出来的方法引入推荐系统,并设计了三种新颖的数据分割算法,将推荐训练数据分成均衡的组,以确保协作信息得以保留。Wei 等人重点研究了患者相似性学习中的遗忘问题,并提出了 PatEraser。为了保留患者之间的比较信息,他们研究出了一种新的数据分区策略,将具有相似特征的患者分成多个碎片。此外,他们还提出了一种新的聚合策略,以提高全局模型的效用。

遗忘方案三

​ Yan 等人设计了一种用于精确机器遗忘的高效架构,称为 ARCANE,与 Bourtoule 等人的方案类似。他们没有统一划分数据集,而是按类划分,并利用单类分类器来减少准确率损失。此外,他们还对每个子数据集进行了预处理,以加快模型的再训练,其中包括代表性数据的选择、模型训练状态的保存以及按擦除概率进行的数据排序。

前三个遗忘方案的劣势:上述遗忘方案通常需要缓存大量的中间结果才能完成遗忘过程。这将消耗大量的存储空间。

SISA方案(遗忘方案一):SISA 的设计目的是分析图像和文本等欧氏空间数据,而不是图形等非欧氏空间数据。现在,许多重要的现实世界数据集都以图的形式存在,如社交网络、金融网络、生物网络或交通网络。为了分析这些图中的丰富信息,图神经网络(GNN)显示出了前所未有的优势。图神经网络依赖于图的结构信息和相邻节点特征。然而,天真地将 SISA 方案应用于 GNNs 的遗忘,即随机地将训练数据集分割成多个子图,会破坏训练图的结构,并可能严重损害模型的实用性。

GraphEraser方案(遗忘方案二):为了在保持图数据集结构信息的同时实现高效的再训练,Chen 等人提出了 GraphEraser,一种专为图数据定制的新型机器遗忘方案。他们首先定义了图场景中两种常见的机器遗忘请求:节点遗忘和边遗忘,并提出了图遗忘的一般流程,该流程由三个主要步骤组成:图分割、碎片模型训练和碎片模型加重。在图分割步骤中,他们引入了改进的平衡标签传播算法(LPA)和平衡嵌入k-means划分策略,以避免高度不平衡的碎片大小。鉴于不同的子模型可能对最终预测做出不同的贡献,他们还提出了一种基于学习的聚合方法 OptAggr,该方法可优化每个子模型的重要性得分,最终提高全局模型效用。

上述两种方案产生的问题SISAGraphEraser等确定性遗忘方案对从已训练模型和遗忘模型之间的差异中了解特定样本的情况不作任何承诺。如果攻击者在遗忘操作前后都能访问模型,这可能会加剧用户隐私问题。

如何解决该问题:一种有效的方法是在执行遗忘操作时隐藏遗忘模型的信息。

遗忘方案四(对上述方案进行改进的方案)

​ 在实际应用中,Neel 等人提出了一种基于更新的遗忘方法,该方法通过执行多次梯度下降更新来建立一个遗忘模型。该方法可处理任意长的遗忘请求序列,并具有稳定的运行时间和稳态误差。此外,为了缓解上述遗忘问题,他们引入了秘密状态(secret state)的概念:首先对训练好的模型进行遗忘操作。然后,通过添加高斯噪声对遗忘模型进行扰动,以便发布。这有效地确保了攻击者无法访问遗忘模型,从而有效地隐藏了遗忘模型中的任何敏感信息。他们还提供了(𝜖, 𝛿)-认证的遗忘保证,并利用分布式优化算法和水库采样,为足够高维的数据提供更好的准确性/运行时间权衡。

遗忘方案五

​ 在初始模型部署后,数据提供商可能会做出自适应的遗忘决策。例如,当安全研究人员发布一种新的模型攻击方法,可以识别训练数据集的特定子集时,这些子集的所有者可能会迅速增加删除请求的数量。Gupta 等人将上述遗忘请求定义为自适应请求,并提出了一种使用 SISA 框架变体和差分隐私聚合方法的自适应按顺序发生的机器遗忘方法。他们利用差分隐私和最大信息理论,给出了从自适应序列到非自适应序列的遗忘保证的一般还原。结合之前序列遗忘请求的非自适应保证,他们还为自适应遗忘序列提供了强有力的可证明的遗忘保证。

遗忘方案六

​ He 等人为深度学习模型开发了一种遗忘方法。他们首先引入了一种称为去趋势波动分析(detrended fluctuation analysis)的过程,该过程量化了遗忘数据对模型参数的影响,称为时间残余记忆(temporal residual memory)。他们观察到,这种影响呈指数衰减,随着时间的推移,衰减速度越来越快。基于这些结果,在训练过程中保留了中间模型,并将其分为四个区域,分别命名为未见区域、已删除区域、受影响区域和未受影响区域。未见表示遗忘样本尚未到达。已删除包括遗忘数据集。未受影响和受影响表示时间残余记忆是否失效。遗忘模型可以通过重复使用未见模型和未受影响模型以及重新训练受影响区域来拼接。但是,该方案没有提供任何理论验证方法,以确保遗忘数据的信息确实从模型中删除。

在这里插入图片描述

4.2.2 基于数据剪枝的方案可验证性

​ 上面所述的遗忘方案本质上是基于一种再训练机制,这种机制自然具有可验证性。正如第 2.3 节所讨论的,使遗忘方案具有可验证性的一个直接方法是从训练数据集中删除需要遗忘的样本后,从头开始重新训练模型。上述方案引入了分布式学习和集合学习技术,分别独立地训练子模型,以优化每个子数据集上的损失函数。然后将子模型聚合起来进行预测。在遗忘过程中,只有受影响的子模型才会被重新训练,这就避免了大量的计算和时间开销,同时还提供了可验证性保证。He 等人使用后门验证方法来验证他们的遗忘过程。他们设计了一种特制的触发器,并将这种 "后门数据 "植入需要遗忘的样本中,但对模型的准确性影响不大。他们根据后门数据能否用于攻击遗忘模型并获得高成功率,间接验证了遗忘过程的有效性。如果攻击结果的准确率较低,则证明所提出的遗忘方法已经删除了遗忘数据。

4.3 基于数据替换的重组

4.3.1 基于数据替换的遗忘方案

如图 7 所示,在数据替换方案中训练模型时,第一步通常是将训练数据集转换为易于遗忘的类型,命名为转换 T \mathcal{T} T。然后利用这些转换分别训练模型。当有遗忘请求时,只需要更新转换 t i t_i ti 中的一部分,即包含遗忘样本的转换,并将其用于重新训练每个子模型,从而完成机器遗忘。

遗忘方案一

​ 受到之前使用MapReduce加速机器学习算法的工作的启发,Cao 等人提出了一种将训练数据集转换为求和形式的机器遗忘方法。每个求和都是一些可高效计算的变换之和。学习算法只依赖于求和,而不是单个数据,这就打破了训练数据集中的依赖关系。要遗忘某个数据样本,模型提供者只需更新受该样本影响的求和,然后重新计算模型即可。然而,由于求和形式来自统计查询(SQ)学习,而只有少数机器学习算法可以实现 SQ 学习,如奈夫贝叶斯分类器、支持向量机 和 k-means 聚类,因此该方案的适用性较低。

遗忘方案二

​ Takashi 等人提出了一种名为 "选择性遗忘学习 "的终身学习新方法,即针对新任务更新模型时,只遗忘以前任务中的特定类别,而保留其他类别。为了实现这一目标,作者设计了特定的记忆代码,即在相应类别的所有训练样本中添加类别特定的合成信号。然后,利用灾难性遗忘机制,利用这些代码遗忘特定类别,而无需原始数据。但值得注意的是,这一方案缺乏任何理论验证方法来确认遗忘的数据信息已成功从模型中删除。

在这里插入图片描述

4.3.2 基于数据替换方案的可验证性

Cao 等人提供了一种基于准确性的验证方法。具体来说,他们用 Calandrino 等人提出的系统推理攻击方法对LensKit模型进行了攻击,并验证了遗忘操作成功地阻止了攻击产生任何信息。对于其他三个模型,他们首先进行了数据污染攻击,以影响这些模型的准确性。然后,他们分析了遗忘过程后模型的性能是否恢复到污染攻击前的状态。如果遗忘的模型确实恢复到了污染前的值,则认为遗忘操作是成功的。(上面也可以这样理解:它验证遗忘操作是否能够抵消数据污染攻击的影响,主要看的是性能,能抵消,说明性能好,容易遗忘)Takashi 等人就提供了一种新的度量方法,名为 “选择性遗忘学习度量(LSFM)”,它是基于准确度的理念。

4.4 数据重组概述

​ 在最后几个小节中,我们回顾了使用数据混淆、数据剪枝和数据替换技术作为遗忘方法的研究。表 6 显示了所调查研究的摘要,我们在其中列出了每篇论文之间的主要差异。

​ 从这些总结中我们可以看出,大多数遗忘算法都保留了中间参数并使用原始训练数据集。这是因为这些方案通常会分割原始训练数据集,并重新训练在包含遗忘样本的数据集上训练的子模型。因此,特定样本的影响仅限于部分子模型,从而减少了实际遗忘样本所需的时间。不过,分段的时间减少是以额外的存储空间为代价的。因此,值得研究更有效的遗忘机制,既能确保遗忘过程的有效性,又不会同时增加过多的存储成本。

​ 此外,这些遗忘方案通常支持各种遗忘请求和模型,从样本到类或序列,从支持向量机到复杂的深度神经模型。基于数据重组的遗忘方案很少直接对模型进行操作。相反,它们通过修改原始训练数据集的分布,间接改变所获得的模型,从而达到遗忘的目的。这样做的好处是,这种技术可以应用于更复杂的机器学习模型。除了适用性强之外,它们中的大多数还能提供强有力的遗忘保证,即遗忘后的模型分布与重新训练得到的模型分布近似无差别。

​ 值得指出的是,基于数据重组的解学习方法在解学习过程中会影响模型的一致性和准确性。这种准确性的降低源于每个子模型都是在部分数据集而不是整个训练数据集上训练的。这种现象并不能保证遗忘模型的准确度与分割前的结果相同。潜在的解决方法是在没有隔离、数据复制的情况下使用遗忘。

​ 提到的一些研究使用再训练方法间接验证了遗忘过程,而其他研究则通过基于攻击或基于准确性的方法提供了可验证性。不过,大多数遗忘方案都没有在理论层面上做进一步研究。上述绝大多数遗忘方案都是通过实验来验证有效性的,并不支持方案的理论有效性。例如,理论有效性将表明攻击者在遗忘过程后能从遗忘的模型中获取多少敏感信息,或者遗忘的模型参数与重新训练的模型有多相似。因此,需要对遗忘方案的有效性进行进一步的理论研究。

​ 总之,面对复杂模型的遗忘请求,基于数据混淆的遗忘方案很少能遗忘信息。这是因为很难完全抵消遗忘数据的影响。数据剪枝方案总是会影响模型的准确性,因为它们通常使用部分训练数据集来训练子模型。对于数据替换方案,不可能找到一个新的数据集来替换原始数据集中的所有信息,从而训练出一个模型。因此,研究人员应转向设计能在遗忘过程的有效性和模型可用性之间取得更多平衡的遗忘案。

在这里插入图片描述

5 模型操作

模型训练阶段包括创建一个有效的模型,复制训练数据集中的输入与模型输出之间的预期关系。因此,直接操纵模型以消除特定关系可能是遗忘样本的好方法。在本节中,我们将全面回顾通过操纵模型去遗忘的最新研究。同样,我们将针对每个类别分别讨论验证技术。

5.1 基于模型转移的操作

5.1.1 基于模型转移的遗忘方案

如图 8 所示,模型转换方法通常通过直接更新模型参数来消除遗忘数据的影响。这些方法主要分为两类:影响遗忘(influence unlearning)和费雪遗忘(Fisher unlearning)。

(1)影响遗忘法

​ 影响遗忘法通常基于影响理论。Guo 等人提出了一种新颖的遗忘方案,称为认证去除。受差分隐私的启发,认证去除首先限制了遗忘模型和再训练模型之间的最大差异。然后,通过在模型参数上应用牛顿法的一个步骤,为使用可变凸损失函数训练的 𝐿2- 正则化线性模型的实际应用提供了一种认证去除机制。此外,还采用了一种隐藏梯度残差的损失扰动技术来扰动训练损失。这进一步防止了对手从遗忘模型中提取信息。不过,值得注意的是,这种解决方案只适用于简单的机器学习模型,如线性模型,或者只调整深度神经网络的线性决策层,这并不能消除被移除数据样本的信息,因为表征仍然是在模型内学习的。

​ Izzo 等人提出了一种基于梯度更新的遗忘方法,称为投影参数更新(PRU)。该方法侧重于线性回归,并展示了如何将文献[41] 中给出的算法运行时间从二次复杂度提高到线性复杂度。遗忘直觉如下: 如果可以在不知道 w u w_u wu的情况下,计算出遗忘模型在 D u D_u Du 中每个遗忘样本 x i D u {x_i}_{D_u} xiDu上预测的值 y ^ i D u = w u ( x i D u ) {\hat y_i}_{D_u}=w_u({x_i}_{D_u}) y^iDu=wu(xiDu),然后最小化已训练模型在合成样本( x i D u , y ^ i {x_i}_{D_u},\hat y_i xiDu,y^i)上的损失,参数就会更接近 w u w_u wu,因为它将实现样本( x i D u , y ^ i D u {x_i}_{D_u},{\hat y_i}_{D_u} xiDu,y^iDu)损失最小。为了在不知道 w u w_u wu的情况下计算 y ^ i D u {\hat y_i}_{D_u} y^iDu的值,他们引入了一种统计技术并计算了留一残差。与上述方法类似,这种方法只考虑简单模型中的遗忘过程。

在这里插入图片描述

​ 信息泄露可能不仅体现在单个数据样本中,还可能体现在特征和标签组中 。例如,用户的私人数据(如电话号码和居住地)会被数据提供商多次收集,并作为训练数据集的不同样本生成。因此,遗忘操作也应侧重于遗忘一组特征和相应的标签。

​ 为解决此类问题,Warnecke 等人提出了一种用于遗忘特征和标签的认证遗忘方案。通过将样本对已训练模型的影响估计重新表述为一种遗忘形式,他们得出了一种通用方法,可将训练数据集的回溯变化映射为模型参数的闭式更新。然后,他们针对两种不同类型的机器学习模型,提出了基于一阶梯度更新和二阶梯度更新的不同遗忘方法。在一阶更新中,参数的更新基于原始样本和扰动样本的梯度差。对于二阶更新,他们根据文献[89]中提出的方案近似地计算了一个逆海森矩阵,并根据这个近似矩阵更新了模型参数。通过扩展差分隐私和认证遗忘的概念,也为特征和标签遗忘提供了理论保证。然而,这种解决方案只适用于从表格数据中遗忘特征,并没有为图像特征提供任何有效的解决方案。

(2)费雪遗忘方法

​ 第二种模型转移技术是利用剩余数据集的费雪信息来遗忘特定样本,同时注入噪声以优化转移效果。Golatkar 等人提出了一种权重擦除方法,以遗忘对特定类别整体或类别内样本子集的信息。他们首先根据库尔贝克-莱布勒(KL)发散和香农互信息,给出了一个可计算的上界,即在应用遗忘步骤后,遗忘数据集所保留的信息量。然后,提出了一种基于牛顿更新的最优二次遗忘算法和一种基于噪声牛顿更新的更稳健的遗忘步骤。这两种方案都能确保在遗忘队列的同时,保持剩余样本的良好精度。然而,这种遗忘方案基于各种假设,这限制了它的适用性。

​ 对于深度学习模型来说,从权重或权重分布的角度来限定可提取的信息通常比较复杂,而且可能限制性过强。深度网络在分布空间中有大量等效解,它们会在所有测试样本上提供相同的激活。因此,许多方案都将遗忘操作从关注权重转向关注最终激活。

​ 与之前的工作不同,Golatkar 等人提供了从最终激活中可提取多少信息的界限。他们首先根据香农互信息将边界从权重角度转换为最终激活度,并利用遗忘模型和再训练模型的最终激活度分布之间的𝐿-divergence,提出了一个可计算的边界。受神经正切核(NTK)的启发,他们认为深度网络激活可以近似为权重的线性函数。因此,他们根据费雪信息矩阵提供了最优的遗忘步骤。然而,由于深度神经网络的特殊结构,只考虑最后激活层的遗忘过程可能无法满足遗忘的有效性。一旦攻击者在白盒场景中获得了所有模型参数,他们仍然可以从中间层推断出信息。

​ Golatkar 等人也提出了一种基于新的混合隐私训练过程的混合隐私遗忘方案。这种新的训练流程假定传统的训练数据集可分为两部分:核心数据和用户数据。在核心数据上进行的模型训练是非凸的,然后根据二次损失函数对用户数据进行进一步训练,以满足特定用户任务的需求。基于这一假设,现有的二次遗忘方案可以很好地对用户数据进行遗忘操作。最后,他们还根据互信息推导出了攻击者能从模型权重中提取的信息量边界。尽管如此,由于假设训练数据集被分为两部分,并且模型是在每一部分上使用不同的方法训练的,这就限制了遗忘请求只能针对那些容易遗忘的数据,使得遗忘数据的其他部分变得困难。

​ Liu 等人提出了一种分布式牛顿型模型更新算法,用于近似由局部优化器在剩余数据集上训练的损失函数,从而将遗忘方法从集中式环境转移到联邦学习中。该方法以准牛顿法为基础,使用一阶泰勒展开。他们还使用对角经验费雪信息矩阵(FIM)来高效、准确地近似逆海森矩阵,而不是直接计算,以进一步降低再训练过程的成本。不过,在处理复杂模型时,这种解决方案会导致精确度大大降低。

(3)其他转移方案

​ Schelter 等人提出了通过递减更新使训练好的机器学习模型遗忘数据的问题。他们针对不同的机器学习任务描述了三种递减更新算法。这些算法包括基于项的协同过滤算法基于脊回归的算法和基于𝑘-近邻的算法。每种机器学习算法都会保留中间结果,并根据中间结果和遗忘数据 D u D_u Du更新模型参数,从而得到遗忘模型。然而,这种策略只能用于那些在遗忘过程后可以直接计算得到模型参数的模型,限制了这种方案的适用性。

​ 此外,Graves 等人还提出了一种以激光为焦点的敏感数据移除方法,称为失忆遗忘(amnesiac unlearning)。在训练过程中,模型提供者会保留一个变量,用于存储哪些样本出现在哪个批次中,以及每个批次的参数更新。当数据遗忘请求到达时,模型所有者只取消包含敏感数据的批次中的参数更新,即 M w u = M w − ∑ Δ w M_{w_u} = M_w - \sumΔw Mwu=MwΔw,其中 M w M_w Mw 是已经训练好的模型,Δ𝑤 是每个批次后的参数更新。由于取消某些参数可能会大大降低模型的性能,因此模型提供者可以在遗忘操作后进行少量微调,以恢复性能。这种方法需要存储大量的中间数据。随着存储时间间隔的缩短,缓存数据的数量也会增加,而更小的时间间隔可以提高模型遗忘的效率。因此,这种方法需要在效率和效果之间做出权衡。

​ 上述方法主要关注经验风险最小化这一核心问题,其目标是在遗忘样本后的剩余训练数据集上找到经验损失的近似最小值。Sekhari 等人提出了一种更通用的方法,用于减少遗忘过程中未见到样本的损失。他们通过在训练过程中使用基于一些廉价存储数据统计计算的干扰更新,从已经训练过的模型中去除一些样本的贡献,从而生成一个遗忘模型。此外,他们还提出了一个衡量遗忘能力的评估参数。他们还改进了凸损失函数的数据遗忘能力,根据 d 对差分隐私的依赖性(d 是问题维度),这种能力得到了二次改进。

5.1.2 基于模型转移方案的可验证性

​ Izzo 等人提供了两个衡量有效性的指标:𝐿2 距离和特征注入测试。𝐿2 距离衡量的是遗忘模型与再训练模型之间的距离。如果𝐿2 距离很小,就能保证模型做出相似的预测,从而减少基于输出的攻击(如成员推理攻击)的影响。特征注入测试可视为基于投毒攻击的验证方案。

​ Golatkar 等人根据准确率和重新学习时间来验证其遗忘方案的有效性。他们还开发了两个新的验证指标:模型置信度和信息边界 。模型置信度是通过测量剩余数据集、遗忘数据集和测试数据集上输出预测的熵的分布来制定的。然后,他们对照从未见过遗忘数据集的训练模型的置信度,评估这些分布的相似性。相似度越高,遗忘过程的效果就越好。信息边界度量依赖于 KL-发散,用于衡量遗忘过程后模型中关于遗忘数据集的剩余信息。

​ 与之前的研究不同,Golatkar 等人还评估了权重和激活中的剩余信息。在他们的另一项工作中,他们提供了一个新指标—激活距离,用于分析遗忘模型和再训练模型的最终激活之间的距离。这一指标与模型置信度 类似。此外,他们还使用基于攻击的方法进行验证。

​ Guo 等人、Warnecke 等人和 Sekhari 等人提供了一种理论验证方法,以验证他们提出的遗忘方案的有效性。基于认证遗忘提供的保证,他们限制了遗忘模型和再训练模型之间的分布相似性。Warnecke 等人也使用暴露度量来衡量遗忘后的剩余信息。Liu 等人从两个方面分析了遗忘方案的有效性。第一个指标是对称绝对百分比误差 (SAPE),它是基于准确性创建的。第二个指标是遗忘过程后的模型分布与再训练模型分布之间的差异。

5.2 基于模型剪枝的操作

5.2.1 基于模型剪枝的遗忘方案

​ 如图 9 所示,基于模型剪枝的方法通常是对训练好的模型进行剪枝,以生成一个能够满足遗忘要求的模型。它通常应用于联邦学习的场景中,模型提供者可以修改模型的历史参数作为更新。联邦学习是一种分布式机器学习框架,可以在多个去中心化节点上训练统一的深度学习模型,每个节点都拥有自己的本地数据样本用于训练,这些样本永远不需要与其他任何节点交换。联邦学习主要有三种类型:水平学习、垂直学习和转移学习。

​ 基于用中央服务器的存储空间换取遗忘模型的构建的想法,刘等人提出了一种高效的联邦遗忘方法—FedEraser。在训练过程中,来自客户端的历史参数更新被存储在中央服务器中,然后遗忘过程分四个步骤展开: (1)标定训练;(2)更新标定;(3)标定更新聚合;(4)遗忘模型更新,以达到遗忘目的。在标定训练和更新标定步骤中,要执行多轮标定再训练过程,以近似于无目标客户的遗忘更新。在标定更新聚合和遗忘模型更新步骤中,使用标定的联邦学习聚合操作来聚合这些遗忘更新,并进一步更新全局模型。这样就消除了目标数据的影响。 然而,随着遗忘请求数量的增加,这种方案的有效性会急剧下降;这是因为梯度是在训练阶段缓存的,遗忘过程不会更新这些梯度以满足后续的遗忘请求。其次,这种解决方案还需要缓存中间数据,这将耗费更多的存储空间。

​ 在经过训练的 CNN 模型中,不同通道对不同类别的贡献各不相同,这一观察结果启发了 Wang 等人。Wang 等人分析了在联邦学习环境中选择性地遗忘学习类别的问题。他们引入了词频-反文档频率(TF-IDF)的概念来量化通道的类别区分度。与分析单词与文档的相关程度类似,他们将通道的输出视为单词,将类别的特征图视为文档。TF-IDF 分数高的通道在目标类别中具有更强的判别能力,因此需要剪枝。此外,还提供了一种通过通道剪枝来遗忘的步骤,然后再进行微调,以恢复剪枝后模型的性能。然而,在他们的遗忘方案中,与需要遗忘的类别相关的参数被剪枝的同时,与其他类别相关的参数也变得不完整,这将影响模型的性能。因此,只有当经过微调的训练过程完成后,才能得到遗忘模型。

​ Baumhauer 等人提供了一种基于线性过滤的机器遗忘学习方案。他们首先将现有的基于 logit 的分类器模型转化为一个集成模型,该模型可分解为(潜在的非线性)特征提取,然后是多项式逻辑回归。然后,他们将遗忘操作的重点放在逻辑回归层上,提出了一种 "黑箱 "遗忘定义。为了遗忘给定的样本,他们定义了四种不同的过滤方法,即天真的遗忘、归一化、随机化和归零。这些方法有效地过滤了逻辑回归层的输出。相反,他们只考虑了最后一层的遗忘过程,这将导致潜在的风险,即如果攻击者获取了中间层的模型参数,遗忘数据的信息也可能被泄露。

在这里插入图片描述

5.2.2 基于模型剪枝方案的可验证性

​ Liu 等人提出了一种基于成员推理攻击的实验验证方法。规定了两个评估参数:攻击精确度和攻击召回率,其中攻击精确度表示预期参与训练过程的遗忘样本的比例。攻击召回率表示可以正确推断出作为训练数据集一部分的遗忘样本的比例。此外,还提供了一个预测差异指标,用于衡量原始全局模型与遗忘模型之间的预测概率差异。Wang 等人根据模型的准确性评估可验证性。

​ Baumhauer 等人定义了一种基于贝叶斯误差率的发散度量,用于评估结果分布 P ( L s e e n ) P (L_{seen} ) P(Lseen) P ( L ¬ s e e n ) P(L_{¬seen}) P(L¬seen)的相似性,其中 P ( L s e e n ) P (L_{seen} ) P(Lseen) P ( L ¬ s e e n ) P(L_{¬seen}) P(L¬seen)是遗忘模型和再训练模型的pre-softmax输出。当贝叶斯误差率的结果接近于 0 时,说明 P ( L s e e n ) P (L_{seen} ) P(Lseen) P ( L ¬ s e e n ) P(L_{¬seen}) P(L¬seen)相似,遗忘过程已经从模型中遗忘了样本信息。此外,他们还使用模型反转攻击来评估可验证性。

5.3 基于模型替换的操作

5.3.1 基于模型替换的遗忘方案

​ 如图 10 所示,基于模型替换的方法通常会在训练过程中提前计算出几乎所有可能的子模型,并将它们与已部署的模型一起存储。然后,当出现遗忘请求时,只需要用预先存储的子模型替换受遗忘操作影响的子模型。这种解决方案通常适用于某些机器学习模型,如基于树的模型。决策树是一种基于树的学习模型,其中每个叶子节点代表一个预测值,每个内部节点是一个与属性和阈值相关联的决策节点。随机森林是一种旨在提高预测性能的集成决策树模型。

​ 为了提高基于树的机器学习模型遗忘过程的效率,Schelter 等人提出了基于极随机树(ERTs)的分类模型 Hedgecut 。首先,在训练过程中,根据提出的鲁棒性量化因子将树模型分为鲁棒分割和非鲁棒分割。鲁棒分割表示在遗忘少量样本后,子树的结构不会发生变化,而对于非稳健分割,结构可能会发生变化。在遗忘一个训练样本的情况下,HedgeCut 不会修改鲁棒分割,但会更新叶统计量。对于非鲁棒分割,HedgeCut 会重新计算之前保持不活动的子树变体的分割标准,并选择一个子树变体作为当前模型的新的非鲁棒分割。

​ 对于基于树的模型,Brophy 等人还提出了 DaRE(Data Removal-Enabled)森林,这是一种能有效去除训练样本的随机森林变体。DaRE 主要基于只在需要时重新训练子树的理念。在遗忘过程之前,会计算每个属性的随机选择阈值,并提前在每个节点中存储中间统计数据。这些信息足以在不迭代数据的情况下重新计算每个阈值的分割准则,这可以大大降低数据集遗忘时重新计算的成本。他们还在每棵树的顶端引入了随机节点。直观地说,靠近树顶的节点比靠近树底的节点影响更多的样本,这使得在必要时重新训练这些节点的成本更高。随机节点对数据统计的依赖性最小,而不是贪婪方法的使用方式,因此很少需要重新训练。因此,随机节点可以进一步提高遗忘的效率。

​ 上述两种方案需要事先计算大量可能的树结构,会耗费大量存储资源。此外,这种替换方案很难应用于其他机器学习模型,如深度学习模型,因为提前去除每个样本后很难实现部分模型结构。

​ Chen 等人提出了一种名为 WGAN遗忘的机器遗忘方案,它通过降低遗忘样本的输出置信度来去除信息。机器学习模型通常对模型的输出具有不同的置信度。为了降低置信度,WGAN遗忘首先将生成器初始化为需要遗忘数据的训练模型。然后,生成器和判别器交替进行训练,直到判别器无法区分遗忘数据集和第三方数据之间的模型输出差异。在此之前,生成器成为最终的遗忘模型。然而,这种方法是通过交替训练过程实现遗忘过程的,与从头开始再训练的遗忘方法相比,效率提高有限。

​ Wu 等人提出了一种基于训练阶段缓存的中间参数的近似遗忘方法,称为 DeltaGrad,它可以基于梯度下降算法快速遗忘掉机器学习模型中的信息。他们将再训练过程分为两部分。一部分是根据剩余的训练数据集精确计算全部梯度。另一部分则使用 L-BFGS算法和之前迭代的一组更新来计算近似于真实海森向量的准海森向量。然后,这些准海森向量被用于近似其余过程中的更新。这两部分协同训练,生成遗忘模型。不过,这种方法会降低模型的性能,因为部分模型更新是根据近似方法计算的。此外,模型收敛所需的迭代次数也会增加,这将降低遗忘过程的效率。

在这里插入图片描述

5.3.2 基于模型替换方案的可验证性

​ Chen 等人用成员推理攻击和基于假负率(FNRs)的技术验证了他们提出的方案,其中𝐹𝑁𝑅: F N R = F N T P + F N FNR = \frac{FN}{TP+FN} FNR=TP+FNFN, 𝑇𝑃 表示成员推理攻击测试样本被视为训练数据集,𝐹𝑁 表示数据被视为非训练数据。如果目标模型成功遗忘样本,成员推理攻击就会将训练数据集视为非训练数据。因此,𝐹𝑁 将变大,而 𝑇𝑃 将变小,相应的 𝐹𝑁𝑅 将变大。这间接反映了遗忘过程的有效性。

​ Schelter 等人、Brophy 等人和 Wu 等人只提供了运行时间和准确度方面的评估,并没有对其遗忘过程提供合理的实验或理论可验证性保证。

5.4 模型操作的概述

​ 在最后几个小节中,我们回顾了将模型转换、模型剪枝和模型替换技术作为遗忘过程的研究。表 7 是所调查研究的摘要,列出了每篇论文之间的主要差异。

​ 与基于数据重组的遗忘方案相比,我们可以发现上述论文很少利用中间数据进行遗忘。这是因为这些遗忘方案的基本思想是直接操纵模型本身,而不是训练数据集。模型操作方法会计算每个样本的影响,并利用一系列技术抵消这种影响,而数据重组方案通常会重组训练数据集,以简化遗忘过程。因此,模型操作方法在一定程度上减少了中间存储的资源消耗。

​ 其次,上述方案大多侧重于相对简单的机器学习问题,如线性逻辑回归,或具有特殊假设的复杂模型。从标准卷积网络的权重中移除信息仍是一个未决问题,一些初步结果仅适用于小规模问题。深度网络的遗忘过程面临的主要挑战之一是如何估计给定训练样本对模型参数的影响。此外,由于 CNN 的损失高度非凸,因此很难分析这些损失对优化轨迹的影响。目前的研究主要集中在较简单的凸学习问题上,如线性回归或逻辑回归,对这些问题进行理论分析是可行的。因此,评估特定样本对深度学习模型的影响,并进一步为这些模型提出遗忘方案,是两个亟待解决的研究问题。

​ 此外,大多数基于模型操作的方法都会影响原始模型的一致性或预测准确性。造成这一问题的原因主要有两个。首先,由于计算指定样本对模型影响的复杂性,根据不可靠的影响结果或假设操纵模型参数会导致模型精度下降。其次,Wang 等人的方案对原始模型中的特定参数进行了剪枝,由于缺乏某些模型预测信息,也会降低模型的准确性。因此,更有效的遗忘机制,既能保证遗忘过程的有效性,又能保证性能,值得研究。

​ 值得指出的是,大多数方案都提供了评估遗忘过程有效性的合理方法。值得注意的是,模型操作方法通常使用基于理论和基于信息边界的方法给出可验证性保证。与基于精度、再学习或攻击的简单验证方法相比,基于理论或信息边界的方法更为有效。这是因为简单的验证方法通常根据输出置信度来验证有效性。虽然要遗忘的样本的影响可能隐藏在网络的输出中,但通过深入探究其权重,仍然可以获得深刻的见解。因此,计算并限制理论层面可能泄露的最大信息量将是一种更有说服力的方法。不过,总的来说,还需要更多基于理论的可验证性评估技术。

​ 总之,基于模型转换的遗忘方法通常旨在通过对训练过程做出某些假设,如使用了哪些训练数据集或优化技术,来提供更高的效率。此外,那些对简单模型(如线性回归模型)有效的机制,在面对深层的深度神经网络时会变得更加复杂。模型剪枝方案需要在遗忘过程中对模型的现有架构进行意义深远的修改,这可能会影响遗忘模型的性能。值得注意的是,模型替换遗忘方法通常需要计算所有可能的参数并预先存储,因为它们是通过使用这些预先计算好的参数快速替换模型参数来遗忘的。因此,同时考虑模型可用性、存储成本和遗忘过程的适用性的更有效的遗忘方案是亟待解决的研究问题。

在这里插入图片描述

6 未决问题和未来方向

​ 在本节中,我们将分析机器遗忘的当前和潜在趋势,并总结我们的发现。此外,我们还确定了几个尚未解决的研究方向,这些方向可以推动机器遗忘基础的发展,并塑造人工智能的未来。

6.1 未决问题

随着研究的不断发展,机器遗忘可能会在以下领域进一步扩展,这一潜在趋势已经开始形成。

6.1.1 遗忘解决方案的普遍性

​ 需要探索兼容性更强的遗忘方案。随着发展的深入,各领域都提出了支持不同模型和遗忘数据类型的机器遗忘方案。例如,Zhang 等人 提供了一种图像检索中的遗忘方案,而 Chen 等人则考虑了图遗忘问题。然而,目前大多数的遗忘方案都局限于特定的场景。它们大多是为了利用特定学习过程或训练方案的特殊性而设计的。虽然为每个模型设计一个合适的遗忘方案是可行的,但这种方法效率低下,需要大量人工干预。

​ 因此,通用性遗忘方案不仅应适用于不同的模型结构和训练方法,还应适用于不同类型的训练数据集,如图形、图像、文本或音频数据。基于数据剪枝的方案是现有的一种有效方法,可以在集合学习技术的基础上实现普遍性遗忘的目的。但是,这种方法在某些情况下会破坏相关关系,不适合需要相关信息才能完成训练的模型。

6.1.2 机器遗忘的安全性

​ 遗忘方案应确保任何数据的安全性,尤其是遗忘数据集的安全性。最近的研究表明,遗忘操作不仅不会降低用户隐私泄露的风险,反而会增加这种风险。这些攻击方案主要是比较遗忘过程前后的模型。因此,成员推理攻击或投毒攻击会泄露大量关于遗忘样本的详细信息。为了抵御这类攻击,Neel 等人在其遗忘方案中提出了一种基于高斯扰动的保护方法。

​ 此外,之前的许多遗忘方案都依赖于剩余数据集、中间缓存模型的参数。然而,它们并没有考虑这些中间信息的安全性,以及攻击是否会恢复遗忘样本的任何信息。因此,在设计进一步的遗忘方案时,需要考虑到任何前后模型都不应暴露需要遗忘的样本的任何信息。此外,还需要探讨遗忘过程中缓存数据的安全性。

6.1.3 机器遗忘的可验证性

​ 验证方法应易于实施并适用于用户。目前大多数简单的验证方案,如基于攻击、再学习时间和准确性的验证方案 ,都是从现有的学习或攻击标准中推导出来的。这些片面的方法很少能对遗忘过程的有效性提供有力的验证。同时,具有理论保证的遗忘方法通常基于丰富的假设,很少能应用于复杂的模型,因为复杂的深度模型通常会使这些假设失效。此外,这些验证方案对用户不友好,不易实现。

​ 因此,验证方案应考虑可行性和可接受性,即用户应能根据一些简单的操作理解并验证其遗忘请求是否已完成。目前已有一些相关方案,如基于后门的验证机制和基于加密的验证方案。然而,这些方案对普通用户来说仍然相当困难。因此,一种易于实现和理解的验证方案是一个值得研究的课题。

6.1.4 机器遗忘的应用性

​ 在促进个人数据隐私的同时,机器遗忘也逐渐成为其他应用的一种解决方案。法规和隐私问题导致需要允许训练的模型遗忘部分训练数据。除此以外,在其他一些应用场景中,高效的机器遗忘也会带来好处。例如,它可用于加速 "留一交叉验证 "过程、去除对抗样本或中毒样本,以及识别模型中重要和有价值的数据样本。到目前为止,已经出现了一些相关应用。例如,Alexander 等人提出了一种可用于解决公平性问题的特征遗忘方案。

​ 同时,机器非学习方案也可以作为一种有效的攻击策略,以加强模型的鲁棒性。一种可能的攻击情况如下:攻击者首先将预先设计好的恶意样本引入数据集,随后模型提供者使用这些样本训练模型。之后,攻击者发起遗忘请求,从模型中删除这些预先设计的样本信息,这将影响模型的性能和公平性,或遗忘效率。因此,除了加强数据保护,机器遗忘在其他领域也有巨大潜力。

6.2 未来方向

(1)信息同步: 与操作系统中的进程同步类似,机器遗忘可能会产生信息同步问题。由于机器遗忘通常计算成本很高,模型提供者可能无法立即完成遗忘过程。在此期间,如何处理收到的预测请求值得仔细考虑。考虑到如果在模型更新之前继续返回预测,遗忘的数据可能会被泄露。但是,如果在遗忘过程完成之前拒绝所有预测请求,那么模型的实用性和服务标准肯定会受到影响。因此,如何处理这个时间间隔内的预测请求需要综合考虑。

(2)联邦遗忘: 联合学习是一种特殊的分布式学习,其特点是分布在不同地方的各种不稳定用户,每个用户都能控制自己的设备和数据。Imteaj 等人的研究表明,模型提供者更有可能收到从联邦学习环境下训练的模型中移除特定样本的请求。例如,当用户退出协作训练过程时,他们可能会要求从协作模型中删除自己的贡献。因此,考虑到联邦学习环境的局限性,如不可接受的训练数据、不稳定的连接等,如何在联邦学习环境中有效地实现机器遗忘是值得研究的课题。

(3)干扰技术: 机器遗忘前后的隐私泄露问题主要是由两个模型之间的差异造成的。可行的解决办法是干扰训练过程或调整模型参数,使模型与本来的模型不同。数据干扰技术既能干扰特定数据,又能确保整体数据的可用性。例如,Guo 等人在训练时使用损失扰动技术隐藏了遗忘样本的信息。该技术包括通过随机线性项扰动经验风险。因此,未来研究的一个有用方向可能是将数据扰动纳入机器遗忘问题,并开发新的机制来支持更复杂的分析。

(4)基于特征的遗忘方法: 基于模型转移的遗忘通常通过计算对模型的影响来消除遗忘数据集的影响。然而,直接计算样本的影响可能过于复杂。我们能否将影响计算从原始训练样本转移到一组特定特征上呢?当出现遗忘请求时,可以根据特征而不是原始训练样本来计算影响。与此问题相关的技术可能包括特征提取、特征生成和特征选择,这些技术都可以集成到遗忘操作中。

(5)基于博弈论的平衡: 博弈论是一个蓬勃发展的领域,过去十年中出现了几种具有代表性的隐私保护技术。有许多基于博弈论的隐私保护解决方案,可以权衡数据隐私和效用问题。对于模型提供者来说,机器遗忘也是模型性能和用户隐私之间的权衡,过度遗忘策略可能导致性能下降,而保护不足则可能导致隐私泄露。我们能否将遗忘问题形式化为两个参与者(模型提供者和数据提供者)之间的博弈?如果可以,我们可以提供这两个实体之间的博弈模型,并确定一套策略和实用程序,以确定如何执行遗忘操作,从而最大限度地保持模型的性能。这种方法还可以保护用户的敏感数据不被泄露。这些都是有待进一步探讨的开放性问题。

7 总结

​ 机器学习方法已成为革新各种应用的强大推动力。然而,由于隐私、可用性或其他权利要求,它们也带来了从模型中删除训练样本的请求。机器遗忘是一种可以满足这些删除要求的新技术,在这方面已经开展了很多研究。在这份调查报告中,我们全面概述了机器遗忘技术,并特别关注了两种主要的遗忘过程:数据重组和模型操作。首先,我们介绍了机器遗忘的基本概念和不同目标。通过分析典型方法,我们提出了一种新的分类法,并总结了其基本原理。我们还回顾了许多现有研究,并讨论了每一类研究的优势和局限性。此外,我们强调了验证机器遗忘过程的重要性,并回顾了验证遗忘的不同方法。最后,我们讨论了值得未来研究的几个问题,并提供了一些未来需要探索的可行方向。我们未来的工作将侧重于探索机器遗忘在一些有趣领域的潜力,例如具有可验证性的联邦学习。

注释

注1

成员推理攻击

成员推理攻击(Membership Inference Attack)是一种针对机器学习模型的隐私攻击,其目的是判断某个数据样本是否被用于训练某个模型。这种攻击可能会泄露训练数据的敏感信息,比如医疗记录、个人偏好等。成员推理攻击有不同的类型,根据攻击者能否访问目标模型的内部参数,可以分为白盒攻击和黑盒攻击。根据攻击者使用的推理方法,可以分为基于神经网络的攻击和基于度量指标的攻击。基于神经网络的攻击将成员推理看作一个二分类问题,而基于度量指标的攻击则利用模型的过拟合和输出的不同来区分成员和非成员。成员推理攻击是一种严重的威胁,因为它可能导致训练数据的隐私泄露,甚至被用于实施其他的攻击,比如模型窃取、数据重建等。因此,研究成员推理攻击的原理、方法和防御措施是非常重要的。

例子

假设有一个机器学习模型,它可以根据用户的照片来判断他们的年龄。这个模型是用一些用户的照片和年龄作为训练数据来训练的。现在,有一个攻击者,他想知道某个用户的照片是否被用于训练这个模型。他可以这样做:

  • 首先,他需要构造一个影子模型,它和目标模型有相同的结构和参数,但是用不同的数据来训练。这个数据可以是攻击者自己收集的,或者是从其他的数据集中获取的。
  • 然后,他需要用影子模型来对一些用户的照片进行预测,得到他们的年龄。这些用户的照片可以分为两类:一类是影子模型的训练数据,另一类是影子模型的测试数据。这样,他就可以知道哪些用户的照片是影子模型的成员,哪些是非成员
  • 接下来,他需要用影子模型的预测结果和成员标签来训练一个推理模型,它可以根据目标模型的输出来判断一个用户的照片是否是目标模型的成员。这个推理模型可以是一个简单的神经网络,或者是一个基于度量指标的方法。
  • 最后,他需要用推理模型来对目标模型的输出进行推理,得到一个用户的照片是否是目标模型的成员的概率。如果这个概率很高,那么他就可以认为这个用户的照片是被用于训练目标模型的。这样,他就完成了一个成员推理攻击。

模型反转攻击

模型反转攻击是一种利用机器学习模型的输出来重构其输入数据的技术。这种攻击可能会威胁到模型训练数据的隐私,尤其是当模型处理敏感信息,如人脸识别或医疗诊断时。模型反转攻击有两种主要的方法:基于优化的方法和基于训练的方法。

基于优化的方法是将反演问题转化为一个优化问题,通过梯度下降等算法来寻找一个输入,使得模型的输出与给定的目标输出尽可能接近。这种方法要求对模型有白盒的访问权限,而且生成的输入与真实的输入可能有较大的差异

基于训练的方法是训练一个生成模型,如自编码器或生成对抗网络,来重构输入数据。这种方法不需要对模型有白盒的访问权限,只需要能够查询模型的输出。生成模型的训练数据可以是与目标模型的训练数据相似的辅助数据集,也可以是目标模型的输出向量。

模型反转攻击的防御策略包括使用差分隐私、输出截断、噪声注入等技术来降低模型输出的信息量,从而增加反演的难度。

注2:

数据屏蔽

数据屏蔽的原理是通过对敏感或隐私数据进行替换或修改,使得数据在非生产环境中不被暴露或泄露。数据屏蔽的方法有很多,例如加密、哈希、伪造、截断、掩码等。数据屏蔽的目的是保护数据的真实性和一致性,同时避免数据的滥用或违规使用。数据屏蔽的应用场景有很多,例如软件开发、测试、培训、分析、外包等。在这些场景中,数据屏蔽可以帮助提高数据的安全性和合规性,减少数据泄露的风险,保护数据的所有者和使用者的权益。

数据屏蔽的原理可以用以下的示意图来表示:

+-----------------+       +-----------------+       +-----------------+
| 原始数据        |       | 数据屏蔽        |       | 屏蔽后的数据     |
|                 |       |                 |     |               |
| 例如:          |       | 例如:          |       | 例如:         |
| 姓名:张三      |        | 姓名:加密      |       | 姓名:QWERTY   |
| 身份证:123456  |  ---> | 身份证:哈希     |  ---> | 身份证:7890AB  |
| 邮箱:zhang@com |       | 邮箱:伪造       |       | 邮箱:liu@com   |
+-----------------+       +-----------------+       +-----------------+

在线学习

机器学习当中的在线学习是指一种通过不断接收和处理数据流来更新模型的学习方式,它可以适应数据的变化和新的任务,不需要存储和重复使用过去的数据。在线学习的原理包括以下几个方面:

  • 在线学习的目标是在有限的时间和空间内,最小化模型的累积损失或最大化模型的累积收益,同时保持模型的稳定性和鲁棒性。
  • 在线学习的内容是根据数据流的特点和任务的需求,选择合适的模型和算法,例如在线回归、在线分类、在线聚类、在线推荐等。
  • 在线学习的过程是通过不断接收新的数据,对模型进行增量式的更新或修正,使得模型能够及时反映数据的分布和结构,同时避免过拟合或欠拟合。
  • 在线学习的评价是通过比较模型的预测结果和真实结果,计算模型的损失或收益,以及模型的稳定性和鲁棒性,以保证在线学习的有效性和可靠性。

灾难性遗忘

灾难性遗忘的原理是指一种在神经网络训练中出现的现象,当网络在学习新的任务时,会忘记之前学习过的任务的知识,导致网络的泛化能力下降。灾难性遗忘的原因是网络的参数在学习新的任务时,会发生较大的变化,破坏了之前任务的参数分布,使得网络无法适应之前任务的数据。灾难性遗忘的解决方法有很多,例如重放、正则化、模块化、元学习等。

重放是指在训练新的任务时,同时使用之前任务的数据进行训练,以保持网络对之前任务的记忆。这种方法可以有效减少灾难性遗忘,但是需要存储大量的数据,而且可能会影响新任务的学习效率。

正则化是指在训练新的任务时,对网络的参数进行约束,使得参数的变化不会过大,以保持网络对之前任务的适应性。这种方法可以减少数据的存储需求,但是需要设计合适的正则化项,而且可能会限制新任务的学习能力。

模块化是指将网络分成多个模块,每个模块负责一个任务,或者共享一些通用的模块,以保持网络对多个任务的专业性和通用性。这种方法可以提高网络的灵活性和可扩展性,但是需要设计合适的模块结构,而且可能会增加网络的复杂度。

元学习是指让网络学习如何学习,使得网络能够快速适应新的任务,而不会忘记之前的任务。这种方法可以提高网络的学习效率和泛化能力,但是需要设计合适的元学习算法,而且可能会增加网络的计算开销。

注3:

集合学习

集合学习的原理是指一种利用多个学习器来提高学习性能的机器学习技术,它可以降低模型的偏差和方差,提高模型的泛化能力和鲁棒性。集合学习的原理包括以下几个方面:

  • 集合学习的目标是构造一个集合模型,它可以综合多个学习器的输出,形成一个更好的预测结果,例如通过投票、平均、加权等方法。
  • 集合学习的内容是根据不同的策略,生成多个学习器,例如通过自助法、交叉验证法、子空间法等方法来产生不同的训练数据,或者通过改变模型的结构、参数、算法等方法来产生不同的基学习器。
  • 集合学习的过程是通过不同的方式,组合多个学习器,形成一个集合模型,例如通过并行、串行、层次、协同等方法来实现不同的集合策略,如Bagging、Boosting、Stacking、Co-training等。
注4:

数据替换

数据替换的方法是一种机器学习中常用的数据预处理技术,它的目的是处理缺失值或异常值,提高数据的质量和完整性。数据替换的方法有很多种,例如:

  • 均值替换:用数据集中某个属性的均值来替换该属性的缺失值或异常值,适用于数值型数据,可以保持数据的均值不变,但会降低数据的方差和相关性。
  • 中位数替换:用数据集中某个属性的中位数来替换该属性的缺失值或异常值,适用于数值型数据,可以保持数据的中位数不变,但会降低数据的分布特征和相关性。
  • 众数替换:用数据集中某个属性的众数来替换该属性的缺失值或异常值,适用于类别型数据,可以保持数据的众数不变,但会降低数据的多样性和信息量。
  • 回归替换:用数据集中其他属性的线性回归模型来预测某个属性的缺失值或异常值,适用于数值型数据,可以利用数据的相关性,但会增加计算的复杂度和误差。
  • 插值替换:用数据集中某个属性的相邻值的平均值或加权平均值来替换该属性的缺失值或异常值,适用于数值型数据,可以保持数据的连续性和平滑性,但会忽略数据的波动和趋势。
  • 随机森林替换:用数据集中其他属性的随机森林模型来预测某个属性的缺失值或异常值,适用于数值型或类别型数据,可以利用数据的非线性关系,但会增加计算的复杂度和随机性。
注5:

词频反向文档频率

词频反向文档频率(TF-IDF)是一种用于衡量一个词在一个文档或一个文档集合中的重要程度的统计方法。它的基本思想是,如果一个词在一个文档中出现的频率高,并且在其他文档中出现的频率低,那么这个词就具有很好的区分能力,可以反映出这个文档的主题。

TF-IDF的计算公式如下:

TF-IDF(w,d)=TF(w,d)×IDF(w)

其中,TF(w,d)表示词w在文档d中的词频,即w在d中出现的次数除以d的总词数。IDF(w)表示词w的反向文档频率,即所有文档的总数除以包含w的文档的数目的对数。IDF(w)的作用是降低那些在大多数文档中都出现的常用词的权重,提高那些只在少数文档中出现的特殊词的权重。

TF-IDF是一种常用的文本分析技术,它可以用于文本分类,文本聚类,文本摘要,文本检索等领域。它的优点是简单易懂,有效地反映了词的重要性,适用于各种语言和文本类型。它的缺点是忽略了词的语义和语法关系,不能处理同义词和多义词的问题,也不能考虑词的位置和顺序的影响。

注6:

机器学习即服务

机器学习即服务(Machine Learning as a Service,MLaaS)是一种云计算服务,它提供了一系列机器学习工具和平台,让用户可以轻松地创建和部署机器学习模型。MLaaS的优势包括:

  • 降低成本和时间:用户无需购买昂贵的硬件和软件,也无需拥有专业的机器学习知识,就可以利用云端的资源和算法快速开发和测试机器学习模型;
  • 提高灵活性和可扩展性:用户可以根据自己的需求和数据量选择合适的机器学习服务,也可以随时调整和优化模型的性能和效果;
  • 保障安全和隐私:用户的数据和模型都存储在云端,受到严格的加密和保护,防止数据泄露和模型被盗用。

MLaaS的典型应用场景包括:

  • 图像识别:用户可以利用MLaaS提供的图像识别服务,实现人脸识别、物体检测、场景分析等功能;
  • 自然语言处理:用户可以利用MLaaS提供的自然语言处理服务,实现文本分析、情感分析、机器翻译、语音识别等功能;
  • 推荐系统:用户可以利用MLaaS提供的推荐系统服务,实现个性化推荐、内容过滤、用户画像等功能。
注7:

投毒攻击

机器学习中的投毒(poisoning)是一种攻击方法,目的是通过向训练数据中添加恶意样本,来破坏机器学习模型的性能或功能。投毒攻击可以影响监督学习、无监督学习和强化学习等不同类型的机器学习任务。

投毒攻击的例子有:

  • 数据投毒:攻击者在训练数据中植入错误的标签或特征,使得模型学习到错误的决策边界或聚类中心。
  • 反馈投毒:攻击者在在线学习的过程中,提供错误的反馈信号,使得模型更新参数时偏离正确的方向。
  • 逻辑投毒:攻击者在训练数据中插入特定的触发器,使得模型在遇到这些触发器时,表现出预期之外的行为。

投毒攻击的目的有:

  • 完全破坏:攻击者希望降低模型的整体性能,使其无法完成预期的任务。
  • 目标破坏:攻击者希望针对特定的输入或输出,使模型产生错误的预测或行为。
  • 后门植入:攻击者希望在模型中隐藏一个后门,使其在正常情况下表现正常,但在遇到特定的触发器时,表现出攻击者期望的行为。

投毒攻击的防御方法有:

  • 数据清洗:在训练模型之前,对数据进行预处理,检测和删除异常或错误的样本。
  • 鲁棒学习:在训练模型的过程中,使用一些技术,如正则化、剪枝、集成等,来提高模型对噪声或异常的鲁棒性。
  • 异常检测:在部署模型之后,对模型的输入或输出进行实时监测,发现并拒绝异常或可疑的请求。
注8:

患者相似性学习

患者相似性学习是一种利用机器学习方法,根据患者的特征和历史数据,找出与他们相似的其他患者,从而为他们提供个性化的医疗建议或治疗方案的技术。这种技术可以帮助医生和患者更好地理解疾病的发展和预后,以及选择最适合的干预措施。患者相似性学习的概念是近年来人工智能在医疗领域的一个重要应用方向。

注9:

标签传播算法

标签传播算法(Label Propagation Algorithm, LPA)是一种基于图的半监督学习方法,用于对节点进行分类。它的基本思想是,每个节点都有一个标签,初始时只有少数节点的标签已知,其他节点的标签未知。然后,每个节点根据其邻居节点的标签来更新自己的标签,直到达到稳定状态或达到最大迭代次数。标签传播算法的优点是简单、快速、易于实现,缺点是容易受到噪声和初始标签的影响,且没有明确的理论保证。

k-means算法

𝑘-means是一种无监督的聚类算法,用于将数据集划分为𝑘个不相交的子集,称为簇。它的基本思想是,首先随机选择𝑘个数据点作为初始的簇中心,然后计算每个数据点到各个簇中心的距离,将其分配到最近的簇中心所在的簇。接下来,根据每个簇中的数据点重新计算簇中心,然后重复上述过程,直到簇中心不再变化或达到最大迭代次数。𝑘-means算法的优点是简单、高效、易于实现,缺点是需要事先指定𝑘的值,且对初始簇中心的选择敏感,可能陷入局部最优解。

注10:

水库采样算法

水库采样算法的基本思想是,用一个固定大小的数组(水库)来存储样本,每次从数据流中读取一个元素,以一定的概率决定是否将其替换水库中的某个元素。这样,当数据流结束时,水库中的元素就是所需的样本。分布式计算的水库采样算法需要考虑如何在多个节点之间协调和合并水库,以保证样本的随机性和代表性。

注11:

最大信息理论

最大信息理论是指一种在不确定性条件下,寻找最优化决策的数学理论。最大信息理论的基本原则是,选择那些能够提供最大信息量的观测或实验,以减少对未知参数或状态的不确定性。最大信息理论的应用领域包括统计推断、机器学习、信号处理、生物信息学等。

注12:

去趋势波动分析

去趋势波动分析的概念是指一种在时间序列分析中,消除时间序列中的趋势成分,从而提取出时间序列的波动成分的方法。去趋势波动分析的目的是为了研究时间序列的周期性、随机性、季节性等特征,以及探索时间序列的内在规律和动态变化。去趋势波动分析的方法有多种,例如:

  • 差分法:一种通过对时间序列进行一阶或多阶差分,来消除时间序列中的线性或非线性趋势的方法。
  • 移动平均法:一种通过对时间序列进行移动平均,来消除时间序列中的长期趋势和季节性的方法。
  • 滤波法:一种通过对时间序列进行频域或时域的滤波,来消除时间序列中的高频或低频的趋势的方法。
注13:

MapReduce

MapReduce是一种分布式计算的编程模型,它可以高效地处理大规模的数据。它的基本思想是将计算过程分为两个步骤:Map和Reduce。Map步骤将数据分割成多个片段,并在多个节点上并行地执行一些转换操作,生成键值对的中间结果。Reduce步骤将具有相同键的中间结果进行合并和聚合,得到最终的输出。MapReduce的优点是它可以利用多个节点的计算能力,提高处理速度和可扩展性,同时也可以容忍节点的故障和数据的丢失。

注14:

LensKit 模型

LensKit 模型是一种用于推荐系统的开源工具包,它支持多种推荐算法,如基于物品的协同过滤、基于用户的协同过滤、基于模型的推荐和混合推荐等。LensKit 模型的主要特点是灵活性、可扩展性和可评估性。LensKit 模型是由美国明尼苏达大学的 GroupLens 团队开发的,该团队也是推荐领域知名的测试数据集 Movielens 的作者。LensKit 模型可以用于研究推荐算法、评估技术或用户体验,也可以用于构建推荐应用。

注15:

影响理论

计算机领域中,影响理论的原理可以用于指导人机交互的设计和评估,以提高用户的满意度和效率。影响理论的原理在计算机领域的应用包括以下几点:

  • 设计者需要考虑用户的目标、需求、偏好和情感,以及如何通过界面、功能和反馈来影响用户的心理状态,如信任、兴趣、乐趣等。
  • 设计者需要根据不同的用户群体和场景,选择合适的影响策略,如说服、教育、娱乐、激励等,以达到预期的影响效果。
  • 设计者需要评估用户对系统的使用体验,包括用户的认知、情感、行为和社会方面的反应,以及系统是否能够实现设计者的影响目标。
  • 设计者需要不断地迭代和改进系统的设计,以适应用户的变化和需求,以及提高系统的影响力和可用性。
注16:

隐藏梯度残差的损失扰动技术

隐藏梯度残差的损失扰动技术(Hidden Gradient Residual Loss Perturbation, HGR-LP)是一种用于增强神经网络对对抗样本的鲁棒性的方法。它的原理是在训练过程中,在每一层的梯度残差上添加一个随机扰动,从而使网络能够学习到更多的特征信息,而不是过度依赖于某些特定的特征 。这样,网络就能够抵抗一些细微的输入变化,例如对抗攻击所造成的噪声 。例如手写体识别,就可以利用HGR-LP,加上一定的随机扰动,让网络学习到更多的信息更加灵活。

注17:

投影残差更新

投影残差更新(Projected Residual Update, PRU)是一种用于求解非负矩阵分解(Non-negative Matrix Factorization, NMF)问题的算法。它的原理是在每一步迭代中,先沿着梯度方向更新矩阵的因子,然后将更新后的因子投影到非负的集合上,从而保证因子的非负性。这样,就可以有效地降低目标函数的值,同时满足非负的约束。

注18:

留一残差

留一残差的概念是一种用于评估统计模型的方法。它的基本思想是,对于每个观测值,将其从数据集中移除,然后用剩余的数据拟合模型,并计算该观测值的预测误差。这个误差就是留一残差。通过计算所有观测值的留一残差,可以得到模型的整体拟合程度和预测能力的指标。

留一残差的公式如下:

r i = y i − y ^ i 1 − h i i r_i=\frac{y_i−\hat{y}_i}{1−h_{ii}} ri=1hiiyiy^i

其中, y i y_i yi 是第 i 个观测值的真实响应, y ^ i \hat{y}_i y^i 是用剩余数据拟合的模型对第 i 个观测值的预测响应,$h_{ii} $是第 i 个观测值的杠杆值,表示该观测值对模型的影响程度。

留一残差的优点是,它可以消除残差的相关性,提高残差的方差的稳定性,避免过拟合,提供更准确的模型评估。留一残差的缺点是,它的计算量很大,尤其是当数据集很大或模型很复杂时。

注19:

如何理解

这句话是关于机器学习中的一种优化方法,叫做反向传播(backpropagation)。反向传播是一种通过计算损失函数(loss function)对模型参数(model parameters)的梯度(gradient),来更新模型参数的方法。损失函数是一种衡量模型预测结果和真实结果之间的差距的函数。梯度是一种表示函数在某一点变化最快的方向和速度的向量。

反向传播的基本思想是,如果我们知道损失函数在某一点的梯度,我们就可以沿着梯度的反方向,以一定的步长(learning rate),来调整模型参数,使得损失函数的值减小。这样,我们就可以逐渐地让模型的预测结果更接近真实结果,提高模型的性能。

反向传播的过程可以分为两个阶段:前向传播(forward propagation)和后向传播(backward propagation)。前向传播是指按照模型的结构,从输入层(input layer)到输出层(output layer),依次计算每一层的输出(output)。后向传播是指从输出层到输入层,依次计算每一层的梯度(gradient),并根据梯度更新模型参数(model parameters)。

这句话中的“训练数据集的回溯变化”指的是后向传播阶段中,每一层的梯度的计算。这个计算是基于链式法则(chain rule)的,也就是说,每一层的梯度是由上一层的梯度和当前层的输出共同决定的。这样,我们就可以将训练数据集对损失函数的影响,通过梯度的传递,映射到模型参数上。

这句话中的“模型参数的闭式更新”指的是根据梯度更新模型参数的公式。这个公式是一个简单的减法,也就是说,模型参数的新值等于旧值减去梯度乘以步长(learning rate)。这个公式是一个闭式解(closed-form solution),也就是说,它是一个可以直接求出的解,而不需要迭代(iteration)或近似(approximation)。

注20:

逆海森矩阵

逆海森矩阵(inverse Hessian matrix)是一种在数学和优化中常用的矩阵,它是海森矩阵(Hessian matrix)的逆矩阵(inverse matrix)。海森矩阵是一个二阶方阵(square matrix),它的元素是一个多元函数(multivariate function)的二阶偏导数(second-order partial derivatives)。海森矩阵可以表示一个多元函数在某一点的曲率(curvature),也就是函数的变化速率的变化速率。

逆海森矩阵的作用是可以用来加速梯度下降法(gradient descent method)的收敛速度(convergence rate)。梯度下降法是一种通过不断沿着梯度的反方向更新参数,来寻找函数的最小值(minimum)的方法。如果我们在更新参数时,不仅考虑梯度,还考虑海森矩阵,我们就可以更准确地估计函数的变化方向和速度,从而更快地找到最优解(optimal solution)。逆海森矩阵可以用来修正梯度的方向,使其更接近函数的最小值的方向。逆海森矩阵还可以用来调整步长(learning rate),使其更适合函数的曲率,避免过大或过小的步长导致的震荡(oscillation)或缓慢(slowdown)。

逆海森矩阵的计算公式如下:

H − 1 ( x ) = [ ∂ 2 f ( x ) ∂ x i ∂ x j ] − 1 H^{-1}(x)=[\frac{\partial^2f(x)}{\partial x_i\partial x_j}]^{-1} H1(x)=[xixj2f(x)]1

其中, f ( x ) f(x) f(x)是一个多元函数, x x x是一个向量(vector), x i x_i xi x j x_j xj x x x的元素, H − 1 ( x ) H^{−1}(x) H1(x)是逆海森矩阵, ∂ 2 f ( x ) ∂ x i ∂ x j \frac{\partial^2f(x)}{\partial x_i\partial x_j} xixj2f(x) f ( x ) f(x) f(x) x i x_i xi x j x_j xj的二阶偏导数。

逆海森矩阵的一个例子是牛顿法(Newton’s method),它是一种用来求解非线性方程(nonlinear equation)的根(root)的方法。牛顿法的思想是,如果我们在函数的图像上取一个点,我们可以用该点的切线(tangent line)来近似函数的值,然后用切线和x轴的交点作为下一个点,重复这个过程,直到找到函数的根。牛顿法的更新公式如下:

x n + 1 = x n − f ( x n ) f ′ ( x n ) x_{n+1}=x_n−\frac{f(x_n)}{f'(x_n)} xn+1=xnf(xn)f(xn)

其中, f ( x ) f(x) f(x)是一个非线性函数, f ′ ( x ) f'(x) f(x) f ( x ) f(x) f(x)的一阶导数(first-order derivative), x n x_n xn是第 n n n次迭代(iteration)的点, x n + 1 x_{n+1} xn+1是第 n + 1 n+1 n+1次迭代的点。

如果我们将牛顿法推广到多元函数的情况,我们就可以得到牛顿法的矩阵形式(matrix form),它是一种用来求解多元函数的最小值的方法。牛顿法的矩阵形式的更新公式如下:

x n + 1 = x n − H − 1 ( x n ) ∇ f ( x n ) x_{n+1}=x_n−H^{-1}(x_n)\nabla f(x_n) xn+1=xnH1(xn)f(xn)

其中, f ( x ) f(x) f(x)是一个多元函数, H − 1 ( x ) H^{−1}(x) H1(x)是逆海森矩阵, ∇ f ( x ) ∇f(x) f(x) f ( x ) f(x) f(x)的梯度(gradient), x n x_n xn是第 n n n次迭代的点, x n + 1 x_{n+1} xn+1是第 n + 1 n+1 n+1次迭代的点。

注21:

费雪信息

费雪信息(Fisher information)是一种在统计学和信息论中常用的概念,它可以衡量一个随机变量(random variable)或一个概率分布(probability distribution)包含的信息量(information content)。费雪信息可以用来评估一个参数(parameter)的估计量(estimator)的效率(efficiency)和准确性(accuracy)。

费雪信息的定义如下:

I ( θ ) = E [ ( ∂ ∂ θ l o g f ( X ; θ ) ) 2 ] I(θ)=E[(\frac{∂}{∂θ}logf(X;θ))^2] I(θ)=E[(θlogf(X;θ))2]

其中,θ是一个未知的参数,f(X;θ)是一个关于随机变量X的概率密度函数(probability density function), l o g f ( X ; θ ) logf(X;θ) logf(X;θ)是该函数的对数(logarithm), ∂ ∂ θ l o g f ( X ; θ ) \frac{∂}{∂θ}logf(X;θ) θlogf(X;θ)是该函数对θ的一阶导数(first-order derivative),E[⋅]是期望(expectation)的符号。

费雪信息的意义是,如果我们想要估计θ的值,我们可以利用f(X;θ)的形式和X的观测值(observation),来构造一个估计量(estimator)。一个估计量的好坏,可以用它的方差(variance)来衡量,方差越小,说明估计量越稳定,越接近真实的θ。费雪信息告诉我们,对于任何一个无偏的估计量(unbiased estimator),它的方差都不会小于 1 I ( θ ) \frac{1}{I(\theta)} I(θ)1,这个下界(lower bound)叫做克拉美罗界(Cramér-Rao bound)。因此,费雪信息越大,说明 f ( X ; θ ) f(X;θ) f(X;θ)对θ的变化越敏感,包含的信息越多,估计θ的方差越小,估计量越有效。

费雪信息的一个例子是最大似然估计(maximum likelihood estimation),它是一种用来估计参数的方法,它的思想是,给定一个观测值X,我们可以找到一个使得 f ( X ; θ ) f(X;θ) f(X;θ)达到最大值的θ,作为θ的估计量。最大似然估计的公式如下:

θ ^ = a r g m a x f ( X ; θ ) \hat θ=argmaxf(X;θ) θ^=argmaxf(X;θ)

其中, θ ^ \hatθ θ^是θ的最大似然估计量, a r g m a x argmax argmax是求最大值的参数的符号。

最大似然估计的一个性质是,当样本量(sample size)趋于无穷大时,它是一个有效的(efficient)和渐进正态的(asymptotically normal)估计量,也就是说,它的方差达到了克拉美罗界,而且它的分布趋近于正态分布(normal distribution)。

注22:

神经正切核

神经正切核(Neural Tangent Kernel,NTK)是一种用于分析神经网络训练动态的数学工具。它是一种定义在两个输入之间的函数,可以描述神经网络在无限宽的极限下的行为。神经正切核的概念可以帮助我们理解神经网络的优化、泛化和表示能力。

注23:

基于项的协同过滤算法

基于项的协同过滤算法(Item-based Collaborative Filtering)是一种推荐系统的方法,它根据用户对物品的评分,计算物品之间的相似度,然后根据用户的历史评分,预测用户对其他物品的评分。这种方法的优点是可以减少冷启动问题,提高推荐的稳定性和可解释性。

基于脊回归的算法

基于脊回归的算法(Ridge Regression-based Algorithm)是一种用于解决线性回归问题的方法,它通过在损失函数中加入一个正则化项,来控制模型的复杂度,防止过拟合。这种方法的优点是可以提高模型的稳定性和泛化能力,缺点是需要选择合适的正则化参数,以平衡偏差和方差。

注24:

极随机树

极随机树(Extremely Randomized Trees,简称 Extra-Trees)是一种集成学习方法,它使用多个随机生成的决策树来进行分类或回归。极随机树与随机森林(Random Forest)类似,但是在构建每个树的过程中,它不仅随机选择特征的子集,还随机选择特征的分割点。这样可以降低树之间的相关性,提高模型的泛化能力。极随机树的优点是它不需要进行剪枝,也不需要调整树的深度,而且它的训练速度比随机森林更快。极随机树的缺点是它的预测结果可能不够稳定,而且它的解释性不如单个决策树。

注25:

L-BFGS算法

L-BFGS算法是一种用于无约束非线性优化问题的拟牛顿方法,它是对BFGS算法的改进,可以在有限的内存空间下近似计算Hesse矩阵的逆矩阵,从而提高搜索方向的效率。L-BFGS算法的基本思想是只保存最近的m次迭代信息,用两层循环的算法来求解可行方向。L-BFGS算法在机器学习中广泛应用,特别是在大规模的参数估计问题中。

注26:

留一法交叉验证

留一法交叉验证(Leave-One-Out Cross-Validation,LOOCV)是一种评估机器学习模型性能的方法,它将数据集分成训练集测试集,每次只用一个数据点作为测试集,剩下的数据点作为训练集。然后用训练集训练模型,用测试集测试模型的误差,重复这个过程直到每个数据点都被用作过测试集。最后将所有的测试误差求平均,得到模型的测试误差

留一法交叉验证的优点是它可以减少测试误差的偏差,因为它使用了尽可能多的数据来训练模型。它也不会因为不同的数据划分而导致测试误差的波动。留一法交叉验证的缺点是它的计算成本很高,因为它需要对每个数据点都建立和评估一个模型。

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值