# Decoupling Direction and Norm for Efficient Gradient-Based L2 Adversarial Attacks and Defenses ###### tags: `paper` `attack` `evasion attack` `boundary attack` `adversarial` `DDN` ## source - [github code](https://github.com/luizgh/avc_nips_2018) - [arxiv](https://arxiv.org/abs/1811.09600) - 論文中未提及黑箱作法 ## Black-box code 理解 - 用各種代理模型 x 各種攻擊 硬砸的結果而已 - 你問怎麼砸? - boundary attack + binary search - 對於每個組合(第n號代理模型、第m號攻擊方法)做: 1. 生出一個 adversarial image (以下簡稱adv_img) 2. 算出 delta = adv_img - original image (以下簡稱image) 3. 開始 bound_search 1. 利用 delta 走第一步,看狀況等比例(alpha=1)放大/縮小delta 2. 繼續第一步的方向(放大或縮小)等比例(alpha=1)放大/縮小,如方向改變即return,回傳 lower 跟 upper 兩邊界及found(=true) 3. 如走完還是沒找到邊界,就回傳lower(=0),upper(=`np.round(delta / delta.max() * 255)`),found(=false) * 小結就是,以delta為準,不斷放大直到找到邊界or不斷縮小找到邊界 4. 開始 binary_search 1. 對剛剛得出的邊界做step(=10)次的二分搜 2. 若找到則回傳upper(可以剛好跨過去的)及found(=true) 3. 否則回傳upper及found(=false) ## DDN演算法理解 -  - $x$ 已做normalize(0~1),$K=100、300、1000$,$\alpha=1$,$\gamma=0.05$ - l2: 若為目標攻擊是為降低,無目標攻擊是為增加使判斷錯誤 - l3-5:算出loss(cross entropy)並根據$\alpha$權重*g方向之單位向量 - l6:擾動$\delta$往g前進 - l7-l11:若擾動太大則倍率$\gamma$調降,vice versa。 - l12:將新的擾動方向*$\epsilon$,加給圖片 - l13:確保圖片依然在[0,1]間,超過設為1,低於設為0 -  - 當$\epsilon_k$剛好跟決策邊界相切時,算出來的g會跟$\delta_{k+1}$平行,也就會與$\delta_{k}平行$(都平行啦),所以會投影在同一條線上,造成來回震盪(不是啊,超過或縮小後不是就不會再相切了ㄇ,怎震盪?)會使結果更接近最佳。 ## related work - C&W 需要找C(9 search steps on C)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up