联邦学习产生的背景:
海量数据的生成和这些数据的后续处理往往需要一个数据仓库并在仓库内汇总数据。然而,随着数据泄漏事件层出不穷,数据安全性得不到保障,人们开始怀疑集中收集数据是否可靠,数据的隐私性的也得到了更多的关注。为了保证数据安全性,却造成了各个地方的数据难以整合,形成了大量的数据孤岛。
联邦学习能有效的解决数据孤岛问题,在保证数据安全性的同时达到数据共享目的。联邦学习利用去中心化的数据源进行训练,避免因数据中心化带来的隐私问题,从而能够更好地保护用户隐私。具体来说,联邦学习过程是参与者在客户端本地对其私有数据进行训练,再将训练后得到的模型参数上传到云服务器,最后由云服务器聚合得到整体参数。
存在的安全隐患:
①服务器无法访问参与者的数据及其模型训练过程,导致一些恶意参与者上传错误的更新结果以达到破坏全局更新的目的。例如,攻击者通过训练恶意修改后的训练数据来更新中毒模型,以影响全局模型准确性。
②攻击者通过推理不同的攻击得到的模型更新的结果可以推理出特定的信息,使得用户的个人信息 被泄露。
③当服务器本身不可信时,服务器与其他的参与者合谋会导致隐私信息泄露。虽然在深度学习领域,保证隐私安全的工作已探索多年,但针对如何构建具有安全和隐私性的联邦学习系统的研究仍处于初级阶段。
联邦学习过程:
生成初始模型:在第一个阶段,主要是从位于服务器的全局模型开始。开始训练后,服务器生成初始的全局模型,再将这个模型作为机器学习模型广播给联邦学习环境下的客户端。
本地模型更新:在第二个阶段,客户端在本地借助私有的数据集对模型进行训练,再将训练后的模型更新发送给服务器。
模型聚合:在第三个阶段,服务器接收从客户端发送来的更新后的训练模型,并进行聚合生成全局模型。服务器再将聚合的全局模型广播给所有参与训练 的客户端。自此,联邦学习进入迭代阶段,每一次迭代,全局模型都会进行更新。此外,服务器在任何阶段都可以在训练过程中添加或删除客户端。
联邦学习由一个服务器, ܰ 个持有私有数据集的客户端组成。联邦学习是一个不断迭代的过程,它重复第二个和第三个阶段直到服务器的全局模型得到一个期望的精度或者全局模型更新达到预定的迭代次数。在训练过程中,联邦学习对模型进行训练而无需传输训练数据或将数据存储到中心服务器。通过这种方式,可以在客户端和服务器之间共享信息,且在训练过程中有效的保护了用户的数据隐私。
联邦学习的特点:
①数据异构:各个客户端中的数据集的数据非独立同分布,且其中的数据数量不一致;
②设备异构:各个客户端硬件差异导致计算能力、通信、存储效率等不平衡;
③客户端数量不定。
详细的安全问题:
联邦学习没有审核参与方提供的参数模型是否真实;
服务器被攻陷时,攻击者可以随时发布恶意模型影响参与方的本地训练;
恶意的参与方可以从共享的参数中推理出其他参与方的敏感信息;
恶意的参与方可以通过上传恶意的模型破坏聚合后的全局模型等。
具体可能面临的攻击:
( 1 )投毒攻击( Poisoning Attack , PA):即攻击者通过破坏数据样本以达到攻击目的的一种攻击方式 ;
( 2 )对抗攻击(Adversarial Attack , AA ):即攻击者通过影响模型更新以达到攻击目的的一种攻击方式
(3 )推理攻击( Reasoning Extraction Attack, REA ),即攻击者通过对监听、窃取等方式获取的信息进行推理以得到某些隐私信息的手段 ;
( 4 )服务器漏洞( Server Vulnerabilities , SV),即服务器本身是恶意攻击者或极易受到攻击的情况。
推理攻击针对的是隐私,分为模型提取、模型逆向,前者主要通过推理窃取模型的信息,后者主要通过推理获得训练数据集的信息;投毒攻击和对抗攻击针对的是安全,前者主要在训练阶段投放恶意数据或恶意篡改数据从而导致模型的分类准确率降低,后者主要在预测阶段制造对抗样本来使模型分类出错 。
防御措施:
通用性防御措施主要包含差分隐私、同态加密、秘密共享等,而针对性防御措施主要针对联邦学习可能遭受到的不同类型的攻击,包括防御投毒攻击、防御对抗攻击、防御推 理攻击以及防御服务器漏洞。