2

联邦学习研究的一部分基于对服务器和客户端之间的通信执行的操作,例如丢弃客户端和服务器之间交换的部分更新(丢弃一些描述模型的梯度)或丢弃来自特定客户端的特定通信中的更新圆形的。我想知道 Tensorflow-federated (TFF) 框架是否支持此类功能以及如何支持它们,因为乍一看,在我看来,TFF API 的抽象级别不允许此类操作。谢谢你。

4

1 回答 1

1

TFF 的语言设计有意避免客户身份的概念;希望避免使“客户端 X”可寻址并丢弃其更新或向其发送不同的数据。

但是,可能有一种方法可以运行上述计算类型的模拟。TFF 确实支持表达以下内容:

  • 以张量属性为条件的计算,例如忽略具有nan值的更新。实现这一点的一种方法是编写一个tff.tf_computation有条件地将之前的更新权重归零的方法tff.federated_mean。此技术用于tff.learning.build_federated_averaing_process()

  • 在不同的客户端集(其中一个集可能是单个客户端)上运行不同计算的模拟。由于引用执行器通过客户端拥有的数据参数化客户端,因此 TFF 的编写者可以编写两个tff.federated_computations,将它们应用于不同的模拟数据,并组合结果。

于 2019-05-13T16:47:38.503 回答