对服务器和客户端之间的通信执行的操作
Operations performed on the communications between the server and clients
部分联邦学习研究基于对服务器和客户端之间的通信执行的操作,例如丢弃客户端和服务器之间交换的部分更新(丢弃一些描述模型的梯度)或丢弃来自特定的更新某个通信回合中的客户端。我想知道 Tensorflow 联合 (TFF) 框架是否支持此类功能以及它们是如何支持的,因为乍一看,在我看来,TFF API 的抽象级别不允许此类操作。谢谢。
TFF 的语言设计有意避免了客户端的概念身份;希望避免使 "Client X" 可寻址并丢弃其更新或向其发送不同的数据。
但是,可能有一种方法可以 运行 模拟所提到的计算类型。 TFF 确实支持表达以下内容:
以张量属性为条件的计算,例如忽略具有 nan
值的更新。实现这一点的一种方法是编写一个 tff.tf_computation
有条件地将 tff.federated_mean
之前的更新权重归零。此技术用于 tff.learning.build_federated_averaing_process()
模拟 运行 对不同客户端集的不同计算(其中一组可能是单个客户端)。由于引用执行器通过客户端拥有的数据对客户端进行参数化,因此 TFF 的编写者可以编写两个 tff.federated_computation
s,将它们应用于不同的模拟数据,然后合并结果。
部分联邦学习研究基于对服务器和客户端之间的通信执行的操作,例如丢弃客户端和服务器之间交换的部分更新(丢弃一些描述模型的梯度)或丢弃来自特定的更新某个通信回合中的客户端。我想知道 Tensorflow 联合 (TFF) 框架是否支持此类功能以及它们是如何支持的,因为乍一看,在我看来,TFF API 的抽象级别不允许此类操作。谢谢。
TFF 的语言设计有意避免了客户端的概念身份;希望避免使 "Client X" 可寻址并丢弃其更新或向其发送不同的数据。
但是,可能有一种方法可以 运行 模拟所提到的计算类型。 TFF 确实支持表达以下内容:
以张量属性为条件的计算,例如忽略具有
nan
值的更新。实现这一点的一种方法是编写一个tff.tf_computation
有条件地将tff.federated_mean
之前的更新权重归零。此技术用于 tff.learning.build_federated_averaing_process()模拟 运行 对不同客户端集的不同计算(其中一组可能是单个客户端)。由于引用执行器通过客户端拥有的数据对客户端进行参数化,因此 TFF 的编写者可以编写两个
tff.federated_computation
s,将它们应用于不同的模拟数据,然后合并结果。