DOI QR코드

DOI QR Code

Formal Model of Extended Reinforcement Learning (E-RL) System

확장된 강화학습 시스템의 정형모델

  • Received : 2020.12.11
  • Accepted : 2021.05.25
  • Published : 2021.08.31

Abstract

Reinforcement Learning (RL) is a machine learning algorithm that repeat the closed-loop process that agents perform actions specified by the policy, the action is evaluated with a reward function, and the policy gets updated accordingly. The key benefit of RL is the ability to optimze the policy with action evaluation. Hence, it can effectively be applied to developing advanced intelligent systems and autonomous systems. Conventional RL incoporates a single policy, a reward function, and relatively simple policy update, and hence its utilization was limited. In this paper, we propose an extended RL model that considers multiple instances of RL elements. We define a formal model of the key elements and their computing model of the extended RL. Then, we propose design methods for applying to system development. As a case stud of applying the proposed formal model and the design methods, we present the design and implementation of an advanced car navigator system that guides multiple cars to reaching their destinations efficiently.

강화학습은 한 환경에서 에이전트가 정책에 따라 액션을 취하고 보상 함수를 통해 액션을 평가 및 정책 최적화 과정을 반복하는 Closed-Loop 구조로 이루어진 알고리즘이다. 이러한 강화학습의 주요 장점은 액션의 품질을 평가하고 정책을 지속적으로 최적화 하는 것이다. 따라서, 강화학습은 지능형 시스템, 자율제어 시스템 개발에 효과적으로 활용될 수 있다. 기존의 강화학습은, 단일 정책, 단일 보상함수 및 비교적 단순한 정책 업데이트 기법을 제한적인 문제에 대해 제시하고 적용하였다. 본 논문에서는 구성요소의 복수성을 지원하는 확장된 강화학습 모델을 제안한다. 제안되는 확정 강화학습의 주요 구성 요소들을 정의하고, 그들의 컴퓨팅 모델을 포함하는 정형 모델을 제시한다. 또한, 이 정형모델을 기반으로 시스템 개발을 위한 설계 기법을 제시한다. 제안한 모델을 기반으로 자율 최적화 자동차 내비게이터 시스템에 적용 및 실험을 진행한다. 제시된 정형 모델과 설계 기법을 적용한 사례연구로, 복수의 자동차들이 최적 목적지에 단 시간에 도착할 수 있는 진화된 내비게이터 시스템 설계 및 구현을 진행한다.

Keywords

1. 서론

기술이 고도화됨에 따라 AI (Artificial Intelligence) 에대한 관심이 높아지고 이와 관련된 기술 및 알고리즘에 대한 관심도 높아지고 있다. 그 중 강화 학습은 인간이 학습하는 과정과 매우 유사하다는 특징으로 AGI (Artificial General Intelligence)에 가장 가깝다는 평가를 받아 대두되고 있는 알고리즘이다.

이러한 강화학습은 주어진 환경에서 에이전트를 통해 정책에 따라 액션을 취하고 보상함수로 액션을 평가하며 정책을 갱신하는 Closed-Loop로 구성된다. 특히 에이전트는 목표에 따른 보상을 최대로 얻기 위해 환경을 탐험하고 학습한다. 이렇게 인간이 학습하는 과정과 유사한 강화학습의 매커니즘은 최적 알고리즘을 명시적으로 도출하기 어려운 복잡한 문제에도 활용할 수 있는 장점을 가진다.

이러한 복잡한 문제를 해결하기 위한 강화학습 모델설계 및 구현의 난이도는 매우 높다. 복잡한 문제들은 다중 정책, 다중 에이전트, 에이전트 간 잠재적인 공유자원, 에이전트의 목표간의 충돌, 다중 보상함수, 그리고 최적인 강화학습 요소의 동적 선택 등의 복잡하고 정교한 설계를 요구한다. 하지만 서적, 문헌 및 논문에서 제시되는 대부분의 연구들은 단일 요소 기반 강화학습을 통해 제한된 문제에 대해 해결책을 제시하거나[1-7] 특정 요소만 다중 요소로 적용하는 설계 및 방식을 보여주고 있다 [8-10].

본 논문에서는 이에 대한 해결책으로 실용적으로 구현 가능하고 복잡한 문제들의 다중 요소들을 포괄적으로 다루는 확장된 강화학습 (Extended RL)에 대한 정형 모델을 제안한다. 본 정형 모델에서는 다중 에이전트, 다중목표, 다중 정책, 그리고 다중 보상함수를 포함한 강화학습의 구성요소의 메타 모델과 컴퓨팅 모델을 제안한다. 이러한 정형 모델은 복잡한 문제에 적용할 수 있으며 강화학습 기반 해결책을 도출한다.

본 논문의 3장에서는 확장된 강화학습의 구성요소에 대한 정형 모델과 이에 대한 컴퓨팅 모델을 제시한다. 4 장에서는 3장에서 제시된 모델을 위한 SW 디자인을 제시한다. 5장에서는 3장과 4장을 기반으로 작성한 자율 최적화 자동차 내비게이터 시스템 (Self-Optimizing Car Navigator System, SOCAN) 연구를 제안하여 본 논문에서 제시한 내용에 대해 검증한다.

2. 관련 연구

본 장에서는 강화학습에 관한 관련 연구들을 살펴본다. 먼저 강화학습 기반 설계, 프레임워크 또는 알고리즘을 제시한 연구들을 살펴본다 [11-16].

Wang의 연구에서는 모바일 IoT 기반 다중 모드를 활용한 강화학습 서비스 프레임워크를 제안했다 [11]. 해당 연구에서는 여러 모바일 IoT를 통합하고 활용하기 위해 강화학습에 데이터 융합 솔루션과 최적 정책을 찾기 위한 알고리즘을 제시하고 뉴욕 택시 데이터로 실험하였다.

Yao의 연구에서는 무선 네트워크에서 재밍을 방지하는 알고리즘을 학습하기 위한 협동하는 다중 에이전트 강화학습 알고리즘을 제안했다 [12]. 해당 연구에서는 유저 간 협동을 위해 Q 러닝에 기반한 협력적인 멀티 에이전트 안티 재밍 Model-Free 알고리즘을 제안하고 센싱 기반 방법과 제안한 방법을 비교하였다.

Liu의 연구에서는 시스템 제어를 위해 병렬 강화학습이라고 하는 기계 학습 프레임워크를 제안한다 [13]. 해당 연구에서는 Actor Critic, Policy-Based, Value-Based, Model-Based 또는 Model-Free 등 기존의 강화학습 체계의어플레이케이션에 대해 제안한 프레임워크를 적용하고 그 사례들을 소개하였다.

이 연구들에서 강화학습을 이용한 설계 및 알고리즘은 강화 학습의 구성 요소에서 단일 요소만을 사용했거나 한 가지 요소만을 다중 요소로 확장하여 사용했으며 특정 도메인 및 알고리즘에 제한되는 모습을 보인다. 즉, 현실에서 다중요소로 구성된 일반적인 문제로 확장하기 어렵다는 한계점이 있다.

다음으로 특정 분야에서 일부 요소를 다중 요소로 확장한 강화학습 알고리즘을 적용한 연구들을 살펴본다 [17-19]. 그 중 Zheng의 연구에서는 알고리즘 트레이딩 분야에 강화학습을 적용하여 금융 시장에 적응할 수 있는 거래 에이전트를 제안했다 [17]. 해당 연구에서는 DQN, A3C 알고리즘 기반으로 확장된 강화학습 아키텍처를 제안했으며 시장 정보를 분석하기 위해 SEAE, LSTM 등의 기법을 적용했고 10년간의 시장 데이터로 실험하였다.

하지만 Zheng의 연구를 포함한 이러한 연구들은 일보 요소에서 다중 요소를 제안했음에도 특정 분야에 종속적인 연구이므로, 현실의 다른 도메인에 적용하기 어렵다는 한계점이 있다.

마지막으로 기존 강화학습에서 소수의 구성 요소를 확장한 연구들을 살펴본다 [20-25]. 1먼저 Kun의 연구에서는 반사실적 보상을 통한 다중 에이전트 기반 강화학습을 제안했다 [20]. 해당 연구에서는 한 환경 내에서 다중 에이전트 간의 생기는 문제점을 해결하기 위한 보상함수 기반 알고리즘을 제시하였다. 이를 증명하기 위해 그리드 공간 및 모나코 시의 교통 환경 시뮬레이션에서 실험하였다.

Tianshu의 연구에서는 대규모 교통 신호를 제어하기 위한 다중 에이전트 강화학습을 제안했다 [21]. 해당 연구에서는 복잡한 도시 교통 네트워크에서 여러 에이전트들이 활용할 수 있는 분산된 강화학습 에이전트 알고리즘 및 정책을 제시하고 다중 에이전트 시뮬레이션 환경에서 실험하였다.

이러한 연구들은 소수의 다중 요소를 적용한 강화학습 알고리즘을 제시하여, 여러 다중 요소로 구성되어 있는 현실의 일반적인 문제의 다른 요소들을 다루지 못하는 한계점이 있다.

이처럼 기존 강화학습을 기반으로 한 연구는 활발하게 진행되고 있다. 하지만 최근 연구들 중 대다수의 연구들이 강화학습의 단일 요소들에 대해 진행되고 있다. 다중 요소의 경우, 일부 연구에서만 강화학습의 특정 요소에만 다중 요소 기법이 적용되고 있다. 즉, 현실 세계의 일반적인 문제를 해결하기 위해 기존의 강화학습 요소들을 확장해서 정의하고 솔루션을 제시하는 연구는 아직까지 드물다.

3. E-RL 시스템의 정형 모델

본 장에서는 E-RL을 적용한 지능형 시스템의 정형 모델을 메타 모델과 컴퓨팅 모델로 나누어서 정의한다.

3.1 E-RL 시스템의 메타 모델

E-RL 시스템은 7개의 요소로 구성되며 그 표현 식 (1) 과 같다.

E-RL-System = (ENV, Agent_List, Goal_List, Action_List, Reward_Function_List, Policy_List, Policy_Update_Scheme)       (1)

이러한 E-RL 시스템의 메타 모델의 구성요소 간의 관계를 (그림 1)과 같이 클래스 다이어그램으로 나타낼 수 있다.

(그림 1)은 9개의 클래스로 구성되어 있으며 중심은 RL System으로 나머지 클래스들은 직⋅간접적으로 RL System에 포함되는 구조를 가진다. 특히 Agent, Environment, Policy, 및 Reward Fucntion은 RL System의 핵심으로 더 강한 관계로 표현된다.

OTJBCD_2021_v22n4_13_f0001.png 이미지

(그림 1) E-RL 시스템의 클래스 다이어그램

(Figure 1) Class Diagram of E-RL System

3.1.1 목표 시스템의 운영 환경 (Environment)

ENV는 목표 시스템의 운영 환경에 대한 표현으로 줄여서 환경이라 한다. 환경은 (그림 1)과 같이 한 시스템에 하나의 환경 표현이 존재하며 에이전트와 상호작용할 수 있는 개체 (entity)들로 구성된다. 환경의 표현은 식 (2) 와같다.

\(E N V=\left(\begin{array}{llll} e_{1}, & e_{2}, & \cdots & e_{p} \end{array}\right)\)      (2)

ei는 환경 내 개체를 의미한다. 이 개체들을 통해 환경의 특정 순간을 정의할 수 있으며 이를 상태 (State)라고 한다. 즉, 특정 순간에 개체들이 가지는 값을 의미하며 표현은 식 (3)과 같다.

\(s_{t}=\left(\begin{array}{llll} e_{1, t}, & e_{2, t}, & \cdots ; & e_{p, t} \end{array}\right)\)      (3)

st는 시간대 t에서의 환경의 상태를 의미하며 ei, t는 시간대 t에서 개체 ei가 가지는 값을 의미한다. t는 절대적인 시간개념이나 상대적인 순서 개념을 의미한다.

상태의 수는 환경은 개체들을 통해 (그림 1)과 같이 하나의 환경으로부터 복수개의 상태가 존재하며 표현은식 (4)와 같다.

\(\text { State_List }=\left(s_{l}, s_{2}, \cdots, s_{q} \cdots\right)\)       (4)

State_List는 상태들의 목록을 의미하며 상태의 수는 복수로 표현된다. st는 시간 t일때의 상태를 의미한다.

3.1.2 E-RL 시스템의 에이전트 (Agent)

에이전트는 현재 목표를 달성하기 위해 환경과 상호작용을 하며 그 결과로 주어지는 보상을 최대로 받기 위한 객체를 의미한다. 에이전트는 (그림 1)과 같이 한 시스템에 단일 혹은 다중으로 구성되며 표현은 식 (5)와 같다.

\(\text { Agent_List }=\left(A G T_{1}, A G T_{2}, \cdots, A G T_{n}\right)\)       (5)

Agent_List는 이러한 에이전트의 목록을 의미하며 AGTi는 하나의 에이전트를 의미한다.

3.1.3 에이전트의 목표 (Goal)

목표는 에이전트의 액션의 지침 (Guide Line)을 의미한다. 모든 에이전트의 목적은 목표를 기반으로 최대의 보상을 쌓는 것이다. 이 과정에서 한 에이전트가 여러 개의 목표를 선택할 수도 있고 여러 에이전트가 동일한 목표를 선택할 수도 있다. Goal_List는 이러한 목표의 목록을 의미하며 표현은 식 (6)과 같다.

\(\text { Goal_List }=\left(G L_{l}, G L_{2}, \cdots, G L_{m}\right)\)       (6)

GLi은 하나의 목표를 의미하며 목표의 수는 에이전트 수나 정책의 수에 영향을 받지 않는다.

3.1.4 에이전트의 액션 (Action)

액션은 에이전트가 환경과 상호작용하는 수단을 의미한다. 에이전트는 액션을 통해 환경으로부터 보상을 받아 정책을 갱신할 수 있으며 동시에 환경의 상태변화를 불러 일으킬 수 있다. 액션은 에이전트의 종류에 따라 다양하며 복수개로 표현된다. Action_List는 액션의 목록을 의미하며 표현은 식 (7)과 같다.

\(\text { Action_List }_{a}=\left(A C T_{a, 1}, A C T_{a, 2}, \cdots, A C T_{a, 1}\right)\)       (7)

Action_Lista는 에이전트 a가 환경에 대해 가능한 액션들의 리스트를 의미한다. ACTa, i는 에이전트 a의 하나의 액션을 의미한다.

3.1.5 액션 평가 보상함수 (Reward Function)

액션 평가 보상함수는 환경과 에이전트의 상호작용에 따른 결과로 주어지는 보상을 결정하는 함수를 의미하며 줄여서 보상함수라고 한다. 보상 함수는 (그림 1)과 같이한 시스템에 단일 혹은 다중으로 구성되며 표현은 식 (8) 과 같다.

Reward_Function_List = RewardFN1, RewardFN2, … , RewardFNr)       (8)

Reward_Function_List는 보상함수의 목록을 의미하며 RewardFNi은 하나의 보상함수를 의미한다.

일반적인 RewardFNi의 입력값은 환경의 상태, 에이전트 및 에이전트의 액션이며 출력값은 숫자 값으로 주어진다. 보상함수의 입력값은 에이전트의 종류와 해당 에이전트의 액션, 그리고 환경 상태에 기인한다. 출력값은 보상으로 리워드 (Reward) 와 페널티 (Penalty)로 구분된다. 리워드는 현재 환경에서 진행한 액션이 목표에 적합했음을 의미하며 페널티는 반대의 경우로 적합하지 않았음을 의미한다. 설계 목적에 따라 둘 중 하나만 존재할 수도 있으며 값의 범위가 설정될 수도 있다. 보상은 정책을 갱신할 때 사용되고 에이전트의 기본적인 목적은 이 보상을 최대로 얻는 것이므로 보상함수의 설계는 정책의 수렴과 에이전트의 액션에 큰 영향을 미친다.

3.1.6 정책 (Policy)

정책은 환경의 상태에 따른 에이전트의 액션을 결정한다. 이러한 정책은 에이전트의 목표와 환경 정보에 따라 달라지며 에이전트의 액션을 통해 얻어지는 보상을 바탕으로 갱신된다. 정책은 (그림 1)과 같이 한 시스템에 단일 혹은 다중으로 존재하며 표현은 식 (9)와 같다.

\(\text { Policy_List }=\left(\pi_{l}, \pi_{2}, \cdots, \pi_{s}\right)\)      (9)

Policy_List는 이러한 정책의 목록을 의미하며 πi는 하나의 정책을 의미한다.

3.1.7 정책 업데이트 (Policy Update Scheme)

정책 업데이트는 정책을 갱신하는 방식 (Mechanism) 을 의미한다. 강화학습 내에서 정책의 갱신은 정책을 사용하는 에이전트들이 해당 상태에서 적합한 액션을 할 수 있도록 진행되어야 한다. 정책 업데이트는 이러한 정책 갱신의 방향을 결정하므로 에이전트의 행동에 직접적인 영향을 준다. Policy_Update_Scheme는 이러한 정책 업데이트를 의미하며 그 표현은 식 (10)과 같이 함수로 표현될 수 있다.

\(\pi_{\text {new }}=\operatorname{update}\left(E N V, \operatorname{RewardFN}, \pi_{\text {old }}\right)\)      (10)

함수 update는 정책 업데이트 Policy_Update_ Scheme 를 의미한다. πnew는 이전 정책 πold가 갱신된 후 정책을 의미한다. 즉, 정책 업데이트는 시스템 내 현재 환경의 상태, 보상함수, 지금까지의 정책 등에 영향을 받으며 이는 시스템의 설계에 따라 달라진다.

특히 정책 업데이트는 정책에서 사용된 보상함수의 보상 종류에 따라 영향을 크게 받는다. 리워드인 경우 사용한 정책이 해당 상태에서 수행된 액션이 나중에 다시 수행될 수 있어야하며 페널티인 경우 사용된 정책이 해당 상태에서 향후 해당 액션을 반환하지 않도록 설계되어야 한다. 이러한 보상함수의 설계 및 정책 업데이트의 신뢰도를 결정하는 방법은 대상 응용 프로그램 도메인, 소프트웨어 분석 기법, 또는 응용 프로그램에 사용되는 기계 학습 모델에 따라 달라진다.

3.2 E-RL 시스템의 컴퓨팅 모델

E-RL 시스템의 컴퓨팅 모델은 여러 개의 Primitive Function들을 기반으로 액티비티 다이어그램 (Activity Diagram)으로 나타낼 수 있으며 그 일부는 다음과 같다.

(그림 2)의 액티비티들은 이벤트 “Start Learning”을 통해 시작되며 Specify Goal 부터 Upadte Policy까지 일련의 흐름을 가진다. 이때 목표 달성 여부에 따라 Acquire Current State부터 Update Policy가 반복된다.

OTJBCD_2021_v22n4_13_f0002.png 이미지

(그림 2) E-RL 액티비티 다이어그램의 일부

(Figure 2) Part of E-RL Activity Diagram

Specify Goal은 에이전트가 선택한 옵션에 기반하여 학습 시 에이전트의 목표를 설정하는 액티비티다. Choose Policy는 설정된 옵션을 기반으로 가능한 정책을 선택하는 액티비티다. Acquire Current State는 에이전트가 현재 상태 정보를 관찰하거나 환경으로부터 전달받아 인지하는 액티비티다. Acquire Action는 현재 상태를 기반으로 정책을 통해 액션을 도출하는 중요한 액티비티다. 정책에 따라 에이전트의 향후 액션이 결정되므로 이 액티비티에선 액션의 근거 (현재 상태 등) 를 잘 해석할 수 있어야 한다. Update Environment는 도출된 에이전트의 액션에 따라 환경을 갱신하는 중요한 액티비티다. 이 액티비티를 통해 에이전트가 액션을 실행하고 환경을 바꾸며 바뀐 환경의 상태를 다시 인지하게 된다. Compute Reward는 액션에 대해 평가하여 보상을 계산하는 중요한 액티비티를 의미한다. 이 보상으로 정책의 갱신 방향이 결정되기 때문이다. Update Policy는 환경의 상태, 에이전트의 액션, 그리고 계산된 보상을 바탕으로 정책을 갱신하는 핵심적인 액티비티를 의미한다. Update Policy의 알고리즘은 (표 1)로 표현된다.

(표 1) 정책 업데이트 알고리즘

(Table 1) Algorithm to Update Policy

OTJBCD_2021_v22n4_13_t0001.png 이미지

우선, 현재 얻어진 행동, 에이전트, 보상값, 환경을 data 변수에 수집한다 (Line 1). data는 집합 형태의 자료구조로 수집된 정보들을 시간순으로 저장한다. 만약 현재 상태가 주어진 정책 갱신 조건 (sCond)에 만족하지 못한다면 현재 사용하고 있는 정책을 반환한다 (Line 2-3). 조건을 만족할 경우, 갱신을 적용할 정책 객체를 새롭게 생성 후 정책 갱신을 진행한다 (Line 5-6). 갱신된 정책을 반영하기 전, 현재 사용하는 정책과 갱신된 정책의 효율성을 평가한다 (Line 7-8). 이 때 갱신된 정책의 효율성이 좋을 경우, 갱신된 정책을 반환한다 (Line 10-12). 반대로 현재 사용하는 정책의 효율성이 좋을 경우, 현재 사용하는 정책을 반환한다 (Line 13-14).

4. E-RL 시스템의 설계 기법

본 장에서는 3장에서 제시한 E-RL 시스템 정형 모델의 요소들을 실제 시스템으로 적용 및 구현할 때 사용되는 설계 기법을 제시한다.

4.1 환경(Environment)의 설계

환경 EVN는 다양한 개체들 ei을 포함하는 한 자료 구조로 표현되며 한 시스템 당 한 환경이 설계된다. 환경의 복잡성과 해당 환경에 존재하는 환경 요소의 수 및 특징에 따라 사용되는 자료 구조가 달라질 수 있으나, 각 환경 요소들의 값들과 다른 환경 요소들 간의 관계 표현이용이 한 그래프 구조를 주로 사용한다.

파이썬 환경에서 환경 구현 시, 딕셔너리 자료형을 이용하여 각 환경 요소의 특징 및 다른 환경 요소와의 연결 여부 등을 표현한다.

4.2 상태 집합(Set of States)의 설계

상태 집합 State_List은 일정 기준 혹은 일정 시간대 t 에 따라 수집된 ENV 내 개체 ei,t의 집합으로 구성된다. 해당 집합은 수집된 한 시점에서 개체 간 의 순서 (ea,t, eb t,, ek,t) 뿐만 아니라 한 개체에 대해 수집된 시점들의 순서 (ea,1, ea,2, , ea,x)도 중요하다. 따라서 데이터 간의 순서를 고려할 수 있는 다차원 자료 구조로 표현된다. 또한 해당 환경에서 수집된 환경 요소들의 상태가 다른 시간대에 수집이 되었음에도 같은 상태를 나타낼 수 있기 때문에 자료 구조 내 원소간 중복 허용이 필요하다.

파이썬 환경에서 상태 집합 구현 시, m*n 형태의 2차원 배열 (2D Array) 또는 2차원 리스트 (2D List)를 주로 사용한다. m은 시점 t에서 해당 ENV의 ei,t 의 개수를 나타내고 n은 ENV가 수집된 모든 시점들의 개수를 나타낸다. 이 배열의 원소 ei,t는 각 시점에서 획득된 환경 요소의 값이 되고 해당 원소의 구성에 따라 State_List의 차원은 2차원 이상으로 구현된다. 1차원 배열의 크기는 해당 환경의 환경 요소 개수와 일치한다. 이 배열의 크기는 시간의 흐름에 따라 증가한다.

4.3 에이전트(Agent)의 설계

한 시스템에서는 단일 또는 다중 에이전트 클래스가 존재할 수 있으며, 한 에이전트 클래스를 통해 다수개의 에이전트 객체가 생성될 수 있다. 식 (5)의 에이전트 AGTn는 하나의 클래스로 설계된다. 해당 클래스는 해당 에이전트가 갖고 있는 특성들 (Attributes)과 기능성들 (Operations)을 포함할 수 있게 설계된다.

에이전트 클래스는 해당 에이전트가 할 수 있는 액션 ACTa,i, 정책 πi, 목표 GLm 등을 설정할 수 있는 메소드를 포함하고 있다. 예를 들어 파이썬 환경에서는 각 AGTn 을 클래스로 구현, 리스트 타입의 Agent_List를 선언하여 해당 환경에 존재하는 에이전트들을 관리한다.

4.4 액션(Action)의 설계

액션 ACTa,i은 하나의 클래스로 설계된다. 한 액션은 에이전트의 종류, 현재 해당 에이전트의 위치, 리워드 함수 결과값 등으로 인해 결정된다. 따라서 액션 클래스 또한 액션을 수행한 주체와 그 특정 시기에 에이전트가 한 액션에 대한 정보를 포함하고 있다.

더불어 각 에이전트가 목적을 달성하기 위해 수행한 액션들은 정책 갱신 등에 쓰이므로 액션 클래스의 특성으로 액션이 수행된 시간 (시점) 이 반영된다.

4.5 정책(Policy)의 설계

정책 πi은 시스템의 환경 및 에이전트의 특징, 요구사항 등에 따라 다르게 결정되고 각 에이전트와 환경의 상호작용을 통해 발생하는 보상에 따라 갱신된다. 또한 한시스템 내에서 정책은 단일 또는 다중으로 설계되고 각 정책의 기능성이 상황에 따라 달라져야 하는 경우가 발생한다. 따라서, 이러한 정책의 특징을 반영하여 설계하기 위해 전략 패턴 (Strategy Pattern)과 템플릿 메소드 패턴(Template Method Pattern)을 적용한다. (그림 3)은 해당 패턴들을 적용한 정책 설계를 나타낸다.

OTJBCD_2021_v22n4_13_f0003.png 이미지

(그림 3) E-RL 시스템의 정책 설계

(Figure 3) Design of Policy in E-RL System

정책은 전략 패턴을 적용하여 Policy 인터페이스를 상속한 다수의 클래스들로 표현된다. 각 정책 클래스들은 정책의 기능성에 따라 표현이 되며 RL System에서 각 상황에 일치하는 정책 클래스를 선택하여 사용한다.

또한 템플릿 메소드 패턴을 적용하여 RL System 내에 있는 메소드에서 Policy 클래스 내에 있는 메소드를 호출할 때, 현재 사용하고 있는 정책에 대한 클래스의 메소드를 호출해서 사용한다. 예를 들어, RL System 클래스 내 getAction() 메소드는 내부에서 현재 사용하는 정책 객체 (curPolicy)의 setNextAction() 메소드를 호출하게 된다. 이때 curPolicy의 클래스에 따른 setNextAction()를 사용한다.

4.6 보상함수(Reward Function)의 설계

보상함수 RewardFNi는 에이전트의 종류 및 목표, 해당 환경, 현재 액션 등에 의해 한 시스템 내에서 단일 또는 다중으로 다양하게 구성되고 선택된다. 따라서 보상함수를 설계하기 위해 전략 패턴과 템플릿 메소드 패턴을 사용한다. (그림 4)는 위의 디자인 패턴들을 적용한 보상함수의 설계를 나타낸다.

OTJBCD_2021_v22n4_13_f0004.png 이미지

(그림 4) E-RL 시스템의 보상함수 설계

(Figure 4) Design of Reward Function in E-RL System

보상함수는 RewardFN 인터페이스를 상속받는 복수개의 클래스로 구성된다. 각 클래스들은 요구 사항에 따라서로 다른 보상 연산 알고리즘을 포함하고 있다. 이 때 선언된 보상함수 클래스의 개수와 정책 클래스의 개수는 요구사항에 따라 다르기 때문에 항상 일치하지는 않는다. 또한 템플릿 메소드 패턴을 적용하여 RL System에서해당되는 보상함수 클래스의 메소드를 호출하여 사용 가능하다.

4.7 정책 업데이트 (Policy Update)의 설계

정책 업데이트는 해당 환경의 반영 시점과 에이전트들 간의 정책 사용 시 충돌 등을 고려하여 두가지 방법으로 나뉘게 된다.

첫번째 방법은 즉시 업데이트 되는 경우로, 에이전트가 새로운 액션을 한 후 해당 액션에 대한 보상을 받을 때 일어나게 된다. 이 때 다른 에이전트들과 같은 정책을 사용하고 있을 시, 다른 에이전트의 액션 결정에도 영향을 미칠 수 있게 된다. 따라서 이 경우는 한 에이전트의 액션이 같은 정책을 사용하는 다른 에이전트의 액션 결정에 크게 영향을 주거나 즉시 정책 업데이트가 필요한 경우 사용된다.

두번째 방법은 일정 기간 후 정책 업데이트를 진행하는 경우이다. 해당 경우는 에이전트들이 하는 액션이 바로 정책에 반영될 필요가 없는 환경 또는 같은 정책을 사용하는 각 에이전트들의 액션이 서로에게 큰 영향을 주지 않아야 할 때 사용하게 된다. 이 경우는 정책 업데이트 주기를 기준으로 두가지로 나뉜다.

주기적인 정책 업데이트

간헐적인 정책 업데이트

주기적인 정책 업데이트의 경우, 한 정책을 사용하는 에이전트들에게서 수집된 수행한 액션, 보상 등의 정보량이 일정 기준점 (Threshold)를 초과하였을 때 혹은 현재 환경이 설정된 일정 시점에 도달했을 때 적용된다. 이 때 수집된 모든 데이터가 해당 정책을 업데이트 하는데 사용된다.

간헐적 정책 업데이트의 경우, 한 정책을 사용하는 에이전트들이 일정 횟수 이상 최적의 액션을 수행하지 못할 때 적용된다. 즉, 정책을 통해 생성된 총 액션 수 중 페널티를 획득한 액션의 수가 보상을 획득한 액션의 수보다 많아질 때 해당 정책을 업데이트하게 된다.

4.8 E-RL 시스템의 초기화 및 실행 설계

E-RL 시스템을 초기화 할 때, 해당 환경에서의 E-RL 시스템 요소들에 대한 요구사항이 반영되야 한다. 만약 해당 환경에 대한 초기 요구사항이 없을 때, 초기 결정의 공평성을 위해 관련된 값들을 모두 일정하게 설정한다.

해당 시스템 실행 시, 에이전트들의 상태 변화에 따라 정책 업데이트를 최적의 결과로 예측하도록 갱신해야 한다. 각 정책은 설정된 업데이트 방법에 따라 갱신된다.

5. 사례 연구

본 논문에서는 제안한 정형 모델의 타당성 및 효율성 검증을 위해 사례 연구로 내비게이터 시스템에 E-RL 시스템의 정형 모델을 결합한 가상 시뮬레이션 SOCAN (Self-Optimizing Car Navigator) 시스템을 설계하고 구현한다.

5.1 SOCAN 시스템 요구사항

SOCAN 시스템의 목적은 도시의 도로 교통 정보를 기반으로 운전자의 목표에 따라 최적의 경로를 현재 상황에 맞춰서 제공해 주는데 있다. 이러한 목적에 기반한 요구사항은 기능적 요구사항과 비기능적/품질 요구사항으로 구분한다.

5.1.1 기능적 요구사항

SOCAN 시스템의 목적에 기반한 기능적 요구사항은 다음과 같다.

운전자 등록: 이 기능은 SOCAN 시스템을 이용할 운전자 정보를 등록하는 기능이다. 운전자 정보에는 계정, 비밀번호, 기타 개인정보 등이 포함된다.

자동차 등록: 이 기능은 SOCAN 시스템을 이용할 자동차 정보를 등록하는 기능이다. 자동차 정보에는 차종, 출고날짜 등이 포함된다.

지도 등록: 이 기능은 SOCAN 시스템에 지도 정보를 등록하는 기능이다. 지도 정보에는 지역의 장소 (Place)의 ID 등의 장소의 정보와 도로 (Road)의 길이, 도로 타입, 유/무료 여부 등의 도로 정보가 포함된다.

주행 목표 설정: 이 기능은 출발 장소와 목적 장소를 입력하고 주행 목표를 설정하는 기능이다. 주행 목표는 최단 거리, 최소 시간, 최저 비용, 그리고 이 세가지를 일정 비율로 모두 고려한 복합 목표가 있다. 사용자는 시스템 내에서 이러한 주행 목표 중 하나를 선택하여 설정할 수 있다.

최적 경로 탐색: 이 기능은 주행 목표에 기반하여 최적 경로를 탐색하는 기능이다. 주행 목표에 기반하여 최적의 경로를 도출해야 한다.

내비게이션 시작: 이 기능은 입력된 정보를 기반으로 내비게이션을 시작하는 기능이다. 시작 시 현재 자동차의 위치에서 시작한다.

내비게이션 종료: 이 기능은 내비게이션을 종료하는 기능이다. 내비게이션은 자동차가 목적 장소에 도착하거나 사용자의 요구에 의해 종료될 수 있다.

내비게이션 통계 표시: 이 기능은 SOCAN 시스템에서 진행되었던 내비게이션 관련 통계를 표시하는 기능이다. 통계에는 내비게이션 진행 횟수, 내비게이션 목표 별 횟수 등이 있다.

현재 교통 지도 표시: 이 기능은 현재 교통 지도 정보를 화면에 보여주는 기능이다. 현재 자동차가 있는 도로 또는 장소를 중심으로 주변 장소 및 도로 정보를 지도에 표시한다.

경로 수정: 이 기능은 주행 목표에 기반하여 경로를 자율적으로 수정하는 기능이다. 도로를 이동하여 장소에 도착할 때 마다 최적 경로를 탐색하며 지역 교통 변화에 따른 최적 경로가 변경될 경우 현재 최적 경로를 변경한다.

보고서 생성: 이 기능은 SOCAN 시스템에 있는 일련의 기능들에 대해 주기적으로 생성하고 사용자 혹은 관리자 요청에 의해 비주기적으로 보고서를 생성하는 기능이다.

5.1.2 비기능적/품질 요구사항

사용자 주행 목표에 부합하는 최적 경로 도출: SOCAN 시스템의 품질 사안 중 사용자 측면에서 사용자 목표에 부합하는 최적 경로를 제시할 수 있어야한다. 예를 들어 주행자의 목표가 최단 시간으로 설정될 경우, 주행 거리 및 통행 요금은 고려사항이 아니다. 이 경우 현재 교통 상황을 고려하여 가장 빨리 도착할 수 있는 경로를 주행자에게 제시해야 한다.

전체 시스템 및 지역 교통을 위한 최적 경로 도출: SOCAN 시스템의 목적을 도시 전체 측면에서 보면 가능한 모든 차량이 원활하게 다니게 다닐 수 있어야 한다. 이를 위해서는 시스템 이용자들에게 정체된 구간을 피해서 제공해야 한다. 즉, 운행되는 모든 차량의 시간 당 이동 거리가 최대가 될 수 있도록 해야한다.

5.2 SOCAN 시스템 설계 및 구현

E-RL 시스템에 기반한 SOCAN 시스템의 메타모델은 동일하게 7개의 요소들로 구성된다. E-RL 메타 모델과 SOCAN 시스템의 메타 모델간의 관계는 다음과 같다.

ENV → SocanEnv

Agent_List → Car_List

Goal_List → DrivingGoal_List

Action_List → Action_List

Reward_Function_List → RewardFN_List

Policy_List → Policy_List

Policy Update Scheme → PUS

SOCANEnv의 설계: SocanEnv는 SOCAN 시스템 내 에이전트와 상호작용하는 개체들을 의미하며 그래프 자료구조로 구현된다. 정점 (Node)는 장소를 의미하며 간선 (Edge)은 장소간 연결 도로를 의미한다. 장소는 구분을 위한 ID 정보를 가지고 있으며 도로는 도로 거리 (Km), 통행 요금 (원), 현재 도로 내 교통량, 그리고 도로 내 평균 속도 (Km/h) 등의 정보를 가지고 있다. 이러한 SOCANEnv는 식 (11)과 같이 표현된다.

SOCANEnv = (Set_PL, Set_RD)       (11)

Set_PL은 장소들의 집합을 의미하며 Set_RD는 모든 도로들의 집합을 의미한다.

Set_PL와 Set_RD는 각각 식 (12), 식 (13)와 같이 표현된다.

Set_PL = (PL1, PL2, … , PLn)       (12)

Set_RD = (RDPLs, PLt | PLs and PLt ∈ Set_PL, and PLs ≠ PLt)       (13)

PLi는 SOCAN 시스템내 장소를 의미한다. RDPLS, PLt에서 PLs는 Set_PL에 속한 한 장소를 의미하여 PLt는 PLs 와 연결된 하나의 장소를 의미한다. 예를 들어 (그림 5) 는생성된 SOCANEnv의 일부를 나타낸다.

OTJBCD_2021_v22n4_13_f0005.png 이미지

(그림 5) SOCAN 환경 시스템의 시각화

(Figure 5) Visualization of SOCAN Environmental System

(그림 5)에서 원은 정점으로 장소를 의미하며 직선은 각 정점은 연결하는 간선으로 도로를 의미한다. 이 때 대부분 양방통행이며 일부는 일방통행이다. 정점의 색은 진한 파란색일수록 연결된 간선이 많다는 걸 의미하며 연한 노란색일수록 수가 적다는 것을 의미한다. 예를 들어 (그림 5)의 우측 하단에 있는 장소 PL003은 연결된 도로가 많은 정점이며 반대로 (그림 5)의 좌측 상단에 있는 장소 PL010은 연결된 도로가 적은 정점이다.

Car_List의 설계: Car_List는 SOCAN 시스템 내 에이전트인 자동차의 목록을 의미하며 표현은 식 (14)과 같다.

Car_List = (Car1, Car2, … , Carn)       (14)

Cari는 에이전트인 자동차 하나를 의미한다. SOCAN 시스템 내에서 자동차는 목표와 목적지를 설정하면 현재 위치부터 목적지까지 할당된 정책에 따른 최적의 경로에 맞춰 주행한다. 즉, 자동차의 액션은 현재 장소에 대해 목적지로 가기 위한 다음 장소가 된다. 자동차는 목적지에 도착하면 새로운 목표를 설정할 수 있으며 비활성화될 수 있다. 비활성화된 자동차는 시간이 지남에 따라 일정 확률로 활성화될 수 있다.

DrivingGoal_List의 설계: DrivingGoal_List는 주행목표 목록을 의미하며 표현은 식 (15)와 같다.

DrivingGoal_List =(DGL1, DGL2, … , DGLn)       (15)

DGLi는 주행 목표 하나를 의미한다. 이러한 주행 목표는 에이전트인 자동차의 현재 위치, 목적지, 또는 옵션에 따른 추가 값을 입력 받는다. 옵션은 자동차가 목적지까지 가는데 고려하는 사안을 의미한다. 가능한 옵션으로는 최단 거리, 최저 통행료, 최소 시간, 그리고 복합 옵션이 있다. 복합 옵션의 경우 최단 거리, 최저 통행료, 최소시간 요소들을 모두 고려한 것으로 각 요소에 대한 가중치도 설정한다.

예를 들어 300명의 에이전트 중 100명에게 4개의 옵션 중 하나를 임의로 할당하고 나머지 200명은 비활성화 상태를 유지할 경우 (그림 6)과 같이 표현된다.

OTJBCD_2021_v22n4_13_f0006.png 이미지

(그림 6) 장소 PL001 내 자동차들 및 현재 목표

(Figure 6) Cars and Current Goal in Place PL001

(그림 6)은 장소 PL001내에 존재하는 자동차들과 자동차들의 정보인 차 번호 및 옵션을 나타낸다. 즉, 현재 장소 PL001 내에 20대의 자동차가 있으며 ‘—inactivate—’ 는 비활성화 상태, ‘Toll Fee’는 최저 통행료 옵션, ‘Distance’는 최단 거리 옵션, ‘Travel Time’은 최저 시간 옵션, 그리고 ‘Complex’는 복합 옵션을 의미한다.

Action_List: Action_List는 SOCAN 내 에이전트가 가능한 액션을 의미한다. SOCAN에서는 액션은 에이전트가 현재 장소에서 다음 장소를 선택하는 것이므로 그 표현은 식 (16)와 같다.

Action_List = Set_PL       (16)

가능한 액션 목록은 선택 가능한 장소의 목록과 같다. SOCAN 시스템 내에서 모든 장소는 연결되어 있으므로액션 목록은 장소의 목록과 동일하다.

RewardFN_List의 설계: RewardFN_List는 SOCAN 시스템 내 보상함수 목록을 의미한다. SOCAN 시스템 내 에이전트가 가질 수 있는 옵션을 고려할 때 보상함수는 4개가 필요하며 그 표현은 식 (17)과 같다.

RewardFN_List = (RewardFNd, RewardFNtf, RewardFNtt, RewardFNcplx)       (17)

RewardFNd은 최단 거리, RewardFNtf은 최저 통행료, RewardFNtt은 최소 시간, RewardFNcplx은 복합 옵션을 위한 보상함수를 의미한다. 이러한 보상함수를 구현한 코드 중 RewardFNtt를 구현한 코드는 (표 2)와 같다.

(표 2) 최소 시간 옵션을 위한 보상함수 클래스

(Table 2) Reward Function Class for Shortest Travel Time Option

OTJBCD_2021_v22n4_13_t0002.png 이미지

RewardFNTT의 생성자는 페널티를 주기 위한 기준을 전달받는다 (Line 2~3). compute_rwd()는 보상을 계산하는메서드로, 최소 시간 옵션을 위한 보상함수의 경우에는 해당 도로를 주행한 후에 예상 시간과 실제 걸린 시간을 통해 결과를 구한다 (Line 6~7). 해당 값과 생성자를 통해 전달받은 기준 값으로 리워드와 페널티 여부를 결정한다 (Line 9~12).

Policy_List 및 Policy의 설계: Policy_List는 SOCAN 시스템 내 옵션에 따라 4가지가 존재하게 되며 그 표현은 식 (18)과 같다.

Policy_List = PolicyD, PolicyTF, PolicyTT, PolicyCplx)       (18)

PolicyD는 거리 기반으로 최적의 경로를 도출할 때 최단 거리 기반으로 도출하는 정책이며 PolicyTF는 최저 통행료, PolicyTT는 최소 시간을 기반으로 최적 경로를 도출한다. PolicyCplx는 이 3가지 요소를 모두 고려하여 각 값을 정규화 한 후 가중치를 곱해 해당 값이 최저가 되는 경로를 도출한다.

이 정책들의 구조는 FNN (Fully-connected Neural Network)의 신경망을 이용하여 구성한다. 작은 규모의 환경의 시뮬레이션은 리스트나 딕셔너리 등의 자료구조로도 충분하지만 복잡한 문제를 반영해야 할 경우 표현해야 할 상태의 공간 및 액션의 공간이 기하급수적으로 커지게 되어 이러한 자료구조로는 정책으로는 표현하기 어렵다. 이 경우, 신경망으로 이러한 상태 정보를 다룰 수 있으며 이에 따라 본 논문에서는 FNN을 사용한다. 신경망의 구성은 (표 3)과 같다.

(표 3) SOCAN 시스템의 FNN 레이어 구성

(Table 3) FNN Layer Configuration of SOCAN System

OTJBCD_2021_v22n4_13_t0003.png 이미지

해당 구조의 첫번째 Input 레이어에서 에이전트의 현재 환경 내 위치, 환경 내 시간, 현재 주변 교통량 등을 현재 상태로서 입력받는다. 그리고 Fully Connected 마지막 레이어에서 모든 액션들에 대한 값을 출력받는다. 이값은 각 액션들이 어느 정도의 보상을 주는 지에 대한 지표다. 이 지표 값들은 정책별로 연관된 목표와 보상함수에 따른 값들로 설정된다. 에이전트는 기본적으로 모험을 하는 경우를 제외하고 가장 높은 값에 해당하는 액션을 선택한다.

예를 들어 이러한 신경망 구조를 이용하여 최소 시간 옵션을 위한 정책을 구현한 코드는 (표 4)와 같다.

(표 4) 최소 시간 옵션을 위한 정책 클래스

(Table 4) Policy Class Code for Shortest Travel Time

OTJBCD_2021_v22n4_13_t0004.png 이미지

PolicyTT의 생성자는 정책의 구조로 신경망을 전달받는다 (Line 2~3). get_route()는 에이전트의 목표 및 현재 상황에 기반하여 최적 경로를 반환하는 메서드다 (Line 5~7). check_pol()은 보상을 통해 갱신된 정책이 이전 정책보다 더 좋은 결과를 보이는지 확인하는 메서드다 (Line 9~12). update_pol()은 수행된 액션과 액션이 수행된 상태, 그리고 보상을 통해 정책을 갱신하는 메서드다 (Line 14~21). 이 메서드는 check_pol()을 통해 갱신한 업데이트를 테스트한다 (Line 19). 그리고 그 결과에 따라 갱신한 신경망을 사용할지 기존 신경망을 사용할지 결정한다. 또한 이 정책의 갱신 시점을 결정은 정책 클래스 내부가 아닌 클래스 외부에서 결정한다. 갱신 시점은 최근 갱신으로부터 지난 시간, 현재 정책을 참조하고 있는 에이전트의 수, 갱신을 위해 누적된 데이터 수 등을 통해 결정된다.

PUS의 설계: PUS는 SOCAN 시스템 내 정책 보정을 의미한다. SOCAN 시스템 내 정책 보정은 한 장소에서 출발하여 도로를 통해 이동한 후 다음 장소에 도착할 때 진행된다. 즉, 정책 보정은 에이전트가 어떤 장소에 도착할 경우, 이전 장소에서 예측했던 값과 실제로 얻어진 값에 대해 보상함수로부터 도출된 값과 현재 상태 및 에이전트를 입력값으로 전달받아 진행된다.

이러한 정책 보정은 목표 및 보상함수에 따라 최소 시간 기반 정책을 위한 정책 보정과 복합 옵션 기반 정책을 위한 정책 보정이 존재한다. 이러한 정책 보정은 (표 4) 과같은 정책 클래스가 구현될 때 함께 구현된다.

5.3 실험 및 평가

5.3.1 개발 및 실험환경

본 SOCAN 시스템의 개발 및 실험은 파이썬으로 진행된다. 구현한 환경을 시각화하기 위한 Plotly, 신경망을 구현하기 위한 Tensorflow, 데이터 관리 및 작업을 위한 Numpy 등의 라이브러리를 사용한다.

5.3.2 실험 설정 및 시나리오

본 실험에선 E-RL 시스템을 적용한 SOCAN 시스템의 성능을 비교하기 위해 Dijkstra 알고리즘을 이용한 일반적인 내비게이터 (N-Navi) 및 Q-Leraning 알고리즘을 적용한 내비게이터 (NRL-Navi)를 사용한다.

N-Navi는 현재 환경 정보에만 기반하여 출발 장소부터 목적지까지 최저 시간이 걸리는 경로를 추천한다. 또한 이러한 결과가 향후 경로 추천에 반영되지 않는다.

NRL-Navi는 단일요소로 구성되어 표 형태 기반 단일정책을 사용한다. 이 정책은 N-Navi처럼 시간에만 기반하여 경로를 추천한다.

SOCAN 시스템은 5.2 SOCAN 시스템 설계 및 구현을 바탕으로 구현되며 메타 모델 중에서는 목표, 에이전트, 정책 그리고 보상 함수가 다중 요소로 사용된다. 따라서 SOCAN 시스템의 다중 정책은 다중 에이전트에서 각 목표를 통해 선택된 정책을 통해 수집된 정보로 갱신한다. 또한 SOCAN 시스템은 현재 시간대에서는 최적 경로일지라도 목적지까지 걸리는 주행 시간을 예측하여 변화하는 교통량에 따른 최적의 경로를 도출한다. 즉, 주행 중에도 환경 변화에 따라 더 좋은 결과가 도출될 경우 새로운 최적 경로를 추천해준다.

다음으로 실험 환경 및 동작에 대해 설명한다. 먼저 SocanEnv는 20개의 장소, 100개의 도로로 설정된다. 에이전트의 수는 N-Navi를 사용하는 100대, NRL-Navi를 사용하는 100대, SOCAN에서 선택 가능한 정책 별로 100대씩으로 총 600대의 에이전트로 구성된다. 이때 NRL-Navi 는 단일 요소 기반 시스템이므로 NRL-Navi를 사용하는 100대는 독립적인 시스템을 이용한다. Car_List의 Car들은 주행하면서 사용하는 내비게이터 또는 정책에 따라 필요한 값을 수집한다.

다음으로 이러한 설정을 바탕으로 본 실험에선 SOCAN 시스템의 우수함을 증명하기 위한 4가지 실험시나리오를 진행한다. 먼저 각 시나리오에 공통 적으로 적용되는 설정과 용어를 설명한다.

먼저 도로의 거리와 요금은 불변하며 환경 내 자동차의 수 및 도로의 자동차 수용량에 따라 장소 간 이동 시간만 변동한다. 실험에 설정된 시간대는 24시간 기준이며 다음과 같이 나뉜다.

출퇴근시간대: 오전 7~9시, 오후6~8시

주⋅야간시간대: 출퇴근시간대를 제외한 시간

출퇴근시간대는 교통 체증이 생기며 주⋅야간 시간대는 교통 체증이 없다.

다음으로 평가 측정을 위한 지표인 AvE를 설명한다. 먼저 AvE는 내비게이터의 성능을 측정하기 위해 에이전트가 실제 얻은 값 대비 예측 값을 통해 계산되며 메트릭은 식 (19)와 같다. 이때 값은 주행 옵션에 따라 다르다.

\(\begin{equation} A v E=\frac{\left(\text { Value }_{\text {Actral }}\right)}{\left(\text { Value }_{\text {Estimated }}\right)} \end{equation}\)       (19)

ValueEstimated은 내비게이터가 출발 장소부터 목적 장소까지 예측한 값을 의미한다. ValueActual은 내비게이터의 경로에 따라 출발 장소부터 목적 장소에 도착할 때까지의 실제 측정된 값을 의미한다. 이러한 AvE값의 범위는 (0, ∞)이며 0에 가까울수록 예측한 값보다 더 좋은 결과를 보였음을 의미한다. 1일 경우 예측한 값과 실제 기록된 값이 동일함을 의미한다. 1보다 크면 예측한 값보다 안 좋은 결과를 보였음을 의미하며 클수록 그 결과가 더욱 좋지 않음을 의미한다.

마지막 실험 시나리오 4가지는 다음과 같다.

시나리오1. 주⋅야간시간대 주행 시, 주⋅야간시간대 환경에 대해 충분히 학습한 SOCAN 시스템의 4개의 옵션과 NRL-Navi 및 N-Navi와 추천 경로에 따른 AvE값 변화 비교

시나리오 2. 출퇴근시간대 주행 시, 주⋅야간시간대 환경에 대해 충분히 학습한 SOCAN 시스템의 4개 옵션과 NRL-Navi 및 N-Navi 추천 경로에 따른 AvE값 변화비교

시나리오3. 주⋅야간시간대 환경에 대해 충분히 학습한 SOCAN 시스템의 PolicyTT와 PolicyCplx 옵션 및 NRL-Navi에 대해 주⋅야간시간대부터 출퇴근 시간대까지 주행 시 SOCAN 시스템의 PolicyTT와 PolicyCplx 옵션 및 NRL-Navi 추천 경로에 따른 AvE값 변화 비교

시나리오4. 출퇴근시간대인 환경 내 사고가 발생하여 갑작스럽게 물리적인 환경이 변화된 후, 이전 환경에 최적화 되어있는 SOCAN 시스템의 4개 옵션과 NRL-Navi 및 N-Navi 추천 경로에 따른 AvE값 변화 비교

5.3.3 결과 및 평가

각 실험의 결과 그래프에서 y축은 N-Navi, NRL-Navi, 그리고 SOCAN 시스템의 4개의 정책을 사용한 에이전트들에 대해 해당 회차에서 나온 AvE 합의 평균이다. 예를 들어 y값이 3이면, 실제 소요 시간이 예측 시간에 비해 평균적으로 3배 소모되었음을 의미한다. 각 실험의 x축은 시나리오 내 실험 회차를 의미한다. 즉 출발지에서 목적지까지 주행한 횟수를 의미한다.

실험1:

실험1은 시나리오 1을 기반으로 진행되었으며 그 결과는 (그림 7)과 같다.

OTJBCD_2021_v22n4_13_f0007.png 이미지

(그림 7) 실험 1의 결과

(Figure 7) Result of Experiment 1

SOCAN 시스템의 PolicyD와 PolicyTF는 환경의 시간이 지나도 거리와 통행료가 변하지 않기에 두 정책의 추천 경로를 통해 나오는 예상값과 실제값이 일치하여 AvE값이 1로 나온다. PolicyTT, PolicyCplx, N-Navi 그리고 NRL-Navi의 추천 경로를 통해 나오는 AvE값 또한 도로 위의 통행이 막히는 일이 없으므로 1에 가까운 AvE값이 도출된다. 즉, 도로가 막히지 않을 때는 모든 내비게이터가 예측한 값과 비슷한 결과를 보인다.

실험2:

실험 2는 시나리오 2를 기반으로 진행되었으며 그 결과는 (그림 8)과 같다.

OTJBCD_2021_v22n4_13_f0008.png 이미지

(그림 8) 실험 2의 결과

(Figure 8) Reuslt of Experimenet 2

SOCAN 시스템의 PolicyD와 PolicyTF는 환경의 상태가 크게 달라져도 거리와 통행료가 변하지 않기에 두 정책의 추천 경로를 통해 나오는 예상값과 실제값이 일치하여 AvE값이 1로 나온다. 반면 SOCAN 시스템의 PolicyTT, PolicyCplx와 N-Navi 모두 초기에는 AvE값이 2~3으로 예측값과 실제 결과가 일치하지 않는 모습을 보여준다. 하지만 시간이 지남에 따라 환경에 대해 학습하여 결과가 개선되는 모습을 보인다. N-Navi는 추천 경로의 AvE값의 범위가 여전히 2~3에서 변하지 않는다. NRL-Navi또한 실험 횟수가 증가하면서 AvE가 감소하는 모습을 보이지만, 단일 에이전트인 만큼 데이터 수집 속도가 느려 AvE 감소세가 SOCAN 시스템보다 느리다. NRL-Navi은 800회가 넘어서야 AvE값이 1.5보다 작아지지만 SOCAN 시스템의 PolicyTT, PolicyCplx은 550회 이후에 이미 AvE값이 1.5보다 작아지는 경로를 추천해준다. SOCAN 시스템은 700회 이후로는 AvE값이 거의 1에 근접하여 추천한 경로의 실제 주행시간이 예상 시간과 거의 같아지는 모습을 보인다.

실험3:

실험3은 시나리오 3을 기반으로 진행되었으며 그 결과는 (그림 9)와 같다.

OTJBCD_2021_v22n4_13_f0009.png 이미지

(그림 9) 실험3의 결과

(Figure 9) Reuslt of Experimenet 3

SOCAN 시스템의 두 정책 및 NRL-Navi 모두 주⋅야간시간대에는 예상 시간과 실제 주행 시간이 일치하는 최적 경로를 추천하고 있다. 반면 출퇴근시간대일 경우 초기에는 AvE값의 범위는 3~4으로 아직 출퇴근 시간대일 때의 환경을 반영하지 못한 모습을 보인다. 학습을 반복할수록 주⋅야간시간대에 대해 AvE값이 1에 근접해가는 경로를 추천한다. 다만 NRL-Navi는 단일 에이전트 시스템인 만큼 다중 에이전트 SOCAN 시스템의 정책에 비해 환경에 적응하는 속도가 느려, 750회차에 SOCAN 시스템의 두정책은 AvE값이 1에 가까웠지만 NRL-Navi는 여전히 2 이상의 값을 보여주고 있다. 그리고 시간 변화의 영향을 더 크게 받는 PolicyTT가 PolicyCplx에 비해 좀 더 빠르게 수렴하는 결과를 보인다.

실험 4:

실험 4에서는 시나리오 4를 기반으로 진행되었다. 본 실험에서는 태풍으로 인해 일부 도로가 침수되어 환경이 크게 바뀌었다고 가정한다. 태풍은 어떤 에이전트가 199 회차에 접어들었을 때 발생하여 전체 도로의 60%에 대해 자동차 가용량이 20~40%의 비율로 감소한다. 만약, 양방향 도로일 경우 양방향 모두 같은 비율로 자동차 가용량이 감소한다. 이전 환경에 최적화 되어있는 SOCAN 시스템의 4개 옵션 및 N-Navi의 추천 경로에 따른 AvE값변화를 비교한다. 그 결과는 (그림 10)과 같다.

OTJBCD_2021_v22n4_13_f0010.png 이미지

(그림 10) 실험4의 결과

(Figure 10) Reuslt of Experimenet 4

실험 초기 (~150회)에 모든 내비게이터들은 동일한 시간대의 실험 2의 후반부와 유사한 모습을 보인다. 150회차와 200회차 사이에서 환경 변화가 발생하여 200회차에서 SOCAN 시스템의 PolicyTT와 PolicyCplx, 그리고 NRL-Navi의 AvE값이 크게 증가했다. 300~400회 동안에는 SOCAN 시스템의 정책들이 변화된 환경에 적응하지 못해 N-Navi와 비슷한 값의 AvE값이 나오는 경로를 추천하는 경우도 나온다. 500회차 이후로는 AvE값이 2 밑으로 내려가고 결국 1에 가까워지며 정책이 변화된 환경에 적응해가는 모습을 보인다. NRL-Navi도 환경에 적응하는 모습을 보이지만 단일 에이전트 시스템인 만큼 SOCAN 시스템보다 느리게 수렴하는 모습을 보인다.

실험의 1~4의 결과를 표로 정리하면 (표 5)와 같다. 이때 4개의 정책을 가진 SOCAN 시스템의 경우 PolicyD와 PolicyTF는 (표 5)를 작성할 때 반영하지 않고 제외하며 PolicyTT와 PolicyCplx의 평균 값을 계산하여 적용한다. 결과를 비교하기 위해 사용하는 값은 환경에 대해 최대한 학습했다고 볼 수 있는 실험 마지막에 해당하는 값을 사용한다.

(표 5) 각 실험의 마지막에서 내비게이터의 AvE값

(Table 5) Navigator's AvE value at the end of each

OTJBCD_2021_v22n4_13_t0005.png 이미지

(표 5)를 통해 환경에 변화하지 않는 실험 1의 경우에는 세 내비게이터 모두 동일한 양상을 보였지만 환경이 달라지는 #2, #3, #4 의 경우에는 SOCAN 시스템이 가장 낮은 AvE을 보이는 것을 알 수 있다.

6. 결론

강화학습은 인간이 사고하는 매커니즘과 가장 유사한 알고리즘이다. 따라서 이러한 기존 강화학습으로 다중요소 기반의 복잡한 문제들을 해결하는 데 한계가 있다.

이에 본 논문에서는 다중 에이전트, 다중 목표, 다중정책, 다중 보상함수 기반으로 한 강화학습 정형 모델 및 설계 기법을 제시하였다. 또한 제시한 정형 모델과 설계기법을 이용하여 SOCAN 시스템을 구현하였고 해당 설계가 적용된 경우와 적용되지 않은 경우의 결과를 비교하였으며 적용한 SCOAN 시스템이 더 우수함을 보였다. 이렇듯 제시한 E-RL 시스템 정형 모델 및 설계 기법은 다중 요소를 요구하는 복잡한 문제에 적용될 수 있다. 더불어 이러한 문제에 대해 High Quality의 솔루션을 도출할 수 있다.

더불어 추가적인 연구를 통해 본 시스템의 정형 모델이 현실의 복잡한 문제들을 구체적으로 반영하기 위해각 요소들 간의 충돌 및 영향 등을 고려한 시스템 제안 및 설계를 하고자 한다.

References

  1. M. Wang, L. Wang and T. Yue, "An Application of Continuous Deep Reinforcement Learning Approach to Pursuit-Evasion Differential Game," in Proceedings of IEEE 3rd Information Technology, Networking, Electronic and Automation Control Conference (ITNEC 2019), Chengdu, China, pp.1150-1156, March 2019. http://dx.doi.org/10.1109/ITNEC.2019.8729310
  2. H. Huang and S. Li, "The Application of Reinforcement Learning in Amazons," in Proceedings of International Conference on Machine Learning, Big Data and Business Intelligence (MLBDBI), Taiyuan, China, pp.369-372, Jan. 2019. http://dx.doi.org/10.1109/MLBDBI48998.2019.00083
  3. T. Becsi, A. Szabo, et al., "Reinforcement Learning Based Control Design for a Floating Piston Pneumatic Gearbox Actuator," IEEE Access, Vol.8, pp.147295-147312, Aug. 2020. http://dx.doi.org/10.1109/ACCESS.2020.3015576
  4. S. Choi, et al. "Controller Learning Method of Self-Driving Bicycle Using State-of-the-Art Deep Reinforcement Learning Algorithms," Journal of the Korea Society of Computer and Information, Vol.23, No.10, pp.23-31, Oct. 2018, http://dx.doi.org/10.9708/JKSCI.2018.23.10.023
  5. G. Sun, G. O. Boateng, et al., "A Reinforcement Learning Framework for Autonomous Cell Activation and Customized Energy-Efficient Resource Allocation in C-RANs," KSII Transactions on Internet and Information Systems, Vol.13, No.8, pp.3821-3841, Aug. 2019. http://dx.doi.org/10.3837/tiis.2019.08.001.
  6. R. Sutton and A. Barto. Reinforcement Learning, second edition: An Introduction. Cambridge, Massachusetts: Bradford Books. 2018.
  7. D. Bertsekas. Reinforcement Learning and Optimal Control. Athena Scientific. 2019
  8. H. Dong, Z. Ding, and S, Zhang. Deep Reinforcement Learning: Fundamentals, Research and Applications. Springer. 2020.
  9. A. Zai and B. Brown. Deep Reinforcement Learning in Action. Manning Publications. 2020.
  10. H. Schwartz. Multi-Agent Machine Learning: A Reinforcement Approach. Wiley. 2014.
  11. P. Wang, L. T. Yang, et al., "MMDP: A Mobile-IoT Based Multi-Modal Reinforcement Learning Service Framework," IEEE Transactions on Services Computing, Vol.13, No.10, pp.675-684, Aug. 2020. http://dx.doi.org/10.1109/TSC.2020.2964663
  12. F. Yao and L. Jia, "A Collaborative Multi-Agent Reinforcement Learning Anti-Jamming Algorithm in Wireless Networks," IEEE Wireless Communications Letters, Vol.8, No.4, pp.1024-1027, Aug. 2019. http://dx.doi.org/10.1109/LWC.2019.2904486
  13. T. Liu, B. Tian, et al., "Parallel reinforcement learning: a framework and case study," IEEE/CAA Journal of Automatica Sinica, Vol.5, No.4, pp.827-835, July 2018. http://dx.doi.org/10.1109/JAS.2018.7511144
  14. J. Xu et al., "A Multi-Channel Reinforcement Learning Framework for Robotic Mirror Therapy," IEEE Robotics and Automation Letters, Vol.5, No.4, pp.5385-5392, Oct. 2020. http://dx.doi.org/10.1109/LRA.2020.3007408
  15. M. A. Abd-Elmagid, H. S. Dhillon and N. Pappas, "A Reinforcement Learning Framework for Optimizing Age of Information in RF-Powered Communication Systems," IEEE Transactions on Communications, Vol.68, No.8, pp.4747-4760, Aug. 2020. http://dx.doi.org/10.1109/TCOMM.2020.2991992
  16. W. Tang, B. Li, et al., "An Automatic Cost Learning Framework for Image Steganography Using Deep Reinforcement Learning," IEEE Transactions on Information Forensics and Security, Vol.16, pp.952-967, 2021. http://dx.doi.org/10.1109/TIFS.2020.3025438
  17. Y. Li, W. Zheng and Z. Zheng, "Deep Robust Reinforcement Learning for Practical Algorithmic Trading," IEEE Access, Vol.7, pp.108014-108022, Aug. 2019. http://dx.doi.org/10.1109/ACCESS.2019.2932789
  18. S. Mukhopadhyay, O. Tilak and S. Chakrabarti, "Reinforcement Learning Algorithms for Uncertain, Dynamic, Zero-Sum Games," in Proceedings of 17th IEEE International Conference on Machine Learning and Applications (ICMLA 2018), Orlando, FL, USA, pp.48-54, Dec. 2018. http://dx.doi.org/10.1109/ICMLA.2018.00015
  19. N. Ebell and M. Pruckner, "Coordinated Multi-Agent Reinforcement Learning for Swarm Battery Control," in Proceedings of IEEE Canadian Conference on Electrical & Computer Engineering (CCECE 2018), Quebec City, QC, Canada, pp.1-4, May 2018. http://dx.doi.org/10.1109/CCECE.2018.8447851
  20. K. Shao, Y. Zhu, et al., "Cooperative Multi-Agent Deep Reinforcement Learning with Counterfactual Reward," in Proceedings of International Joint Conference on Neural Networks (IJCNN 2020), Glasgow, United Kingdom, pp.1-8, Sep. 2020. http://dx.doi.org/10.1109/IJCNN48605.2020.9207169
  21. T. Chu, J. Wang, et al., "Multi-Agent Deep Reinforcement Learning for Large-Scale Traffic Signal Control," IEEE Transactions on Intelligent Transportation Systems, Vol.21, No.3, pp.1086-1095, March 2020. http://dx.doi.org/10.1109/TITS.2019.2901791
  22. D. Ha, "Reinforcement Learning for Improving Agent Design," Artificial Life, Vol.25, No.4, pp.352-365, Nov. 2019. http://dx.doi.org/10.1162/artl_a_00301
  23. D. Choi and S. Park, "Reinforcement Learning based Single AI trained from Multi-game." Journal of The Korean Society for Computer Game, Vol.32, No.3, pp.59-64, Sep. 2019. http://dx.doi.org/10.21493/kscg.2016.29.2.1
  24. S. Woo and Y. Sung, "Dynamic Action Space Handling Method for Reinforcement Learning Models, " Journal of Information Processing Systems, Vol.16, No.5, pp.1223-1230, Oct. 2020. http://dx.doi.org/10.3745/JIPS.02.0146
  25. M. Kang, K. Kim, "Analysis of Reward Functions in Deep Reinforcement Learning for Continuous State Space Control, " Journal of KIISE, Vol.47, No.1, pp.78-87, Jan. 2020. http://dx.doi.org/10.5626/JOK.2020.47.1.78