Accelerated-Federated-Learning-Over-MAC-in-Heterogeneous-Networks icon indicating copy to clipboard operation
Accelerated-Federated-Learning-Over-MAC-in-Heterogeneous-Networks copied to clipboard

Not getting results on CIFAR-10

Open Mayank-git opened this issue 3 years ago • 1 comments

Hi, I have run the code for the CIFAR-10 dataset, but the results I am getting with 1 and 0.5 similarities are not as expected. Can you please tell me, why FedAvg is taking less time to converge as compared to SCAFFOLD? When I am trying to run the code using the SCAFFOLD setting, it is not giving more than 25% accuracy. I have run it for 250 global iterations with 1 local iteration. I have attached the screenshots. 1 2

Mayank-git avatar Jun 19 '21 04:06 Mayank-git

Hello Kumar, to be honest we tried to run the simulation on the CIFAR dataset and got poor results, and we decided to stick to the EMNIST dataset to show coherence results at this project (which ended a month ago). but in my opinion you are in the right direction because we also plotted the averaged norms (which the pre-coding coefficients depend on) and i attached the results : image

as you can see there is a constant proportion in the controls-model parameters norms, unlike your simulation which is time-dependent. My hypothesis ( and I am shooting from the hip here) is because the CIFAR-10 model has Convolutional layers and attaching control parameters to them shouldn't be done like a Fully connected layer. we need to think if there is a need for control tune the filters parameters (which are the parameters that define the convolutional layers) in a heterogeneous setting. does user A need to extract different features ( edge features for example) from user B, given that their dataset don't have similarities? for example , let's say that the classification problem is to classify shapes like ball, triangles, squares etc ., user A have only balls in his dataset ,and user B have only squares, the convolutional layers for user A will be optimize to filter curve like features , where user B convolutional layers will be optimize to filter edge like features. my short answer for this question is that only the application for which you use Federated Learning in the first place can make this question relevant, meaning that if your endgame goal is to train only one entity (the server) using the other users (which dont have similarities) then maybe dont use controls for the users convolutional layers( and by that keeping each user good at classifying only what he have in his dataset) but use controls only for the Server convolutional layers. I hope I helped you . Ram

ramshi236 avatar Jun 19 '21 14:06 ramshi236