【发布时间】:2021-05-04 12:00:38
【问题描述】:
我正在使用 tensorflow-federated(TFF) 来开发我自己的联合聚合方法。我想知道我是否可以在 tensorflow-federated 中使用同态加密(HE)。我注意到 TFF 使用 tff.federated_mean() 来聚合来自每个客户端的梯度。 TFF 是否提供类似的 API 或接口来实现 HE?非常感谢。
【问题讨论】:
标签: tensorflow tensorflow-federated
我正在使用 tensorflow-federated(TFF) 来开发我自己的联合聚合方法。我想知道我是否可以在 tensorflow-federated 中使用同态加密(HE)。我注意到 TFF 使用 tff.federated_mean() 来聚合来自每个客户端的梯度。 TFF 是否提供类似的 API 或接口来实现 HE?非常感谢。
【问题讨论】:
标签: tensorflow tensorflow-federated
TFF 可以被概念化为具有多个组件,其中两个是用于联邦学习的特定领域语言的核心原语(这是您在编写 tff.federated_mean 时得到的),以及一个执行以这种语言(这是你将一些 python 值传递给你的 TFF 装饰函数时得到的)。
在 DSL 级别,TFF 确实至少支持一些同态加密;特别是,请查看tff.federated_secure_sum 和最近添加的tff.federated_secure_select。
您可以在 TFF 函数的主体中使用它们,但它们不会在 TFF 的默认运行时中执行。 TFF 的默认运行时通常完全在单个数据中心中运行,客户端和服务器的概念不一定直接映射到机器。例如,请参阅this code,其中 TFF 默认运行时会在尝试执行这些原语时引发。
但是,TFF 的运行时设计基本上是组件驱动和组合式的,并且这些原语可以以组合到 TFF 的本机运行时的其余部分的方式实现。请参阅 Dropout Labs 的 this blog post,了解他们如何在 TFF 之上构建对 secure_sum 的支持——事实上,正是他们与 TFF 的合作导致了上面链接代码中的一些模式。他们实现了对 secure_sum remains on GitHub 的支持,尽管我怀疑目前还不支持 secure_select,因为它是最近才添加到 TFF 中的。
【讨论】: