Adversarial attack and defense in RL-from AI security view
Springer 2019. Paper Chen, T., Liu, J., Xiang, Y. et al.
๐ Key Takeaways
Abstract
- AI security ๊ด์ ์์ RL์์์ Adversarial attack์ ๋ํ ์ต์ด์ comprehensive survey
- existing adversarial attacks์ ๋ํ ๋ํ์ ์ธ defense technologies against existing adversarial attacks์ ๋ํด์๋ ๊ฐ๋ตํ ์๊ฐ
1. Introduction
- Huang et al. (2017)
- RL์ input์ ์์ perturbation๋ฅผ ์ถ๊ฐํ adversarial attackํ๋ค๋ ๊ฒ์ ์ฒ์์ผ๋ก ๋ฐ๊ฒฌํ์๋ค.
- cross-dataset transferability in RL: ๋์ผํ task๋ฅผ ์ํ policy ๊ฐ์ adversarial examples์ด ์ ์ด๋ ์ ์์์ ํ์ธํ์์.
- ์ฃผ์ ์ฐ๊ตฌ ๋ถ์ผ
Atari Game
: ๋งค time step๋ง๋ค๊ฐ ์๋, ํน์ step์์๋ง independentlyํ๊ฒ adversarial examples๋ฅผ ์์ฑํ์ฌ ๊ณต๊ฒฉํ๋ ๋ฐฉ์Auto Path Planning
2. Preliminaries
Definition
Adversarial Example
- information carrier (such as image, voice or txt) with small perturbations added
- can remain imperceptible to human vision system
- 1๏ธโฃ Implicit Adversarial Example: pixel ์์ค์์ ์ฌ๋์๊ฒ ๋ณด์ด์ง ์๋ perturbations์ ์ถ๊ฐํ์ฌ global information๋ฅผ ์์ ํจ
- 2๏ธโฃ Dominant Adversarial Example
- a modified version of clean map
- physical-level obstacles์ ์ถ๊ฐํ์ฌ e local information๋ฅผ ๋ณ๊ฒฝํ์๋ค.
Transferability
: ํ ๋ชจ๋ธ์์ ์๋ชป ๋ถ๋ฅ๋๋ adversarial example๊ฐ ๋์ผํ task๋ฅผ ํด๊ฒฐํ๋๋ก ํ๋ จ๋ ๋ค๋ฅธ ๋ชจ๋ธ์์๋ ์๋ชป ๋ถ๋ฅ๋๋ ์ฑ์งThreat Model
- Finding system potential threat to establish an adversarial policy
- policy์ raw input์ small perturbations๋ฅผ ๋ฃ์ ์ ์๋ adversary๋ฅผ ๊ณ ๋ คํ๋ค.
Target Agent
- adversarial examples์ ์ํด ๊ณต๊ฒฉ๋ฐ๋ ๋์ ์ฃผ์ฒด
- ์ผ๋ฐ์ ์ผ๋ก RL policy์ผ๋ก ํ๋ จ๋ NN
UNREAL ์๊ณ ๋ฆฌ์ฆ
- RL algorithm ์์ฒด๋ ์๋
- ์ ์ฉ ๋ถ์ผ:
Atari Pong Game
: 8.8 times against human performanceLabyrinth
(1์ธ์นญ 3D ๋ฏธ๋ก): reached 87% of human level
- RL algorithm:
A3C
์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ฐ
UNREAL์๋ 2๊ฐ์ง auxiliary tasks๊ฐ ์๋ค.
- 1๏ธโฃ Control Task
- Pixel Control: ํฝ์ ๋จ์๋ก ๋ณํ๋ฅผ ์ถ์ ํ์ฌ environment๋ฅผ ๋ ์ ์ดํดํ๋๋ก ํ์ตํ๋ค.
- Hidden Layer Activation Control: ํ์ต ์์ ์ฑ ๊ฐํ์ ๋์์ด ๋๋ค.
- 2๏ธโฃ Back Prediction Task
- ์ผ๋ถ ์๋๋ฆฌ์ค์์๋ feedback $r$ ์ ์ป์ ์ ์๋ค.
- NN์ด ๋ค์ ๋จ๊ณ์ feedback value ์ ์์ธกํ๋๋ก ํ์ต โ ํํ๋ ฅ ํฅ์
- UNREAL์ ๊ณผ๊ฑฐ ์ฐ์๋ ๋ค์ค ํ๋ ์ ์ด๋ฏธ์ง ์ ๋ ฅ์ ์ฌ์ฉํด ๋ค์ ๋จ๊ณ์ ํผ๋๋ฐฑ ๊ฐ์ ์์ธกํ๊ณ ์ด๋ฅผ ํ์ต ๋ชฉํ๋ก ์ค์ ํฉ๋๋ค.
historical continuous multi-frame image input์ผ๋ก ๋ค์ ๋จ๊ณ์ feedback value๋ฅผ ์์ธกํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ feedback value๋ฅผ training target์ผ๋ก ์ค์ ํ๋ค. ๋ํ history information๋ฅผ ํ์ฉํ์ฌ Value Iteration Task๋ฅผ ๊ฐํํ๋ค.
์ฐพ์๋ณด๋ UNREAL Engine๊ณผ Python Deep RL algorithm ๊ฐ์ TCP ํต์ ์ ์ง์ํ๋ ๋ฏธ์์ฑ plugin ์ด ์์๋ค. bridge environment๋ก Unreal๊ณผ Python ์ฌ์ด์ data๋ฅผ ์ก์์ ํ๋ ๊ฒ ๊ฐ๋ฅํ๋ค๋ ๊ฑธ ์๊ฒ ๋์ด ๊ฐ์ด ๋ฃ์ด ๋ณด์๋ค. ์ด plugin์ ๊ตฌ์ฑ์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค.
3. White-box Adversarial attack in RL
๐ฏ Fast gradient sign method (FGSM)
- ์ ์ฉ ๋ถ์ผ:
Atari Pong Game
- agent๊ฐ ๊ณต์ ์ด๋ ๋ฐฉํฅ์ ์ ๋๋ก ํ๋จํ์ง ๋ชปํจ
- RL algorithm
DQN
(Deep Q-Network): ๊ฐ์ฅ ์ทจ์ฝ โ ๋์ ๊ณต๊ฒฉ ์ฑ๊ณต๋ฅTRPO/A3C
: ์๋์ ์ผ๋ก ๋์ resistance
์๋ณธ input $x$ ์ ์ถฉ๋ถํ ์์ perturbation $ฮท$ ๋ฅผ element-wise๋ก ๋ํด $x$ ์ ๋ํ adversarial example $\tilde x$ ๋ฅผ ๋ง๋ค ์ ์๋ค. ์ฆ, $\tilde x = ฯ^T\tilde x = ฯ^Tx + ฯ^Tฮท$ ์ด๋ค. ์ด๋ $ฮท$ ๋ฅผ ์ด๋ฃจ๋ ๊ฐ๋ค์ $-ฯต$ ๋ณด๋ค ํฌ๊ณ , $ฯต$ ๋ณด๋ค ์์์ผ ํ๋ค. ์ด๋ก์จ classifier๋ $x$ ์ $\tilde x$ ๋ฅผ ๊ฐ์ class๋ก ๋ถ๋ฅํ๊ฒ ๋๋ค.
\[ฮท=ฯตโ sign(ฯ), โฅฮทโฅ_{โ}<ฯต\]- $ฯ$: weight vector
- $ฮท$ maximizes the change in output for the adversarial example $\tilde x$
- $ฯต$ : perturbation ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๋ hyper-parameter
FGSM์ cost function $J$ ๋ฅผ linearizationํ์ฌ classifier์ misclassification์ ์ผ์ผํค๋ $ฮท$ ๋ฅผ ๊ณ์ฐํ๋ค. $โ_xJ(ฮธ,x,y)$ ๋ $x$ ์ ๋ํ $J$์ ๋ณํ์จ์ ๋ํ๋ธ๋ค. ์ฆ, $ฮท$ ๋ GT์ธ $y$ ์ ๋ฐ๋๋๋ ๋ฐฉํฅ์ผ๋ก ๊ทธ ๋ถํธ๋ฅผ ์ป๊ฒ ๋๋ค. \(ฮท=ฯตโ sign(โ_xJ(ฮธ,x,y))\)
๐ฏ Start Point-based Adversarial Attack on Q-learning (SPA)
- ์ ์ฉ ๋ถ์ผ:
Automatic Path Finding
- Key Point ($k$)
- strategically important location
- e.g.) starting point, target point, ๊ฒฝ๋ก ์์ ์ฃผ์ ๋ถ๊ธฐ์
- Key Vector ($v$)
- Key Point($k$)์์ ๋ชฉํ ์ง์ ($t$)๊น์ง์ directional vector
- $v=(t_cโk_c,t_rโk_r)$
- $t_c, t_r$: Coordinates of the target point
- Key Point ($k$)
- RL algorithm:
Q-learning
- Q-learning ๊ธฐ๋ฐ Automatic Path Finding์์ ์ฒ์์ผ๋ก adversarial example๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ์ฐพ์๋๋ค(precision: 70%).
- BUT limited, fixed map size (28ร28)
- probabilistic output model
- STEP1: 4๊ฐ์ง factor๋ฅผ ๊ณ์ฐ
- STEP2: ๊ฐ adversarial point ($a_i$)์ด agent์ ๊ฒฝ๋ก ํ์์ inferenceํ ๊ฐ๋ฅ์ฑ์ ๊ฐ factor์์ ๊ฐ์คํฉ์ผ๋ก ๊ณ์ฐํ๋ค.
- STEP3: ๋ชจ๋ $p_{a_i}$ ๊ฐ ์ค TOP 10์ ์ ํํ๋ค.
STEP1์ 4๊ฐ์ง factor๋ ๋ค์๊ณผ ๊ฐ๋ค.
1๏ธโฃ Energy Point Gravitation adversarial point $k$ ๊ฐ key vector $v$ ์์ ์์นํ ์๋ก ๊ณต๊ฒฉ ์ฑ๊ณต ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋ค. row์ column ์์ ๊ฐ๊ฐ ๊ฐ์ด ํ๋์ฉ ๋์จ๋ค. ์ด๋ key point $k$ ์ adversarial point $k$ ๊ฐ ๋ค๋ฅธ ๊ฒ์ ์ ์ํ์.
\[\begin{cases} e_{ic} = k_c + i \cdot d' \cdot \frac{k'_c - k_c}{\sqrt{(k'_c - k_c)^2 + (k'_r - k_r)^2}} \\ e_{ir} = k_r + i \cdot d' \cdot \sqrt{1 - \left( \frac{k'_c - k_c}{\sqrt{(k'_c - k_c)^2 + (k'_r - k_r)^2}} \right)^2} \end{cases}\]2๏ธโฃ Key Point Gravitation adversarial point๊ฐ ์ด key point $k$์ ๊ฐ๊น์ธ์๋ก ๋ฐฉํด ๊ฐ๋ฅ์ฑ์ด ๋์์ง:
\[d_{1i} = |a_{ic} - k_c| + |a_{ir} - k_r| \\ \text{where } (k_c, k_r) = k, \ (a_{ic}, a_{ir}) = a_i \in A\]3๏ธโฃ Path Gravitation ์ ๋์ ์ ์ด ์ด๊ธฐ ๊ฒฝ๋ก $Z_1$ ์ ๊ฐ๊น์ธ์๋ก ๋ฐฉํด ๊ฐ๋ฅ์ฑ์ด ๋์์ง \(d_{2i} = \min \left\{ d_2 \ \bigg| \ d_2 = |a_{ic} - z_{jc}| + |a_{ir} - z_{jr}|, \ z_j \in Z_1 \right\} \\ \text{where } (z_{jc}, z_{jr}) = z_j, \ (a_{ic}, a_{ir}) = a_i \in A\)
4๏ธโฃ Included Angle key point $k$์์ adversarial point $a_i$๋ก ํฅํ๋ ๋ฒกํฐ์ ๋ชฉํ ์ง์ $t$ ๋ก ํฅํ๋ ๋ฒกํฐ(key vector) ๊ฐ์ ๊ฐ๋ $ฮธ_i$ ๋ฅผ ๋ํ๋ธ๋ค. ๊ฐ๋ $ฮธ_i$ ๊ฐ ์์์๋ก(key vector์ ์ ์ฌํ ๋ฐฉํฅ) ๊ณต๊ฒฉ ํจ๊ณผ๊ฐ ์ฆ๊ฐํ๋ ๊ฒฝํฅ์ด ์๋ค. ์ฌ๊ธฐ์๋ถํฐ๋ adversarial point์ ํ๊ธฐ๊ฐ $a_i$ ๋ก ๋ฐ๋๊ณ , key vector์ ํ๊ธฐ๊ฐ ${v}_{kt}$๋ก ๋ฐ๋ ๊ฒ์ ์ ์ํ์.
\[\begin{aligned} \mathbf{v}_{ka} &= (a_{ic} - k_c, \ a_{ir} - k_r) \\ \mathbf{v}_{kt} &= (t_c - k_c, \ t_r - k_r) \\ \cos \theta_i &= \frac{\mathbf{v}_{ka} \cdot \mathbf{v}_{kt}}{|\mathbf{v}_{ka}| \ |\mathbf{v}_{kt}|} \\ \theta_i &= \arccos(\cos \theta_i) \end{aligned}\]STEP2, ์ฆ ๊ฐ adversarial point $a_i$์ ํ๋ฅ ์ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐํ๋ค.
\[\begin{equation} p_{a_i} = \sum_{j=1}^{4} \omega_j f_j(a_i) = \omega_1 \cdot a_{ie} + \omega_2 \cdot d'_{1i} + \omega_3 \cdot d'_{2i} + \omega_4 \cdot \theta'_i \end{equation}\]- $ฯ_j$: the weight for each factor respectively
- PCA๋ฅผ ํตํด ๊ณ์ฐ๋๋ค.
๋ง์ง๋ง์ผ๋ก STEP3์์๋ ๋ชจ๋ $p_{a_i}$ ๊ฐ ์ค TOP 10์ ์ ํํ๋ค.
๐ฏ White-box based adversarial attack on DQN (WBA)
- SPA์ ํ์ฅ ๋ฒ์
- ์ ์ฉ ๋ถ์ผ:
Automatic Path Finding
- RL algorithm:
Q-learning
- SPA ์๊ณ ๋ฆฌ์ฆ์ ํ์ฅํ์ฌ DQN์ Q-table ๋ณ๋ ํจํด์ ๋ถ์ํ๊ณ , ๊ฒฝ๋ก ํ์ ๊ณผ์ ์์ ์ทจ์ฝ์ (vulnerable points)์ ์๋ณํ๋ ๋ฐฉ๋ฒ