0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于先驗指導的對抗樣本初始化方法提升FAT效果

CVer ? 來源:ECCV 2022 ? 作者:ECCV 2022 ? 2022-12-19 09:42 ? 次閱讀

中科院信工所/中山大學操曉春教授課題組,香港中文大學(深圳)吳保元教授課題組,騰訊AI Lab共同提出的一種基于先驗指導的對抗樣本初始化方法已被ECCV2022接收。對抗訓練是抵御對抗樣本攻擊最有效的方法之一。標準的對抗訓練往往使用多步的方法來生成對抗樣本,如PGD。然而,這需要花費大量時間來計算梯度。為了提高對抗訓練的效率,快速對抗訓練(FAT)應運而生。但FAT往往存在災難性遺忘的問題,例如在FAT中后段,訓練模型在對抗攻擊下的魯棒準確率會突然急劇下降。針對這個問題,本文通過比較標準對抗訓練與FAT的訓練過程,發(fā)現(xiàn)導致FAT出現(xiàn)災難性遺忘的原因是FAT中產(chǎn)生的對抗樣本(AEs)的攻擊成功率在訓練中逐漸變低。作者通過提出一種基于先驗指導的(Prior-Guided)對抗樣本初始化方法來解決FAT中的災難性遺忘的問題,從而提升FAT的效果。

1. 問題背景

傳統(tǒng)的對抗訓練可以歸類為一個最小最大化優(yōu)化問題:

其中表示參數(shù)為的模型,為損失函數(shù),表示在輸入空間上添加的對抗擾動,其大小可以被限制。從而多步的對抗攻擊方法可以被定義為:

其中表示在第次迭代時的擾動,表示攻擊步長,為將輸入影射到的投影。

盡管多步的對抗訓練方法可以有效提高模型的魯棒性,但這往往需要大量時間和計算資源來生成訓練中的對抗樣本。隨后,快速對抗訓練通過單步快速梯度符號(FGSM)的方法被提出用以提升生成對抗樣本的效率:

其中是最大擾動強度。盡管基于FGSM的對抗訓練方法起到了較好的加速效果,但是具有災難性遺忘的問題,即在使用基于FGSM的方法對抗訓練一段時間后,訓練模型的魯棒性會迅速消失,無法抵御PGD所產(chǎn)生的對抗樣本的攻擊。Wong等人提出了在基于FGSM的對抗樣本生成中加入隨機初始化,即

其中表示隨機初始化,是一個高斯分布。而Andriushchenko等人的工作表明生成對抗樣本時添加隨機初始化并不能防止災難性遺忘的發(fā)生。

2. 基本先驗指導的對抗初始化

2.1 審視災難性遺忘

對抗訓練的災難性遺忘是指在快速對抗訓練中后期模型的魯棒準確率突然降低到的現(xiàn)象,如下圖右所示

dcbe4060-7f1e-11ed-8abf-dac502259ad0.png

這種現(xiàn)象最先由Wong等人發(fā)現(xiàn),隨后他們又發(fā)現(xiàn)使用FGSM生成對抗樣本時使用隨機初始化可以延緩災難性遺忘發(fā)生的時間,但是隨著訓練的進行,災難性遺忘還是無法避免。

為了研究災難性遺忘發(fā)生的原因,本文首先對基于PGD的標準對抗訓練(SAT)以及基于FGSM的快速對抗訓練(FAT)中途所生成的對抗樣本進行比較和研究。通過觀察上圖左,本文發(fā)現(xiàn):(1)由標準的FGSM-AT與添加隨機初始化的FGSM-RS生成的對抗樣本的攻擊成功率(ASR)分別在第20個和第74個epoch降低到,從而導致了災難性遺忘的發(fā)生。這預示著如果對抗訓練途中生成的對抗樣本喪失了攻擊性,則模型的魯棒性會迅速降低;(2)通過比較FGSM-AT與FGSM-RS發(fā)現(xiàn)加入隨機初始化可以延緩災難性遺忘的發(fā)生,但是無法避免;(3)PGD-2-AT中沒有發(fā)生災難性遺忘。由于PGD-2-AT可以認為是帶有對抗初始化(adversarial initialization)的FSGM,因此對抗初始化可以提高所生成的對抗樣本的質(zhì)量,盡管進行對抗初始化需要額外的梯度計算。

2.2 基于先驗指導的對抗初始化

通過上述觀察,本文作者轉(zhuǎn)而思考如何有效的得到對抗初始化而不需要額外的計算開銷。作者提出可以使用訓練過程中的歷史對抗擾動,來作為當前時刻的初始化。而這種歷史對抗擾動可以認為是不需要進行額外計算就能得到的先驗知識。本文探索了三種利用歷史對抗擾動的策略,即(1)先前batch生成的擾動;(2)先前epoch生成的擾動;(3)所有epoch產(chǎn)生的擾動的動量,分別命名為FGSM-BP,F(xiàn)GSM-EP和FGSM-MEP。

Prior From the Previous Batch (FGSM-BP):將上一個batch所生成的對抗擾動存儲下來作為當前batch生成對抗樣本時的初始化,公式如下:

其中代表第個batch所添加的對抗擾動。

Prior From the Previous Epoch (FGSM-EP):將上一個epoch所生成的對抗擾動存儲下來作為當前epoch生成對抗樣本時的初始化,公式如下:

其中代表第個epoch所添加的對抗擾動。

Prior From the Momentum of All Previous Epochs (FGSM-MEP):為了充分利用整個訓練過程中的歷史對抗擾動信息,作者提出使用使用先前所有training epoch中所生成的擾動的動量來作為當前epoch生成對抗樣本時的初始化,公式如下:

2.3 Prior-guided Initialization based Regularization

本文還提出了一種基于先驗指導初始化的正則化方法來提升模型的魯棒性。給定先驗指導下的初始化,F(xiàn)GSM可以產(chǎn)生當前時刻的對抗擾動。不論是先驗指導下的初始化還是當前時刻的擾動都可以用來生成對抗樣本。因此迫使這兩種方式生成的對抗樣本具有相同的輸出結(jié)果有助于提升所學模型函數(shù)的光滑性。所提出的正則項可以加入到訓練損失中去來更新模型參數(shù),如下所示:

其中代表上述三種方法之一所生成的先驗指導的初始化,代表FGSM使用作為初始化所生成的對抗擾動,是一個常系數(shù)項。上述公式中第一項為對抗樣本上的交叉熵損失,第二項為與 d的輸出之差的距離。第二項的目的是使得學到的模型不僅對當前生成的對抗樣本魯棒,而且對歷史的對抗樣本也魯棒。這樣,所提出的正則項顯式的迫使模型函數(shù)在樣本周圍更加光滑,從而提升模型魯棒性。

2.4 理論分析

由于在非凸優(yōu)化問題中梯度的范數(shù)與收斂性有關(guān),因此更小的對抗擾動的范數(shù)上界有助于對抗訓練更快地收斂到局部最小值。本文給出了基于先驗指導初始化所生成的對抗擾動的范數(shù)上界,即,如下圖所示,這比FGSM-RS提出的更小。

dcd4f634-7f1e-11ed-8abf-dac502259ad0.png

3. 實驗

3.1 實驗設置

本文共使用ResNet-18,WideResNet34-10在CIFAR-10和CIFAR-100上,PreActResNet18在Tiny ImageNet上,以及ResNet-50在ImageNet上評估所提方法的有效性。

CIFAR-10結(jié)果

dcead698-7f1e-11ed-8abf-dac502259ad0.png

CIFAR-100結(jié)果

dd0c4594-7f1e-11ed-8abf-dac502259ad0.png

Tiny ImageNet結(jié)果

dd224d9e-7f1e-11ed-8abf-dac502259ad0.png

ImageNet結(jié)果

dd44b1cc-7f1e-11ed-8abf-dac502259ad0.png

消融實驗

為了驗證所提出的基于經(jīng)驗指導的正則化方法的有效性,本文使用ResNet18在CIFAR-10上進行了消融實驗,結(jié)果如下。

dd639600-7f1e-11ed-8abf-dac502259ad0.png

4. 總結(jié)

在本文中,我們從初始化的角度研究了如何提高對抗樣本的質(zhì)量,并提出采用歷史生成的對抗擾動來初始化對抗樣本。它可以在沒有額外計算成本的情況下生成有效的對抗樣本。此外,我們還提出了一種簡單而有效的正則化方法提高模型的魯棒性,從而防止當前擾動與先驗引導的初始化偏差太大。正則化項利用歷史和當前的對抗性擾動來指導模型學習。廣泛的實驗評估表明,所提出的方法可以防止災難性的過度擬合,并以較低的計算成本優(yōu)于最先進的FAT 方法。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲
    +關(guān)注

    關(guān)注

    13

    文章

    4180

    瀏覽量

    85492
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4262

    瀏覽量

    62237

原文標題:ECCV 2022 | 一種基于先驗指導的對抗樣本初始化方法

文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    ARM Cortex M架構(gòu)的基本初始化過程是怎樣的?

    ARM Cortex M架構(gòu)的基本初始化過程是怎樣的?
    發(fā)表于 11-30 08:03

    請問基于studio cubemx生成的基本初始化代碼會被使用嗎?

    按照新手教程,使用基本的finsh組件;再cubemx設置了相應的配置;連接終端 控制臺正常使用,但是沒有 logo打印出來。請問 基于 studio,然后再進行cubemx的配置,cubemx生成的基本初始化代碼會被使用么? 與driver目錄的關(guān)系是啥?
    發(fā)表于 02-21 10:41

    手機模塊初始化向?qū)?/a>

    手機模塊初始化向?qū)?為了剛好的對手機模塊進行初始化,所以把最基本的向?qū)懴聛?本向?qū)нm用于本公司的西門子TC35I和華為GT9000模塊。一、在初始化手機模塊前,請先確定DT
    發(fā)表于 09-18 09:41 ?17次下載

    基于SQL的數(shù)據(jù)庫初始化通用方法

    如何對開發(fā)的網(wǎng)絡測量系統(tǒng)的數(shù)據(jù)庫部分進行初始化,一直是影響測量系統(tǒng)使用的一個難題。文章總結(jié)了幾種對應用程序的數(shù)據(jù)庫部分進行初始化安裝的方法,比較了它們的不足,提出
    發(fā)表于 09-26 17:07 ?0次下載

    RDA1846S初始化設置

    RDA1846S初始化設置RDA1846S初始化設置RDA1846S初始化設置
    發(fā)表于 01-15 17:08 ?0次下載

    LCD1602初始化流程圖及程序的兩種方法

    本文介紹LCD1602初始化程序及其LCD1602初始化流程、具體步驟實現(xiàn)的兩種方法,供電子愛好者及實驗使用。
    發(fā)表于 10-08 10:01 ?4.8w次閱讀
    LCD1602<b class='flag-5'>初始化</b>流程圖及程序的兩種<b class='flag-5'>方法</b>

    UCOS_III_配置與初始化

    UCOS_III_配置與初始化
    發(fā)表于 12-20 22:53 ?5次下載

    objc源碼中NSObject如何進行初始化

    + alloc 和 - init 這一對我們在 iOS 開發(fā)中每天都要用到的初始化方法一直困擾著我, 于是筆者仔細研究了一下 objc 源碼中 NSObject 如何進行初始化。 在具體分析對象
    發(fā)表于 09-26 09:58 ?0次下載

    基于深度學習的人臉跟蹤自動初始化首幀方法

    針對機器學習領域的人臉跟蹤研究,其人臉首幀初始化由人工手動標注的問題,提出了一種基于深度學習的人臉跟蹤自動初始化首幀方法。通過建立棧式稀疏自編碼神經(jīng)網(wǎng)絡,對大量未標注的樣本采用近似恒等
    發(fā)表于 11-21 09:01 ?13次下載
    基于深度學習的人臉跟蹤自動<b class='flag-5'>初始化</b>首幀<b class='flag-5'>方法</b>

    基于先驗約束和統(tǒng)計的圖像修復算法

    匹配和算法的時效性兩個方面進行改進,提出新的圖像修復算法。在樣本塊精確匹配方面,改進算法對圖像進行預處理以獲得圖像的先驗信息,并利用先驗信息約束算法偏移映射圖的初始化,從而轉(zhuǎn)變Patc
    發(fā)表于 03-29 17:42 ?4次下載

    8259a初始化的步驟及代碼介紹

    本文首先介紹了8259a工作初始化的步驟及程序,其次介紹了通過OCW對8259A進行操作方法,最后介紹了8259A初始化編程。
    的頭像 發(fā)表于 05-23 14:24 ?3w次閱讀
    8259a<b class='flag-5'>初始化</b>的步驟及代碼介紹

    8253初始化程序分享_8253應用案例

    本文首先介紹了8253概念及8253各通道的工作方式,其次詳細介紹了8253初始化要求及編程,最后用一個例子介紹了8253的初始化程序。
    發(fā)表于 05-23 15:52 ?2.2w次閱讀
    8253<b class='flag-5'>初始化</b>程序分享_8253應用案例

    在51平臺下初始化文件的引入導致全局變量無法初始化的問題如何解決

    本文檔的主要內(nèi)容詳細介紹的是在51平臺下初始化文件的引入導致全局變量無法初始化的問題如何解決。
    發(fā)表于 08-20 17:31 ?0次下載
    在51平臺下<b class='flag-5'>初始化</b>文件的引入導致全局變量無法<b class='flag-5'>初始化</b>的問題如何解決

    ADC初始化測定方法

    測試ADC初始化時間的方法
    發(fā)表于 12-05 14:45 ?1次下載

    實戰(zhàn)經(jīng)驗 | Keil、IAR、CubeIDE 中變量不被初始化方法

    關(guān)鍵詞:不被初始化,編譯環(huán)境 目錄預覽 1、前言 2、IAR 實現(xiàn)變量不初始化方法 3、Keil 實現(xiàn)變量不被初始化方法 4、CubeIDE
    的頭像 發(fā)表于 11-24 18:05 ?3532次閱讀