多方学习与安全多方计算
多方学习的含义
多方学习(Multi-party Learning,简称 MPL)是一种基于安全多方计算(Secure Multi-party Computation,SMPC)的机器学习技术。是指多个参与方(如企业、机构、终端设备等)在不直接共享私有数据的前提下,通过协同合作训练或优化机器学习模型的技术框架。其核心目标是打破 “数据孤岛”,利用分布式数据提升模型性能(如精度、泛化能力),同时避免原始数据的泄露。
在多方学习中,各参与方通过安全计算协议(如秘密共享)对数据进行处理,仅共享模型训练过程中的必要中间结果(而非原始数据),最终共同得到一个基于所有参与方数据训练的模型。
核心特征:
- 数据私有性:各参与方保留本地数据所有权,不对外暴露原始数据(如医疗数据、金融交易记录等敏感信息)。
- 协同目标:共同训练一个全局模型(或协同优化多个关联模型),模型性能通常优于单一参与方的本地模型。
- 数据分布多样性:参与方数据可能是 “横向分布”(特征相同、样本不同,如不同医院的同病种患者数据)、“纵向分布”(样本相同、特征不同,如银行与电商的同一用户数据)或 “混合分布”。
典型场景:
- 跨医院的疾病预测模型(医院 A、B、C 分别有部分患者数据,协同训练更精准的诊断模型);
- 多企业联合风控(银行、支付平台、电商协同识别欺诈用户,不共享用户交易细节)。
安全多方计算是一种密码学技术框架,允许多个参与方在不泄露各自私有输入数据的前提下,共同完成某个计算任务并得到正确结果。其核心是通过密码学方法保证:“计算过程中,除最终输出外,任何参与方无法获取其他方的私有数据”。
核心目标:
- 输入隐私:各参与方的原始数据不被其他方或第三方知晓;
- 计算正确性:最终输出与 “所有参与方共享数据后直接计算” 的结果一致;
- 输出隐私:仅允许指定参与方获取最终结果(或按规则分享部分结果)。
核心技术:
- 秘密分享(Secret Sharing):将私有数据拆分为多个 “份额”(Shares),各参与方仅持有部分份额,需联合所有份额才能还原原始数据(如 Shamir 秘密分享);
- 同态加密(Homomorphic Encryption, HE):允许对加密数据直接进行计算,得到的结果解密后与原始数据计算结果一致(如支持加法的 Paillier 加密、支持乘法的全同态加密);
- 混淆电路(Garbled Circuits, GC):将计算逻辑转换为加密的布尔电路,参与方通过交换加密信号完成计算,仅知晓自身输入和最终输出(适合逻辑判断类计算)
多方学习与数据隐私保护的结合方式
多方学习通过以下核心技术实现数据隐私保护:
安全多方计算(SMPC)基础
- 采用秘密共享等技术将私有数据分割为多个份额,由不同参与方持有。计算过程中,各参与方仅对自己持有的份额进行操作,最终通过聚合份额得到结果,确保原始数据不泄露。
- 例如,加法秘密共享将一个秘密值拆分为多个随机数份额,各参与方的份额之和等于原始秘密,单独的份额无法推断出原始数据。
差分隐私(DP)增强防护
- 针对模型本身可能遭受的攻击(如成员推理攻击),引入差分隐私技术。通过在模型训练的梯度向量中添加高斯噪声,使攻击者无法通过模型输出推断具体数据是否参与训练。
- 文中提出的安全 DPSGD 协议,在秘密共享框架中实现差分隐私随机梯度下降,既保证计算安全性,又提供严格的隐私保障。
优化方法平衡隐私与效率
- 数据独立特征提取:各参与方先通过公共基础模型(如 BERT)或规则提取数据特征,再协作训练浅层模型。这减少了需要安全计算的参数规模,降低隐私噪声导致的精度损失。
- 本地模型初始化:各参与方先在本地数据上训练模型,再通过安全聚合得到初始全局模型,加速训练收敛,减少安全计算的通信开销。