日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对抗攻击(1)

發布時間:2024/8/23 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对抗攻击(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文是根據李宏毅老師在B站上的視頻整理而來,視頻地址為:
https://www.bilibili.com/video/BV1n3411y7xD?p=65

1 無目標和有目標攻擊的區別

無目標攻擊:攻擊后的標簽不確定,只要是和原始標簽差別越大越好。
有目標攻擊:攻擊后的標簽是確定的某一個類別,并且要求和原始標簽差別越大越好。

圖1說明了如何將對抗攻擊轉換為優化目標函數。
x?=arg?min?d(x0,x)≤εL(x)x^{*} = \arg \min_{d(x^0, x) \leq \varepsilon} L(x)x?=argmind(x0,x)ε?L(x):約束條件是原始樣本和攻擊樣本之間差距很小(小于等于ε\varepsilonε),在損失最小的情況下得到攻擊樣本;
L(x)=?e(y,y^)L(x) = -e(y, \widehat{y})L(x)=?e(y,y?):應用于無目標的攻擊,攻擊后的預測標簽和原始標簽的差別越大越好,前面加一個負號就是越小越好;
L(x)=?e(y,y^)+e(y,ytarget)L(x) = -e(y, \widehat{y}) + e(y, y^{target})L(x)=?e(y,y?)+e(y,ytarget):應用于有目標的攻擊,攻擊后的預測標簽和原始標簽的差別越大越好,并且攻擊后的預測標簽和被攻擊的目標標簽差距越小越好。

符號說明:
x0x^0x0:原始樣本;
xxx:攻擊樣本;
y0y^0y0:沒有受到攻擊的預測標簽;
y^\widehat{y}y?:原始標簽;
yyy:攻擊后的預測標簽;
ytargety^{target}ytarget:有目標攻擊的目標標簽;
y0=f(x0)y^0 = f(x^0)y0=f(x0):利用原始樣本預測出標簽;
y=f(x)y = f(x)y=f(x):利用受攻擊后的樣本預測出新的標簽;


圖2說明了如何來度量原始樣本x0x^0x0和攻擊樣本xxx之間的距離:

  • 利用2范數來度量:
    d(x0,x)=∣∣Δx∣∣2=(Δx1)2+(Δx2)2+…\begin{aligned} d(x^0,x) &= ||\Delta x||_2 \\ &=(\Delta x_1)^2 + (\Delta x_2)^2 + \dots \end{aligned} d(x0,x)?=Δx2?=(Δx1?)2+(Δx2?)2+?
  • 利用無窮范數來度量:
    d(x0,x)=∣∣Δx∣∣∞=max?{∣Δx1∣,∣Δx2∣,…}\begin{aligned} d(x^0,x) &= ||\Delta x||_\infty \\ &=\max\{|\Delta x_1|, |\Delta x_2|, \dots\} \end{aligned} d(x0,x)?=Δx?=max{Δx1?,Δx2?,}?
  • 通過如下分析來體會兩個距離的最大區別:
    一種情況是圖像中的每個像素點都改變一點點,另外一種情況是圖像中某一個像素點改變特別大;這兩種情況也許2范數距離相同,但是無窮范數第一種情況很小,而第二種情況卻很大。

    圖3說明了攻擊方法不是去修改模型的參數,而是修改輸入的樣本。
    可以從兩個方面入手進行攻擊:

    • 修改優化目標函數
    • 修改約束條件

    最后利用梯度下降法來求得攻擊樣本xxx。
    在迭代的時候如果d(x0,xt)>εd(x^0, x^t) > \varepsilond(x0,xt)>ε,則將xtx^txt拉回到矩形框內。

    圖4說明了FGSM方法。
    對圖3做了如下改進:

    • ε\varepsilonε替換學習率η\etaη
    • 梯度gggsignsignsign函數來控制,使得其值為+1或者-1,也就是每次變化移動到矩形框四個角的某一個;
    • 只需要迭代一次。

    圖5在圖4的基礎上又做了如下改進:

    • 將圖4的學習率又從ε\varepsilonε改回η\etaη;
    • 通過TTT次迭代;
    • 每次迭代如果d(x0,xt)>εd(x^0, x^t) > \varepsilond(x0,xt)>ε,則將xtx^txt拉回到矩形框內。

    以上攻擊方法都屬于白盒攻擊,因為攻擊者知道網絡參數θ\thetaθ。
    圖6引入了黑盒攻擊。

    圖7說明了黑盒攻擊方法:如果你知道目標網絡的訓練數據,可以利用這些數據訓練出一個代理網絡(proxy network),再利用這個代理網絡產生攻擊樣本。
    問:如果又不知道訓練數據怎么辦?
    答:利用已有的黑盒模型,輸入一些測試樣本,得到測試樣本的輸出,利用這些輸入和輸出來訓練一個代理網絡(proxy network),再利用這個代理網絡產生攻擊樣本。

    圖8說明黑盒攻擊的效果。
    上半部分表示單一網絡攻擊的效果,對角線表示白盒攻擊,例如ResNet-152攻擊ResNet-152;非對角線表示黑盒攻擊,例如ResNet-152攻擊ResNet-101;攻擊后的準確率越低,說明攻擊成功率就越高,如ResNet-152攻擊ResNet-101后得到的準確率為13%。
    下半部分表示集成網絡攻擊的效果,如-ResNet-152表示由(ResNet-101 + ResNet-50 + VGG-16 + GoogleNet)這四個網絡來集成。可以看出集成攻擊的效果更好。

    總結

    以上是生活随笔為你收集整理的对抗攻击(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。