attacks
Attack
¶
Source code in nebula/addons/attacks/attacks.py
33 34 35 36 37 38 39 40 41 42 |
|
attack(received_weights)
¶
Function to perform the attack on the received weights. It should return the attacked weights.
Source code in nebula/addons/attacks/attacks.py
37 38 39 40 41 42 |
|
DelayerAttack
¶
Bases: Attack
Function to perform delayer attack on the received weights. It delays the weights for an indefinite number of rounds.
Source code in nebula/addons/attacks/attacks.py
133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
|
GLLNeuronInversionAttack
¶
Bases: Attack
Function to perform neuron inversion attack on the received weights.
Source code in nebula/addons/attacks/attacks.py
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
|
NoiseInjectionAttack
¶
Bases: Attack
Function to perform noise injection attack on the received weights.
Source code in nebula/addons/attacks/attacks.py
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
|
SwappingWeightsAttack
¶
Bases: Attack
Function to perform swapping weights attack on the received weights. Note that this attack performance is not consistent due to its stochasticity.
Warning: depending on the layer the code may not work (due to reshaping in between), or it may be slow (scales quadratically with the layer size). Do not apply to last layer, as it would make the attack detectable (high loss on malicious node).
Source code in nebula/addons/attacks/attacks.py
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 |
|
create_attack(attack_name)
¶
Function to create an attack object from its name.
Source code in nebula/addons/attacks/attacks.py
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|