这个警告在 PATE 分析中意味着什么?
What does this warning mean in PATE analysis?
进行 PATE 分析时收到警告:
Warning: May not have used enough values of l. Increase 'moments' variable and run again.
from syft.frameworks.torch.differential_privacy import pate
data_dep_eps, data_ind_eps = pate.perform_analysis(teacher_preds=preds, indices=indices, noise_eps=0.1)
print("Data Independent Epsilon:", data_ind_eps)
print("Data Dependent Epsilon:", data_dep_eps)
增加“pate.perform_analysis”分析函数中“moment”参数的值后消失了。但我想知道为什么会这样。
data_dep_eps, data_ind_eps = pate.perform_analysis(teacher_preds=preds, indices=indices, noise_eps=0.1,moments=20)
print("Data Independent Epsilon:", data_ind_eps)
print("Data Dependent Epsilon:", data_dep_eps)
TL;DR:perform_analysis
想要通过使用更精细的计算来仔细检查异常小的 epsilon 结果。
pate.perform_analysis
函数迭代数据(技术上是隐私损失随机变量)并计算各种 epsilon。它使用 moments
参数来了解此迭代的粒度。当使用默认的 8 moments
时,它将计算 8 个 epsilons。然后它 returns 计算出的 epsilon 的最小值,如您所见 in the source code.
当这个函数 returns 是一个非常小的数据相关 epsilon 时,可能是因为 A) 数据具有很高的一致性,或者 B) 计算不够精细,而真实epsilon 更高。当只计算 8 个 epsilon 时,它们可能恰好是数据中的异常,描绘了一幅对整体 epsilon 过于乐观的图景!因此该函数发现一个非常小的 epsilon 并警告您 - 可能需要增加 moments
变量以计算更多 epsilon 并确保您找到了真正的最小值。如果您在增加 moments
参数后仍然得到相同的结果,则您的数据可能具有很高的一致性,因此与数据无关的 epsilon 相比,它确实具有较小的数据相关 epsilon。
希望以上内容对您有所帮助。如果您想了解有关其背后数学原理的更多详细信息,可以查看启发源代码的 the research paper。
进行 PATE 分析时收到警告:
Warning: May not have used enough values of l. Increase 'moments' variable and run again.
from syft.frameworks.torch.differential_privacy import pate
data_dep_eps, data_ind_eps = pate.perform_analysis(teacher_preds=preds, indices=indices, noise_eps=0.1)
print("Data Independent Epsilon:", data_ind_eps)
print("Data Dependent Epsilon:", data_dep_eps)
增加“pate.perform_analysis”分析函数中“moment”参数的值后消失了。但我想知道为什么会这样。
data_dep_eps, data_ind_eps = pate.perform_analysis(teacher_preds=preds, indices=indices, noise_eps=0.1,moments=20)
print("Data Independent Epsilon:", data_ind_eps)
print("Data Dependent Epsilon:", data_dep_eps)
TL;DR:perform_analysis
想要通过使用更精细的计算来仔细检查异常小的 epsilon 结果。
pate.perform_analysis
函数迭代数据(技术上是隐私损失随机变量)并计算各种 epsilon。它使用 moments
参数来了解此迭代的粒度。当使用默认的 8 moments
时,它将计算 8 个 epsilons。然后它 returns 计算出的 epsilon 的最小值,如您所见 in the source code.
当这个函数 returns 是一个非常小的数据相关 epsilon 时,可能是因为 A) 数据具有很高的一致性,或者 B) 计算不够精细,而真实epsilon 更高。当只计算 8 个 epsilon 时,它们可能恰好是数据中的异常,描绘了一幅对整体 epsilon 过于乐观的图景!因此该函数发现一个非常小的 epsilon 并警告您 - 可能需要增加 moments
变量以计算更多 epsilon 并确保您找到了真正的最小值。如果您在增加 moments
参数后仍然得到相同的结果,则您的数据可能具有很高的一致性,因此与数据无关的 epsilon 相比,它确实具有较小的数据相关 epsilon。
希望以上内容对您有所帮助。如果您想了解有关其背后数学原理的更多详细信息,可以查看启发源代码的 the research paper。