神经网络聚合方法的比较
A Comparison of Methods for Neural Network Aggregation
https://doi.org/10.48550/arXiv.2303.03488
摘要(Abstract)
深度学习理论日益成熟,但在实际工程应用中有所欠缺。为了能够处理真实数据中出现的许多不一致的情况,我们需要一些处理这方面的算法。该论文为神经网路算法提出了一种多方计算协议(a multi-party computation protocol,MPC),该协议能够保护训练数据的隐私和安全。神经网络聚合的三种方法进行分析:迁移学习(transfer learning)、平均集成学习(average ensemble learning)、时间序列学习(series network learning)。文中基于医学数据讨论了所提出的协议的安全问题,结果表明这种多方计算协议是理论可行的,可用于其他研究领域。
1.引言(Introduction)
尽管已经有许多学习算法的成功实现,但机器学习的大部分进展仍然是理论上的。缺乏实际应用的一个原因就是:学习算法的实用性、弹性和安全性。尤其是共享数据的安全性。对此作者提出了一种使用安全多方计算(MPC)的数据共享替代方案。多方计算是密码学的一个分支,涉及对私人用户持有的数据进行计算。
作者提出了一种在私人数据集上训练神经网络的协议,然后将神经网络组合起来,使的私人数据不被暴露。神经网络聚合的方法本文考虑了三种,并做了详细对比研究。对比的前提是:底层网络架构、数据集保持不变。此外,包括激活函数、优化器和批量大小在内的超参数都保持不变。性能通过均方误差来衡量的。
2.相关工作(Related Work)
对于医疗保健行业中使用深度学习的优势会受到患者数据相关的安全问题的限制。迁移学习就是一种可以用来克服这个问题的方法之一。
2.1 安全(Security)
信息安全很重要,任何数据泄漏,都可能导致攻击。有许多针对学习算法的攻击。系统容易受到的一个攻击就是对手恶意提供的训练代码。为防止这种攻击,特定方实现的代码应该是开源的,并且经过独立审查的。
推理攻击(membership inference attacks)是另一种常见的攻击。为了防止成员推理攻击,模型应该避免过拟合。此外,添加正则化、预测向量限制和增加预测向量的熵等都可以防止成员关系推理攻击。
2.2 迁移学习 (Transfer Learning)
迁移学习,在强化学习和深度神经网络模型方面应用广泛。迁移学习的应用显示了神经网络聚合在医疗保健领域的可行性。
迁移学习方面的应用工作显示出神经网络聚合作为大数据医疗应用中数据共享的替代方案的巨大前景。
3.神经网络聚合(Neural Network Aggregation)
3.1 问题陈述(Problem Statement)
令𝐷1, 𝐷2, · · · , 𝐷𝑘 be subsets of Rn dataset,且,G:Rn—>Rm 是一个可微分的多层感知机,系数为θg。
对于Di子数据集,可以通过G获得θg。但是不能通过G得到Di的信息。这种通过多种不相交的数据集训练神经网络的过程就叫做神经网络聚合。
3.2 时间序列网络学习(Series Network Learning)
第一种方法就是序列网络学习,预先训练一个“专家”神经网络作为额外输入来训练神经网络。本实验利用一个单一神经网络在第一个数据集上训练。并在测试集上进行验证。然后这个单一神经网络为第二个数据集中的每一个条目产生一个预测。给第二个数据集使用一个新的神经网络,该网络使用预测数组值作为额外增加的输入。然后在第二个数据集上训练并记录MSE。
直观的看,第二个网络在MSE上将有一个在改善提高,因为它将“学习”什么时候相信第一网络的预测,什么时候替换为自己的计算。
3.3 平均集成学习(Average Ensemble Learning)
该方法考虑两个具有完全相同的架构的神经网络 N1、N2。两个具有相同的激活函数、优化器、隐藏层以及神经元数量。两个神经网络将在两个相同结构不同数据的数据集上进行训练,并在测试集上评估。
两个网络结合形成第三个完全相同结构的神经网络N3. N3的权重和偏移量,取值为N1和N2的相应数据的平均值。N3应用在测试集。
作者还对平均值的初始化进行了改进,比如使用加权平均,考虑正负概率。
3.4 迁移学习(Transfer Learning)
迁移学习不用权重二次初始化(reinitialization),直接利用一个单一神经网络在增加的数据集上就能进行训练。本实验考虑在第一个数据集上,训练一个带有随机初始权重的单一神经网络。并在测试集上进行验证。然后,不用二次初始化权重该单一网络直接在第二个数据集上训练,并再一次在的测试集上进行MSE验证。反复在第二个和第一个数据集上训练,
4.实验(Experiments)
本文进行了两个实验:一个实验使用人工生成的多项式数据,另一个实验使用
the University of Wisconsin Madison Hospital’s breast cancer dataset 乳腺癌数据集。
这些实验测试的目的是同时表示数据共享的基础上,进行一个初始性能对比,在本提出的方法和一个在所有数据上训练的神经网络。
4.1 数据(Data)
人工数据:用一个随机正态分布产生一个由指定区间内随机有理数组成的二维数组队列。每一行由7个随机有理数表示数据特征。本实验创建了多个这样的二维数据集。3200、1600、800和400。
生成一个基于字典序的n次多项式,该多项式系数(coefficients)从正态分布中随机选择。根据多项式求得f(x),即预测值。
数据集准备好之后,80%分为训练集,20%分为测试集。训练集再平均分成连个子训练集。
真实数据:乳腺癌数据集,划分和人工数据相同。数据需要预处理,包括归一化和小特征操作。
4.2 回归(Regression)
第一个实验,基于多项式数据集的回归问题。过程很详细。结果Series Network表现最好。
4.3 乳腺癌分类(Breast Cancer Classification)
第二个实验,基于真实数据分类问题。计算了准确率(accuracy values),ROC,precision、recall F1 。
该实验中利用不同的超参数,进行训练测试。可能是数据集比较小,所以迁移学习和序列网络效果比较好。
5.讨论(Discussion)
论文中所使用的都是单一神经网络,比较简单。文中提到的方法还可以用于更复杂的神经网络架构。
集成方法还有很多,比如boosting。另外集成的另一种选择是叠加,
6.结论(Conclusion)
充分认识到神经网络聚合是数据共享的一种更强大的替代方案,但还需要更多的测试。未来工作,检查所提出模型的可扩展性。随着数据集数量的增加,检查模型的收敛性。
另外,还需要对成员推断攻击进行更多的研究,以降低安全问题。