1. 引言
随着联邦学习的普及,投毒攻击问题逐渐显现出严重性[1]。在联邦学习中,投毒攻击指恶意参与者发送虚假数据或模型参数[2],以破坏整个模型的性能或泄露敏感信息。这种攻击不仅在学术界引起了广泛关注,也在实际应用中产生了严重影响[3]。一些研究表明,通过在联邦学习中注入精心制作的恶意数据,攻击者可以使得模型在分布式环境下产生严重偏差[4]。
例如在医疗领域,攻击者可能通过篡改病人数据来影响医学诊断模型的准确性,造成严重的社会危害。为减轻投毒攻击带来的影响,采用去中心化的模型聚合方式可以降低攻击者对整个系统的影响,但可能会增加通信开销[5]。另一种方法是利用异常检测技术来识别恶意参与者,然而这在复杂的数据分布环境中效果有限。
针对各类投毒攻击问题,现已提出了多种解决技术:
1) 改进模型聚合算法
改进模型聚合算法是防御投毒攻击的一种常见方法。例如,采用加权平均或中位数聚合方法可以降低个别恶意参数对最终模型的影响。这种方法的优势在于计算简单,适用于大多数联邦学习场景。然而,在数据分布复杂的情况下,这些方法的效果可能受到限制,会产生较高的异常检测误报率。
2) 选择可信参与者的机制
选择可信参与者的机制也被广泛应用。这是一种预防性措施,通过严格筛选参与者的信誉和历史表现来减少恶意参与者的参与几率。这种方法需要有效的信誉评估机制,能够在不同的联邦学习任务中动态调整参与者的可信度。虽然这可以有效防止来自恶意参与者的攻击。但如何定义和验证参与者的可信度是一个大问题。
3) 差分隐私保护
差分隐私保护通过在数据或模型参数中添加噪声来隐匿真实信息,从而防止攻击者通过推理攻击获取敏感数据。虽然这在理论上提供了很强的隐私保护,但在实践中需要权衡噪声大小与模型性能之间的关系。
综合而言,这些技术各有优缺点,需要根据具体情况综合考虑防御策略。
在设计边缘网络下的联邦学习时,仍然需要考虑投毒攻击导致的隐私泄露问题。物联网设备的安全性无法完全保证,需要确保参与方提供的模型参数是真实可靠的,同时防范恶意攻击。此外,虽然联邦学习减少了原始数据的传输,但通过模型参数等信息可能仍存在隐私泄露的风险[6]。因此,为了确保数据的安全性和隐私性,本文设计了基于边缘网络的联邦学习中毒攻击防御系统。
2. 中毒攻击检测算法
Figure 1. Poisoning attack detection process
图1. 中毒攻击检测流程
中毒攻击检测流程如图1所示。各边缘节点收到对应的终端设备上传的模型参数
。首先对模型参数进行平均聚合,由式(1)得到聚合后的平均模型参数
,计算平均模型聚合参数是为了降低计算各个参数的对比可信度的复杂度。
(1)
式中,
为平均模型参数,
为对应边缘节点连接的终端设备数量,
为各边缘节点收到对应的终端设备上传的模型参数。
通过各部分的模型参数和平均模型参数,我们可以为每个节点计算一个可信度,即除了模型参数以外其他参数的聚合结果。
通过模型参数参数
(j = 1, …, Ni)和聚合后的平均模型参数
,我们为每个对应的终端设备上传的模型参数
计算一个对比可信度
,由式(2)可得。即除了模型参数
外的其他各参数聚合结果。
(2)
式中,对比可信度
,
为平均模型参数,
为对应边缘节点连接的终端设备数量,
为各边缘节点收到对应的终端设备上传的模型参数。
基于
和
结果,计算得到可信度评分参数,各个并行的检测过程执行结束以后,各个节点模型参数的可信度评分结果需要和该模型参数最终参与聚合时的权重呈现正相关。考虑到各参数权重之和为1,所有的可信度评分结果一起输入到softmax模块进行处理,得到各模型参数在聚合过程中的权重。最终得到各边缘节点的加权聚合结果。
3. 抗投毒联邦学习系统总体设计
3.1. 模型框架
针对边缘网络下联邦学习中的中毒攻击,本文分别设计了异常数据检测方案和差分隐私保护方案来进行防御。以下是整体方案的训练过程。如图2所示,中毒攻击防御系统主要包括:1) 中心服务器;2) 边缘节点;3) 终端设备。设存在k个边缘节点参与联邦学习训练,每个边缘节点连接n个终端设备,每个终端设备拥有一个本地数据集。基于边缘网络的联邦学习训练过程主要分为两个阶段。
3.2. 系统训练流程
预训练阶段:中心服务器将神经网络超参数和随机生成的模型参数发送给边缘节点和终端设备。同时,中心服务器将系统中的一些统一参数分发给对应的节点或者设备。
Figure 2. System interaction architecture diagram
图2. 系统交互架构图
训练阶段:如图2所示,训练阶段主要有以下步骤:
1) 各终端设备基于本地数据集训练本地模型,获得更新后的模型参数,并根据预先设定的保护方案添加合适的噪声,最终获取加噪的模型参数。
2) 各终端设备将处理过的模型参数发送给最近的边缘节点。
3) 各边缘节点根据训练前设定的检验规则对终端设备上传的模型参数进行异常检测和聚合,获取聚合后的模型参数,然后根据训练前设定的保护方案判断是否需要添加额外的噪声以及确定噪声的大小,最终获取边缘节点聚合后的模型参数。
4) 各边缘节点将带噪声的聚合参数发送给中心服务器。
5) 中心服务器聚合各边缘节点上传的参数,获取新模型参数,然后根据预先设定的保护方案判断是否需要添加额外的噪声以及确定噪声的大小,最终获取中心服务器聚合参数并发送给各个终端设备开始下一轮的迭代训练。
4. 模拟实验及结果
4.1. 实验设置
数据集设置:对两个流行的图像分类数据集进行攻击:CIFAR-10和Fashion-MNIST。CIFAR-10包含60,000张彩色图像,每张图片是32 × 32的灰度图片,涵盖10个对象类别,如鹿、飞机和狗,每类包含6000张图像。该数据集被划分为50,000张训练图像和10,000张测试图像。Fashion-MNIST包含一个由60,000张图像组成的训练集和一个由10,000张图像组成的测试集,每张图片是28 × 28的灰度图片,每个图像与10种服装类别之一相关联,如套头衫、踝靴或包。
联邦学习设置:在Python中使用PyTorch库实现联邦学习。假设有N = 100个参与者,一个中心服务器。我们默认使数据呈现独立同分布(iid),即所有训练数据在所有参与者之间均匀随机分布,每个参与者收到一个无相同数据的训练数据子集。测试数据仅用于模型评估,并不包含在任何参与者的训练数据集中。实验设置为总共运行R = 300轮。
数据预处理:终端设备本地训练数据时,先对训练样本数据进行预处理,将每个像素点的数值归一化到(0, 1),标签值采用one-hot编码,并随机打乱防止模型在训练过程中出现过拟合,并确保模型能够学习到数据的更多特征。
4.2. 实验结果
Table 1. Comparison of model accuracy between CIFAR-10 and Fashion-MNIST
表1. CIFAR-10与Fashion-MNIST模型准确率比较
中毒攻击节点比例 |
0% |
10% |
20% |
30% |
应用系统后 |
CIFAR-10模型准确率 |
79.90% |
77.64% |
76.02% |
74.43% |
79.82% |
Fashion-MNIST模型准确率 |
91.75% |
89.93% |
88.76% |
88.62% |
91.63% |
如表1所示,在CIFAR-10数据集上,当中毒攻击节点的比例逐渐增加时,模型的准确率呈现下降趋势。尤其是当中毒攻击节点比例达到30%时,模型的准确率降至最低水平,仅为74.43%。在Fashion-MNIST数据集上,同样地,中毒攻击节点比例的增加也导致了模型准确率的下降。然而,即使在30%的中毒攻击节点比例下,模型的准确率仍然相对较高,为88.62%。与CIFAR-10相比,Fashion-MNIST在受到中毒攻击时表现出更好的鲁棒性,即使在高比例的中毒攻击节点下,模型的准确率仍然能够保持较高水平。Fashion-MNIST数据集相对于CIFAR-10数据集在联邦学习中呈现出更好的鲁棒性,对中毒攻击的影响较小。这可能是由于Fashion-MNIST数据集相对简单,样本之间的差异较小,因此对于模型训练的干扰较小。本系统能有效地识别和应对恶意攻击,提高了模型的抗干扰能力。实验结果表明,在受到不同比例中毒攻击节点的影响下,系统能够有效地维护模型的准确率,特别是在较高比例的攻击情况下,仍然能够保持较高水平的模型准确率。
5. 结论
本文针对边缘网络中的联邦学习中毒攻击问题进行了深入探讨,并提出了一种有效的防御方案。通过实验和分析,发现中毒攻击会对模型的性能产生负面影响,尤其是当攻击节点比例较高时。实验表明,设计的系统能够有效识别和抵御这些攻击,提高了模型的抗干扰能力。此外,还观察到不同数据集在联邦学习中表现出不同的鲁棒性,为进一步研究提供了有价值的参考。
未来,将继续改进和优化防御系统,以进一步提高模型的安全性和性能。同时,也将探索更多的数据集和场景,以深入了解不同环境下的中毒攻击行为及其影响。总的来说,本文的研究为边缘网络中的联邦学习安全问题提供了重要的启示,为构建更安全、可靠的人工智能系统提供了有益的参考。
基金项目
国家级大学生创新创业计划(编号202311058007)。
NOTES
*通讯作者。