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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

大白话之One Pixel Attack for Fooling Deep Neural Networks论文讲解

發布時間:2024/1/8 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大白话之One Pixel Attack for Fooling Deep Neural Networks论文讲解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

      • 1 引言
      • 2 算法原理
        • 2.1 第一印象
        • 2.2 初步設想
        • 2.3 在此之前
        • 2.4 承上:what is differential evolution(差分進化)
      • 3 總結
      • 附錄

1 引言

  • 使用單像素點愚弄深度神經網絡。2017 CVPR 論文地址
  • 對抗樣本生成的一種策略。
  • 本文采取一種獨立思考的方式,來理解與講解這篇論文。

2 算法原理

2.1 第一印象

  • what the fuck?改變一個像素點就能使網絡分類錯誤?想法great,但怎么可能
  • 逐漸冷靜。。。單像素點真的能攻擊成功?

2.2 初步設想

  • Can we:貌似 ”goodfellow的模型高度線性化,使得圖像會有擾動放大效應“ 為改設想提供了一定的理論依據。
  • How:假設確實改動某個像素點的值能實現對抗攻擊。那如何去做?
  • Ask:既然只是更改一個像素點,自然而然,我們想到暴力求解可不可行?
  • Answer:如果用cifar數據集,一張圖片意味著要進行 32 * 32 * 3 * 256次迭代。代價太大,不可行。
  • Ask:那梯度求解方式?
  • Answer:類似FGSM用梯度求解,是建立在基本改變圖片全部像素點的前提下。這種場景和只改動單個像素點差遠了。
  • Ask:那進化算法總行吧?既能實現黑盒攻擊,問題解空間也不大。進化算法:你直接報我身份證得了。想要詳細與進化算法深入接觸?跳轉
  • Focus(注意了哈):作者提出使用差分進化算法來求解。恭喜你,最終還是說對了。

2.3 在此之前

  • 先拋開差分進化不管。首先 Focus on 優化目標,即我們要找的那個像素點應該滿足何種標準。
    max ? e ( x ) f a d v ( x + e ( x ) ) s u b j e c t t o ∣ ∣ e ( x ) ∣ ∣ 0 ≤ d \max_{e(x)} f_{adv}\left(x+e(x)\right)\\ subject\; to \qquad ||e(x)||_0\le d\\ e(x)max?fadv?(x+e(x))subjecttoe(x)0?d

f : 模 型 的 類 別 概 率 輸 出 層 d : 改 變 像 素 點 的 個 數 該 算 法 中 d = 1 a d v : 待 攻 擊 成 的 類 別 該 算 法 是 實 現 有 目 標 攻 擊 f:模型的類別概率輸出層\\ d:改變像素點的個數\\ 該算法中 d = 1\\ adv:待攻擊成的類別\\ 該算法是實現有目標攻擊 f:d:d=1adv:

  • 如上公式,簡而言之就是希望待攻擊成的類別的置信度盡可能的大

2.4 承上:what is differential evolution(差分進化)

1. 定義求解空間

  • 假設是cifar10數據集,其解空間就是:
    ( x , y , R , G , B ) s u b j e c t t o x , y ∈ [ 0 , 31 ] ; R , G , B ∈ [ 0 , 255 ] (x,y,R,G,B)\\ subject\;to\quad x,y \in[0,31]; R,G,B\in [0,255] (x,y,R,G,B)subjecttox,y[0,31];R,G,B[0,255]
  • 視覺上的解空間如下圖:

2. 初始化解集

  • 使用均勻分布 U ( 1 , 32 ) U(1,32) U(1,32)來生成 x , y x,y xy,使用正態分布 N ( μ = 128 , σ = 127 ) N(\mu =128,\sigma=127) N(μ=128,σ=127)來生成 R , G , B R,G,B R,G,B
  • 以如上方式生成400個候選解集

3. 生成解集
x i ( g + 1 ) = x r 1 ( g ) + F ( x r 2 ( g ) ? x r 3 ( g ) ) , r 1 ≠ r 2 ≠ r 3 x_i(g+1)= x_{r1}(g)+F\left( x_{r2}(g)-x_{r3}(g)\right), \\r1\neq r2\neq r3\\ xi?(g+1)=xr1?(g)+F(xr2?(g)?xr3?(g)),r1?=r2?=r3

  • 其中, x i x_i xi? 是候選解集中的一個元素, r 1 , r 2 , r 3 r1,r2,r3 r1,r2,r3是在候選解范圍的隨機數 r 1 , r 2 , r 3 ∈ [ 0 , 399 ] r1,r2,r3 \in [0,399] r1,r2,r3[0,399] ; F F F是超參數,這里設置為0.5; g g g是當前迭代代數。

4、種群適應

  • 400個父代候選解 使用步驟3公式 又生成了400個子代解。共800,按照之前講的優化目標從800個解中選出400個最優秀的解集。不斷迭代即可。

5、最終選擇

  • 自己設定迭代多少次。反正最終還是會獲得400個候選解集,按照之前的優化目標,找到其中最好的一個解,作為該問題的解。
  • 這個解就包含了需要修改的像素位置以及改動多少像素值的信息。將其該解運用到干凈樣本中,就生成了能夠愚弄分類器的對抗樣本。

3 總結

  • 典型的A+B論文吧。
  • 經了解得知,差分進化其實是數學上的一個優化方法,大概在90年代提出。
  • 經coding發現,差分進化算法在scipy庫中就有。
  • 但是實驗發現使用scipy庫的差分進化算法比較慢,作者在代碼上做了一些速度上的提升。

附錄

  • 論文作者代碼:
    https://github.com/Hyperparticle/one-pixel-attack-keras
  • My Coding:
    不好意思拿出來(狗頭)
  • 參考資料:
    [論文總結] One Pixel Attack for Fooling DNN 對抗樣本單像素攻擊
    OnePixel攻擊

采用寫作新形式,任何問題,評論區留言,力所能及,必答之。

總結

以上是生活随笔為你收集整理的大白话之One Pixel Attack for Fooling Deep Neural Networks论文讲解的全部內容,希望文章能夠幫你解決所遇到的問題。

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