I. 서론
최근 주목을 받고 있는 인공지능 기술은 스마트 팩토리, 홈 네트워크, 그리고 자율주행 자동차와 같은 많은 첨단 산업 분야에 상용되고 있다. 특히 자율주행 자동차의 ADAS(Advanced Driver Assistance System)는 다양한 센서 기술들을 통해 주행환경에 대한 실시간 데이터를 분석한 뒤 딥러닝 모델을 통해 차량의 상황을 분석하고 차량 제어를 수행한다[1-3].
그러나 기존의 일부 연구에 따르면 딥러닝 모델이 적대적 공격(adversarial attacks) 기법에 취약함이 연구를 통해 밝혀졌다[4, 5]. 따라서 공격자가 자율주행 차량의 내부 네트워크와 센서 정보를 장악하여 조작한다면 적대적 공격을 통해 ADAS를 마비시켜 차량의 안정성과 신뢰성이 저하될 수 있어 공격에 대한 방어 대책은 필수적이다[6]. 다른 한편으로는 적대적 공격을 대응하기 위해 다양한 방어 기법이 연구되고 있는데 대표적으로 특징 압축(feature squeezing), 적대적 학습(adversarial training), 그리고 기울기 은닉(gradient hiding) 기법이 있다[7-11].
특징 압축은 이미지의 비트 수를 줄인 뒤 이미지에 포함된 적대적 노이즈를 제거하기 위해 중앙 스무딩 필터를 이용하여 노이즈를 제거한다[7]. 기존 모델의 구조를 변경하지 않고 쉽게 활용할 수 있다는 장점이 있지만 데이터 축소 과정에서 데이터의 세부 정보가 손실되고, 강력한 공격에 대해서는 방어 효과가 감소한다는 단점이 있다.
적대적 학습은 딥러닝 모델이 최적화하는 과정에서 학습 데이터에 적대적 샘플을 포함시켜 모델의 강건성을 향상시키는 방어 기법이다[8]. 적대적 학습은 적대적 공격에 높은 방어 성능을 제공하지만 특정 공격 유형에 대한 방어 효과가 감소하며 강건성과 원본 데이터에 대한 정확도 간의 완충 관계(trade-off)가 발생한다는 단점이 있다.
최근 X. Ji 등은 딥러닝 모델의 기울기의 방향을 반전시켜 악의적인 공격자가 기울기 기반의 적대적 공격에서 노이즈 생성을 방해하는 GSI(Gradient Sign Inversion)을 제안하였다[11]. 하지만 회귀 모델에서는 방어 노이즈가 이미지에 추가되면 모델의 연속적인 예측 값에 변화가 발생할 수 있어 성능이 저하될 수 있다는 단점이 있다.
본 논문에서는 자율주행 시뮬레이션인 CARLA(CAR Learning to Act)[12]에 모방 학습 기반의 딥러닝 모델을 적용한 뒤 적대적 공격의 성공률을 평가한다. 적대적 공격 알고리즘인 BIM[13], MI-FGSM [14], PGD [15], 그리고 CW[16]를 수행한 결과 자율주행 차량이 정상적으로 주행하지 못하는 것을 확인하였다.
또한, 적대적 공격에 대응하기 위해 특징 압축, 적대적 학습, GSI과 본 논문에서 제안하는 GRM(Gradient Removal Module)을 사용하여 성능 평가를 진행하였다. 성능을 평가한 결과, GRM은 공격 수행 과정 중 기울기 값을 제거하여 적대적 샘플 생성을 방해하여 다양한 공격 유형에서 데이터 손실 없이 차량의 정상 주행을 확인하였다.
본 논문의 구성은 다음과 같다. 2장에서 배경지식을 설명하고 3장에서 관련 연구를 기술한다. 4장에서 GRM을 이용한 적대적 공격 방어 기법을 설명한다. 5장에서는 적대적 공격 실험 환경과 평가 방식을 설명한 뒤 6장에서 성능 평가 결과를 설명한다. 마지막으로 7장에서 결론을 맺는다.
II. 배경지식
2.1 CARLA
CARLA[12] 시뮬레이션은 자율주행 연구를 위해 현실과 유사한 도시 환경을 사용자에게 제공하여 데이터 셋 수집을 가속화 할 수 있으며 실제 주행 환경에서 마주할 수 있는 다양하고 복잡한 환경을 테스트할 수 있도록 제공한다. CARLA 시뮬레이션의 가장 큰 장점은 RGB 카메라, depth 카메라, 그리고 segmentation 센서와 같이 다양한 센서를 차량에 적용하여 데이터를 수집할 수 있다는 것이다. Fig. 1에서 확인할 수 있듯이 CARLA 시뮬레이션은 다양한 기상 조건에서 사용자에 주행 시나리오를 설정할 수 있다.
Fig. 1. CARLA simulation [12]
2.2 모방 학습(Imitation Learning)
모방 학습은 운전자의 행동을 모방하여 자율주행 차량이 운전자와 유사한 방식으로 주행하도록 하는 딥러닝 기법이다 [17]. 다음 Fig. 2와 같은 모방 학습 모델은 각 명령에 따른 개별적인 branch 모듈을 사용한다. Branch 모듈을 이용한 모방 학습 모델의 수식은 다음과 같다.
Fig. 2. Imitation learning model architecture [17]
F(i, m, ci) = Ai(J(i, m)) (1)
수식 (1)에서 F(i, m, ci)는 모방 학습 모델을 나타내며 i는 이미지, m은 차량 속도, 그리고 ci는 명령을 나타낸다. J(i, m)은 이미지 i와 측정값 m에 대해서 출력된 정보를 통합하며 Ai는 명령 ci에 매칭되는 branch 모듈로 특정 명령에 대해 학습하여 행동을 결정한다.
2.3 기울기 기반 적대적 공격
적대적 공격은 원본 데이터에 인간의 눈으로는 쉽게 구별하기 어려운 노이즈를 추가하여 딥러닝 모델의 오동작을 유도하는 공격 기법이다[4, 5].
2.3.1 BIM
BIM[13]은 FGSM(Fast Gradient Sign Method)[5]을 개선한 공격 기법으로 BIM을 이용하여 적대적 샘플 xadv를 생성하는 방법은 수식 (2)와 같다.
xadvi = Clipx, εxadvi-1 + a ∙ sign(∇xL(xadvi-1, y))
xadvi = Clipx, εxadvi-1 + a ∙ sign(∇xL(xadvi-1, t)) (2)
수식 (2)에서 a는 반복마다의 변화량을 나타내며 Clip은 변조량을 ε만큼 제안하는 함수이다. L(xadv, y)는 딥러닝 모델의 손실함수를 나타내며 sign은 기울기 값의 부호를 나타낸다.
2.3.2 MI-FGSM
MI-FGSM(Momentum Iterative FGSM)[14]은 모멘텀(momentum)을 추가하여 적대적 예제를 생성하는 공격 기법으로 MI-FGSM을 이용하여 적대적 샘플을 생성하는 수식은 다음과 같다.
\(\begin{align}\begin{array}{l}g_{t+1}=\mu \cdot g_{t}+\frac{J\left(x_{t}^{*}, y^{*}\right)}{\left\|\nabla_{x} J\left(x_{t}^{*}, y^{*}\right)\right\|} \\ x^{\text {adv }}=x^{\text {adv }}+\epsilon \cdot \operatorname{sign}\left(g_{t}\right)\end{array}\end{align}\) (3)
수식 (3)에서 \(\begin{align}\frac{J\left(x_{y}^{*}, y^{*}\right)}{\left\|\nabla_{x} J\left(x_{y}^{*}, y^{*}\right)\right\|}\end{align}\)는 적대적 샘플 xt와 라벨 y을 딥러닝 모델의 손실 함수 J을 통해 기울기를 계산하는 함수이다. 모멘텀 값 gt, 가중치를 나타내는 μ, 그리고 기울기 값을 이용하여 최종적인 적대적 샘플 xadv를 생성한다.
2.3.3 PGD
PGD(Projected Gradient Descent)[15]은 손실 함수의 최적화를 여러 번 반복하여 정해진 ε범위 내에서 최적화를 수행한다. 입력 데이터에서 균등 분포 U로부터 노이즈를 추가하여 초기 입력 데이터 xadv0 = x + U(-ε, ε)를 생성한다. PGD에 의해 생성되는 이미지는 다음과 같다.
\(\begin{align}x^{a d v}=\prod_{B(x, \epsilon)} x^{a d v}+a \cdot \operatorname{sign}\left(\nabla_{x} J(f(x), y)\right)\end{align}\) (4)
2.3.4 CW
CW(Carlini and Wagner)[16]은 L0, L2 그리고 L∞을 이용하여 적대적 샘플과 원본 입력 데이터의 거리를 계산하여 공격을 수행한다. CW를 이용하여 적대적 샘플을 생성하는 수식은 수식 (5)와 같다.
minD(x, x + ε) + c ∙ f(x + ε)
subject to x + ε ∈[0, 1] (5)
f는 딥러닝 모델의 손실함수를 나타내며 c는 공격 강도를 나타낸다. 입력 데이터 x와 적대적 노이즈 ε를 추가하여 생성한 적대적 샘플 xadv는 x와 거리를 계산하여 최적화한다.
III. 적대적 공격 방어 기법 관련 연구
적대적 공격을 방어하기 위해 대표적인 방법으로는 특징 압축(feature squeezing), 적대적 학습(adversarial training), 그리고 기울기 은닉(gradient hiding)이 있다. W. Xu 등은 적대적 공격을 방어하기 위해 특징 압축을 제안하였다[7]. 특징 압축은 공격자의 공격 수행에 필요한 이미지 공간을 감소시키기 위해 24비트로 표현되는 이미지에서 8비트 또는 1비트로 비트 수를 감소시켜 중앙 스무딩 필터를 적용함으로써 적대적 노이즈를 제거한다. 다음 Fig. 3은 특징 압축 프레임워크를 나타낸 것이다.
Fig. 3. Feature squeezing framework [7]
적대적 학습은 적대적 공격을 방어 기법으로 이용한 방법으로 딥러닝 모델의 견고성을 확보하기 위해 기존의 학습 데이터셋에 적대적 예제를 추가하여 데이터셋을 재구성한 뒤 딥러닝 모델을 재학습하는 방법이다[8]. 학습 과정 중 적대적 샘플을 생성하는데 있어서 FGSM과 PGD를 많이 사용하며 적대적 학습을 수행한 딥러닝 모델의 경우 특정 공격기법으로 생성된 적대적 예제를 올바르게 예측하는 효과가 있다[15].
또한, X. Ji 등은 딥러닝 모델의 기울기 정보를 반전시켜 공격자가 기울기 기반의 적대적 공격을 수행하지 못하는 GSI를 제안하였다[11]. GSI는 공격 수행 과정 중 기울기의 부호를 반전시켜 공격자가 적대적 노이즈를 생성하지 못하게 하고 생성된 노이즈를 방어 노이즈로 전환함으로 이미지 분류기의 성능을 증가시킬 수 있음을 보였다. GSI를 생성하는 수식은 다음과 같다.
\(\begin{align}\underbrace{\operatorname{sign}(\frac{\partial L(h(g(x)), y)}{\partial x})}_{\text {With GSI }} \cdot \underbrace{\operatorname{sign}(\frac{\partial L(h(x), y)}{\partial x})}_{\text {Without GSI }}<0\end{align}\) (6)
수식 (6)에서 L(h(x), y)는 손실함수 이며 딥러닝 모델 h의 입력 이미지 x에 대한 예측값과 실제 레이블 y간의 차이를 나타낸다.
g는 GSI를 나타내며 \(\begin{align}\frac{\partial L(h(x), y)}{\partial x}\end{align}\)는 x에 대한 손실 함수의 기울기를 나타내며 공격자가 공격을 수행하는데 활용된다. \(\begin{align}\frac{\partial L(h(g(x)), y)}{\partial x}\end{align}\)는 GSI가 적용된 입력에 대한 손실 함수의 기울기로 \(\begin{align}\frac{\partial L(h(x), y)}{\partial x}\end{align}\)와 부호가 반대된다.
수식 (6)을 만족하는 최종적인 g는 주기함수 중 sin함수를 활용하여 g(x) = x + sin(2nπx + π)를 사용하여 구성하였다.
IV. 적대적 공격 대응 기법 제안
본 논문에서는 기울기 기반의 적대적 공격에 대응하기 위해 GRM(Gradient Removal Module)을 제안한다. GSI는 방어 노이즈로 인해 회귀 모델에서는 효과가 제안된다는 단점이 있기 때문에 이를 개선한 새로운 GRM을 제안한다. 연속적인 출력값을 가지는 회귀 모델의 경우 GSI를 적용하여 기울기 부호를 반전하더라도 손실의 변화량과 방향이 분류 모델처럼 뚜렷하게 나타나지 않고 이미지에 방어 노이즈를 추가하게 되면 모델의 성능 저하가 발생할 수 있다. Fig. 4는 GRM을 모방 학습 모델에 적용한 그림을 나타낸다.
Fig. 4. GRM system for adversarial attacks in autonomous driving car.
본 장에서는 기울기 기반 공격의 원리를 이용하여 GRM을 설명하기 위해 기울기 기반 적대적 공격 중 대표적인 공격 기법인 FGSM을 예시로 설명한다. FGSM 공격 알고리즘을 통해 적대적 샘플을 생성하는 수식은 수식 (7)과 같다.
xadv = x + ε ∙ sign(∇xL(m(x), y)) (7)
수식 (6)에서 xadv는 적대적 샘플을 나타내며 ε는 노이즈의 크기를 나타낸다. sign(∇xL(m(x), y))는 L(m(x), y)로부터 계산된 기울기의 부호로 적대적 샘플이 생성되는 방향을 결정한다. 즉, 기울기 부호는 공격 방향을 결정하는 핵심 요소로 이를 조작하거나 방해한다면 적대적 공격의 효과를 감소할 수 있다.
따라서 본 논문에서 제안하는 GRM은 기울기 기반 적대적 공격의 공격 과정 중 계산되는 기울기의 부호 값인 sign(∇xL(m(x), y))을 0으로 만드는 것을 목표로 설계되며 GRM은 다음 두 가지 요구 사항을 충족해야 한다.
∙ GRM은 원본 이미지에서 성능 저하가 발생하지 않아야 한다.
∙ GRM을 통해 기울기 부호 계산 시 기울기의 부호값은 항상 0이 되어야 한다.
먼저 GRM을 적용하여 원본 이미지에서 성능 저하가 발생하지 않기 위해서는 수식 (8)과 같이 정의할 수 있다.
\(\begin{align}\operatorname{GRM}(x)=\hat{x}, \text { when } n= \text { specific value}\end{align}\) (8)
x는 이미지를 나타내며 \(\begin{align}\hat {x}\end{align}\)은 GRM(x)를 통해 생성된 데이터를 의미하며 GRM의 방정식은 GSI와 동일하게 GRM(x) = x + f(x)로 가정하였다[11]. 이미지의 픽셀값은 {0, 1, 2, ..., 255}사이로 구성되기 때문에 특정 n값에서 GRM(x) = \(\begin{align}\hat {x}\end{align}\)을 만족하기 위해서는 f(x) = f(1) = .... = f(255) = 0을 만족해야 한다. 따라서 특정 주기에서의 이산 값은 원본과 동일하다.
특정 값에서 항상 동일한 0의 값을 가지는 함수로는 주기함수가 있으며 본 논문에서는 다양한 주기함수를 이용하여 f(x)를 구성할 수 있지만 예시로 cos 함수를 사용하여 f(x)를 구성하였다. cos함수는 \(\begin{align}\frac{1}{2} \pi, \frac{3}{2} \pi, \frac{5}{2} \pi, \ldots, n \pi+\frac{1}{2} \pi\end{align}\)에서 항상 0의 값을 반환함으로 \(\begin{align}f(x)=\alpha \cdot \cos \left(n \pi x+\frac{1}{2} \pi\right)\end{align}\)로 정의하였다. ⍺는 cos함수의 진폭을 나타내며 계산의 편의성을 위해 사용하였다.
다음으로 기울기의 부호 값이 항상 0을 반환하기 위해서는 수식 (9)과 같이 정의할 수 있다.
\(\begin{align}\underbrace{\operatorname{sign}\left(\frac{\partial L(m(G R M(x)), y)}{\partial x}\right)}_{\text {With GRM }} \cdot \underbrace{\operatorname{sign}\left(\frac{\partial L(m(x), y)}{\partial x}\right)}_{\text {Without GRM }}=0\end{align}\) (9)
수식 (9)에서 \(\begin{align}\operatorname{sign}\left(\frac{\partial L(m(G R M(x), y)}{\partial x}\right)\end{align}\)이 0의 값을 가진다면 \(\begin{align}\operatorname{sign}\left(\frac{\partial L(m(G R M(x), y)}{\partial x}\right)\end{align}\)은 항상 0이 성립하게 된다. 따라서 \(\begin{align}\frac{\partial L(G R M(x), y)}{\partial x}\end{align}\)와 \(\begin{align}\frac{\partial L(m(x), y)}{\partial x}\end{align}\))를 연쇄법칙(chain rule)을 적용하여 다음과 같이 확장할 수 있다.
\(\begin{align}\frac{\partial L(m(x), y)}{\partial x}=\frac{\partial L}{\partial m} \cdot \frac{\partial m}{\partial x}\end{align}\) (10)
\(\begin{align}\frac{\partial L(m(G R M(x)), y)}{\partial x}=\frac{\partial L}{\partial m} \cdot \frac{\partial m}{\partial G R M} \cdot \frac{\partial G R M}{\partial x}\end{align}\) (11)
앞서 설명했듯이 GRM(x)는 x와 동일함으로 \(\begin{align}\frac{\partial m}{\partial G R M}=\frac{\partial m}{\partial x}\end{align}\)로 구성할 수 있다[11]. 따라서 수식 (11)을 수식 (12)과 같이 나타낼 수 있다.
\(\begin{align}\begin{array}{l}\frac{\partial L(m(G R M(x)), y)}{\partial x}=\frac{\partial L}{\partial m} \cdot \frac{\partial m}{\partial x} \cdot \frac{\partial G R M}{\partial x} \\ \frac{\partial L}{\partial m} \cdot \frac{\partial m}{\partial x} \cdot \frac{\partial G R M}{\partial x}=\frac{\partial L(m(x), y)}{x} \cdot \frac{\partial G R M}{\partial x}\end{array}\end{align}\) (12)
수식 (11)에서 확인할 수 있듯이 \(\begin{align}\operatorname{sign}\left(\frac{\partial L(m(G R M(x), y)}{\partial x}\right)\end{align}\)이 0의 값을 가지기 위해서는 \(\begin{align}\frac{\partial G R M}{\partial x}\end{align}\)이 0이여야 한다.따라서 \(\begin{align}\frac{\partial G R M}{\partial x}\end{align}\)을 편미분을 수행하게 되면 다음과 같이 구성할 수 있다.
\(\begin{align}\begin{array}{l}\frac{\partial G R M}{\partial x}=\frac{\partial\left(x+a \cdot \cos \left(n \pi x+\frac{1}{2} \pi\right)\right)}{\partial x} \\ \frac{\partial\left(x+a \cdot \cos \left(n \pi x+\frac{1}{2} \pi\right)\right)}{\partial x}=1-\alpha \cdot \sin \left(n \pi x+\frac{1}{2} \pi\right) \cdot n \pi=0 \\ \alpha \cdot \sin \left(n \pi x+\frac{1}{2} \pi\right) \cdot n \pi=1\end{array}\end{align}\) (13)
수식 (13)에서 ⍺는 \(\begin{align}\frac{1}{n \pi}\end{align}\)가 될 수 있으며 \(\begin{align}\sin \left(n \pi x+\frac{1}{2} \pi\right)=1\end{align}\)을 만족해야 한다. 따라서 ⍺가 \(\begin{align}\frac{1}{n \pi}\end{align}\)일 때 \(\begin{align}\frac{1}{n \pi} \cdot \cos \left(n \pi x+\frac{1}{2} \pi\right)=0\end{align}\)과 \(\begin{align}\sin \left(n \pi x+\frac{1}{2} \pi\right)=1\end{align}\)을 동시에 만족하는 n의 값은 짝수가 될 수 있다. 즉 f(x)의 방정식을 \(\begin{align}\frac{1}{2 n \pi} \cdot \cos \left(2 n \pi x+\frac{1}{2} \pi\right)=0\end{align}\)로 구성할 수 있으며 최종적인 GRM의 방정식은 \(\begin{align}x+\frac{1}{2 n \pi} \cdot \cos \left(2 n \pi x+\frac{1}{2} \pi\right)\end{align}\)로 구성할 수 있다.
결론적으로 Fig. 6은 GRM을 시각화한 그래프로 x축은 이미지의 픽셀값을 나타내며 y축은 GRM(x)의 픽셀값을 나타낸다. n은 GRM(x)의 주기를 조절하는 파라미터이며 기울기 부호가 항상 0이 되도록 구성하였다. y = x는 입력 이미지의 픽셀값과 출력 이미지의 픽셀값의 관계를 나타낸다. GRM(x) = x를 나타내는 붉은 지점은 GRM(x)의 출력값을 나타내며 입력 이미지 픽셀값과 동일한 값을 가짐을 알 수 있다. 녹색 점선은 기울기 값인 \(\begin{align}\frac{\partial G R M}{\partial x}\end{align}\)을 나타내며 Fig. 6에서 확인할 수 있듯이 기울기 값이 항상 0이 되는 것을 알 수 있다. 즉, GRM을 적용하게 되면 기울기를 이용한 적대적 공격에서 기울기 부호 값이 항상 0을 출력하게 됨으로써 적대적 노이즈를 생성할 수 없게 된다.
Fig. 5. Gradient removal module
Fig. 6. Steering angle and throttle prediction result
V. 실험 및 대응 분석
본 논문에서는 적대적 공격에 대한 강건성을 평가하기 위해 다음과 같이 실험 환경을 구성하였다.
5.1 실험 환경
본 논문에서는 딥러닝 모델을 구성하기 위해 CARLA 시뮬레이터를 이용하여 데이터를 수집하였다. CARLA 시뮬레이터은 0.9.15 버전을 사용하였으며 테스트 환경은 교차로와 교각이 많은 것이 특징인 town 5를 사용하였다. 날씨는 맑음으로 고정하였고 장애물 등은 배치하지 않았다.
시뮬레이션 환경에서 획득한 데이터셋은 이미지, 속도 정보, 행동 정보, 그리고 명령 정보로 구성되어 있으며 이미지 데이터 같은 경우 좌측, 중앙, 우측 카메로 획득하여 총 3개의 이미지로 구성 되어있다. 이미지의 크기는 3×90×256를 사용하였으며 이미지를 처리하기 위한 딥러닝 모델로는 이미지 분류 모델인 Resnet18, Mobilenet, 그리고 VGG16을 사용하여 실시간 탐지를 유지하면서 이미지의 특징을 추출하였다 [18, 19].
속도 정보를 처리하기 위한 측정 모듈과 이미지의 특징과 속도 특징 정보를 결합하여 행동을 예측하는 branch 모듈은 스티어링 각도(steering angle)와 스로틀(throttle)로 각각 구성하였으며 구성한 branch 모듈은 Table 1과 같다. 측정 모듈의 입력으로 차량의 속도 정보를 사용하였으며 128차원의 벡터를 출력한다. Branch 모듈의 경우 사전 학습된 모델로 구성된 이미지 모듈의 출력 값인 512차원 벡터와 측정 모듈의 결과값인 128차원을 결합하여 Branch 모듈 입력하여 스티어링 각도와 스로틀을 출력한다. 모델의 학습은 총 1000 에폭(epoch) 동안 진행하였으며 배치 크기는 64, Adam 옵티마이저, 그리고 학습률은 0.0005를 사용하였다.
Table 1. Parameters of the imitation learning model
5.2 적대적 공격 파라미터
적대적 공격을 수행하기 위해 기울기 기반 적대적 공격 기법인 BIM, MI-FGSM, PGD, 그리고 CW 공격 알고리즘을 이용하여 실험을 수행하였다. 적대적 공격 알고리즘들은 자율주행 차량이 정상적으로 주행하지 못하도록 차량의 카메라 영상에 적대적 샘플을 추가하여 딥러닝 모델의 스터어링 각도와 스로틀의 예측을 조작해 차량이 차선을 이탈하는 공격을 시도하였다 [20-21]. BIM, MI-FGSM, PGD에서 공격 강도를 나타내는 엡실론(epsilon)은 8/255을 사용하였으며 step은 동일하게 5번으로 지정하여 수행하였다. CW의 공격 강도를 나타내는 c는 100으로 지정하여 50번의 반복을 통해 적대적 샘플을 추가하였다.
5.3 적대적 공격 방어 기법 파라미터
적대적 공격을 방어하기 위해 특징 압축, 적대적 학습, GSI, GRM을 사용하였다. 특징 압축은 2×2의 중앙값 필터를 사용하였으며 적대적 학습은 적대적 데이터셋을 구성하기 위해 PGD를 사용하여 적대적 데이터셋을 구성하였다. 적대적 학습에 사용된 PGD의 엡실론은 30/255로 지정하여 적대적 샘플을 생성하였으며 모델은 1000 에폭동안 학습하였으며 배치 크기는 64, Adam 옵티마이저, 그리고 학습률은 0.0005를 사용하여 학습을 진행하였다.
GSI와 GRM의 방정식에서 n은 255를 사용하였으며 GSI의 최종 방정식은 x + sin(2 × 255πx + π)로 구성하였으며 GRM의 최종 방정식은 \(\begin{align}x+\frac{1}{2 \times 255 \pi} \times \cos \left(2 \times 255 \pi x+\frac{\pi}{2}\right)\end{align}\)로 구성하였다.
5.4 성능 평가 방법
본 논문에서는 적대적 공격의 강건성을 평가하기 위해 MSE(Mean Squared Error)와 MAE(Mean Absolute Error)를 사용하여 성능 평가를 진행하였다. MSE를 계산하는 방법은 수식 (13)과 같다.
\(\begin{align}M S E=\frac{1}{n} \sum_{i=1}^{n}\left(Y_{i}-\widehat{Y}_{i}\right)^{2}\end{align}\) (13)
수식 (13)에서 Yi는 실제 라벨값, \(\begin{align}\hat {Y}_{i}\end{align}\)는 모델의 예측값을 나타내며 Yi와 \(\begin{align}\hat {Y}_{i}\end{align}\) 간 오차의 제곱의 평균을 계산하여 값이 작을수록 예측값이 실제값과 유사하다고 판단한다.
MAE는 MSE와 달리 절대값을 평균 낸 값이기 때문에 MSE와 달리 이상치에 민감하지 않다는 특징이 있다. MSE의 수식은 다음과 같다.
\(\begin{align}M A E=\frac{1}{n} \sum_{i=1}^{n}\left|\left(Y_{i}-\widehat{Y}_{i}\right)\right|\end{align}\) (14)
VI. 성능 평가
기울기 기반의 적대적 공격 성공률을 평가하기 위해 모방 학습 기반의 딥러닝 모델을 구성하여 성능을 평가한 뒤 차량의 주행을 확인하였다. 또한 기울기 기반의 적대적 공격인 BIM, MI-FGSM, PGD, 그리고 CW 공격 알고리즘을 이용하여 공격을 수행하여 모델이 정상적으로 동작하는지 확인하였다.
먼저 Fig. 6은 각 이미지 모듈을 적용한 모방 학습 기반의 딥러닝 모델을 이용하여 원본 이미지에 대한 스티어링 각도와 스로틀을 예측한 결과를 나타낸다. 세 모델 모두 실제값과 유사하게 예측하였으며 그 중 Resnet18을 이용한 모방 학습 기반의 딥러닝 모델은 잔차 연결(residual connection)을 사용하여 이미지의 특징 추출에 있어서 다른 모델보다 더 좋은 성능을 보여 가장 실제 값과 근접하게 예측한 것을 알 수 있다.
Table 2는 실제 값과 딥러닝 모델의 스티어링 각도와 스로틀 예측값의 오차를 나타낸 것으로 세 모델 모두 MSE는 0.002를 확인하였고 MAE는 최대 0.023을 확인하여 카메라로부터 획득한 이미지의 특징을 추출하여 충돌하지 않고 자율주행 자동차가 정상적인 주행을 할 수 있음을 확인하였다.
Table 2. Performance evaluation using MSE and MAE
6.1 적대적 공격에 대한 성능 평가
본 논문에서는 적대적 공격을 수행하여 딥러닝 모델의 성능을 감소시켜 오동작을 유도해 보고자 한다. 먼저 BIM, MI-FGSM, PGD, 그리고 CW를 사용하여 적대적 공격을 수행하였다. 다음 Table 3은 적대적 공격을 수행한 결과를 나타낸 표로 적대적 공격을 수행했을 때 MSE와 MAE가 크게 증가하여 실제 스티어링 각도와 스로틀 값과의 편차가 크다는 것을 확인하였다. 이는 딥러닝 모델이 스티어링 각도와 스로틀을 정상적으로 예측하지 못해 자율주행 차량이 차선을 이탈하여 주행 실패로 이어진다.
Table 3. Evaluation results of adversarial attacks
Resnet18을 대상으로 MI-FGSM 공격을 수행했을 때 MSE가 0.3643을 보였고 MAE는 0.5114를 보여 공격 방법 중 가장 뛰어난 성능을 나타낸 것을 확인하였다. Mobilenet의 경우 적대적 공격 기법 중 MI-FGSM이 MSE와 MAE가 각각 0.2471, 0.3826을 보여 가장 우수한 성능을 보였으며 VGG16의 경우 MSE가 0.3343, MAE는 0.4265를 보인 BIM 공격 기법이 가장 우수하였다.
6.2 적대적 공격에 대한 방어 기법 성능 평가
적대적 공격을 대응하기 위해 특징 압축, 적대적 학습, GSI, 그리고 GRM을 모델에 적용하여 성능 평가를 진행하였다. Table 4는 Resnet18, Mobilenet, VGG16을 이미지 모듈로 이용한 모방 학습 모델을 대상으로 적대적 공격을 수행한 후 각 방어 방법을 적용하여 성능을 평가한 것이다.
Table 4. Performance evaluation of countermeasures
먼저 Resnet18을 이용한 모방 학습 기반 딥러닝 모델은 특징 압축의 경우 모든 적대적 공격에서 큰 오차율을 보였으며 적대적 학습의 경우 BIM, MI-FGSM, PGD에서 낮은 오차율을 확인할 수 있었지만 CW에서 큰 오차율을 보여 일관된 방어 성능을 확보할 수 없었다. GSI는 큰 방어성능을 확보할 수 없었고 GRM의 경우 기존 모델의 성능과 유사한 성능을 확보한 것을 확인하였다.
Mobilnet을 이용한 모방 학습 기반 딥러닝 모델의 경우 특징 압축기법을 적용했을 때 기존 성능에 비해 오차율이 크게 나타났으며 적대적 학습과 GSI의 경우 기존 오차율보다 크게 증가한 것을 확인할 수 있었으며 GRM의 경우 기존 오차율과 동일한 성능을 유지할 수 있음을 확인하였다.
VGG16의 경우 특징 압축의 경우 원본 데이터에 대한 오차율보다 크게 나타났으며 적대적 학습과 GSI의 경우 기존 오차율보다 크게 나타났다. GRM의 경우 공격 수행 전 오차율과 동일하게 나타나는 것을 확인하였다.
본 논문에서는 적대적 공격을 수행하지 않았을 때 방어 기법을 적용하여 성능 저하가 발생하는지 확인하였다. 실험 결과 Table 5에서 확인할 수 있듯이 특징 압축을 적용한 모델의 경우 기본 모델의 오차율 보다 증가하였고 적대적 학습의 경우 Resnet18을 이용한 모델에서는 성능이 소폭 감소하였지만 Mobilenet과 VGG16을 이용한 모델에서는 성능이 향상된 것을 확인하였다. GSI와 GRM의 경우 세 모델 모두 기존 성능을 유지할 수 있음을 확인하였다.
Table 5. Performance evaluation without adversarial attacks
6.3 성능 분석
본 논문에서는 GRM에서 삼각 함수의 주기성을 나타내는 n의 영향력을 분석하였다. 분석을 위해 n을 변경해가면서 적대적 공격 중 다양한 연구에서 표준으로 사용되는 PGD 공격을 수행하였으며 이를 나타낸 것이 Table 6이다.
Table 6. Defense performance of GRM according to n
Table 6에서 확인할 수 있듯이 n이 255와 510일 때 기존 모델과 동일한 오차율을 보이고 그 이외의 n값에서는 PGD 공격을 방어하지 못한 것을 알 수 있다. 이미지는 픽셀값 {0, 1, 2, ..., 255}로 구성되며 0과 1 사이로 픽셀값을 구성하기 위해 255를 나눔으로써 정규화를 진행하게 된다. 따라서 GRM 방정식 \(\begin{align}x+\frac{1}{2 n \pi} \cos \left(2 n \pi x+\frac{\pi}{2}\right)\end{align}\)에서 x가 \(\begin{align}\frac{\text { Pixel Value }}{255}\end{align}\)일 때 \(\begin{align}2 n \pi \times \frac{\text { Pixel Value }}{255}\end{align}\)가 정수인 경우 GRM(x) = x를 만족하게 되어 기울기 부호 값이 0이 되게 된다. 즉, \(\begin{align}2 n \pi \times \frac{\text { Pixel Value }}{255}\end{align}\) 정수가 되기 위해서는 n은 255의 배수가 되어야 하는 것을 알 수 있으며 255의 배수일 때 기울기 기반 적대적 공격을 방어할 수 있음을 확인하였다.
Table 7은 앞서 설명했던 실험환경에서 각 대응기법을 적용하여 딥러닝 모델의 실행시간 비교를 나타낸다. 실행시간을 비교하기 위해 GEFORCE GTX 3090TI 에서 예측을 진행하였다. 특징 압축과 적대적 학습에서 각각 1.49ms와 0.1ms씩 느려졌으며 GSI와 GRM은 각각 0.5ms, 0.52ms씩 느려진 것을 확인하였다. GRM을 딥러닝 모델에 적용하였을 때 실행시간이 크게 증가하지 않음을 통해 제안된 방법은 실시간으로 구현하기에 충분함을 확인하였다.
Table 7. Run-time evaluation with countermeasures
VII. 결론
최근, 홈 네트워크, 스마트 팩토리, 자연어 처리, 그리고 자율주행 자동차와 같은 산업 분야에 인공지능 기술을 다양하게 활용하고 있지만 딥러닝 기술주 일부는 적대적 공격에 취약하다는 것이 기존 연구를 통해 밝혀졌다.
본 논문에서는 기울기 기반의 적대적 공격을 수행하기 위해 자율주행 시뮬레이션인 CARLA 시뮬레이션에 스티어링 각도와 가속도를 예측하는 모방 학습 기반의 End-to-End 딥러닝 모델을 구현하였다. 실험 결과 BIM, MI-FGSM, PGD, 그리고 CW와 같은 적대적 공격 기법들을 통해 딥러닝 모델이 스티어링 각도와 스로틀을 예측하지 못하여 자율주행 자동차가 올바르게 주행하지 못하는 것을 확인하였다. 또한 GRM을 적용하여 딥러닝 모델이 스티어링 각도와 스로틀을 정상적으로 예측하는지 확인하였다. 실험 결과 제안하는 GRM을 이용하여 기울기 기반 적대적 공격이 수행되더라도 공격에 대응하게 되어 정상적으로 예측할 수 있음을 확인하였다.
향후에는 기울기를 이용한 적대적 공격뿐만 아니라 적대적 전송 공격, 스코어 기반 적대적 공격 등 다양한 공격 알고리즘에 대한 대응 방안 연구가 필요하다.
References
- S. Grigorescu, B. Trasnea, T. Cocias, and G. Macesanu, ''A survey of deep learning techniques for autonomous driving,'' Journal of Field Robotics, Vol. 37, No. 3, pp. 362–386, 2020. https://doi.org/10.1002/rob.21918
- K. F. Lee, X. Z. Chen, C. W. Yu, K. Y. Chin, Y. C. Wang, C.Y. Hsiao, and Y. L. Chen, ''An intelligent driving assistance system based on lightweight deep learning models,'' IEEE Access, Vol. 10, pp. 111888–111900, 2022. https://doi.org/10.1109/ACCESS.2022.3213328
- M. Tauqeer, S. Rubab, M. A. Khan, R. Naqvi, K. Javed, A. Alqahtani, S. Alsubai, and A. Binbusayyis, ''Driver's emotion and behavior classification system based on internet of things and deep learning for advanced driver assistance system (ADAS),'' Computer Communications, Vol. 194, pp. 258–267, 2022. https://doi.org/10.1016/j.comcom.2022.07.031
- C. Szegedy, W. Zaremba, I. Sutskever, J. Bruna, D. Erhan, I. Goodfellow, and R. Fergus. Intriguing properties of neural networks. In 2nd International Conference on Learning Representations, ICLR 2014. 2014.
- I. Goodfellow, J. Shlens, and C. Szegedy, ''Explaining and harnessing adversarial examples,'' in Proc. Int. Conf. Learning Representations, pp. 1–11, 2015.
- T. K. S. Lab, ''Experimental Security Research of Tesla Autopilot'', Tencent Keen Security Lab, China, 2019.
- W. Xu, D. Evans, and Y. Qi, ''Feature squeezing: Detecting adversarial examples in deep neural networks,'' in Proc. 25th Annu. Netw. Distrib. Syst. Security Symp, pp. 1–15, 2018.
- M. Andriushchenko and N. Flammarion, ''Understanding and improving fast adversarial training,'' in Proc. NIPS, pp. 16048–16059, 2020.
- C. Lyu, K. Huang, and H.N. Liang, ''A unified gradient regularization family for adversarial examples.'' in Proc IEEE Int Conf Data Min, pp. 301–309, 2015.
- F. Tramèr, A. Kurakin, N. Papernot, I. Goodfellow, D. Boneh, and P. D. McDaniel, ''Ensemble adversarial training: Attacks and defenses,'' in Proc. 6th Int. Conf. Learn. Represent, pp. 1–22, 2018.
- X. Ji, L. Dong, R. Wang, D. Yan, Y. Yin, and J. Tian, ''Gradient sign inversion: Making an adversarial attack a good defense,'' in Proc. Int. Joint Conf. Neural Netw. (IJCNN), pp. 1–6, 2023.
- A. Dosovitskiy, G. Ros, F. Codevilla, A. Lopez, and V. Koltun, ''Carla: An open urban driving simulator,'' in Conference on robot learning. PMLR, pp. 1–16, 2017.
- K. Alexey, I. Goodfellow, and S. Bengio. ''Adversarial examples in the physical world,''Artificial intelligence safety and security. Chapman and Hall/CRC, pp. 99-112, 2018.
- Y. Dong, F. Liao, T. Pang and H. su, J. Zhu, X. Hu and J. Li, ''Boosting adversarial attacks with momentum,'' Proceedings of the IEEE conference on computer vision and pattern recognition. pp. 9185-9193, 2018.
- A. Madry, A. Makelov, L. Schmidt, D. Tsipras, and A. Vladu, ''Towards deep learning models resistant to adversarial attacks,'' In International Conference on Learning Representations, 2018.
- N. Carlini, and D. Wagner, ''Towards evaluating the robustness of neural networks.'' in Proc, pp. 39-57, 2017.
- F. Codevilla, M. Müller, A. López, V. Koltun, and A. Dosovitskiy, ''End-to-end driving via conditional imitation learning,'' in ICRA, pp. 4693-4700, 2018.
- S. Nadella, P. Barua, J. C. Hagler, D.J. Lamb, and Q. Tian, "Enhancing Accuracy and Robustness of Steering Angle Prediction with Attention Mechanism," In IEEE Intelligent Vehicles Symposium, pp. 2339-2344, 2024.
- U. M. Gidado, H. Chiroma, N. Aljojo, S. Abubakar, S. I. Popoola, and M. A. Al-Garadi, ''A survey on deep learning for steering angle prediction in autonomous vehicles,'' In IEEE Access, pp. 163797–163817, 2020.
- Y. Deng, X. Zheng, T. Zhang, C. Chen, G. Lou, and M. Kim ''An analysis of adversarial attacks and defenses on autonomous driving models.'' In IEEE international conference on pervasive computing and communications, pp. 1-10, 2020.
- H. Wu, S. Yunas, S. Rowlands, W. Ruan, and J. Wahlström. ''Adversarial driving: Attacking end-to-end autonomous driving.'' In 2023 IEEE Intelligent Vehicles Symposium, pp. 1-7, 2023