我正在尝试实现和复制纸上的联邦Bert结果 Federated pretraining and fine-tuning of BERT using clinical notes from multiple silos。
我更喜欢使用TensorFlow
Bert预训练代码。
为了以联合方式进行培训,最初,我将数据集分为3个不同的筒仓(使用mim-3数据,每个筒仓包含50名患者的出院摘要)。然后使用TensorFlow
对每个数据集的Bert模型进行预训练
从Bert正式发布开始实施Bert预培训。
现在我有三种不同的模型,它们是从不同的数据集中进行预训练的。对于模型聚合,我需要取所有三个模型的平均值。由于每个筒仓中的笔记数量相等,因此为了求平均,我需要对所有模型求和并除以三。 如何像本文中那样获取平均模型?,请给我一些见解,以正确地对此进行编码。平均模型权重的想法来自论文FEDERATED LEARNING: STRATEGIES FOR IMPROVING COMMUNICATION EFFICIENCY 。
我对deep learning
很陌生
和TensorFlow
。所以有人请帮助我找出问题并为TensorFlow
建议一些阅读材料
在本文中,提到在共享临床数据时克服隐私和监管问题是一个不错的选择。我的问题是
是否可以从此model.ckpt文件中获取敏感数据?那又如何?
任何帮助将不胜感激。谢谢...
答案 0 :(得分:1)
模型平均可以通过多种方式完成。最简单的方法是在每个孤岛中拥有每个架构的完整副本,并对其参数分数取(加权)平均值,并将其用作完整模型的参数。然而,有许多实际问题(延迟、网络速度、设备的计算能力)可能会阻止这一点,因此使用更复杂的解决方案,其中筒仓仅在变量的子集上进行训练等(如您引用的论文中所示)。
通常不可能从数据集中检索信息(敏感或敏感),仅从参数更新到对其进行微调的模型。