<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          任何網(wǎng)絡(luò)都能山寨!新型黑盒對(duì)抗攻擊可模擬未知網(wǎng)絡(luò)進(jìn)行攻擊 | CVPR 2021

          共 5649字,需瀏覽 12分鐘

           ·

          2021-05-14 13:18

          來源:AI科技評(píng)論

          本文約3500字,建議閱讀9分鐘

          本文解讀對(duì)抗攻擊與元學(xué)習(xí)聯(lián)姻的兩篇典型的論文。


          最近幾年,元學(xué)習(xí)風(fēng)生水起,這陣風(fēng)也刮到了對(duì)抗攻擊領(lǐng)域。本文解讀對(duì)抗攻擊與元學(xué)習(xí)聯(lián)姻的兩篇典型的論文(本文分為上下兩篇,此為上篇),希望對(duì)后來的研究者有所啟發(fā)。上篇為《Simulating Unknown Target Models for Query-Efficient Black-box Attacks》論文解讀。

          利用元學(xué)習(xí),可以將黑盒攻擊的查詢復(fù)雜度降低幾個(gè)數(shù)量級(jí)!CVPR 2021的《Simulating Unknown Target Models for Query-Efficient Black-box Attacks》這篇論文解決了模型竊取攻擊中長久以來存在的一個(gè)問題:訓(xùn)練代理模型的時(shí)候需要查詢目標(biāo)模型,因此查詢量仍然很大,而且更為嚴(yán)重的問題是這種攻擊方式可以被輕易地檢測(cè)和防御。所以本篇論文的工作目標(biāo)是訓(xùn)練一個(gè)“模擬器”(即Simulator) 可以模擬任何未知模型的輸出。為此,基于知識(shí)蒸餾的MSE損失函數(shù)被應(yīng)用在元學(xué)習(xí)中的內(nèi)部和外部更新來學(xué)習(xí)多種不同網(wǎng)絡(luò)模型的輸出。如此,一旦訓(xùn)練完成,模擬器只需要少量的查詢數(shù)據(jù)微調(diào)(fine-tune) 就可以精確地模擬未知網(wǎng)絡(luò)的輸出,從而使大量的查詢轉(zhuǎn)移到模擬器上,有效降低攻擊中目標(biāo)模型的查詢復(fù)雜度。

          SimulatorAttack論文鏈接:

          https://arxiv.org/abs/2009.00960

          SimulatorAttack代碼鏈接:

          https://github.com/machanic/SimulatorAttack


          在正式介紹模擬器攻擊之前,我們先看看對(duì)抗攻擊的分類。


          本文介紹的方法對(duì)應(yīng)于query-based attacks下的score-based setting。


          1元學(xué)習(xí)帝國的崛起:背景知識(shí)

          元學(xué)習(xí)的誕生可以追溯到八十年代,當(dāng)時(shí)的深度學(xué)習(xí)還沒有如今的火熱規(guī)模, Jürgen Schmidhuber在1987年的論文《Evolutionary principles in self-referential learning》一文中宣告了一種全新的機(jī)器學(xué)習(xí)方法的誕生:元學(xué)習(xí)。后來, Tom Schaul, Jürgen Schmidhuber倆人在2010年的論文《Metalearning》中更是確定了元學(xué)習(xí)的復(fù)興。時(shí)間進(jìn)入2012年,隨著Hinton的深度學(xué)習(xí)嶄露頭角,元學(xué)習(xí)與強(qiáng)化學(xué)習(xí)更是借著深度學(xué)習(xí)的大潮,在各個(gè)領(lǐng)域擴(kuò)展到了極致(例如人臉識(shí)別領(lǐng)域等,均可用元學(xué)習(xí)來加以強(qiáng)化cross domain的性能)。

          典型的元學(xué)習(xí)技術(shù)包括以下幾個(gè)概念:

          Task:元學(xué)習(xí)通常將訓(xùn)練數(shù)據(jù)切分成一個(gè)個(gè)小的數(shù)據(jù)子集來訓(xùn)練meta-learner。“task”的意思與多任務(wù)學(xué)習(xí)的“task”不同,是指元學(xué)習(xí)訓(xùn)練所使用的數(shù)據(jù)子集。

          Support set & query set:每個(gè)task分成support set 和query set兩個(gè)子集。Support set對(duì)應(yīng)于算法中的內(nèi)部更新,query set對(duì)應(yīng)于算法中的外部更新。在本論文中,support set被命名為meta-train set,query set被命名為meta-test set。

          Way:是class(類別)的別稱。

          Shot:指的是每個(gè)類別的樣本數(shù)量。例如:1-shot指的并不是一共只有一個(gè)數(shù)據(jù)樣本,而是每個(gè)類有1個(gè)樣本。

          圖1展示了一個(gè)典型的K-shot的元學(xué)習(xí)方法的一般套路,其訓(xùn)練階段的數(shù)據(jù)和測(cè)試階段的數(shù)據(jù)包含不同的類別,而訓(xùn)練的每個(gè)task又被切分成support set(又名meta-train set)和query set(又名meta-test set)。

          圖1 一個(gè)典型的元學(xué)習(xí)將數(shù)據(jù)切分成task訓(xùn)練,而每個(gè)task包含的5個(gè)分類不同,1-shot是指每個(gè)分類只有一個(gè)樣本。


          在測(cè)試的時(shí)候,元學(xué)習(xí)同樣是在task上面測(cè),每個(gè)task測(cè)出的準(zhǔn)確率,匯總求和后求整體的均值。但是,值得注意的是,這種測(cè)試方法并不被本文中的模擬器攻擊所采用,因?yàn)槲覀兊哪繕?biāo)是攻擊,而非測(cè)試各個(gè)task的準(zhǔn)確度!

          圖2 是一個(gè)典型的元學(xué)習(xí)方法(MAML)的算法流程,它學(xué)習(xí)每個(gè)task的時(shí)候先執(zhí)行內(nèi)部更新,再執(zhí)行外部更新。內(nèi)部更新學(xué)習(xí)support set的數(shù)據(jù)并用SGD將參數(shù)更新為。而外部更新利用作為網(wǎng)絡(luò)參數(shù),輸入query set的數(shù)據(jù),計(jì)算一個(gè)對(duì)求導(dǎo)的高階梯度meta-gradient。這些meta-gradient最終被用于外部更新,去更新元學(xué)習(xí)器。

          圖2 MAML的訓(xùn)練流程,內(nèi)部更新將初始化參數(shù)的更新為,而外部更新利用作為網(wǎng)絡(luò)參數(shù)去計(jì)算loss,這個(gè)loss最后用來計(jì)算元梯度來外部更新。


          2、元學(xué)習(xí)與對(duì)抗攻擊的聯(lián)姻

          在ICLR2020的Meta Attack論文中,元學(xué)習(xí)與對(duì)抗攻擊第一次結(jié)合。Meta Attack方法使用Reptile訓(xùn)練一個(gè)元學(xué)習(xí)器,這是一個(gè)典型的conv-deconv結(jié)構(gòu)的auto-encoder。此auto-encoder學(xué)習(xí)不同網(wǎng)絡(luò)的梯度數(shù)據(jù)來回歸各種網(wǎng)絡(luò)梯度。在攻擊的時(shí)候,由于元學(xué)習(xí)器可以直接提供梯度輸出,因此可以不用查詢目標(biāo)模型去估計(jì)梯度。然而如果圖片分辨率較高,則梯度map是一個(gè)很大的矩陣,此時(shí)輕量級(jí)的auto-encoder就無法準(zhǔn)確預(yù)測(cè)梯度map的梯度值。因此,Meta Attack采取了一種取巧的辦法,它從梯度圖選擇最大梯度值的125個(gè)元素進(jìn)行回歸。但是這種做法在攻擊高分辨率圖片時(shí)仍顯得心有余而力不足。(關(guān)于Meta Attack的詳細(xì)分析見《Simulating Unknown Target Models for Query-Efficient Black-box Attacks》的related work一節(jié)。)于是,一種新的基于元學(xué)習(xí)的攻擊方法便呼之欲出。


          3模擬器攻擊

          模擬器攻擊(Simulator Attack)這篇論文致力于降低query-based attack的查詢復(fù)雜度,因?yàn)榧偃艄魡蝹€(gè)樣本僅需要兩位數(shù)的查詢量時(shí),該攻擊便具有現(xiàn)實(shí)威脅。我們發(fā)現(xiàn),任何黑盒模型都可以被一個(gè)相似的代理模型(即模擬器)所替代,如果能將一部分查詢轉(zhuǎn)移到這個(gè)模擬器上,那么真正的目標(biāo)模型的查詢壓力便隨之降低。為了做出這種模擬器,研究者們不斷探索,誕生了被稱為模型竊取攻擊的辦法,然而,模型竊取攻擊需要在訓(xùn)練模擬器的時(shí)候大量查詢目標(biāo)模型。因此,這種攻擊方式仍然會(huì)造成大量的查詢,而且這種查詢可以輕易地被目標(biāo)模型的擁有者檢測(cè)和防御。模擬器攻擊首次解決了這個(gè)問題,Simulator在訓(xùn)練的階段中沒有與目標(biāo)模型有任何交互,僅僅是攻擊時(shí)花費(fèi)少量的查詢,便可以極大地節(jié)省攻擊的查詢量。總結(jié)一下,模擬器攻擊在訓(xùn)練階段時(shí)使用大量不同的現(xiàn)有模型生成的訓(xùn)練數(shù)據(jù),并且將知識(shí)蒸餾損失函數(shù)應(yīng)用在元學(xué)習(xí)中,這樣在測(cè)試的時(shí)候就可以模擬任何未知的黑盒模型。

          3.1 模擬器的訓(xùn)練


          模擬器的訓(xùn)練流程開始之前,為了達(dá)到模擬任意黑盒模型的泛化能力,我們收集了大量不同的分類網(wǎng)絡(luò),如VGG-19、ResNet-50、MobileNet等來構(gòu)建task,如此便建造了一個(gè)巨大的模擬環(huán)境。每個(gè)task中包含的數(shù)據(jù)是如下步驟生成得到:1.隨機(jī)選擇一個(gè)已訓(xùn)網(wǎng)絡(luò);2.施加Bandits攻擊來攻擊該網(wǎng)絡(luò)產(chǎn)生的中間數(shù)據(jù),數(shù)據(jù)包括攻擊中產(chǎn)生的query sequence和與之對(duì)應(yīng)的該網(wǎng)絡(luò)的輸出logits兩種;3.query sequence按照query pair生成對(duì)應(yīng)的迭代編號(hào)被切分成兩部分:meta-train set和meta-test set。

          圖3 模擬器攻擊的數(shù)據(jù)生成流程和訓(xùn)練過程


          圖3和算法1展示了模擬器攻擊的訓(xùn)練過程。首先找一些真實(shí)圖片作為輸入,用黑盒攻擊算法(Bandits)攻擊一個(gè)隨機(jī)選擇的分類網(wǎng)絡(luò)生成query sequence,這些query sequence都是攻擊中間數(shù)據(jù),被存儲(chǔ)在硬盤上。另外除了query sequence,它們對(duì)應(yīng)的那個(gè)分類網(wǎng)絡(luò)的輸出logits也被存儲(chǔ)在硬盤上,被稱為“偽標(biāo)簽”(即pseudo label)。生成好數(shù)據(jù)之后便是模擬器的訓(xùn)練過程了,其過程如下。

          1.初始化。我們隨機(jī)采樣K個(gè)task組成一個(gè)mini-batch進(jìn)行學(xué)習(xí)。在學(xué)習(xí)每個(gè)task之前,模擬器將其參數(shù)重新初始化為(由上一批更新得到的),這些權(quán)重在外部更新的時(shí)候還會(huì)再次使用,因此需要保存起來。

          2.Meta-train。模擬器以meta-train set作為輸入來進(jìn)行內(nèi)部更新,其內(nèi)部更新過程是一個(gè)典型知識(shí)蒸餾:我們優(yōu)化MSE損失函數(shù)來推動(dòng)模擬器的輸出與隨機(jī)采樣的分類網(wǎng)絡(luò)一致,優(yōu)化中采用SGD梯度下降若干次循環(huán)。這個(gè)過程對(duì)應(yīng)于攻擊階段的微調(diào)過程。

          3.Meta-test。在若干迭代次數(shù)之后,模擬器網(wǎng)絡(luò)的參數(shù)收斂到。然后,損失函數(shù)值通過輸入第i個(gè)task的meta-test set到網(wǎng)絡(luò)而得到。之后,元梯度(meta-gradient) 對(duì)計(jì)算得到。以上只是一個(gè)task得到的元梯度,K個(gè)task的所有元梯度被匯總并且求均值來更新模擬器(外部更新),由此模擬器可以學(xué)到泛化的模擬任意網(wǎng)絡(luò)的能力。

          4.損失函數(shù)。為了訓(xùn)練模擬器,損失函數(shù)必不可少。我們選擇了基于知識(shí)蒸餾的損失函數(shù)來讓模擬器與隨機(jī)選擇的分類網(wǎng)絡(luò)輸出一致。這個(gè)損失函數(shù)同時(shí)被用在內(nèi)部和外部更新中。給定一個(gè)query pair 的兩個(gè)query (由于Bandits攻擊使用有限差分法去估計(jì)梯度,因此每次迭代生成一個(gè)query pair)。模擬器和隨機(jī)選擇的分類網(wǎng)絡(luò)的logits輸出分別記為。如下MSE損失函數(shù)將使得模擬器的輸出和偽標(biāo)簽趨近于一致。


          3.2 模擬器攻擊



          模擬器攻擊的算法流程如算法2和圖4所示,它沿襲了Bandits攻擊的邏輯,值得注意的是第8行至第17行:在剛開始攻擊的t個(gè)迭代內(nèi)(warm-up階段),query直接被輸入到目標(biāo)模型中,并且使用一個(gè)雙端隊(duì)列收集這些輸入和輸出。在warm-up之后的迭代中,每隔m次迭代才使用一次目標(biāo)模型,其余迭代一律輸入使用模擬器來輸出。因此目標(biāo)模型和模擬器的使用是輪流交替進(jìn)行的,這種方法一方面保證了大部分查詢壓力被轉(zhuǎn)移到模擬器中,另一方面保證了模擬器每隔m次迭代就得到機(jī)會(huì)fine-tune一次,這保證了后期的迭代中模擬器能“跟得上不斷演化的query的節(jié)奏,及時(shí)與目標(biāo)模型保持一致”。

          圖4 模擬器攻擊。前t次迭代為warm-up階段,收集輸入圖片和輸出來fine-tune模擬器,后面m次迭代直接輸入模擬器,減輕查詢壓力。


          4實(shí)驗(yàn)

          我們?cè)谌齻€(gè)數(shù)據(jù)庫上進(jìn)行實(shí)驗(yàn):CIFAR-10、CIFAR-100和TinyImageNet,其中CIFAR-10和CIFAR-100數(shù)據(jù)庫上我們攻擊PyramidNet-272、GDAS、WRN-28和WRN-40這四種網(wǎng)絡(luò),而TinyImageNet數(shù)據(jù)庫上我們攻擊ResNeXt-101 (32x4d)、ResNeXt-101 (64x4d)和DenseNet-121三種網(wǎng)絡(luò)。

          在targeted attack中,我們?cè)O(shè)置target label為原始(true label+1)%class_number。對(duì)比方法我們選擇NES、RGF、P-RGF、Meta Attack和Bandits,其中Bandits被作為baseline。我們的方法設(shè)置參數(shù)可參見表1。

          表1 模擬器攻擊的默認(rèn)參數(shù)設(shè)置

          圖5 Ablation Study

          剝離實(shí)驗(yàn)的結(jié)果如圖5所示。值得一看的是圖5(b),它展示了不同的simulator-predict interval m設(shè)置下的untargeted和targeted attack的攻擊結(jié)果,雖然越大的simulator-predict interval會(huì)造成越多的query被輸入給模擬器,但是也意味著模擬器得到越少的機(jī)會(huì)被fine-tune,因此在targeted attack這種困難的攻擊中很難達(dá)到較高的成功率。其他的結(jié)果的分析可詳見原始論文。

          表2 untargeted attack的CIFAR-10和CIFAR-100數(shù)據(jù)庫的實(shí)驗(yàn)結(jié)果

          表3 targeted attack的CIFAR-10和CIFAR-100數(shù)據(jù)庫的結(jié)果

          表4 范數(shù)下的untargeted attack攻擊TinyImageNet的實(shí)驗(yàn)結(jié)果

          表5 范數(shù)下的targeted attack攻擊TinyImageNet的實(shí)驗(yàn)結(jié)果

          圖6 不同最大查詢預(yù)算的限制下的成功率

          表2-表5展示的10000次查詢限制下實(shí)驗(yàn)結(jié)果,而不同的最大查詢預(yù)算限制下的成功率見圖6。可以得出結(jié)論:模擬器攻擊相比于Bandits攻擊和其他攻擊,可以將查詢復(fù)雜度降低幾個(gè)數(shù)量級(jí)而不改變成功率!這一結(jié)果同樣也顯示在攻擊防御模型的結(jié)果中(表6)。

          表6 范數(shù)攻擊防御模型的結(jié)果,所有防御模型皆選擇ResNet-50 backbone

          5結(jié)論

          “萬物皆可模擬!”運(yùn)用模擬器可以模仿各種未知網(wǎng)絡(luò)的輸出,甚至是訓(xùn)練過程中沒見過的網(wǎng)絡(luò),這就是模擬器攻擊這篇論文所展現(xiàn)出的強(qiáng)大能力。這篇論文確定了一種新的攻擊形式:攻擊者可以在獲知目標(biāo)模型的最少量的信息的情況下成功地偽造出相似的模型,即模擬器。在攻擊時(shí),這就可以將大量的查詢轉(zhuǎn)移到模擬器上,從而將查詢復(fù)雜度顯著降低而不過多地改變成功率!

          編輯:于騰凱
          校對(duì):林亦霖
          瀏覽 67
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青青操成人在线视频 | 91操屄视频 | 国产淫秽毛片 | 日本私人色噜噜影院 | 四虎影院一区二区 |