联邦学习是指多个参与方可在保证各自数据隐私的同时实现联合机器学习建模,即在不获取对方原始数据的情况下利用对方数据提升自身模型的效果。想要实现这种构想,就必须要使用到相应的加密技术,而同态加密技术就是其中之一。
应用原因
在联邦学习中,多方联合训练模型一般需要交换中间结果,如果直接发送明文的结果可能会有隐私泄露风险。
在这种场景下,同态加密就可以发挥很重要的作用。多方直接将中间结果用同态加密算法进行加密,然后发送给第三方进行聚合,再将聚合的结果返回给所有参与者,不仅保证了中间结果没有泄露,还完成了训练任务。
同态加密主要用于联合建模过程中的参数交互计算过程,实现预测模型的联合确立。目前,在联邦学习场景中使用较多同态加密算法为Paillier加法半同态加密算法。
应用流程
在使用同态加密的联邦学习方案中,一般包含参与方A、参与方B、协作方C三种角色,参与方A和参与方B为数据提供方,而参与方C负责进行密钥分发和汇总计算,有时协作方C也可由两个参与方之一扮演。
由于加法同态加密无法实现任意形式的计算,在进行联合建模时需要事先将拟联合计算的计算式近似转换为加法形式,并确定协议的具体流程。
联合模型的加密训练过程一般包含以下步骤:
- 协作方C生成同态加密公私钥对,并向参与方A和B分发公钥;
- A和B以同态密文的形式交互用于计算的中间结果;
- A和B将各自的计算结果汇总给C,C进行汇总计算,并对结果进行解密;
- C将解密后的结果返回给A和B,双方根据结果更新各自的模型参数。
特殊使用场景
在一些基于半同态加密的联邦学习特定方案中,也可无需协作方C进行模型汇总,参与双方各自形成一个子模型,在后续的联合预测的过程中需要进行参数交互。
除以上使用单一密钥的方法外,目前还存在无需协作者C的联合建模方案,参与计算的两方各掌握一对公私钥,但该方案的复杂程度较大,在性能方面不如上述方案。
此外,学术界还提出了多密钥全同态加密方案,支持在多方使用不同密钥加密的密文之间进行同态计算,但该类方法目前还处于理论阶段。
优势与劣势
同态加密在联邦学习场景中的应用大多用于联合建模过程中的参数交互过程,避免泄露原始数据和直接传输明文参数,可在一定程度上同时解决数据融合计算和数据隐私保护问题。但是,目前基于加法半同态加密的解决方案仍存在一定的局限性,包括精度损失、交互开销大、公平性不足等问题。
免责声明:素材源于网络,如有侵权,请联系删稿。