Yinpeng Dong, Tianyu Pang, Hang Su, Jun Zhu, Xiao Yang
We lifted 2 functions out of this paper's own repositories and ran 1 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.
| Repository | Role | Ran |
|---|---|---|
| ShawnXYang/AccumulativeAttack | canonical | 1 of 2 |
| Function | Status | Where it lives |
|---|---|---|
| round_sign | Ran | ShawnXYang/AccumulativeAttack/online_accu_train.py pointer only (licence: NONE) · get_code("fa02a3a1df19980f") |
| gn_helper | Not yet run | ShawnXYang/AccumulativeAttack/feder_accu_train.py pointer only (licence: NONE) · get_code("9ea4515ba91b15dd") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Collecting training data from untrusted sources exposes machine learning services to poisoning adversaries, who maliciously manipulate training data to degrade the model accuracy. When trained on offline datasets, poisoning adversaries have to inject the poisoned data in advance before training, and the order of feeding these poisoned batches into the model is stochastic. In contrast, practical systems are more usually trained/fine-tuned on sequentially captured real-time data, in which case poisoning adversaries could dynamically poison each data batch according to the current model state. In this paper, we focus on the real-time settings and propose a new attacking strategy, which affiliates an accumulative phase with poisoning attacks to secretly (i.e., without affecting accuracy) magnify the destructive effect of a (poisoned) trigger batch. By mimicking online learning and federated learning on MNIST and CIFAR-10, we show that model accuracy significantly drops by a single update step on the trigger batch after the accumulative phase. Our work validates that a well-designed but straightforward attacking strategy can dramatically amplify the poisoning effects, with no need to explore complex techniques.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2106.09993")
get_code_for_paper("2106.09993")
have("2106.09993")
Connect an agent — have() is free.