Attacks¶
Gradient attacks that simulate Byzantine (adversarial) workers.
An Attack observes the gradients of honest workers and produces
gradients that mimic what adversarial (Byzantine) workers would send. They
are used to stress-test aggregators rules by
measuring whether the aggregated gradient still points in a useful
direction under adversarial conditions.
All attacks are stateless: each attack is a @classmethod invoked
directly on the class. The first positional argument is the honest
gradients; \(f\) (the number of Byzantine gradients to generate) and any
attack-specific hyperparameters are keyword-only.