【发布时间】:2021-09-22 08:53:09
【问题描述】:
我正在使用 Tensorflow Federated (TFF) 进行差分隐私训练。目前我正在创建一个 Tensorflow Privacy NormalizedQuery,然后将其传递给 TFF DifferentiallyPrivateFactory 以创建一个 AggregationProcess:
_weights_type = tff.learning.framework.weights_type_from_model(placeholder_model)
query = tensorflow_privacy.GaussianSumQuery(l2_norm_clip=10.0, stddev=0.1)
query = tensorflow_privacy.NormalizedQuery(query, 20)
agg_proc = tff.aggregators.DifferentiallyPrivateFactory(query)
agg_proc = agg_proc.create(_weights_type.trainable)
在向客户端广播服务器状态后,我运行客户端更新功能,然后像这样使用 AggregationProcess:
agg_output = agg_proc.next(
server_state.delta_aggregate_state,
client_outputs.weights_delta)
这很好用,但是我想在训练期间尝试多次更改 l2_norm_clip 和 stddev(使剪辑在不同的训练轮次中越来越大),但似乎我只能在创建 AggregationProcess 时设置这些参数。
是否可以在训练期间以某种方式更改这些参数?
【问题讨论】: