Mitigating Poisoning Attacks on Machine Learning Models: A Data Provenance Based Approach
目录
概要
攻击模型
部分可信数据的来源防御
完全不可信数据集的来源防御
实验评价
对毒性攻击I的有效性评估
对毒性攻击II的有效性评估
结论
概要
本文提出了一种毒性检测方案:该方案通过分析训练集中数据样本的生成背景及其转换模式来识别潜在有害数据。此外,作者还提出了两种变体:一种适用于部分可信的数据集场景,另一种则适用于完全不可信的数据集情况。最后,作者对比现有 toxicity detection 方法,并展示了所提出的方案在检测率方面取得了显著提升。
攻击模型
本文指出对手可观察并获取与用于训练算法的数据相类似的样本数据,并假设攻击者无法完全干扰所有数据源的情况下,则认为攻击者可修正那些共用特定来源标识符的数据样本。其中 sourcesignature 指的是包含反映其沿袭的一个或多个 source features 的标识符集合。例如,在实际场景中可参考如特定的摄像机、@ Twitter 帐号 或特定版本的软件固件等实例来理解这一概念。
部分可信数据的来源防御
一定程度上可信的数据集中的样本点是合规且无毒的。该方法的输入包括:
- 基于监督的学习模型。
- 一部分高度可信的数据集合用于训练分类器模型。
- 一种高度可靠的安全源 tracing 数据集合记录了不可信训练集中每个样本来源及其演变历程的信息。
- 源 tracing 的关键特征能够识别有毒样本在可疑的数据源中呈现怎样的分布模式。

输入参数:

:所有数据点、

:可信任的数据点集合、

:用于分段的溯源特征
算法步骤:
- 初始化空的有毒数据集

- 将不可信数据集

定义为总数据集

减去可信数据集

- 使用溯源特征

对不可信数据

进行分段
- 对于分段后的每个数据点和其特征(

,

),训练两个模型:
*

:使用除

外的不可信数据训练
*

:使用所有不可信数据训练
- 比较两个模型在可信数据集

上的性能:
- 如果排除

后的模型性能更好:将

标记为可疑,加入

,从训练集中移除

输出:返回被识别为有毒的数据点集合

主要概念在于:如果去除某个数据点后模型性能提高,则该数据可能含有不良特性。从而使得算法得以识别出可能污染训练集中的恶意样本。

注释说明:正如图所示,在高度不可信任的训练数据集中,默认情况下每个数据样本都会与自身的历史信息关联起来(标记在绿色表格中)。其特征多样地反映了设备的身份信息及其运行状态信息。例如包含设备唯一标识符、固件版本号以及操作时间戳等关键参数。
不可靠数据被拆分为多个片段,并因此每个片段都拥有统一的来源追踪标识符以追踪其来源信息。例如,在信用卡欺诈案例中这些包含信用卡交易的数据集则按照其所属交易所账户进行拆分。
- 采用机器学习算法对每个段进行检测,并构建两种分类器:一种是被包含的数据集的分类器(未过滤模型),另一种是未被包含的数据集的分类器(过滤模型)。如果未被包含模型在可信测试集上的检测效果优于被包括模型,则判定该段数据为有毒性特征,并将其从不可信数据集中去除。
完全不可信数据集的来源防御
在某些情况下, 获取少量可靠的数据集十分困难. 因此, 作者提出了一种基于溯源的毒性检测机制, 并且即使所有收集到用于重新训练的数据均为不可靠的来源, 该机制仍能正常运行. 为了使该方法适用于全部不可信的数据源, 作者提出以下步骤: 第一步是数据预处理; 第二步是特征提取; 第三步是模型训练; 第四步是结果验证.
- 按照签名将数据划分为溯源特征部分。
- 将数据集随机划分为训练集和验证集。
- 针对所选的每个溯源特征的签名:
- (a) 分别训练两个模型:一个是基于完整训练数据集构建的全模型;另一个是移除指定段后的子模型。
- (b) 然后在保留该段后的验证集上分别测试这两个模型。
- (c) 如果移除该段后模型性能有所提升,则永久删除该段,并从后续处理中排除该样本。

输入:所有不可信的数据点(

)、用于分段的特征(

)
算法步骤:
- 初始化一个空的有毒数据集(

)
- 使用特征

对数据进行分段
- 对每个分段,随机将数据分成训练集(

)和评估集(

)各一半
- 对训练集中的每个数据段执行,训练两个模型:

: 排除当前数据段的模型
*

基于完整数据集构建的模型
- 通过评估集数据对比分析两模型性能表现
- 若特定数据块移除后观察到性能提升,则对该数据块进行标记并纳入复查

,从训练集和评估集中移除相关数据
输出:返回所有被识别为有毒的数据点(

)
该算法的主要理念在于:类似于基于部分可信赖数据源的防御机制,在这种情况下,该方法通过对比包含特定数据与不包含特定数据时模型的行为特征,从而识别出潜在的危害
研究者注意到,在确定特定段被破坏时从评估集中移除相应的数据点能够阻止数据源通过自我影响来影响其自身评估结果
- 首先,生成200个“合法”的数据点,

,生成方式如下:

从均值为0、方差为10的正态分布中抽样,而

则从分布中抽样,其中

首先,在实验中将添加30个具有毒性的数据样本:具体来说,在参数设置为x=10时(即x=10且y=0),并同时加入另外60个数据样本(即x=1且y=0)。随后,在所有选取的数据样本中进行随机划分:其中一半用于构建训练集(Training Set),另一半则用于评估模型性能(Evaluation)。
最后,请确保所有数据样本均被正确标注。
当在评估一个可能已被破坏的数据源时, 未从该数据源的评估集中删除其数据会导致无法识别其实已被损坏的状态. 如图所示.



图a展示了在完整数据集上训练所得逻辑回归模型的表现;对比之下,在移除非毒性的样本后重新训练得到的新模型如图b所示。通过观察图表中的变化可以看出;决策边界的位置发生了显著的变化;它现在位于-0.20处;这比之前的2.84位置要低得多;并且这种变化趋势表明决策边界已趋近于真实的边界值为零的情况。值得注意的是;在验证集样本中x=1处原本应为非毒性的样本现在被判定为有毒;这种误判现象的发生直接导致准确率从原先的82%降至78%;这一现象表明;在去除非毒样本的过程中模型准确率从原先的82%降至78%;这进一步证明;在当前的数据集中非毒性的样本并未被成功识别出来
反过来说,在评估集中移除非相关数据源的数据后,则准确率从82%显著提升到93%(如图c所示),并且该非相关数据源能够被正确识别为已被破坏。这一实例凸显了数据分析溯源在完全不可信环境中的关键作用。如果没有进行数据分析溯源的话,则无法将训练集中的原始数据与评估集中的非原始数据建立关联关系;因此,在评估过程中如何去除潜在有害信息的影响就变得不清楚了。
实验评价
对于每种类型的毒性数据,作者使用以下程序:
随后利用指定的毒化机制[6, 19]生成合法与异常的数据样本,并明确系统中各节点的数量设定。为了解析每组样本的具体来源,在实验过程中将所有节点划分为功能相同的子集。为简化分析过程,在极端假设条件下测试了该方案;其中受损节点仅提供异常样本供参考训练集构建;而正常节点则只输出符合规定的训练样本
对比分析本文方法与现有的两种防御策略:RONI_{\text{原始}} [13] 和带校准的RONI [15]。其中基于校准的RONI$在性能上优于原始版本,并将其作为基准版本用于后续实验的基础。
基于可信集的方法包括溯源防御与校准RONI两种策略。其参数配置包含用于校准、验证以及基线与采样重复的数据显示点数量依次设定为50个用于校准, 100个用于验证, 20个用于基线,以及10个用于采样重复。
最后阶段, 划分出一个独立的测试集样本库, 共计包含5000个合法数据点, 专门用于基准性能评估. 基于该基准测试数据集, 对比分析了四个模型的表现: 首先是仅利用合法数据点训练的完美检测模型; 其次是未采取任何防护措施的基础检测模型; 然后是经过过滤去除系统判定为毒性的数据显示点后训练的溯源防御模型; 最后是经过过滤去除被校准RONI识别为潜在毒性显示点后的基线防御训练模型.
对毒性攻击I的有效性评估
作者进行了针对文献[19]中提出的毒性攻击防御方法的评估,并采用了与论文中相同的合成数据集进行测试。该数据集包含两个特征以及两类别的样本,并通过这些特征对不同类别进行区分。毒性算法接收并分析这两个参数:
- 强度 ,具体数值在[0, 1]区间内,默认情况下表示该特征的具体表现程度。
- 区分度 ,其取值范围包括低、中或高三种级别。
该过程涉及选择一种攻击类型,并选取一个合法的数据样本。随后反转其标签属性,并通过调整参数使得特征空间中的数据分布向目标类别靠近。研究发现,在攻击因子为0.5以及较小的分离度情况下生成的结果具有显著差异;这是因为较小的分离度可能导致模型更容易受到对抗性测试的影响而出现较高的毒性检测难度。此外,在绘制图形时采用了更为严谨的方法:即通过运行20次独立实验并取均值来获得最终结果展示

增加可信集的大小对毒素I平均准确率的影响
评估毒性的效果可通过衡量完美检测边界与无防护边界之间的距离来体现;如果放弃部署毒性检测机制,攻击者平均会使得系统的准确率下降约20%;通过对各防御策略进行比较,我们得出了它们在不同信任集规模下的准确度分布;实验数据显示,针对类型I的毒性攻击,至少需要120个可信赖的数据样本才能使溯源机制的效果超越未采取防护措施的情况;当可信赖的数据样本数量达到280个时系统趋于稳定,最终准确率达到近乎完美水平;相比之下,基线防护机制在这种类型下的探测能力表现欠佳,即使是在更大的信任集中也未能显著改善情况;这些实验结果凸显出信任集规模对毒性探测性能的重要性,并表明增加可信赖数据样本的数量能够显著提升防护机制的有效性

增加被破坏设备的百分比对毒素I达到的平均精度的影响
考虑到实际情况,在实际系统中攻击者难以入侵超过50%的终端设备。然而为了便于分析研究 purposes, 作者特意纳入了这一极端情况作为研究对象. 当遭受10%至40%攻击时, 应用溯源防御机制可使模型检测精度高于基准水平. 一旦遭受50%及以上攻击, 利用现有技术手段将无法同时提升模型检测精度与误报毒情数量.
每个设备贡献的数据点数量的影响
该研究者在前一阶段的实验基础上进行了重复试验,并对每个参与设备的数据贡献量进行了重新设定。具体结果则通过附图进行了直观展示。详细列出了完美检测的成功率、无防护方案的准确率以及采用防御措施时的两种评估方法的平均准确率。其中最后一列数据对比显示,溯源防御机制相较于基准方案在性能上有所提升。值得注意的是,在面对更多被破坏设备的情况下,该防御机制的效果逐渐减弱;同时,在不同数据点贡献水平下进行评估时发现,在相同数量的数据点贡献下(即每台设备提供相同量的数据),该防御机制相较于基准方案在性能上有所提升。

观察到每个设备的数据点数量确实会对平均值产生一定影响。值得注意的是,在随着每个设备的数据点数量增加时 本文提出的方法相对于基准方法所获得的改进程度通常会有所下降。这一发现提示 我们必须谨慎考虑在同时评估多少个数据点时应采取何种策略 从而尽量减少因误报而导致的结果显著性检验出现问题的风险。
对毒性攻击II的有效性评估
作者对本文提出的防御策略在由Biggio等研究者所构建的数据集中进行了测试。该团队采用了梯度上升法来优化并插入到支持向量机模型中的攻击样本位置。他们对算法进行了微调,并生成了多组具有攻击性的样本数据。基于论文中使用的相同数据集进行实验研究——这里指的是MNIST数据库中的手写数字图像数据集。针对数字4和0进行分类任务处理。该毒化过程需要用户指定迭代次数作为参数设置——在这里设置为四次。
经过五次独立实验并取平均值计算得出结果。
在实验过程中保持可信节点数量为十个、不可信节点数量控制在两个。
总训练样本数量默认设置为120个(除非另有特别说明)。

平均精度
该图表清晰地表明了,在保持其他参数不变的前提下(即固定其他条件不变),扩大可信集规模所带来的效果显著提升的现象

平均真阳性率(即召回率)和假阳性率(即召回率)
结论
本文开发了一种创新性方法以用于筛选和去除可用于训练任意监督学习模型的有害数据。该防御策略是利用数据溯源机制来对抗毒化攻击的第一步方案。研究者提出了两种溯源防御的变种分别适用于部分可信和完全不可信的数据集类型。该研究通过采用先前提出的几种有害数据生成方法对部分可信方案进行了评估并展示了实验结果表明所提出的基于数据溯源的防御措施在检测有害样本方面表现优于基准方法从而使得在线模型更新能够得以实现以适应可获得可靠追溯数据的对抗环境
