[论文解读] PyVertical: A Vertical Federated Learning Framework for Multi-headed SplitNN
PyVertical 是一个开源框架,通过 SplitNN 和隐私集合交集实现纵向联邦学习,以在所有者之间对齐数据,在双头 MNIST 设置中进行演示。
We introduce PyVertical, a framework supporting vertical federated learning using split neural networks. The proposed framework allows a data scientist to train neural networks on data features vertically partitioned across multiple owners while keeping raw data on an owner's device. To link entities shared across different datasets' partitions, we use Private Set Intersection on IDs associated with data points. To demonstrate the validity of the proposed framework, we present the training of a simple dual-headed split neural network for a MNIST classification task, with data samples vertically distributed across two data owners and a data scientist.
研究动机与目标
- 在纵向分割的数据上训练神经网络,而不共享原始数据。
- 使用私有集合交集通过 ID 对齐不同拥有者的数据点。
- 在纵向分割的 MNIST 设置中展示一个双头 SplitNN 架构。
- 为研究人员提供一个开源工具,以探索带分割网络的纵向联邦学习。
提出的方法
- 模型被分成由数据拥有者和中心数据科学家持有的若干段。
- 在训练前使用 PSI 通过共享的 ID 对齐数据点,使数据集索引一致。
- 每个数据拥有者训练一个本地的 LocalSplitNN 段,将其特征映射到中间表示;输出被连接并送入数据科学家的段。
- 训练时反向传播将梯度传播到所有段。
- 该框架利用 PySyft 以保护隐私并实现安全的协作学习。
实验结果
研究问题
- RQ1跨多个拥有者的特征垂直分区是否能够通过 SplitNN 支持有效的神经网络训练?
- RQ2PSI 是否能够可靠地对齐跨数据集的数据点以实现联合训练而不暴露原始数据?
- RQ3当特征在两个数据拥有者之间纵向分布且标签由数据科学家持有时,双头 SplitNN 在 MNIST 上是否可行?
主要发现
- PyVertical 能在纵向分区的 MNIST 数据集上训练一个双头 SplitNN。
- 每个数据拥有者将长度为 392 的输入映射到长度为 64 的中间向量;数据科学家将长度为 128 的拼接映射到一个 10 类 softmax。
- 训练使用数据拥有者的学习率为 0.01,数据科学家为 0.1;批次大小为 128。
- 数据科学家进行训练编排、计算损失,然后将梯度反向传播给数据拥有者。
- 该方法展示了在隐私保护环境下使用 SplitNN 和 PSI 的纵向联邦学习原理。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。