• Towards Class-Oriented Poisoning Attacks Against Neural Networks 论文笔记


    #论文笔记#

    1. 论文信息

    论文名称Towards Class-Oriented Poisoning Attacks Against Neural Networks
    作者Bingyin Zhao
    会议/出版社WACV 2022
    pdf📄在线pdf
    代码

    基于类别的 availability attacks,不同于原本的 availability attacks 只考虑降低模型的整体准确率,本文还考虑了降低特定类的准确率或迫使模型将其他类都预测为目标类。

    2. introduction

    本文提出了面向类别的 availability attacks,通过梯度优化的方法生成 posion data。使用该 posion data 训练出的模型在特定类别上的准确率发生异常。

    • availability attacks 的优化目标,bi-level optimization problem

      arg ⁡ max ⁡ D p ∑ ( x , y ) ∈ D val  L [ F θ ∗ ( x ) , y , θ ∗ ] \underset{\mathcal{D}_{p}}{\arg \max } \sum_{(\boldsymbol{x}, y) \in \mathcal{D}_{\text {val }}} L\left[\mathcal{F}_{\theta^{*}}(\boldsymbol{x}), y, \theta^{*}\right] Dpargmax(x,y)Dval L[Fθ(x),y,θ]
      S.t. θ ∗ ∈ arg ⁡ min ⁡ θ ∗ ∈ Θ ∑ ( x , y ) ∈ D t r ∪ D p L [ F θ ∗ ( x ) , y , θ ] \theta^{*} \in \underset{\theta^{*} \in \Theta}{\arg \min } \sum_{(\boldsymbol{x}, y) \in \mathcal{D}_{t r} \cup \mathcal{D}_{p}} L\left[\mathcal{F}_{\theta^{*}}(\boldsymbol{x}), y, \theta\right] θθΘargmin(x,y)DtrDpL[Fθ(x),y,θ],

    • 威胁模型

      • 攻击者知道,算法结构,超参数以及训练数据集
      • 攻击者可以对训练数据集注入有毒数据并且修改标签

    3. method

    两种攻击方式:

    Class-Oriented availability attacks 可以为两种:

    COEG class-oriented error-generic

    目标:让模型将所有的输入都分类成目标类(supplanter class)

    目标函数 arg ⁡ max ⁡ D p ∑ ( x , y ) ∈ D val  L [ F θ ∗ ( x ) , y , θ ∗ ] \underset{\mathcal{D}_{p}}{\arg \max } \sum_{(\boldsymbol{x}, y) \in \mathcal{D}_{\text {val }}} L\left[\mathcal{F}_{\theta^{*}}(\boldsymbol{x}), y, \theta^{*}\right] Dpargmax(x,y)Dval L[Fθ(x),y,θ]
    s.t. θ ∗ ∈ arg ⁡ min ⁡ θ ∗ ∈ Θ ∑ ( x , y ) ∈ D t r ∪ D p L [ F θ ∗ ( x ) , y s , θ ] \quad \theta^{*} \in \underset{\theta^{*} \in \Theta}{\arg \min } \sum_{(\boldsymbol{x}, y) \in \mathcal{D}_{t r} \cup \mathcal{D}_{p}} L\left[\mathcal{F}_{\theta^{*}}(\boldsymbol{x}), y_{s}, \theta\right] θθΘargmin(x,y)DtrDpL[Fθ(x),ys,θ],

    y s y_s ys 表示目标类
    在这里插入图片描述

    COES class-oriented error-specific

    目标:降低 victim classes 的准确率,保持 non-victim classes(其他类) 的准确率不变

    目标函数: arg ⁡ max ⁡ D p ∑ ( x , y ) ∈ D v a l L [ F θ ∗ ( x ) , y v , θ ∗ ] \underset{\mathcal{D}_{p}}{\arg \max } \sum_{(\boldsymbol{x}, y) \in \mathcal{D}_{v a l}} L\left[\mathcal{F}_{\theta^{*}}(\boldsymbol{x}), y_{v}, \theta^{*}\right] Dpargmax(x,y)DvalL[Fθ(x),yv,θ]
    s.t. θ ∗ ∈ arg ⁡ min ⁡ θ ∗ ∈ Θ ∑ ( x , y ) ∈ D t r ∪ D p L [ F θ ∗ ( x ) , y v ˉ , θ ] \quad \theta^{*} \in \underset{\theta^{*} \in \Theta}{\arg \min } \sum_{(\boldsymbol{x}, y) \in \mathcal{D}_{t r \cup \mathcal{D}_{p}}} L\left[\mathcal{F}_{\theta^{*}}(\boldsymbol{x}), y_{\bar{v}}, \theta\right] θθΘargmin(x,y)DtrDpL[Fθ(x),yvˉ,θ],

    y v y_v yv 表示 victim classes, y v ˉ y_{\bar{v}} yvˉ 表示 non-victim classes

    在这里插入图片描述

    两种攻击方式的训练方法

    • COEG Attack

      目标函数:

      • L = λ ⋅ L f y s − L f y o L=\lambda \cdot L_{f_{y_{s}}}-L_{f_{y_{o}}} L=λLfysLfyo
      • L f y s = f y s ( x ) L_{f_{y_{s}}}=f_{y_{s}}(\boldsymbol{x}) Lfys=fys(x)
      • f y k f_{y_k} fyk as the corresponding logit to the categorical label y k y_k yk
      • f y o ( x ) f_{y_{o}}(\boldsymbol{x}) fyo(x) is the logit output of the groundtruth class

      poisoned image x p x_{p} xp

      x p = x o − ϵ ⋅ sign ⁡ ( ∇ x o ( λ ⋅ L f y s − L f y o ) ) \boldsymbol{x}_{\boldsymbol{p}}=\boldsymbol{x}_{\boldsymbol{o}}-\epsilon \cdot \operatorname{sign}\left(\nabla_{\boldsymbol{x}_{o}}\left(\lambda \cdot L_{f_{y_{s}}}-L_{f_{y_{o}}}\right)\right) xp=xoϵsign(xo(λLfysLfyo))

      算法流程
      在这里插入图片描述

    • COES Attack

      COES 既要降低目标类的准确率,又要保持其他类的准确率。

      加毒的过程分为:

      1. 在每一类中选取相同的数量的图片
      2. 通过算法2提升或者减少每幅图像与 label 信息对应的特征信息
      3. 改变目标类的标签

      目标函数:

      L = { λ ⋅ L f y s − L f y o ,  if  x o ∈ C v L f y o ,  otherwise  L= {λLfysLfyo, if xoCvLfyo, otherwise 

      {λLfysLfyo,Lfyo, if xoCv otherwise 
      L={λLfysLfyo,Lfyo, if xoCv otherwise 

      poisoned image x p x_{p} xp

      { x o − ϵ ⋅ sign ⁡ ( ∇ x o ( λ ⋅ L f y s − L f y o ) ) ,  if  x o ∈ C v x o + ϵ ⋅ sign ⁡ ( ∇ x o ( L f y o ) ) ,  otherwise  {xoϵsign(xo(λLfysLfyo)), if xoCvxo+ϵsign(xo(Lfyo)), otherwise 

      {xoϵsign(xo(λLfysLfyo)),xo+ϵsign(xo(Lfyo)), if xoCv otherwise 

      算法2:在这里插入图片描述

    4. experiments

    评价指标:

    • Change-to-Target (CTT):其他类被分到目标类的比例
    • Change-from-Target (CFT) :目标类被错误分类的比例

    🟠数据集一
    MNIST

    🟠数据集二
    CIFAR-10

    🟠数据集三
    ImageNet-ILSVRC2012

    • COEG 在三个数据集上的实验结果:
      在这里插入图片描述

    • COES 在 cifar10 上的实验结果:
      在这里插入图片描述

  • 相关阅读:
    【迅为iMX6Q】开发板 烧写工具 MfgTool2.exe 打不开问题的解决
    springboot~自定义favicon加载问题
    基于Java Swing和BouncyCastle的证书生成工具
    SpringCloud(6):feign详解
    后缀表达式的转换(栈的运用)
    【Orangepi Zero2 全志H616】驱动串口通信
    K8s 多集群实践思考和探索
    Linux教程:Centos如何使用MiniKube从零开始部署Kubernetes集群服务
    Redis 第一次作业
    js原型链
  • 原文地址:https://blog.csdn.net/weiyuxin107/article/details/127984495