1. 程式人生 > 其它 >[paper]開放資料集的對抗防禦(Open-set Adversarial Defense)

[paper]開放資料集的對抗防禦(Open-set Adversarial Defense)

開放資料集的對抗防禦

Translator: wildkid1024

論文地址

arXiv:2009.00814

rshaojimmy/ECCV2020-OSAD

0. 摘要

開集訓練和對抗防禦是真實世界的兩大關鍵問題,開集識別旨在測試階段識別開集類別的樣本,對抗訓練旨在防禦對抗攻擊擾動。 本文則發現開集識別系統容易遭受到攻擊,因此提出了針對開集識別的對抗防禦(OSAD)問題,並提出了OSDN網路來解決這個問題。 OSDN網路使用特徵降噪的編碼器以學習無噪聲時的特徵表示。首先使用解碼器以確保乾淨的樣本能夠被重構,然後使用了自監督的方式來保證能夠完成輔助任務。

1. 介紹

深度學習發展越來越快,但是在真實世界的識別還存在一些限制,尤其是開集識別和對抗攻擊領域。

如果在訓練和測試階段都知道資料集類別,那麼很容易對樣本進行識別。但在真實場下,分類器一般見到的都是在訓練階段未見過的類別,在這種情況下樣本就會分到一個已訓練過的類別上。比如一個動物分類器會把貓樣本識別為貓,但會把飛機樣本識別為狗。另外一方面,對抗攻擊也能夠對分類器的識別產生影響。

社群已經提出了幾種不同的開集識別演算法來應對挑戰[3,10,25,30,48],就是把c類問題轉化為c+1類問題,開集的類別被視為unknown的一類。雖然目前防禦方法能夠防禦閉集下的對抗樣本,但對開集下的對抗樣本卻束手無策。

閉集的對抗攻防和開集的對抗攻防並不互補,由此引發了開集對抗防禦問題(OSAD),在cifar10資料上進行6類別的實驗,發現開集識別收到攻擊時,識別概率形同隨機。

提出了OSDN網路解決這個問題,由一個自編碼器組成來識別特徵空間,使用瞭解碼重建和自監督確保學習到足夠的特徵知識。

2. 相關工作

對抗攻擊和防禦方法:略。

開集識別:OpenMax[3], generative model[10, 25], generative feature[30, 48].

自監督:影象修復[7], 多工[8], 預測旋轉角度[11].

3. 背景

  • 對抗攻擊:略
  • OpenMax分類器:

 

 

其中l為softmax前的logistic值,w是屬於閉集的可信度,其計算公式如下:

 

 

4. 提出的方法

該網路由4部分組成:編碼器、解碼器、開集分類器和轉換分類器。在編碼器後都添加了降噪層,開集分類器則是普通的分類器,但在推理時添加了openmax層。網路結構如下:

 

 

首先一張正常的影象經過對抗攻擊後編碼器得到隱特徵,經過路徑1的開集分類器得到分類損失。然後隱特徵經過路徑2的解碼器得到重構誤差。最後通過幾何變換的對抗樣本生成變換損失。而整個網路的損失便是3者的加和。

無噪特徵編碼層 在編碼器的每個卷積層後都添加了一層降噪層,降噪層使用了基於高斯的非區域性均值濾波器。給定特徵圖m,均值濾波器根據以下公式進行濾波得到降噪後的特徵圖:

 

 

而經過FGSM或PGD攻擊過的影象經過編碼器會得到如下的損失函式:

 

 

而在推理階段,則在底部網路頂部加上OpenMax層來區分開集和閉集的分類,即使是添加了對抗噪聲的樣本。

乾淨樣本生成 目的是根據有噪聲的樣本生成無噪聲的樣本,主要藉助解碼器。有兩方面的原因,1. 添加了額外監督過程以生成去燥的隱特徵 2. 新增生成器會使得模型包含更多生成特徵資訊,有助於模型開集分類和對抗防禦。路徑2生成重構的損失函式如下,目的是為了最小化噪聲樣本與生成樣本之間的重構誤差:

 

 

自監督降噪 使用了基於旋轉的自監督方法,將樣本旋轉到任意角度,然後使用分類器對旋轉角度進行識別。首先生成隨機數[0,1,2,3], 然後乘以對應的90度角度,然後經過攻擊後送入路徑3得到自監督降噪損失函式:

 

 

使用自監督學習是因為旋轉變化可以幫助學習到與物件結構和方向無關的隱特徵資訊。

實現細節 使用了resnet18網路作為編碼器,並在4個block後面的每一層都新增上一個降噪層。使用3個轉置卷積層作為解碼器在SVHN和CIFAR10資料集上進行實驗,4個轉置卷積在TinyImageNet上實驗。開集分類器和轉換分類器都使用單層全連線網路。使用Adam優化器,初始化lr為1e-3。攻擊引數PGD的iteration = 5,FGSM的s = 0.3。

5. 實驗結果

資料集使用了SVHN、CIFAR10和TinyImageNet。

baseline選用了對抗訓練[24]和特徵降噪[44],另外使用了無防禦的純resnet18網路,在乾淨訓練上為clean,在對抗樣本上為adv on clean。開集實驗使用了ROC作為實驗指標,閉集實驗使用了識別率,分類識別實驗結果如下:

 

 

實驗結論:在乾淨樣本上識別的網路在所有場景下都有最高的識別率,但是經過對抗攻擊之後識別率會直線下降。雖然對抗訓練也能提高識別率,但是OSAD的對效能的提高最明顯。

分佈外檢測 使用CIFAR10作為閉集訓練,使用ImageNet和LSUN作為開集進行驗證。使用平均的F1值作為驗證指標,0.95作為OpenMax的閾值。實驗結果如下:

 

 

6. 結論

提出了一個新的研究問題OSAD,證明了現有的防禦方法不適用於開集防禦。並基於此提出了OSDN網路,包含了降噪操作,自監督操作和重構層。並在3種資料集上進行了實現,證明了提出的方法可以有效地進行外分佈檢測。