当噪声增加时,Tensorflow Privacy准确性会提高

问题描述

我一直在研究差分私有神经网络。但是,我不确定是否已正确实现它。我使用了Tensorflow Privacy库中的DPAdamGaussianoptimizer()。我检查了不同级别的noise_multiplier(0.001、0.01、0.1、1、10、100)的验证精度,并注意到,随着噪声倍数的增大(大约85%),验证精度略有提高。我曾期望准确性会下降。我知道,在过度装配的情况下,通过增加噪声来提高精度在技术上是可能的。我想知道这是否可能,或者我做错了什么。

我使用了一个名为“成人”的数据集,它包含我规范化的数字变量和我虚拟编码的分类变量标签是二进制的,具有不平衡的类(0 = 75%,1 = 25%)。

noise_multiplier= 10
batch_size = 20
epochs = 20

optimizer = DPAdamGaussianoptimizer(l2_norm_clip= 0.003,noise_multiplier= noise_multiplier,num_microbatches =200)
loss = tf.keras.losses.BinaryCrossentropy(from_logits=True,reduction=tf.losses.Reduction.NONE)

dpnn.compile(loss= loss,optimizer = optimizer,metrics=['accuracy'])
dpnn.fit(x_train,y_train,epochs = epochs,batch_size = batch_size,validation_data = (x_val,y_val),class_weight = {0: 0.30,1 : 0.70}) 

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)