1 联合建模(Joint Modeling)

1.1 定义

多个参与方共同训练一个机器学习模型,但各自的数据不离开本地。

1.2 类比理解

就像几个医生一起研究某种疾病的治疗方案,但每位医生只分享“经验总结”(如模型参数),而不透露具体的病人信息。

1.3 实际应用

  • 多家保险公司想共同训练一个新能源汽车保险风险评估模型,但每家都只能用自己的客户数据
  • 联合建模可以让大家共享模型能力,而不用把原始数据交给别人

1.4 技术实现方式

通常通过 联邦学习(FL)多方安全计算(MPC) 来实现。

多方安全计算(Secure Multi-Party Computation, MPC)

各方将数据加密或秘密共享,在加密状态下共同计算函数,最终只输出结果。如富数所述,参与方不泄露原始数据,通过加密状态协同得到计算结果。多方将数据加密分片,分别计算,最终合成结果,任何单方看不到完整数据。

定义:多个参与方在不泄露自己私有输入的前提下,协作完成一个函数计算。

类比理解:就像几个人在黑暗中同时写下一个数字,然后通过某种机制知道这些数加起来是多少,但不知道别人写了什么。

应用:

  • 几个公司想知道他们的用户有多少是重叠的,但不想暴露各自的用户列表(隐私求交 PSI 就是它的一个子集)。
  • 银行之间想统计总贷款额,但不想告诉对方自己的具体数据。

技术实现:使用加密协议(如 Yao’s Garbled Circuits、秘密共享等),确保中间过程不泄露原始数据。

联邦学习(Federated Learning, FL)

各方本地训练模型,将加密参数汇聚更新,实现模型共享。如富数所言,“数据不出门,算法满地跑”。可结合安全聚合、MPC 等增强隐私。像是分布式机器学习的参数交换,避免数据直接暴露。

定义:一种分布式机器学习方法,允许多个参与方协同训练模型,但不共享原始数据。

类比理解:像一群学生一起做题,每个人都在自己的练习本上算,最后只告诉老师答案的“趋势”,老师再统一调整教学内容。

实际应用:新能源车企与保险公司合作:车企提供车辆运行数据(如电池状态、行驶轨迹),保险公司提供理赔数据,双方都不交出原始数据,但可以共同训练一个更准确的风险预测模型。

技术实现方式:

  • 使用加密梯度聚合(如同态加密或差分隐私)
  • 支持横向/纵向联邦学习
横/纵向联邦学习

类型

特点

示例

横向联邦学习(Horizontal FL)

参与方拥有相同的特征,不同的样本

多家银行都有贷款记录,但各自有不同的客户

纵向联邦学习(Vertical FL)

参与方拥有相同的样本,不同的特征

同一家客户,银行有收入数据,保险公司有健康数据

Java程序员理解:

  • 横向:相当于多张表 UNION ALL 合并
  • 纵向:相当于多张表 JOIN 合并