박채훈
(Chaehun Park)
1iD
정철민
(Cheolmin Jeong)
1iD
유재현
(Jaehyun Yoo)
2†iD
강창묵
(Chang Mook Kang)
1†iD
-
(Dept. of Electrical Engineering, Incheon National University, Korea.)
-
(Sch. of AI Convergence, Sungshin Women's University, Korea.)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Model based learning, PILCO, Gaussian process, External Control, Rotary inverted pendulum
1. 서 론
사람의 실수로 인해 발생하는 사고를 줄이고, 더 나은 편의성 제공을 위해 사람의 개입을 최소화하는 자율제어가 많은 관심을 받고 있다. 대표적인 예시인
자율주행 차량에서는 라이더(LiDAR), 카메라(Camera), 레이더(RADAR) 등의 다양한 센서를 활용하여 주변 환경을 인지하고 이 정보를 제어기에
전달하여 운전자를 목표지점까지 안전하게 운송한다(1), (2). 자율제어에서는 센서정보를 활용하여 다양한 제어 알고리즘이 적용될 수 있고 그 중 시스템의 미래 상태(state) 데이터를 활용하여 안정된 제어를
수행하는 최적 제어가 많이 활용되고 있다(3), (4).
이러한 최적 제어는 시스템의 수학적 모델을 활용하여 지령 명령과 시스템의 예측 상태 차이를 정량화하고 이를 최소화하는 수학적 접근 방식으로 많은 연구가
진행되었다(5), (6). 하지만 이 방법은 수학적 모델의 외란, 노이즈와 같은 환경 불확실성을 다룰 수 없는 제약이 있다.
기존 최적 제어에서 고려하지 못한 환경의 불확실성을 다루기 위해 제어의 주체가 되는 agent 또는 제어기를 학습시키는 강화학습이 그 대안으로 연구되었다(7)-(9). 강화학습은 agent가 실제 시스템과의 상호작용으로 스스로 제어를 학습하는 방법이다. 이때의 상호작용으로 얻은 상태 변수에는 수학적 모델이 고려하지
못한 불확실성 정보가 포함되어 기존의 최적 제어보다 환경에 강인한 제어를 도출할 수 있다.
하지만 agent가 수학적 모델 없이 시스템과 주변 환경을 이해하고 이에 대한 제어기를 학습하기 위해서는 많은 데이터가 필요하며, 즉 agent와
시스템 사이의 수많은 상호작용을 학습하기 위해 상당한 시간이 필요함을 의미한다.
학습 시간을 단축하기 위해 가상의 시스템 모델을 학습하고 제어기 학습 상호작용을 가상의 모델로 대체하여 실제 환경과의 상호작용을 최소화하는 모델 기반
학습을 적용할 수 있다(10). 이 중 PILCO(Probabilistic Inference for Learning Control)는 GP(Gaussian Process) 확률
모델을 구현하여 예측상태의 불확실성을 정량화하고, 활용하여 학습의 효율을 개선하는 방법으로 제시되었다(11), (12).
PILCO와 같은 모델 기반 학습은 시스템과의 상호작용을 줄여 학습 효율을 향상시킬 수 있으나, 안정된 제어기 학습까지 수많은 시행착오가 필요하다는
단점이 있다. 이러한 이유 때문에 외부 제어를 학습에 활용하여 학습 효율을 개선하는 방법이 연구되고 있다(13)-(16). (13)은 gaussian noise trajectory를 활용한 exploration 기법으로 local optima 문제를 다루고, 초기 학습되지 않은
제어 network를 보조하기 위해 PD 제어를 사용했다. (14), (15)는 지도 학습처럼 외부제어기를 학습하는 방법을 적용하였으며, local optima 또는 높은 연산을 처리해야 하는 외부제어기의 제약을 보완하였다.
(16)은 선형 외부 제어기와 강화학습이 상호작용하여 시스템을 제어하는 결과를 도출해냈다.
본 논문에서는 비선형 외부 제어기를 활용해 agent의 학습 효율을 향상시키고 외부 제어보다 향상된 제어성능을 나타내는 guide PILCO를 제안한다.
guide PILCO는 (14), (15)처럼 외부 제어를 학습하는 것이 아닌 외부 제어로부터 수집된 데이터로 가상의 모델을 학습하고, 이를 기반으로 보다 개선된 제어를 찾는 방법으로 불안정성을
나타내는 외부 제어도 활용할 수 있다. 또한 (13)과 유사하지만 실 환경과의 적은 상호작용으로 환경에 강인한 제어기를 학습시켰다는 차별성이 있다.
앞서 선행된 연구들과 같이 실 환경에서의 적은 상호작용으로 유효한 제어기에 도달하기 위해 guide PILCO는 외부 제어기를 데이터 수집기로 활용한다.
외부 제어기는 시스템이 목표상태에 도달하기 위해 지나쳐야 할 상태 변수를 수집하여 학습의 효용을 향상시키는 가상의 모델을 학습시키고, 이를 agent
학습에 활용한다. 또한 PILCO 가상 모델의 상태 예측 연산과 수집된 데이터 수의 인과관계를 고려하여(17) 수집데이터 중 일부만을 활용하는 방법을 적용했으며, 이러한 접근 또한 학습 효율 향상에 도움이 됨을 실험으로 검증하였다.
제안한 알고리즘을 검증하기 위해 guide PILCO로 RIP(Rotary Inverted Pendulum)의 제어기를 학습시켰으며, 학습된 제어기는
빠른 학습 성능을 나타내었으며, 학습에 도움을 준 외부 보조 제어기보다 안정된 제어성능을 보였다.
2. Reinforcement Learning
강화학습의 agent는 시스템과의 상호작용으로 데이터를 수집하고 스스로 동작을 평가하여 최적화 제어에 도달하는 방법이다. 하지만 agent를 실 환경의
시스템에 적용하여 평가하는 방법은 실제 시간이 소모되어 효율이 저하된다. 이에 대해 GP로 확률적 가상모델 구현하면 실 환경과의 상호작용을 최소화하고,
모델의 불확실성을 정량화할 수 있어 학습 효율을 개선할 수 있다(11), (12), (17). 본 session에서 GP 가상 모델 구현과 가상 모델에서 동작하는 PILCO 제어기 구조 그리고 학습 방법에 대해 설명한다.
2.1 Gaussian Process(GP)
모델 기반 강화학습은 시스템의 특성을 나타내는 가상의 모델을 구현하고 이를 agent 학습에 활용하는 방법이다. 모델 기반 강화학습은 데이터 수집과정이
가상의 모델 구현에 초점이 맞추어있기 때문에 실 환경과의 상호작용을 최소화할 수 있는 이점이 있으나 deterministic한 가상의 모델은 데이터에
나타나 있지 않은 불확실한 시스템의 상태를 다룰 수 없어 학습 효율이 감소한다. 이와 대조적으로 PILCO의 GP기반 확률적 가상 모델은 학습 모델의
불확실성을 정량화할 수 있고 이 정보를 활용하여 보다 효율적인 학습을 수행할 수 있다.
식 (1)은 비선형성을 내재하는 시스템의 상태 방정식을 나타내며 PILCO의 GP는 식 (1)을 대체할 수 있는 모델을 구현하여 agent 학습에 활용한다.
식 (1)의 $ x_{{t}}$는 모델의 상태 변수, $ u_{{t}}$는 입력, $\epsilon$는 시스템에 존재하는 백색 노이즈 그리고 상태 변수와 입력의
밑 첨자 ${t}$는 시간 step을 나타낸다. PILCO의 GP는 가상의 모델 동작을 나타낼 때 상태 변수 $ x_{{t}}$가 아닌 변화량 $\triangle_{{t}}$=$
x_{{t}+1}$-$ x_{{t}}$를 나타내는 모델을 학습하며, 모델의 변화량 $\triangle_{{t}}$로 $ x_{{t}+1}$에 대한
예측은 식 (2)와 같다.
식 (2)의 $\mu_{{t}+1}$, $\Sigma_{{t}+1}$은 $ x_{{t}+1}$에 대한 기대값과 분산을 나타내며 이 중 $\Sigma_{{t}+1}$은
모델의 불확실성을 정량화한값으로 cost의 기대값을 유도할 때 활용된다. ${E}_{{f}}(\triangle_{{t}})$와 ${var}_{{f}}(\triangle_{{t}})$는
GP에서 예측한 상태 변수 변화량의 기대값과 분산을 나타내면 이는 식 (3)의 과정으로 유도된다(17).
식 (3)의 $ k(\widetilde{X},\: \widetilde x_{{t}})$, ${K}(\widetilde{X},\: \widetilde{X})$그리고
$k(\widetilde x_{{t}},\: \widetilde x_{{t}})$들은 kernel function을 데이터에 따라 증강(augment)한
형태로 수집 데이터 수 ${N}$으로 그 크기가 결정된다. 식 (3)의 ${}\widetilde X$와 $ y$는 시스템과의 상호작용으로 수집된 상태 변수와 변화량, $\sigma$는 GP 모델의 불확실성을 나타내는
학습 파라미터이다. $\widetilde x_{{t}}$와 수집 데이터들의 집합 ${}\widetilde X$와의 상호작용을 나타내는 식 (2), (3)으로 $ x_{{t}}$변화량 $\triangle_{{t}}$을 예측할 수 있고 활용한 kernel function은 식 (4)와 같다.
식 (4)는 GP모델의 squared exponential kernel이며, 밑첨자 ${i}$로 나타낸 식 (4)는 ${t}$ step 데이터와 ${i}$번째 데이터 사이의 상관관계를 정량화한값이다. GP는 이 정보를 토대로 $\widetilde x_{{t}}$가
주어졌을 때의 다음 step 변화량을 예측하는 모델을 구현한다. GP가 보다 정확한 예측을 하기 위해서는 식 (3), (4)의 학습 파라미터 $\sigma ,\:\alpha$ 그리고 $\Lambda$의 학습도 중요하지만 수집 데이터와 ${t}$ step 상태 변수와의 상관관계도
중요하다. 이를 고려하여 본 논문에서는 학습에 도움이 되는 데이터를 수집하기위해 외부 제어기를 적용했다.
2.2 Nonlinear Agent Controller
PILCO에서는 시스템의 복잡도에 따라 선형 또는 비선형 제어를 선택할 수 있는데, RIP과 같이 역동적인 시스템에는 비선형 제어기가 적합하므로 식 (5)의 제어기를 적용했다.
PILCO 제어기 식 (5)는 M개의 kernel function $\phi_{{j}}(x_{t})$와 가중치 $w_{{j}}$가 결합된 형태로, 학습을 통해 RIP에 적합한
제어 parameter $\theta$를 학습해 간다. 그리고 시스템 동력 제약 특성을 식 (6)의 제약함수로 고려하여 실용적인 제어기를 도출할 수 있다.
PILCO는 시스템의 동력 즉 입력 제약을 고려하기 위해 식 (6)의 삼각함수 조합 방법을 적용할 수 있다. 식 (6)은 시스템 제약 특성을 고려할 수 있을 뿐만 아니라 $\pi( x_{{t}},\: \theta)$의 불확실성을 전파할 수 있는 이점이 있다(18). 또한 시스템 데이터 수집과정에서 $u_{{RL}}$의 크기를 의도적으로 낮춰 외부 제어가 데이터 수집의 주도권을 갖도록 설정할 수 있는데, 이는
시스템의 목표지점에 도달하기에 필요한 데이터 수집을 도와 학습의 효용을 개선하는 가상 모델을 유도하게 한다.
2.3 Agent Evaluation
PILCO는 2.2절에서 제어기를 학습시키기 위해 2.1절의 가상 모델에서 제어기를 동작시킨다. 이 과정에서 도출된 상태 변수로 식 (7)과 같이 expected long-term cost ${J}^{\pi}({}\theta)$를 정의하고 이 값이 최소화하도록 제어 파라미터를 학습한다.
식 (7)의 $ r$과 ${ W}$는 상태 변수 목표값과 오차의 가중치를 나타내며, cost ${J}^{\pi}({}\theta)$의 위첨자 $\pi$와 $\theta$는
agent는 입력과 입력의 파라미터를 의미한다. Loss 기대값 ${E}[l( x_{{t}})]$은 GP 모델의 상태 변수 확률 정보 $ x_{{t}}$~${N}({}\mu_{{t}},\:{}\Sigma_{{t}})$과
$l( x_{t})$을 결합하여 유도할 수 있다. 기대값 ${E}[l( x_{{t}})]$에는 상태 변수의 불확실 정보가 포함되어 있어, PILCO는
가상 모델의 불확실성을 고려하며 agent를 학습시킬 수 있다.
3. External Control
Agent가 빠르게 최적제어를 학습하도록 도달하기 위해 확률적 모델기반 학습 PILCO를 적용할 수 있으나 PILCO 또한 초기 무작위 동작부터 최적
제어에 도달하기까지 적지 않은 시간이 소모된다. 이에 대해 학습 초기 무작위 동작을 대체하고 최적 제어 도달에 필요한 데이터 수집을 돕는 외부 제어기를
활용해 본다. RIP 제어기는 고전적으로 pendulum을 세우기 위한 swing-up제어기와 균형을 유지하기 위한 balance제어기로 나눠지고
pendulum 각도에 따라 두 제어를 변경하여 pendulum을 세우고, 균형을 유지한다.
3.1 Swing-up control
그림. 1. QUANSER사의 회전형 역진자 시스템
Fig. 1. Compant QUANSER's Rotary inverted pendulum
RIP은 동작이 역동적이기 때문에 swing-up 모드에서는 pendulum의 특성을 선형화할 수 없어 식 (8)의 pendulum 에너지 모델을 활용한다.
$J_{{p}}$는 pendulum의 관성 모멘트, $\phi$는 pendulum angle, $m$은 pendulum 질량, $g$는 중력, $l$은
링크부터 pendulum 무게 중심까지 길이 그리고 $u$는 pendulum pivot에서의 선형 가속도이다. Swing-up 제어는 pendulum의
위치 에너지 ${E}_{{p}}$가 최고점 위치에너지 ${E}_{0}$에 도달하는 것을 목표로 하며, Lyapunov function의 안정도 증명으로
제어한다(19).
식 (9)는 swing-up 제어를 나타내며 $K_{{p}}$는 제어기의 비례 계수, ${E}_{{k}}$는 pendulum의 운동에너지 그리고 ${E}$는
pendulum의 운동⋅위치 에너지의 합을 나타낸다. 식 (9)의 swing-up제어기로 pendulum의 각 $\phi$가 balance제어영역에 도달하면 balance제어기로 변환되어 pendulum의 균형을
유지한다.
3.2 Balance control
RIP은 동작 영역에 따라 식 (10)의 선형 모델로 나타낼 수 있다.
식 (10)의 $r$은 rotary arm의 길이, $b_{{r}}$, $b_{{p}}$는 rotor와 pendulum의 viscous damping ratio
그리고 $J_{{r}}$은 rotary arm의 관성 모멘트이며(19), 선형 모델 식 (10)을 활용하여 pole placement, LQR 등의 모델 기반제어를 balance제어로 많이 활용한다. 본 논문에서는 swing-up제어기와 LQR
balance제어기를 외부 제어기로 활용하여 학습에 도움이 되는 상태 데이터를 수집하였다.
4. Guide Learn
기존 PILCO는 학습 초기 보장되지 않은 임의의 제어기를 활용할 수밖에 없다. 이는 RIP의 목표상태에 도달하기 위한 RIP의 입⋅출력 데이터 수집에
제약이 되어 agent가 local optima에 빠지게 할 수 있을 뿐만 아니라, 많은 시행착오로 데이터를 누적시켜 가상의 모델의 동작 효율을 저감
시킬 수 있다.
이에 학습 초기 제어 이론으로 보장된 외부 제어기 $u_{{ext}}$를 활용하여 학습의 효율을 개선할 수 있으며, (16)은 학습 제어 $u_{{RL}}$과 선형 외부 제어 $u_{{ext}}$가 결합된 $u_{{HY}}$를 학습시켰다. 두 제어기가 결합된 $u_{{HY}}$를
학습하기 위해서는 입력으로 전파된 상태 변수의 불확실성 $\Sigma$을 정량화해야 하며, (16)은 선형 외부제어기를 활용하여 불확실성을 정량화할 수 있었다. 하지만 swing-up과 같은 비선형 외부 제어기가 전파하는 불확실성은 정량화하기 어려움이
있다. 이러한 어려움을 피하고 외부 제어를 활용했을 때 이점을 얻기 위해 외부 제어기를 가상 모델 구현에 필요한 데이터 수집기로 활용했다.
외부 제어기가 데이터를 수집함으로써 학습의 효율을 높이는 가상 모델을 적은 데이터 수집과정으로 도출할 수 있고 학습을 통해 외부 제어보다 개선된 제어에
도달할 수 있다. 또한 적은 데이터 수집과정은 모델 동작에 활용하는 데이터 수를 줄여 가상 모델의 동작 효율을 향상시킨다. 본 session에서는
PILCO의 가상 모델 동작과 학습 효율 개선을 위해 수집된 데이터 중 일부만을 활용하는 방법의 이점과 외부 제어를 활용한 방법론을 소개한다.
4.1 Virtual Model Learning Efficient Improved PILCO
모델 기반 강화학습에서 데이터 수집과정은 실 시스템의 동작을 모사할 수 있는 가상 모델을 학습하기 위한 필수적인 과정이다. 이는 확률 기반 모델을
활용하는 PILCO에서도 마찬가지이나 데이터가 너무 누적되면 GP 모델의 동작 효율이 저감되고, 제어기 학습에도 영향을 준다.
그림. 2-a. Gaussian process, 10개의 sample 데이터를 활용한 sine 파형 예측
Fig. 2-a. Gaussian process predicts sine function, using 10 samples data
그림. 2-b. Gaussian process, 20개의 sample 데이터를 활용한 sine 파형 예측
Fig. 2-b. Gaussian process predicts sine function, using 20 samples data
데이터의 누적으로 GP 모델 동작 효율 저감을 해소하기 위해 실 시스템과의 상호작용으로 얻은 데이터 중 일부만을 수집하여 GP 모델 예측에 활용해
보았다. 이러한 방법으로 가상의 모델을 유도하고 상태 변수를 예측했을 때 기대되는 이점을 그림 2로 나타냈다.
그림 2는 GP를 활용하여 sine function을 예측한 결과를 나타내며, 붉은색 마커는 수집된 sine데이터, 푸른색 마커는 그림 2-a, b의 각 GP 모델이 예측한 sine의 결과 그리고 회색은 예측된 마커의 분산 즉 푸른색 마커 예측의 불확실성을 나타낸다.
GP는 각 데이터 사이의 상호작용을 활용하여 시스템의 동작을 예측할 수 있는데, 이는 그림 2-b의 수집데이터가 많은 -$\pi$~$\pi$외의 영역에서 불확실성의 증가로 확인할 수 있다. 예측하고자 하는 데이터의 입력이 수집 데이터 사이에 있다면
높은 정확도로 예측이 가능하며, -$\pi$~$\pi$에서는 수집데이터가 많아 높은 신뢰도로 예측할 수 있다. 하지만 그림 2-a와 같이 적은 데이터의 GP 모델도 정확한 예측을 수행할 수 있고 너무 많은 데이터는 예측 계산에 많은 시간을 소모한다. 현재의 10, 20개의 적은
수 데이터와 1 차원의 입⋅출력을 활용하는 것은 큰 효율 개선을 확인하기 어려우나 다차원의 상태 변수를 갖는 실 시스템 모델 구현에서는 연산 효율의
개선을 기대할 수 있다.
본 논문에서는 외부 제어 활용 이외의 위 방법을 함께 적용하여 가상 모델 구현에 필요한 데이터 수를 줄여 가상 모델의 동작 효율을 개선할 수 있었다.
4.2 Guide PILCO by External Control
PILCO 효율을 개선시키는 데이터를 수집하기 위해서 학습 초기 임의로 설정된 제어기 대신 외부 제어기를 활용한 데이터 수집으로 대체할 수 있다.
하지만 외부제어만으로 시스템 데이터를 수집하면 매 순간 동일한 동작 특성 데이터를 수집하게 되어 효율성이 저하될 수 있다. 또한 학습된 $ u_{{RL}}$을
실제 시스템에 적용하여 가상 모델의 동작을 예측을 조정할 수 있는 단계가 누락된다. 이러한 문제는 외부 제어를 결합한 hybrid 입력 $ u_{{HY}}$와
$ u_{{RL}}$를 학습 상황에 맞게 변경하여 해결할 수 있다.
알고리즘 1은 외부 제어가 PILCO학습에 도움을 주는 guide PILCO의 개요이다. PILCO 초기 임의의 제어 파라미터 기반의 데이터 수집과정은
학습에 효과적인 데이터 수집이 제한되기 때문에 line 2와 같이 외부 제어와 결합된 hybrid 제어 $u_{{HY}}$로 데이터를 수집한다. 이때
외부제어가 hybrid 제어의 주도권을 가지게 하기 위해 max(|$u_{{RL}}$|)보다 max(|$u_{{ext}}$|)이 더 큰값을 갖도록
설정한다. 이후 line 4~6의 과정은 기존의 PILCO와 동일하다. line 7은 $u_{{HY}}$외의 $u_{{RL}}$활용해 데이터를 수집하기
위한 조건문으로 이에 대한 조건은 실험적으로 도출하였다. line 11~13에서 $u_{{RL}}$로 데이터를 수집하고, 동작 데이터를 평가 후 학습
목표에 도달할 수 있는 유효성이 확인되면 학습을 종료한다.
Guide PILCO는 line 7, 8의 외부 제어를 활용하여 학습의 효용을 높이는 가상의 확률 모델을 구현할 수 있고, 학습을 통해 학습을 도운
$u_{{ext}}$보다 개선된 학습제어 $u^{*}_{{RL}}$를 기대할 수 있다.
알고리즘. 1. Guide PILCO
Algorithm. 1. Guide PILCO
5. Experiment Setup
제안된 알고리즘의 제어와 데이터 샘플 주기는 RIP의 역동성과 비선형 policy의 연산능력을 고려하여 제어주기를 24ms로 설정하였다. 실 환경과
agent의 상호작용을 2.4s 동안 진행하여 100 step의 데이터가 수집 되지만, 학습의 효율을 개선하기 위해 100 step의 데이터 중 임의로
60 step의 데이터를 수집했다. 수집된 데이터는 RIP의 각속도, 각도 $\bar{x}=$$\begin{bmatrix}\dot\theta &&\dot\phi
&&\theta &&\phi\end{bmatrix}^{{T}}$이며, PILCO는 rotor, pendulum각 균형을 유지하기 위해 $\bar{}x$의
모든 상태 변수를 활용해 학습한다. 이때 RIP의 encoder에서 측정된 pendulum의 raw 정보 $\phi$는 식 (7)의 loss function 활용에 적합하지 않아 식 (11)과 같이 sine, cosine으로 증강하여 사용한다.
식 (11)은 $\bar{x}$에서 pendulum angle $\phi$를 증강한 상태 변수이며, PILCO는 식 (11)를 피드백 받아 학습과 제어를 수행한다. Rotary angle $\theta$는 RIP의 물리적 제약으로 ±143°내외로 측정되어 식 (11)과 같이 증강하지 않아도 된다. 식 (11)의 상태 변수를 활용한 PILCO의 가중치는 pendulum을 세우고 균형을 유지하기 위해 $\phi$의 증강 상태변수 $\sin\phi$, $\cos\phi$에
높은 가중치를 설정했다.
식 (12)는 pendulum의 균형유지 외에도 rotor 제어를 위해 실험적으로 도출된 학습 가중치와 RIP의 지령 위치 $ r$을 나타낸다. 이때의 지령
위치로 RIP을 동작시키는 제어를 학습하기 위해서는 지령 위치까지 도달하는 상태 변수 데이터가 필요하며, guide PILCO는 외부 제어기에 제어
주도권을 부여하여 이를 수행할 수 있다.
표 1. Guide PILCO 데이터 수집 제어기 설정
Table 1. Guide PILCO data sample controller setup
|
$u_{{RL}}[{V}]$
|
$u_{{ext}}[{V}]$
|
|
Swing-up
|
Balance
|
Swing-up
|
Balance
|
$u_{{HY}}$
|
1
|
2
|
4
|
3
|
$u_{{RL},\:{only}}$
|
5
|
0
|
0
|
표 1은 외부 제어기 또는 학습된 제어기가 데이터 수집의 주도권을 갖도록 하는 설정을 나타내며, RIP에 전달되는 입력의 최댓값은 $5[{V}]$이다.
Pendulum의 각도 $\phi$에 따라 외부 제어는 swing-up, balance제어로 나뉘며, $u_{{ext}}$의 최댓값은 각 제어 모드에
따라 차이를 두어 설정하였다. 외부와 학습 제어기 결합하여 상태 데이터를 수집하는 $u_{{HY}}$는 외부 제어기가 주도권을 가질 수 있도록 학습
제어기보다 높은 최대값을 설정 하였다. 그리고 $u_{{HY}}$의 $u_{{ext}}$ balance제어는 swing-up 보다 낮은 최댓값을 설정하였는데
이는 balance제어 주도권이 너무 높으면 쉽게 균형을 유지하여 다양한 데이터 수집을 막기 때문이다. $u_{{HY}}$와 대조적으로 학습된 제어기만으로
데이터를 수집하고 제어기를 평가하는 $u_{{RL},\:{only}}$는 $u_{{RL}}$의 최대값과 RIP에 전달할 수 있는 최대 전압을 동일하게
설정하였다.
이와 같은 설정을 기반으로 두 제어기 모드 $u_{{HY}}$와 $u_{{RL},\:{only}}$를 적절히 활용하여 QUANSER사의 QUBESERVO
2 제어기를 빠르게 학습시킬 수 있었고, 학습은 i7-9700 PC의 MATLAB/ Simulink 환경에서 진행되었다.
6. Experiment
제안된 알고리즘의 학습 효율개선과 안정된 제어를 보이기 위해 original PILCO, guide PILCO 그리고 불안정한 외부 제어를 비교하였다.
사실 불안정한 외부 제어는 파라미터 조정 작업으로 안정된 제어 수행할 수 있지만 기존 제어기가 역동적인 환경에서 불안정한 것을 모사하기 위해 조정하지
않았고, guide PILCO가 학습을 통해 개선할 수 있는지 확인해 보았다.
6.1 Original PILCO VS Guide PILCO
기존의 PILCO와 guide PILCO를 비교하여 학습 효율개선을 확인하기 위해 학습 횟수에 대한 cost의 기대값 데이터인 그림 3으로 확인해 보았다.
그림. 3. PILCO와 guide PILCO의 학습 비용 기대값
Fig. 3. PILCO and guide PILCO expected cost value
그림 3은 학습 횟수에 따른 original PILCO와 guide PILCO의 기대값을 나타내며 guide PILCO는 9번의 학습으로 pendulum
균형 제어에 도달한 반면 original PILCO는 26번의 학습이 수행되어 pendulum을 제어할 수 있었다. 이러한 차이는 그림 4의 학습 초기 데이터 수집 과정에서 확인할 수 있다.
그림. 4. PILCO와 guide PILCO의 학습 초기 데이터 수집 비교, pendulum angle
Fig. 4. PILCO and guide PILCO initial learning data sample comparison, pendulum angle
그림 4는 original PILCO와 guide PILCO의 초기 상호작용으로 수집 되는 데이터 중 RIP의 pendulum의 각도 $\phi$를 나타낸다.
그림 4의 original PILCO는 초기 random action으로 수집된 데이터가 $+-1[{rad}]$으로 한정적인 반면 guide PILCO는
외부 제어의 도움으로 다양한 영역의 데이터를 수집할 수 있었다. 이러한 차이로 guide PILCO는 RIP의 지령 위치 $ r$에 도달하기 위한
필수 데이터를 효율적으로 수집하고 내부의 학습에 활용하여 빠르게 RIP 제어에 도달할 수 있었다.
6.2 External control VS Guide PILCO
Guide PILCO에 활용하는 외부 제어기가 시스템에 대해 불안정성을 보이더라도 학습의 효율이 개선되고 보다 안정된 제어를 수행할 수 있는지 확인하기
위해 외부 제어 동작 결과와 guide PILCO 9번 학습 후 도출된 제어기를 비교했다.
그림. 5-a. 외부 제어와 guide PILCO 제어 비교, rotor angle rate
Fig. 5-a. External control and guide PILCO comparison, rotor angle rate
그림. 5-b. 외부 제어와 guide PILCO 제어 비교, pendulum angle rate
Fig. 5-b. External control and guide PILCO comparison, pendulum angle rate
그림. 5-c. 외부 제어와 guide PILCO 제어 비교, rotor angle
Fig. 5-c. External control and guide PILCO comparison, rotor angle
그림. 5-d. 외부 제어와 guide PILCO 제어 비교, pendulum angle
Fig. 5-d. External control and guide PILCO comparison, pendulum angle
그림 5는 외부 제어와 guide PILCO를 비교해 보기 위해 두 제어기를 활용했을 때 나타나는 RIP의 상태 변수 $\bar{x}$를 나타낸다. 그림 5의 외부 제어를 활용한 데이터들은 지연된 반응이 나타나는데 이는 session III의 swing-up 제어의 초기 정지 상태 equilibrium
point를 탈출하기 위한 인위적인 힘의 작용이 지연됐기 때문이다. 인위적인 힘은 초기 equilibrium point에서만 작용하고 이후 외부제어가
동작하여 RIP을 제어한다.
그림 5-a, c는 각각 rotor와 pendulum 각도의 변화율을 나타내어 데이터 진동의 세기를 통해 제어의 안정도 판별할 수 있으며, rotor와 pendulum의
각도를 나타내는 그림 5-b, d를 통해 제어기가 시스템을 목표상태에 도달하였는지 평가할 수 있다.
그림 5-b, d를 통해 두 제어기는 rotor의 각도의 지령 각도에 가깝게 유지해 가면서, pendulum을 세우고 균형을 유지할 수 있었으나, 그림 5-a, c를 통해 외부제어를 활용한 RIP에서 진동이 발생하는 불안정성이 확인된다. 반면 guide PILCO는 불안정한 외부 제어를 활용했음에도 학습을 통해
보다 안정된 제어에 도출하였다. 이는 guide PILCO에서 외부 제어를 확률 모델 학습 효율 및 신뢰도 개선에 중점을 두고 활용한 것이기 때문이다.
이와 같이 외부제어가 제어 학습에 직접적인 영향이 없어 학습 후 도달한 제어는 외부 제어처럼 불안정한 상태를 보이지 않을 수 있었고 오히려 시스템에
최적화된 제어에 도달할 수 있었다.
7. Conclusion
본 논문에서는 비선형 외부제어기를 활용하여 학습의 효율을 향상시키기 위해 guide PILCO를 연구하고 이를 RIP에 적용하여 검증하였다. PILCO는
가상의 모델을 유도하여 학습에 활용하는 모델 기반 강화학습 방법으로, 가상의 확률 모델을 유도하여 가상 모델의 불확실성을 정량화하고 학습에 활용하여
높은 효율을 보인다. 하지만 학습 초기 무작위 동작으로 적지 않은 시간이 소모된다. 이를 해결하기 위하여 학습을 위한 데이터 수집 과정에서 외부 제어기가
주체가 되는 제어와 학습된 제어를 인위적인 순서로 선택하여 활용하는 형태인 guide PILCO를 제시하고 검증하였다.
외부 제어가 주체가 되는 상황에서 데이터 수집과정은 제어기 학습에 필수적인 상태 데이터를 수집하도록 하여 효용성 있는 가상 모델을 구현하였다. 학습
제어가 주체가 되는 상황에서 데이터 수집은 학습된 제어기의 성능을 평가하도록 하여 학습 속도와 신뢰도를 높였다. 이 두 제어를 적절히 활용한 데이터
수집 과정은 기존의 PILCO보다 적은 학습으로 pendulum을 세우고 균형을 유지 할 수 있었고, 학습에 도움을 준 외부제어 보다 안정된 제어를
나타냈다.
향후 시스템의 안전을 보장하기 위해 학습과정에서 상태 변수의 제약을 고려할 수 있는 방법과 비선형 외부제어가 발생시키는 불확실성을 정량화할 수 있는
방법에 대해 연구하여 보다 범용성 높은 학습 알고리즘을 구현할 것이다.
Acknowledgements
This work was supported in part by the National Research
Foundation of Korea (NRF) grant funded by the Korea government (MSIT) under Grant
NRF-2020R1F1A1071547.
References
S. D. Pendleton, H. Andersen, X. Du, X. Shen, M. Meghjani, Y. H. Eng, D. Rus, 2017,
Perception, planning, control, and coordination for autonomous vehicles, Machines,
Vol. 5, No. 1, pp. 1-54
S. Das, P. N. Suganthan, 2011, Differential evolution: A survey of the state-of-the-art,
IEEE Trans. Evol. Comput., Vol. 15, No. 1, pp. 4-31
L. Yu, K. Vongsuriya, L. Wedman, 1970, Application of optimal control theory to a
power system, IEEE Trans. Power. Syst., Vol. 89, No. 1, pp. 55-92
E. Trélat, 2012, Optimal control and applications to aerospace: Some results and challenges,
J. Optim. Theory Appl., Vol. 154, No. 3, pp. 713-758
E. Alcalá, V. Puig, J. Quevedo, U. Rosolia, 2020, Autonomous racing using Linear Parameter
Varying-Model Predictive Control (LPV-MPC), Control Eng. Pract., Vol. 95
R. Sutton, A. Barto, 1998, Reinforcement Learning: an Introduction. Cambridge, MA:
MIT Press
B. Wang, M. Jiang, D. Liu, 2020, Real-Time Fault Detection for UAV Based on Model
Acceleration Engine, IEEE Transactions on Instrumentation and Measurement, Vol. 69,
No. 12, pp. 9505-9516
B. Demirel, A. Ramaswamy, D. E. Quevedo, H. Karl, 2018, DeepCAS: A Deep Reinforcement
Learning Algorithm for Control-Aware Scheduling, IEEE Control. Syst. Lett., Vol. 2,
No. 4, pp. 737-742
Y. Cho, J. Lee, K. Lee, 2020, CNN based Reinforcement Learning for Driving Behavior
of Simulated Self-Driving Car, KIEE, Vol. 69, No. 11, pp. 1740-1749
A. S. Polydoros, L. Nalpantidis, 2017, Survey of model- based reinforcement learning:
Applications on robotics, J. Intell. Robot. Syst., Vol. 86, pp. 153-173
M. Deisenroth, C. Rasmussen, 2011, PILCO: a model-based and data efficient approach
to policy search, ICML
M. P. Deisenroth, C.E. Rasmussen, D. Fox, 2011, Learning to Control a Low-Cost Manipulator
Using Data-Efficient Reinforcement Learning, Robot. Sci. Syst., Vol. 7, No. , pp.
57-64
J. Hwangbo, I. Sa, R. Siegwart, M. Hutter, 2017, Control of a quadrotor with reinforcement
learning, IEEE Robot. Autom. Lett., Vol. 2, No. 4, pp. 2096-2103
S. Levine, V. Koltun, 2013, Guided policy search, ICML
T. Zhang, G. Kahn, S. Levine, P. Abbeel, 2016, Learning deep control policies for
autonomous aerial vehicles with MPC-guided policy search, in Proc. ICRA, pp. 528-535
J. Yoo, D. Jang, H. J. Kim, K. H. Johansoon, 2020, Hybrid Reinforcement Learning Control
for a Micro Quadrotor Flight, IEEE Control Syst. Lett., Vol. 5, No. 2, pp. 505-510
C. K. Williams, C. E. Rasmussen, 2006, Gaussian Processes for Machine Learning. Cambridge,
MA
M. P. Deisenroth, 2010, Efficient Reinforcement Learning Using Gaussian Processes,
1st ed. Karlsruhe
K. J. Åström, K. Furuta, 2000, Swinging up a pendulum by energy control, Automatica,
Vol. 36, No. 2, pp. 287-295
저자소개
He received the B.S degree in Electrical Engineering from Incheon National University,
Incheon, South Korea in 2021.
Currently, he is pursuing the M.S degree in the same institution.
His research interests include FDI, model predictive control and reinforcement learning.
He received the B.S degree in Electrical Engineering from Incheon National University,
Incheon, South Korea in 2020
Currently, he is pursuing the M.S degree in the same institution.
His research interest include optimal control, linear control, tracking, system FDI,
SLAM, autonomous vehicle, autonomous robot, reinforcement learning
He received the B.S degree in Information and Control Engineering from Kwangwoon University,
Seoul, South Korea in 2010.
and the M.S and Ph.D degrees from the School of Mechanical and Aerospace Engineering,
Seoul National University, Seoul, South Korea in 2016.
He was a Post-Doctoral Researcher with the School of Electrical Engineering and Computer
Science, KTH Royal Institute of Technology, Stockholom, Sweden
He is an Assistant Professor with School of AI Convergence, Sungshin Women's University,
Seoul, South Korea.
His research interest include machine learning, event-triggered control, indoor localization,
and robotic systems.
He received the B.S and Ph.D degrees in Electrical Engineering from Hanyang University,
Seoul, South Korea, in 2012 and 2018 respectively.
He was a Senior Engineer with Agency for Defense Development, Daejeon, Korea, from
2018 to 2019.
He is currently an Assistant Professor with the Department of Electric Engineering,
Incheon National University, Incheon, South Korea.
His research interest include linear system, optimal control. autonomous vehicle and
artificial intelligent.