|
12345678910111213141516171819202122232425262728293031323334353637383940 |
- # Application demos of model security
- ## Introduction
- It has been proved that AI models are vulnerable to adversarial noise that invisible to human eye. Through those
- demos in this package, you will learn to use the tools provided by MindArmour to generate adversarial samples and
- also improve the robustness of your model.
-
- ## 1. Generate adversarial samples (Attack method)
- Attack methods can be classified into white box attack and black box attack. White-box attack means that the attacker
- is accessible to the model structure and its parameters. Black-box means that the attacker can only obtain the predict
- results of the
- target model.
- ### white-box attack
- Running the classical attack method: FGSM-Attack.
- ```sh
- $ cd examples/model_security/model_attacks/white-box
- $ python mnist_attack_fgsm.py
- ```
- ### black-box attack
- Running the classical black method: PSO-Attack.
- ```sh
- $ cd examples/model_security/model_attacks/black-box
- $ python mnist_attack_pso.py
- ```
- ## 2. Improve the robustness of models
- ### adversarial training
- Adversarial training is an effective method to enhance the model's robustness to attacks, in which generated
- adversarial samples are fed into the model for retraining.
- ```sh
- $ cd examples/model_security/model_defenses
- $ python mnist_defense_nad.py
- ```
- ### adversarial detection
- Besides adversarial training, there is another type of defense method: adversarial detection. This method is mainly
- for black-box attack. The reason is that black-box attacks usually require frequent queries to the model, and the
- difference between adjacent queries input is small. The detection algorithm could analyze the similarity of a series
- of queries and recognize the attack.
- ```sh
- $ cd examples/model_security/model_defenses
- $ python mnist_similarity_detector.py
- ```
|