我正在使用Renyi (-differential) PyTorch隐私,这是在PyTorch DNN中实现的。我这样做是为了保证培训集的隐私达到ε的程度。为了实现这一点,我使用PyTorch-DP。随着网络对训练集的适应程度越来越高,训练精度不断提高,网络的保密性逐渐降低。然而,在某个转折点上,隐私降低了,精度也降低了;我认为,由于在一批训练数据上增加了太多的(隐私)噪声,并且/或因为它覆盖了训练集,所以这种精度最终会下降。
现在,我想要实现的是:我想要训练一个模型,以达到(ε,δ)ε,δ隐私的不同值ε(即0.5,1,1.5,2)。请注意,ε值越大,模型所保证的隐私就越少。在理想情况下,随着ε的增加,精度会提高。然而,这种情况并没有发生,因为在那个转折点之后,精确度下降了。我的问题是,是否有任何方法来保证/影响这一点,以便在算法达到指定的ε时,精度仍处于接近最佳的水平。或者,这不是我想要的那样可控的,这是通过经验改变学习速度,或者改变加性剪辑噪声的数量以及历次的次数来达到这一点的最好方法,这样每个时代都会增加更多/更少的隐私,但是时间会更短/更长。
我真的是在征求意见。
发布于 2020-06-01 22:40:24
我不知道有什么神奇的方法来保证隐私接近最佳。我所做的(并且听到其他人做的)是做一些超参数调优,不同的epsilon值,以获得最佳的精度,所以我建议你去做。另外,作为一个有趣的附带说明,在一个很小的水平上,有时在生成算法DP的过程中添加的噪声可以帮助提高精度,帮助防止过度拟合(但不确定这是否是在您的情况下发生的)。
https://stackoverflow.com/questions/62138437
复制相似问题