Black-box-Adversarial-Reprogramming

This is the repo for Transfer Learning without Knowing: Reprogramming Black-box Machine Learning Models with Scarce Data and Limited Resources, Yun-Yun Tsai, Pin-Yu Chen, Tsung-Yi Ho, in Proceeding of International Conference on Machine Learning (ICML), 2020. Our code is implemented in Python 3.6 and Tensorflow 1.14.

The following figure illustrates the framework for our proposed black-box adversarial reprogramming method (BAR):

89761762-b2e55880-db21-11ea-93f8-db0cef7800c3

  1. Generate adversarial program.
  2. Find q pertubed adversarial programs with vectors that are uniformly drawn at random from a unit Euclidean sphere.
  3. Estimate gradient with zeroth-order gradient estimator. The corresponding algorithmic convergence guarantees have been proved in both the convex loss and non-convex loss settings (Liu et al., 2018; 2019).
  4. Optimize adversarial program’s parameters W.

GitHub