# qFool
# 概述
论文 : GeoDA: a geometric framework for black-box adversarial attacks (opens new window) CVPR 2020
作者 :
# 集成的实现
# 概述
代码来源:
# Quick Run
可以通过如下示例代码尝试使用CW攻击Alexnet模型并构建对抗样本:
# 可配置超参数释义
| 超参数 | 释义 | 推荐值 | 推荐值附注 | 
|---|---|---|---|
| clip_min | 像素约束上界 | 0 | 避免攻击后图像像素超过界限 | 
| clip_max | 像素约束下界 | 1 | 避免攻击后图像像素超过界限 | 
| attack_type | 攻击定向性 | UNTARGETED / TARGETED | 可选择定向攻击或非定向攻击 | 
| tlabel | 攻击图片 | / | 定向攻击必须指定目标攻击的图片 | 
| lr | 学习率 | 0.01 | |
| initial_const | 初始权衡常数,权衡扰动范数和分类置信度在损失中的权重 | 0.01 | |
| binary_search_steps | 二分查找最大次数(寻找扰动范数和分类置信度之间的最佳权衡常数c) | 0.01 | |
| max_iterations | 最大迭代轮数 | 1000 | 
# 集成的数据库
# 对抗样本数据集
Canary 已提供该攻击的对抗样本数据集,其详情如下:
| 序列 | 攻击模型 (Base Model) | 数据集 (Dataset) | 生成数量 | 所选参数 | 图片数据类型 | 
|---|---|---|---|---|---|
| UALVJtyX | Alexnet ConvNext DenseNet EfficientNetV2 GoogLeNet InceptionV3 MNASNet MobileNetV3 ResNet ShuffleNetV2 SqueezeNet SwinTransformer VGG ViT WideResNet | ImageNet (ILSVRC-2012 Val) 随机种子40376958655838027 | 1000 | "classes": 1000 "tlabel": null "attack_type": "UNTARGETED" "clip_min": 0 "clip_max": 1 "lr": 0.01 "initial_const": 0.01 "binary_search_steps": 10 "max_iterations": 1000 | PNG / NUMPY | 
注: 数据集不在GIT仓库中提供,需额外下载
# 攻击方法测试数据库
可以通过如下示例代码尝试使用qFool攻击多个模型并构建对抗样本数据库:
    config = {"dataset_size": 600, "dataset": "ILSVRC-2012",
              "dataset_seed": 40376958655838027,
              "attacker_list": {
                  "qFool": [
                      "Alexnet(ImageNet)",  # 2012 Alex & Hinton
                      "VGG(ImageNet)",  # 2014 牛津大学计算机视觉组
                      "GoogLeNet(ImageNet)",  # 2014 谷歌
                      "InceptionV3(ImageNet)",  # 2014:V1 2015:V3
                      "ResNet(ImageNet)",  # 2015 脸书 何凯明
                      "DenseNet(ImageNet)",  # 2016
                      "SqueezeNet(ImageNet)",  # 2016
                      "MobileNetV3(ImageNet)",  # 2017:V1 2019:V3 谷歌
                      "ShuffleNetV2(ImageNet)",  # 2018:V2 旷视
                      "MNASNet(ImageNet)",  # 2018
                      "EfficientNetV2(ImageNet)",  # 2019
                      "ViT(ImageNet)",  # 2020 谷歌
                      "RegNet(ImageNet)",  # 2020 脸书 何凯明
                      "SwinTransformer(ImageNet)",  # 2021
                      "ConvNext(ImageNet)",  # 2022 脸书
                  ],
              },
              "img_proc_config": {
                  "EfficientNetV2(ImageNet)": {
                      "img_size_h": 384,
                      "img_size_w": 384
                  },
                  "InceptionV3(ImageNet)": {
                      "img_size_h": 299,
                      "img_size_w": 299
                  },
              },
              "attacker_config": {
                  "qFool": {
                      "clip_min": 0,
                      "clip_max": 1,
                      "attack_type": "UNTARGETED",
                      "max_iterations": 25000,
                      "spherical_step": 1e-2,
                      "source_step_convergance": 1e-07,
                      "step_adaptation": 1.5,
                      "source_step": 1e-2,
                      "update_stats_every_k": 10,
                  }
              },
              }
    task_manager.init_task(show_logo=True, run_device="cuda:1")
    global_recovery.start_recovery_mode(task_token="xaHf1nZb")
    security_evaluation = SecurityEvaluation(config)
    security_evaluation.adv_example_generate()