KrumSimulation

KrumSimulation.

Reference:

Peva Blanchard, El Mahdi El Mhamdi, Rachid Guerraoui, and Julien Stainer. “Machine learning with adversaries: Byzantine tolerant gradient descent.” In Advances in Neural Information Processing Systems 30 (NIPS 2017).

One KrumSimulation instance = one (aggregator, attack, dataset, model) configuration run over multiple synchronous rounds with no learning rate decay.

class krum.simulations.centralised.krum_nips_2017.KrumSimulation(*, aggregator_f: int | None = None, **kwargs: Any)[source]

Bases: CentralisedSimulation

Distributed SGD simulation.

Compared to the ICML 2018 HiddenVulnerabilitySimulation, this variant:

  • Uses a fixed learning rate (no scheduler; lr_decay=None, the default inherited from CentralisedSimulation).

  • Reports misclassification error and cross-entropy loss on the test set.

See also

For the base class, see CentralisedSimulation. For the ICML 2018 counterpart, see HiddenVulnerabilitySimulation.