심형보+
(Hyungbo Shim)
†iD
김정우
(Jeong Woo Kim)
1iD
박주영
(Jooyoung Park)
2iD
-
(Dept. of Electrical and Computer Engineering, Seoul National University, Korea.)
-
(Dept. of Control & Instrumentation Engineering, Korea University, Korea.)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Reinforcement learning, Sim2Real gap, Domain randomization, Dynamic feedback controller
1. 서 론
최근 인공지능을 활용한 동적 시스템의 제어기 구현 방법으로 강화학습(reinforcement learning)이 많은 주목을 받고 있다 (6). 강화학습으로 제어기를 구현하는 것의 가장 큰 장점은 대상 시스템에 대한 수학적 모델링 과정이 필요없는 model-free 방식을 사용할 수 있다는
점이다. 하지만, 제어기 학습을 위해 실제 시스템을 반복적으로 실험할 수 없는 경우, 즉, 실험에 비용이 많이 들거나 무작위 실험이 위험한 경우에는
컴퓨터 모의실험을 제어기 학습에 사용할 수 밖에 없다. 이 경우 필연적으로 모의실험용 모델이 실제 시스템과 일치하지 않는 것에서 야기되는 Sim2Real
Gap 문제를 피할 수 없다.
본고에서는 Sim2Real Gap을 줄이기 위해 강인한 제어기를 학습하고자 하는 경우, 대상 시스템에 대한 과거의 입출력 정보가 반드시 학습에 반영되어야
함을 단순한 1차 시스템에 대한 모의실험을 통해 실증하고자 한다. Sim2Real Gap을 줄이기 위한 대표적인 방법론 중 하나인 domain randomization
(1) 역시 입출력 정보의 과거값을 사용하고 있으며 본고에서는 이러한 사실을 제어 이론 측면에서 다루어 보고자 한다.
그림. 1. 강화학습의 구조도 (2)
Fig. 1. Configuration of reinforcement learning (2)
2. 현재 시간 관측값만을 이용하는 정책의 문제점
제어 대상이 되는 시스템이 다음과 같이 이산시간 $t∊\vec{Z}$에서 기술된 동적 시스템이라 하자.
강화학습의 구조인 그림 1의 관점에서 위 시스템은 환경(Environment)에 해당하며, 입력 $u(t)$는 행동(Action) $a_{t}$, 그리고 출력 $y(t)$는
관측(Observation) $o_{t}$에 해당한다. 위 시스템에 대한 모델 정보(예를 들면, $f$, $g$와 $h$)없이, 반복적인 실험에 의하여
Agent의 학습이 완료되었다고 하자. 학습이 완료된 Agent는 궤환제어기(feedback controller)가 되어, 시스템 출력 $y(t)$를
받아 제어입력 $u(t)$를 생성하는 일을 하게 된다. 만약 Agent가 인공신경망(artificial neural network)으로 구현되었다고
하면 이를 정책망(policy network)이라고도 부른다. 많은 경우 정책망의 출력은 확률 변수의 분포(distribution) $\mu(a;
o)$로 주어지는데 이는 관측 $o$를 얻었을 때 가능한 행동 $a$에 대한 확률 분포이며, argmax 연산을 활용하는 전형적인 형태의 결정론적인(deterministic)
제어를 하고자 할 경우,
와 같이 제어신호 $u(t)$를 얻을 수 있다.
이제 출력 $y$가 상태변수 $x$와 같은 경우를 고려해 보자. 이 경우, $u(t)=\alpha(y(t))=\alpha(x(t))$가 된다. 그런데
이렇게 얻은 제어기는 정적출력궤환(static output feedback) 제어기이며 이를 통해 안정화 등 여러가지 제어를 하기에는 매우 제한적이라는
사실이 널리 알려져 있다. 더구나 이와 같은 정적(static) 제어기는 강인 제어기의 역할을 수행할 수 없다.
예를 들어, 시스템 (1)이 단순한 1차 시스템인 다음 경우
를 생각해 보자. 여기서 $f_{0}$는 알려지지 않은 상수라 하자.
이 시스템에 대해 학습을 위한 보상(Reward) 함수를 $R=-|y(t)|^{2}$라고 하면, 잘 학습된 제어기 $\alpha(y)$는 모든 $y$에
대해 $-f_{0}$ 값을 가지게 될 것이다. 왜냐하면, 첫번째 출력 $y(0)=x(0)$은 시스템의 초깃값이 될 수 밖에 없지만, 두번째 출력 $y(1)$부터는
$u(t)=\alpha(y(t))=-f_{0}$라는 제어입력을 사용하여 $y(t)=0(t\ge 1)$을 만들 수 있고, 이것이 보상함수를 최대로 만드는
최적해이기 때문이다.
문제는 이렇게 학습된 제어기는 불확실성 $f(x)$가 $f_{0}$일 경우에만 유효한 제어기가 된다는 점이다. 만일 $f(x)=f_{0}$일 경우에
학습된 제어기를 $f(x)=f_{0}'\ne f_{0}$인 경우에 사용하면 $y(t)=0(t\ge 1)$을 만족할 수 없다. 이러한 제어기는 강인
제어기가 아니며, 이 문제로 인해 모의실험을 통해 학습한 제어기가 실제 시스템에 대해 제대로 작동하지 않는 Sim2Real Gap 문제를 야기한다.
3. 과거의 관측값과 행동값을 포함하는 정책
이번에는 모델기반 제어이론에서 많이 연구되었던 강인 제어기의 형태를 고려해 보자. 외란관측기(disturbance observer)나 $H_{\infty}$
제어기 등 널리 알려진 강인 제어기는 모두 정적궤환 제어기가 아닌 동적궤환(dynamic feedback) 제어기이다. 예를 들어, 선형제어기의 경우
$C(z)=\dfrac{b_{m}z^{m}+b_{m-1}z^{m-1}+\cdots +b_{0}}{z^{n}+a_{n-1}z^{n-1}+\cdots
+a_{0}}=\dfrac{U(z)}{Y(z)}$
와 같은 전달함수를 갖고 있으며, 이를 시간영역에서 표시하면,
$u(t)=-\sum_{_{k=1}}^{n}a_{n-k}u(t-k)+\sum_{k=n-m}^{n}b_{n-k}y(t-k)$
와 같이 표현된다. 즉, $u(t)$는 과거의 $u$와, 현재 및 과거의 $y$로 이루어진다는 뜻이다. 만약 모델기반으로 제어기를 구하였을 때, 상대차수
$\tau$를 가지는 비선형 동적 제어기가 얻어졌을 경우, 이는 언제나
\begin{align*}
u=x_{1}\\
x_{1}^{+}=x_{2}\\
x_{2}^{+}=x_{3}\\
\vdots \\
x_{\tau}^{+}=\alpha(x_{1},\:\cdots ,\:x_{\tau},\:y)
\end{align*}
와 같이 기술할 수 있고, 이는 결국
$u(t)=\alpha(u(t-\tau),\:u(t-\tau +1),\:\cdots ,\:u(t-1),\:y(t-\tau))$
와 같이 표현된다.
한편, 앞 절의 시스템 (3)에 대한 강인 제어기 역시 다음과 같이 주어진다.
위 제어기 (4)가 동작하면, 임의의 불확실 상수 $f_{0}$, 임의의 초깃값 $x_{0}$, 임의의 첫 입력값 $u(0)$에 대해, $y(0)=x_{0}$,
$y(1)=f_{0}+ u(0)$가 출력된 후,
$u(t)= u(t-1)-y(t)= -f_{0}(t\ge 1)$
가 되므로, $y(t)= 0(t\ge 2)$이 성립함을 알 수 있다. 즉, 과거의 정보를 이용하여 시스템 내부의 $f_{0}$에 대한 정보를 획득한
뒤 제어를 하는 것이다.
예제: 추가로 만약 시스템이 $x(t+1)=f_{0}x(t)+u(t)$, $y(t)=x(t)$와 같은 경우라면,
$u(t)=\alpha(y(t),\:y(t-1),\:u(t-1))$
$=\begin{cases}
\dfrac{y(t)(u(t-1)-y(t))}{y(t-1)},\:&y(t-1)\ne 0\\
0,\:&y(t-1)=0
\end{cases}$
는 강인제어기가 되며, 불확실한 임의의 $f_{0}$에 대해서 $x(t)$$=0(t\ge 1)$를 보장한다. □
그림. 2. 강인한 강화학습의 구조도
Fig. 2. Configuration of robust RL
이상의 고찰에서 알 수 있는 것은 제어 대상 시스템의 불확실성에 강인한 제어기를 학습하기 위해서는 정적궤환이 아닌 동적궤환(dynamic feedback)
제어기가 필요하며, 동적궤환 제어기를 학습하기 위해 가장 먼저 할 일은 Agent의 입력으로 현재 시간의 관측 $o_{t}$뿐 아니라 과거의 관측
$o_{t-1}...,\:o_{t-\tau}$, 그리고 과거의 행동 $a_{t-1},\:...,\:a_{t-\tau}$을 포함하는 것이다 (단, $\tau$는
양의 정수). 즉, 그림 2와 같은 구성이 되며, 강화학습에 의해 Agent는
의 형태를 가지는 $\alpha$를 학습하게 되는 셈이다.
한편, 과거 입출력 정보의 필요성은 이미 문헌 상에서 다음과 같이 논의되었다.
환경의 내부 상태변수를 모두 관측하는 경우가 일반적이 아니기 때문에, 대체로 관측 정보는 내부 상태변수의 일부이거나 상태 변수의 차수(dimension)보다
작은 차수로 이루어지는 것이 일반적이다. 예컨대, 시스템 (1)에서 $p<n$인 경우가 일반적이다. 이 경우 시스템 (1)이 선형 시스템이고 관측가능하다고
할때, 최소한 $\tau=\lfloor n / p\rfloor$개의 과거 입출력 정보가 있다면 바로 상태변수를 복원할 수 있다 (단, $\tau=\lfloor
·\rfloor$는 내림(round down) 함수). 이와 유사하게, Partially Observable Markov Decision Process에
강화학습을 적용하기 위해 history가 필요함이 [2, Section 17.3]에 기술되어 있다. 다만, 이는 강인한 제어기에 대한 논의는 아니다.
불확실한 환경을 강인하게 제어할 수 있는 강화학습법으로 domain randomization(1)이 2017년 이후로 주목을 받고 있다. 이는 예를 들어 도립진자를 세우기 위하여 제어기를 학습하고자 할때, 도립진자의 무게나 축의 길이 등 불확실한
모든 변수들을 가능한 범위에서 바꾸어 가며 학습을 진행하는 방법을 말한다. 이때에도 행동과 관측의 과거 정보를 함께 사용하여 학습하는 것을 (3,4,5)와 같은 논문을 통해 확인할 수 있다.
본 소절을 마무리하자면, 강인성을 가진 제어기를 만들기 위한 강화학습은 그림 2와 같이 입출력의 과거 정보를 함께 사용하여 학습을 진행하여야 하고, 그 결과로 만들어지는 Agent(제어기)는 동적제어기에 해당한다.
4. 모의 실험을 통한 고찰
4.1 과거의 입출력 정보를 사용하지 않은 경우
앞 절의 예제 시스템 (3)에 대해 강화학습의 한 방법인 PPO (Proximal Policy Optimization) 적용하여 고찰해 본다. 시스템
(3)의 불확실한 상수 $f_{0}$가 $-1$에서 $1$까지의 임의의 값을 가지는 상황을 학습하기 위해, 매 episode마다 $f_{0}$를 해당
범위 안에서 무작위로 선정하였다(domain randomization). 이 때, episode당 길이는 100 step으로 구성하였고 Reward
함수는 $R=-10,\:000|y(t)/y_{\max}|^{2}$을 설정하였다. ($y_{\max}$는 출력 $y$가 가질 수 있는 최대값이고, $y(0)$는
시스템의 초깃값으로만 결정되며 action의 함수가 아니다.) Actor와 Critic의 인공신경망은 각각 128개의 hidden node로 이루어진
3개의 hidden layer로 구성하였다. 모의 실험을 위해 사용한 software는 MATLAB의 Reinforcement Learning Toolbox이다.
4.1 과거의 입출력 정보를 사용하지 않은 경우
정해진 범위 안에서 임의의 값으로 선정된 $f_{0}$에 대해서 reward 함수 $R$의 총합을 최대화시키는 입력 $u(t)=$$\alpha(y(t))$인
$\alpha$를 학습하기 위하여 총 100,000번의 episode를 진행하였다. 그 결과, episode에 대한 reward 함수의 총합(episode
reward)의 변화 추이는 그림 3과 같다. 이 때, 각 episode의 episode reward는 파란색으로, 과거 100개의 episode reward에 대한 평균(average
reward)은 붉은색으로 표기되었다.
충분한 양의 학습이 진행되었음에도 불구하고 episode마다 출력을 최소화하는 최적의 입력을 찾지 못하여 대부분의 average reward의 값이
-500보다 작은 값을 가짐을 그림 3을 통해 확인할 수 있다. 뿐만 아니라 임의로 선정된 다양한 $f_{0}$에 대하여 강인한 제어입력 $\alpha$를 찾지못하여 학습의 후반부에도
episode reward의 편차가 줄어들지 않음을 볼 수 있다. 실제로 다양한 $f_{0}$의 값을 가지는 시스템 (3)에 대하여 학습된 Agent로
제어기를 구성하였을 때 대부분의 경우 출력의 궤적이 0에 근사하지 않음을 관찰할 수 있다 (그림 4참조).
그림. 3. 과거의 입출력 없이 학습한 경우 episode reward의 변화 추이
Fig. 3. Plot of episode reward when trained without history information
그림. 4. 다양한 $f_{0}$에 대하여 과거의 입출력없이 학습한 agent를 제어기로 사용한 경우 입출력의 궤적
Fig. 4. Input and output trajectory for various $f_{0}$ obtained by the agent trained
without history information
4.2 과거의 입출력 정보를 사용한 경우
입출력의 과거 1개 정보를 추가로 사용하여 식 (4)와 같은 $\alpha$를 학습한 경우에는 그림 5와 같은 학습 성능의 개선이 이루어진다. 앞서 4.1절과 동일하게 매 episode마다 $f_{0}$가 임의의 값으로 설정되지만, 총 20,000번
episode에 대한 학습만으로도 만족스러운 학습 성능을 얻을 수 있었다. 특히, 출력의 크기를 0으로 근사시키는 제어입력을 학습함에 따라 episode
reward와 average reward 모두 0에 수렴함을 관찰할 수 있다. 또한 학습 후반부에 episode reward의 편차가 감소함을 통해
학습된 Agent가 다양한 $f_{0}$ 값에 대해서도 강인하게 동작할 수 있음을 알 수 있다. 이는 그림 6에서 나타난 것과 같이 다양한 $f_{0}$의 값을 가지는 시스템에 학습된 Agent의 제어입력을 인가하여 발생하는 출력 $y(t)$의 궤적이 0에
가까워짐을 통해서도 확인할 수 있다.
그림. 5. 과거의 입출력 정보를 사용하여 학습한 경우 episode reward의 변화 추이
Fig. 5. Plot of episode reward when trained with history information
그림. 6. 다양한 $f_{0}$에 대하여 과거의 입출력 정보를 사용하여 학습한 agent를 제어기로 사용한 경우 입출력의 궤적
Fig. 6. Input and output trajectory for various $f_{0}$ obtained by the agent trained
with history information
5. 결 론
모의 실험을 통해 학습된 제어기가 실제 시스템에 적용되기 위해서는 모의 실험에 사용된 모델과 실제 시스템 간의 차이를 극복할 수 있는 강인성이 요구된다.
모의 실험에 완벽하게 정확한 모델을 사용함이 이상적인 시나리오가 되겠지만, 공학적인 판단을 통해 근사적 모델을 domain randomization
등의 기법과 함께 사용하는 학습 전략에 의해 이러한 강인성을 효과적으로 확보할 수 있음이 최근에 보고된 바 있다. 본고에서는 학습된 제어기가 이와
같은 강인성을 갖기 위해서는 동적 제어기가 되어야 함을 실증적으로 보였고, 동적 제어기로 학습하기 위해서는 과거의 입출력 정보가 반드시 필요함을 모의실험
예제를 통해 확인하였다.
Acknowledgements
This work was supported by AI based Flight Control Research Laboratory funded by Defense
Acquisition Program Administration under Grant UD200045CD.
References
J. Tobin, R. Fong, A. Ray, J. Schneider, W. Zaremba, P. Abbeel, 2017, Domain randomization
for transferring deep neural networks from simulation to the real world, IEEE/ RSJ
International Conference on Intelligent Robots and Systems (IROS), pp. 23-30
![DOI](../../Resources/images/icon_crossref.png)
R. S. Sutton, A. G. Barto, 2018, Reinforcement learning: An introduction, 2nd Edition
MIT Press
![Google Search](../../Resources/images/icon_google.png)
W. Yu, J. Tan, C. K. Liu, G. Turk, 2017, Preparing for the Unknown: Learning a Universal
Policy with Online System Identification, arXiv:1702.02453
![Google Search](../../Resources/images/icon_google.png)
X. B. Peng, M. Andrychowicz, W. Zaremba, P. Abbeel, 2018, Sim-to-Real Transfer of
Robotic Control with Dynamics Randomization, IEEE International Conference on Robotics
and Automation (ICRA), pp. 3803-3810
![DOI](../../Resources/images/icon_crossref.png)
Z. Ding, 2021, Not only domain randomization: Universal policy with embedding system
identification, arXiv:2109.13438
![Google Search](../../Resources/images/icon_google.png)
M. Kim, J.-S. Kim, 2021, Policy-based Deep Reinforcement Learning for Sparse Reward
Environment, The Transactions of the Korean Institute of Electrical Engineers, Vol.
70, No. 3, pp. 506-514
![Google Search](../../Resources/images/icon_google.png)
저자소개
Hyungbo Shim received his B.S., M.S., and Ph.D. degrees from Seoul National University,
Korea, and held the post-doc position at University of California, Santa Barbara till
2001.
He joined Seoul National University, Korea in 2003.
He served as associate editor for Automatica, IEEE Trans.
on Automatic Control, Int. Journal of Robust and Nonlinear Control, and European Journal
of Control.
His research interest includes stability analysis of nonlinear systems, observer design,
disturbance observer technique, secure control systems, and synchronization.
Jeong Woo Kim received his B.S. in Electrical and Computer Engineering from Seoul
National University in 2015.
He is currently pursuing the Ph.D. degree in Electrical and Computer Engineering from
Seoul National University, Seoul, Korea.
His current research interests include multi-agent system and robust control using
reinforcement learning.
Jooyoung Park received his BS in Electrical Engineering from Seoul National University
in 1983 and his PhD in Electrical and Computer Engineering from the University of
Texas at Austin in 1992.
He joined Korea University in 1993, where he is currently a professor at the Department
of Control and Instrumentation Engineering.
His recent research interests are in the areas of reinforcement learning, control,
and machine learning applications.