张量流模型保存和模型平均计算

时间:2020-06-17 23:06:23

标签: python tensorflow deep-learning nlp bert-language-model

我正在尝试实现和复制纸上的联邦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文件中获取敏感数据?那又如何?

任何帮助将不胜感激。谢谢...

1 个答案:

答案 0 :(得分:1)

模型平均可以通过多种方式完成。最简单的方法是在每个孤岛中拥有每个架构的完整副本,并对其参数分数取(加权)平均值,并将其用作完整模型的参数。然而,有许多实际问题(延迟、网络速度、设备的计算能力)可能会阻止这一点,因此使用更复杂的解决方案,其中筒仓仅在变量的子集上进行训练等(如您引用的论文中所示)。

通常不可能从数据集中检索信息(敏感或敏感),仅从参数更新到对其进行微调的模型。

相关问题