@article{athalye2018obfuscated,
title={Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples},
author={Athalye, Anish and Carlini, Nicholas and Wagner, David},
journal={arXiv: Learning},
year={2018}}
概
由于有很多defense方法都是基于破壞梯度(不能有效計算梯度, 梯度爆炸, 消失), 但是作者提出一種算法能夠攻破這一類方法, 并提議以后的defense方法不要以破壞梯度為前提.
主要內(nèi)容
: 模型;
: 樣本為類別的概率;
: 第層;
: 第到層;
: ;
: 真實標簽.
Obfuscated Gradients
- Shattered Gradients: 一些不可微的defense, 或者一些令導(dǎo)數(shù)不存在的defense造成;
- Stochastic Gradients: 一些隨機化的defense造成;
- Exploding & Vanishing Gradients: 通常由一些包括多次評估的defense造成.
BPDA
特例
有很多方法, 會構(gòu)建一個不可微(或者其導(dǎo)數(shù)"不好用")的函數(shù), 然后用模型替代, 從而防御一些基于梯度的攻擊方法, 而且這類方法往往要求.
這類防御方法, 可以很簡單地用
替代, 從而被攻破(如果我們把視為模型的第1層, 那我們實際上就是攻擊第二層).
一般情形
假設(shè)(即第i層)是不可微, 或者導(dǎo)數(shù)“不好用", 則我們首先構(gòu)造一個可微函數(shù), 使得, 在反向傳遞導(dǎo)數(shù)的時候(注意只在反向用到), 用替代.
注: 作者說在前向也用是低效的.
EOT
這類方法使用于攻破那些隨機化的defense的, 這類方法往往會從一個變換集合中采樣, 并建立模型, 如果單純用 來攻擊效果不好, 可以轉(zhuǎn)而用替代.
Reparameterization
重參用于針對梯度爆炸或者消失的情況, 因為這種情況往往出現(xiàn)于, 而是對的一個多次評估(所以可以理解為一個很深的網(wǎng)絡(luò)).
策略是利用構(gòu)建, 并且滿足 (咋看起來很奇怪, 看了下面的DefenseGAN就明白了).
利用, 我們找到對應(yīng)的對抗樣本.
具體的案例
Thermometer encoding
這里的是針對樣本每一個元素的, :
只需令
Input transformations
包括:
image cropping, rescaling, bit-depth reduction, JPEG compression, image quilting
既包括隨機化又包括了不可微, 所以既要用EPDA, 也要用EOT.
LID
LID能夠防御
的攻擊的主要原因是由于該函數(shù)陷入了局部最優(yōu). 因為LID高的樣本不都是對抗樣本, 也有很多普通樣本.
忽視LID, 用原始的L2attack就能夠有效攻破LID.
Stochastic Activation Pruning
SAP實際上是dropout的一個變種, SAP會隨機將某層的的某些元素突變?yōu)?(其概率正比于元素的絕對值大小).
這個方法可以用EOT攻破, 即用來代替.
Mitigating through randomization
這個方法的輸入是的圖片, 他會被隨機變換到大小, , 并隨機補零使得其大小為.
同樣, 用EOT可以攻破.
PixelDefend
pass
DenfenseGAN
對于每一個樣本, 首先初始化個隨機種子, 對每一個種子, 利用梯度下降(步)以求最小化
其中為利用訓(xùn)練樣本訓(xùn)練的生成器.
得到個點, 設(shè)使得(DGAN)最小的為, 以及, 則就是我們要的, 樣本在普通樣本數(shù)據(jù)中的投影. 將喂入網(wǎng)絡(luò), 判斷其類別.
這個方法, 利用梯度方法更新的難處在于, 這一過程, 包含了步的內(nèi)循環(huán), 如果直接反向傳梯度會造成梯度爆炸或者消失.
所以攻擊的策略是:
找到, 于是.
注意, 通過這個式子能找到對抗樣本說明, 由訓(xùn)練樣本訓(xùn)練生成器, 生成器的分布, 實際上并不能能夠撇去對抗樣本.