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