Replies: 2 comments 1 reply
-
Beta Was this translation helpful? Give feedback.
-
|
Hi @mikez3, our current DP filter (svt_privacy) adds noise to all parameters contained in a message. It works fine for deep learning because usually we do not distinguish among weights within a model. But for SVM, it becomes an issue: the message sent by clients to server is the local supporting vectors, which contains both coordinates and labels, and we do not want noise to be applied to labels. We will need an extension for the svt_privacy by taking a list of names expecting noise with exclusion of those who do not. @chesterxgchen this may be something we should do. But before that, it is not compatible with SVM at current form. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Python version (
python3 -V)3.10
NVFlare version (
python3 -m pip list | grep "nvflare")2.3.8
NVFlare branch (if running examples, please use the branch that corresponds to the NVFlare version,
git branch)2.3
Operating system
Ubuntu 22.04
Have you successfully run any of the following examples?
Please describe your question
I'm currently working with the sklearn-svm example and attempting to apply Differential Privacy (DP) filters to it. I've added the DP filter to the
config_fed_client.jsonfile, following the same procedure as demonstrated in the brats18 example.However, it appears that the DP is also being applied to the labels, which is causing the classifier to malfunction. Specifically, I'm encountering a
ValueError: Unknown label type: 'continuous'insvm_assembler.py(line 60) when executing thesvm_global.fit(global_x, global_y)command. Upon inspecting some of the labels, I noticed that some labels changed to a random float number.How can I combine DP with the SVM classifier? Have I misunderstood something about the DP filter functionality? Thanks in advance!
Beta Was this translation helpful? Give feedback.
All reactions