HiddenVulnerabilitySimulation¶
HiddenVulnerabilitySimulation.
- Reference:
El Mahdi El Mhamdi, Rachid Guerraoui, and Sébastien Rouault. “The Hidden Vulnerability of Distributed Learning in Byzantium.” In Proceedings of the 35th International Conference on Machine Learning (ICML 2018).
One HiddenVulnerabilitySimulation instance = one (aggregator, attack, dataset, model)
configuration run over multiple synchronous rounds with the Robbins-Monro
learning-rate schedule \(η(t) = r_η · η_0 / (t + r_η)\) of Section 5.1.
- class krum.simulations.centralised.hidden_vulnerability_icml_2018.HiddenVulnerabilitySimulation(*, r_eta: float, weight_decay: float = 0.0001, xavier_init: bool = True, lr_schedule: Literal['exponential', 'robbins_monro', 'none'] = 'robbins_monro', lr_decay: float | None = None, stop_attack_at: int | None = None, aggregator_f: int | None = None, **kwargs: Any)[source]¶
Bases:
CentralisedSimulationDistributed SGD simulation.
Compared to the NIPS 2017
KrumSimulation, this variant:Uses the Robbins-Monro learning-rate schedule \(η(t) = r_η · η_0 / (t + r_η)\) (Section 5.1) with fading rate
r_eta— not constant, not exponential.Applies L2 regularization of weight
1e-4and Xavier weight initialization on every layer (Section 5.1).Reports three metrics per evaluation:
(train_loss, test_accuracy, test_loss).
See also
For the base class, see CentralisedSimulation. For the NIPS 2017 counterpart, see KrumSimulation.