## 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):

- Generate adversarial program.
- Find q pertubed adversarial programs with vectors that are uniformly drawn at random from a unit Euclidean sphere.
- 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).
- Optimize adversarial programâ€™s parameters W.