LabeliaLabs / distributed-learning-contributivity

Simulate collaborative ML scenarios, experiment multi-partner learning approaches and measure respective contributions of different datasets to model performance.
https://www.labelia.org
Apache License 2.0
57 stars 12 forks source link

Add parameter : fraction of partners used at each federated round #119

Open RomainGoussault opened 4 years ago

RomainGoussault commented 4 years ago

This is useful when the number of partners is large

bowni commented 3 years ago

@HeytemBou I think you are introducing this in your DRFA PR right?

bowni commented 3 years ago

The attribute has been added by @HeytemBou in PR #354 (as a Scenario() attribute), but it remains to adapt standard multi-partner learning approaches to leverage it.

bowni commented 3 years ago

@arthurPignet indicates that there is a similar mechanism in PVRL - to be checked, see if some can be reused and/or upgraded when we implement this fraction of partners approach. @HeytemBou can you complement this issue with elements of thoughts from your work on DRFA please?

arthurPignet commented 3 years ago

Indeed PVRL is a contributivity method where an agent trained by reinforcement learning (policy gradient) would choose a subset of partners at every epoch. Currently one mpl object is created, and the method .fit_epoch is called. The mpl.fit method is kind of overwritten within the contributivity function PVRL. Every epoch the mpl.partner_list is changed (and the aggregator is re-initialized). It could be really interesting to rewrite PVRL with your new tool @HeytemBou. Actually it could be easy to test various RL algorithms.