1. INTRODUCTION
최근 무인기 (Unmanned Aerial Vehicle, UAV)의 활용이 민간 분야부터 국방 분야까지 다양한 영역에서 증가하고 있다. 무인기는 정찰, 물류, 재난 구조 등 영역에서 사용되는 한편, 불법 촬영, 테러, 정보 수집 등 국가 안보와 공공 안전에 위협을 초래할 수 있다. 특히 북한의 무인기 침투 사례는 국가 안보를 위협하는 대표적인 사례로 볼 수 있다. 이러한 허가되지 않은 무인기의 침투를 방지하기 위해 Global Navigation Satellite System (GNSS) 신호 기만 기술이 주목받고 있다 (Choi et al. 2018). GNSS 기만 기술은 위성과 동일한 구조의 기만 신호를 통해 무인기의 항법 메시지를 교란하여 특정 위치로 유도하는 연구가 진행되었다 (Lee et al. 2019). 그러나 비행 상태 및 환경 변화를 실시간으로 반영하지 못해 비행 상태가 변경되는 경우 목표 지점으로 유도하기 어려운 문제가 있다. 이러한 문제를 해결하기 위해 강화학습을 이용한 무인기 기만 경로 유도 시뮬레이션을 제안한다. 강화학습은 에이전트와 환경 간의 상호작용을 통해 학습하는 방식으로, 변경되는 환경에 효과적으로 대응할 수 있다. 무인기의 기만 경로 유도 과정에서 강화학습을 적용하여, 변경되는 비행 상태를 실시간 학습하고 비행 방향을 제어함으로써 변경되는 상황에 대응하여 기만 경로를 유도할 수 있다. 실시간 비행 상태 변화 데이터를 효과적으로 학습하기 위해 Advantage Actor-Critic (A2C) 모델을 활용하며, 이는 실시간 처리에 최적화된 구조를 제공한다 (Duan et al. 2016, Haarnoja et al. 2018). 그리고 실시간으로 변화하는 상황에서의 강화학습은 실제 환경을 대체하는 시뮬레이션 기반으로 학습 모델을 구축할 수 있다 (Moon et al. 2020). 이 논문에서는 A2C 모델을 기반으로 실시간 시뮬레이션 환경에서 무인기의 기만 경로 유도를 위한 학습 모델을 구축하여 무인기의 비행 상태와 환경 변화를 실시간으로 처리하여 예측 불가능한 상황에도 유연하게 대응할 수 있는 기법을 제안한다. 2장에서는 이론적 배경을 설명하고 3장에서는 제안된 알고리즘을 설명한다. 4장에서는 시뮬레이션 결과를 서술하고 마지막으로 5장에서 결론과 향후 연구의 개선 방향을 제시한다.
2. THEORETICAL BACKGROUND
2.1 Reinforcement Learning
강화학습은 경험을 통해 최적의 행동을 도출하는 기계 학습의 한 분야이다. 강화학습은 Markov Decision Process (MDP) 기반으로 상태, 행동, 보상함수, 상태 전이 확률, 감가율로 구성된다. 에이전트와 환경의 상호작용에서 상태, 행동, 보상을 기반으로 학습하며, 이러한 과정을 반복하면서 누적 보상 값을 최대로 하는 정책을 찾는 것을 목표로 한다.
실제 강화학습은 MDP의 상태 전이 확률이나 보상 구조를 사전에 알지 못하는 경우가 일반적이다. 그래서 대부분의 연구는 Model Free에 대한 연구가 진행된다. 대표적인 접근법으로는 Deep Q-Learning (DQN)과 Actor-Critic 신경망 모델이 활용된다. DQN은 이산 행동 공간에는 효율적이지만, 연속적인 상황에서 메모리 소모가 크고 학습 효율이 떨어진다 (Mnih et al. 2013). Actor-Critic 모델은 Actor (정책 함수)와 Critic (가치 함수)으로 구성되어 있으며, 시간 개념을 도입한 A2C 신경망 모델이 있다 (Sutton & Barto 2018). A2C 모델은 순차적인 상태 또는 연속적인 행동 공간에서 신경망 학습이 가능하며, 행동 정책 기반 모델이기 때문에 실시간 처리에 적합하다 (Duan et al. 2016, Haarnoja et al. 2018).
2.2 GPS Spoofing Technique for Guiding of The Drone
Global Positioning System (GPS) 기만은 실제 위성과 동일한 GPS 교란 신호를 생성하여 드론의 항법 체계를 교란하는 기술이다. 이러한 기술을 통해 드론 위치를 유도하는 기법이 연구되었다 (Lee et al. 2019). 드론 위치를 유도하기 위해서는 웨이포인트 추정이 선행돼야 하며, 드론의 이동 경로를 유도하는데 필수적이다.
주어진 환경에서 설정된 교란 신호를 인가하여 드론 위치 변화를 유도한 후 비행 상태 변화 데이터를 분석하여 웨이포인트 지점을 추정하였다. 그리고 웨이포인트 추정 값의 정확도를 높이기 위해 교란 신호 인가 시간과 고도 변화 값을 변경하며 반복적으로 수행하였고 위치 변화가 없는 지점의 좌표를 웨이포인트로 추정한다.
드론 위치 유도는 교란 신호를 인가하여 드론의 위치 변화를 분석하고, 원하는 지점으로 경로를 유도하는 방식으로 이루어진다. 교란 신호 인가를 통해 위치 변화를 분석하며, 이를 통해 기만 신호를 인가하여 드론을 원하는 지점으로 이동할 수 있다.
3. SIMULATION OF UAV SPOOFING PATH GUIDANCE USING REINFORCEMENT LEARNING
이번 장에서는 시뮬레이션 환경에서 강화학습을 이용해 무인기를 목표지점까지 유도 기만하는 시뮬레이션을 설명한다.
3.1 Problem Definition
기존 GPS 기만 기술은 무인기의 항법 체계를 교란하여 목표지점으로 유도하는 데 사용된다. 그러나 이러한 기술은 웨이포인트 추정 기반의 교란 방식이기 때문에 웨이포인트가 변경되는 상황에서는 무인기를 유도할 수 없다. 또한, 반복적인 연산이 필요해 실시간 처리가 불가능한 한계가 있다. 이 논문에서는 이러한 한계를 극복하기 위해 웨이포인트를 추정 없이 강화학습을 활용해 실시간으로 변화하는 비행 상태를 학습하여 비행 방향 제어를 통해 기만 경로를 유도하는 기술을 제안한다.
강화학습을 이용한 무인기 기만 경로 유도 과정에서 환경과 에이전트의 관계 및 유도 기만의 상태, 행동, 보상은 Fig. 1과 같다. 기만 경로 유도 시 목표지점 (tp)은 무인기의 도착 지점이며, 기만 신호는 유도 기만으로 무인기의 경로를 유도하는 것으로 정의한다. 이 논문에서 사용된 주요 구성요소의 약어는 Table 1과 같이 정의하였다.
Fig. 1. Visualization of agent-environment and UAV spoofing path guided using reinforcement learning.
Table 1. Reinforcement learning terms and abbreviations definition.
Element | Description | Abbreviation |
Environment Agent State Action Reward Value Episode Time UAV velocity Velocity UAV position Target point Direction flag Guided path Target Azim Spoofing signal Distance |
Machine learning environment (UAV simulation) Machine learning agent Machine learning state Machine learning action Machine learning reward Machine learning value Number of simulations Time per Episode UAV North, East velocity (m/s), \(uv=(uvE,\ uvN)\) UAV- velocity (km/h) UAV North, East position North (m), \(up=(upE,\ upN)\) Target North, East position (m), \(tp=(tpE,\ tpN)\) Direction flag Guided Azim path (degree) Target Azim path (degree) Spoofing signal Distance UAM and target |
- - \(s, s^\prime\) a r \(V\) ep \(t\) \(uv\) v \(up\) \(tp\) df \(gp\theta\) \(ta\theta\) \(Sp\) d |
3.2 Reinforcement Learning Model and Simulation Structure
실제 환경에서는 지상 레이더 시스템을 통해 무인기의 위치 변화를 실시간으로 감지하고 추정된 위치 정보를 기반으로 비행 상태를 처리한다. 하지만 이 연구에서는 이러한 실환경의 레이더 기반 비행 상태 추정 정보를 시뮬레이션 환경으로 대체하였다. 시뮬레이션 환경에서 강화학습을 위한 상태 (state)는 무인기와 목표지점의 상대적 방위각으로 정의된다. 행동 (action)은 방위각으로 비행 방향을 제어하며, 보상 (reward)은 무인기의 비행 방향이 목표지점을 향할수록 증가하는 방식으로 설계되었다. A2C 모델은 실시간으로 변화하는 시뮬레이션 환경에서 에이전트와 상호작용하며, 상태, 행동, 보상을 통해 누적 보상 값을 최대화하는 정책을 학습하고 실시간으로 학습하는 정책을 통해 무인기의 기만 경로를 유도한다. 이 연구에서 제안한 무인기의 기만 경로 유도를 위한 강화학습 모델과 시뮬레이션 구조는 Fig. 2와 같다.
Fig. 2. The structure of A2C spoofing guided path model.
3.3 State Definition
상태 (s)는 Fig. 3과 같이 무인기와 목표지점의 방위각을 기반으로 계산한다 (Chae et al. 2023). 방위각을 계산하기 위해 NED 좌표상에서 무인기 위치 변화 값 (\({up}_{t+1}-{up}_t\))으로 속도 (\({uv}_t\))를 산출하며, 무인기와 목표지점 간 방위각은 Eqs. (1, 2)이고, 방향 식별자는 Eq. (3)이다. 방향 식별자는 좌측 또는 우측 비행 방향 식별자이다.
\(uN\theta_t={{\rm arctan}\left({uvEt\over uvNt}\right) * \pi \over 180}, tpN\theta_t={{\rm arctan}\left({tpE - upEt \over tpN- upNt}\right) * \pi \over 180}\) (1)
\(tpN\theta_t= \left\{ \begin{matrix} {uN\theta_t- tpN\theta_t \over 360} & \theta_{temp} ≤ 180 \\ {uN\theta_t- tpN\theta_t \over 360}-360 & \theta_{temp} > 180 \end{matrix} \right .\) (2)
\(df= \left\{ \begin{matrix} 1 & \theta > 0 \\ 0 & \theta ≤ 0 \end{matrix} \right .\) (3)
상태는 Eq. (4)와 같이 \(tpN\theta_t\)의 절대값과 방향 식별자 (\(df\))로 구성한다. 방위각은 이진데이터 상의 연속성을 위해 절댓값을 적용한다.
\(s_t=\left[ \left|{tpN\theta_t \over 180}\right|, df \right]\) (4)
Fig. 3. Visualization of state definition in reinforcement learning.
3.4 Action Definition
행동 (\(A_T\))은 에이전트가 현재 상태 (\(s_t\))에서 취할 수 있는 행동으로, 이 논문에서 무인기 비행 방위각으로 정의된다. Fig. 4와 같이 취할 수 있는 행동은 101개로 구성된다. 비행 방위각을 매핑하는 행동 집합 (A)을 정의하였다. 비행 방위각의 회전 범위는 -45°~45°로 제한하였다. 현재 상태에 따라 최적의 행동 (a)을 추출하고 행동 집합에서 대응하는 방위각으로 유도 기만 경로를 설정한다. 시뮬레이션에서 적용하는 방향 속도 (\({UV}_T\))는 Eq. (5)와 같다.
\(uv_t=({\rm sine} (uN\theta_t+A[a]), \cos(uN\theta_t+A[a]))\) (5)
Fig. 4. Visualization of action definition in reinforcement learning.
3.5 Reward Definition
보상 (\(r\))은 무인기의 비행 방향 벡터와 목표지점 방향 벡터 간의 코사인 유사도를 기반으로 정의한다. 두 벡터의 방향이 유사할수록 보상 값은 1에 수렴하며, 반대로 두 벡터의 방향이 상반될수록 보상 값은 −1에 근접한다. 비행 방향과 목표지점의 방향 벡터가 유사할수록 보상 값이 증가하도록 설정하였다. Fig. 5와 같이 현재 위치 (\({up}_t\))와 다음 위치 (\({up}_{t+1}\))의 방향 벡터와 현재 위치 (\({up}_t\))와 목표지점 (\(tp\)) 방향 벡터의 코사인 유사도를 활용한 보상식 Eqs. (6-8)을 적용한다. 목표지점까지 도달한 보상과 거리의 임계 값 초과 보상은 별도로 구분하여 적용하였다.
\(A=\left[{up}_{t+1}-{up}_t \right],\ \ \ B= \left[tp-{up}_t\right]\) (6)
\(\cos (\theta)={A\cdot B \over ||A||B||}, r_{Temp}=Threshold-d/1000*\cos(θ)_t\) (7)
\(r=\left( \begin{matrix} r_{Temp}*1.2 & \cos(\theta )_t>0.99 ~or \cos(\theta )t<-0.99 \\ r_{Temp}+2 & \cos(\theta )_t>0 ~and~ (\cos(\theta)_{t-1}<\cos(\theta)_t) \\ r_{Temp}-2 & \cos(\theta )_t<0 ~and~ (\cos(\theta)_{t-1}<\cos(\theta)_t) \\ 10 & Arrive ~Target \\ r_{Temp} & otherwise \end{matrix} \right)\) (8)
Fig. 5. Visualization of reward definition in reinforcement learning.
3.6 Neural Network Definition
A2C 신경망 네트워크는 Fig. 6과 같이 구성하였다. Actor, Critic 신경망의 입력층은 2개의 노드, 출력층은 101개의 노드로 구성된다. 그리고 은닉층은 2개의 레이어로 구성되며, 실험을 통해 각 레이어의 노드 수를 결정하였다. Actor 신경망의 은닉층에는 Leaky ReLU, 출력층에는 Softmax를 활성화함수로 적용하였다. Critic 신경망의 은닉층과 출력층의 활성화함수는 Leaky ReLU를 적용하였다. 최적화 함수로 Adam Optimizer를 적용하여 학습을 수행하였다 (Ruder 2017).
Fig. 6. The structure of actor-critic neural network.
4. EXPERIMENTS AND RESULT
이 논문에서는 무인기의 비행 상태를 실시간으로 확인하고 강화학습 기반 정책을 통해 기만 경로를 유도하는 과정을 시뮬레이션으로 구현하였다. 시뮬레이션은 2차원 환경이며, 비행 속도는 60 km/h, 반경은 10 km로 설정하였으며, 비행 초기 위치는 (0, 0)으로 지정하였다. 에피소드가 시작되면 목표지점이 생성되고 초기 위치에서 비행을 시작한다. 시뮬레이션은 1 Hz의 주기로 비행 상태를 갱신하며, A2C 모델을 적용하여 입력된 상태 변수에 따라 비행 방향을 실시간으로 제어하고, 이를 통해 기만 경로를 동적으로 유도하였다.
신경망 네트워크의 은닉층 노드 구성과 하이퍼 파라미터는 실험을 통해 도출하였다. Actor 은닉층 노드 개수는 각각 64, 128, 256개로 설정하였으며, Critic 은닉층 노드 개수는 Actor 은닉층 노드 개수의 2배로 설정하였다. 감가율(discount rate)는 0.9, 0.95으로 설정하였고 학습률(learning rate)은 0.0001, 0.0005으로 설정하여 실험하였다. 실험에서 은닉층 노드 구성과 하이퍼파라미터를 변경하면서 100번의 에피소드를 실행하였다. 실험 결과는 Table 2와 같이 Actor 은닉층 노드는 256개, Critic 은닉층 노드는 512 개, 감가율은 0.9, 학습률은 0.0005의 설정 값이 가장 높은 성공률(93%)을 기록하였다. Fig. 7a는 학습 과정에서 손실은 감소하고 가치는 증가하였고 Fig. 7b는 에피소드가 진행에 따라 스코어 값이 증가하는 것을 확인하였다.
Table 2. Experiment result of A2C neural network structure and hyper parameter optimization.
No. | Number of layer node | Discount rate | Learning rate | Success rate (%) |
1 | Actor: 2-64-64-101 Critic: 2-128-128-1 |
0.9 0.95 0.9 0.95 |
0.0001 0.0001 0.0005 0.0005 |
7 43 76 84 |
2 | Actor: 2-128-128-101 Critic: 2-256-256-1 |
0.9 0.95 0.9 0.95 |
0.0001 0.0001 0.0005 0.0005 |
26 67 89 90 |
3 | Actor: 2-256-256-101 Critic: 2-512-512-1 |
0.9 0.95 0.9 0.95 |
0.0001 0.0001 0.0005 0.0005 |
61 75 93 13 |
Fig. 7. Experiment result of reinforcement learning. (a) loss-value/episode chart, (b) score/episode chart.
강화학습이 완료된 모델을 활용한 실험 결과, Fig. 8a는 고정된 목표지점으로 경로를 유도하는 시뮬레이션 결과를 보여주며, 최적의 경로를 통해 모든 목표지점으로 기만경로를 유도하는 것을 확인하였다. Fig. 8b는 목표지점 변경 상황에서의 실험 결과를 나타내며, 목표지점이 변경되는 상황에서도 원하는 목표지점으로 기만 경로를 유도하는 것을 확인하였다. 실험 결과, 실시간으로 변경된 목표 지점에 대해서도 재학습 없이 기만 경로를 유도하는 것을 확인하였다. 특히 1 Hz 주기 내에서 강화학습 모델이 실시간으로 정책을 적용하고 비행 방향을 제어하는 것을 시뮬레이션을 통해 확인하였다. 결과적으로 강화학습을 통해 기만 경로를 실시간으로 유도하며, 다양한 환경 변화에도 안정적으로 동작하는 것을 확인하였다.
Fig. 8. Experiment result of spoofing guided path using reinforcement learning. (a) spoofing guided path per episode, (b) changing destination spoofing guided path.
5. CONCLUSIONS
이 논문에서는 강화학습을 이용하여 무인기의 기만 경로를 유도하는 시뮬레이션을 제안하였다. 무인기의 비행 경로 학습을 위해 시뮬레이션 환경을 구축하였으며, A2C 기반 강화학습 모델을 학습하였다. 그리고 실험을 통해 최적의 신경망 구성과 하이퍼파라미터를 설정하였으며, 무인기 시뮬레이션에 적용하여 기만 경로를 유도하는 실험을 수행하였다. 학습 모델을 적용한 실험에서 무인기가 영역 내 목표지점으로 이동함을 확인하였고 목표지점이 변경되는 상황에서도 기만 경로를 유도하는 것을 확인하였다. 결과적으로 강화학습 기법이 무인기의 경로를 유도하는 기만 기술에 효과적으로 적용될 수 있음을 입증하였다. 향후 무인기 형태와 기상 조건 등 다양한 환경을 고려한 연구를 통해 무인기 방어 체계에 실질적으로 적용될 가능성을 기대한다.
ACKNOWLEDGMENTS
This work was supported in part by the Agency for Defense Development (ADD) (912759101).
AUTHOR CONTRIBUTIONS
Conceptualization, I. K. Park, S. H. Choi; Methodology, J. K. Koo, C. O. Kang; Software, J. K. Koo, D. S. Lee; Validation, J. K. Koo, D. S. Lee; Investigation, J. K. Koo, D. S. Lee; Resources, C. O. Kang, I. K. Park; Writing-Review and Editing, C. O. Kang, I. K. Park, S. H. Choi.
CONFLICTS OF INTEREST
The authors declare no conflict of interest.
참고문헌
- Chae, M.-H., Park, S.-O., Choi, S.-H., & Choi, C.-T. 2023, Commercial Fixed-Wing Drone Redirection System Using GNSS Deception, IEEE Transactions on Aerospace and Electronic Systems, 59, 5699-5713. https://doi.org/10.1109/TAES.2023.3264193
- Choi, S.-H., Chae, J.-S., Cha, J.-H., & Ahn, J.-Y. 2018, Recent R&D Trends of Anti-Drone Technologies, Electronics and Telecommunications Trends, 33,78-88. https://doi.org/10.22648/ETRI.2018.J.330309
- Duan, Y., Chen, X., Houthooft, R., Schulman, J., & Abbeel, P. 2016, Benchmarking Deep Reinforcement Learning for Continuous Control. https://doi.org/10.48550/arXiv.1604.06778
- Haarnoja, T., Zhou, A., Abbeel, P., & Levine, S. 2018, Soft Actor-critic: Off-policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor. https://doi.org/10.48550/arXiv.1801.01290
- Lee, J.-S., Kang, G.-U., Kim, J.-S., & Son, S.-B. 2019, Simulation of GPS spoofing technique for estimating the destination and guiding of the drone, Proceedings of Symposium of the Korean Institute of Communications and Information Sciences, Seoul, Korea, 23-25 January 2019, pp.239-240. https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE08003287
- Mnih, V., Kavukcuoglu, K., Silver, D., Graves, A., Antonoglou, I., et al. 2013, Playing Atari with Deep Reinforcement Learning, In NIPS Deep Learning Workshop. https://doi.org/10.48550/arXiv.1312.5602
- Moon, I.-C., Jung, M., & Kim, D. 2020, Modeling and Simulation on One-vs-One Air Combat with Deep Reinforcement Learning, JKSS, 29, 39-46. http://doi.org/10.9709/JKSS.2020.29.1.039
- Ruder, S. 2017, An overview of gradient descent optimization algorithms. https://doi.org/10.48550/arXiv.1609.04747
- Sutton, R. S. & Barto, A. G. 2018, Reinforcement Learning: An Introduction, Second Edition (Cambridge, MA: The MIT Press), pp.328-333.