• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (Dept. of Electronic Engineering, Jeju International University, Korea. E-mail : {gksqudcks, minjk}@jejunu.ac.kr )
  2. (Division of Software, Hallym University, Korea. E-mail : ssh@hallym.ac.kr)



Deep reinforcement learning, DQN, DDQN, Dueling DDQN, Transformer

1. 서 론

강화학습(reinforcement learning)은 다양한 유형의 게임, 로봇 제어, 주식 거래, 자원 할당, 추천 시스템, 자연어 처리 등 현실 세계의 다양한 문제에 적용될 수 있다[1-3]. 단순한 상태 공간과 행동 공간을 가진 문제의 경우 딥러닝(deep learning)을 사용하지 않는 알고리즘으로도 좋은 결과를 얻을 수 있지만, 현실 세계의 문제는 매우 복잡하므로 주어진 시간 내에 답을 도출하는 것이 불가능하다. 이후 이미지 처리를 위한 신경망 학습 기술과 CNN(convolutional neural network)이 개발되고, 딥러닝과 강화학습을 결합한 DQN(deep Q-network)이 발표되었다[4,5]. DQN은 강화학습을 experience replay 기법과 target network 생성을 통해 지도학습의 형태로 학습시키지만 $Q$ 값에 과대평가(overestimate)가 발생한다. 이 문제를 해결하기 위하여 DDQN(double DQN)과 dueling DDQN이 발표되었다[6, 7]. Dueling DDQN은 DDQN의 신경망 구조가 $Q$ 함수를 직접 학습하지 않고 $V$ 함수와 $A$ 함수를 통해 간접적으로 $Q$ 함수를 근사할 수 있다[7]. 이 3가지 알고리즘은 현재 많이 활용되는 심층 강화학습의 대표적인 알고리즘이고, 현실 세계의 다양한 문제를 해결하는 많은 연구가 진행되고 있다.

Transformer는 본래 기계 번역을 위한 Seq2Seq 모델로, RNN(recurrent neural network)을 대체할 모델로 제안되었다[8]. 이후 이미지를 패치 단위로 나누어 시퀀스(sequence) 데이터로 만들어 vanilla transformer 형태를 이미지 처리 분야에 적용한 vision transformer(ViT)가 등장하였고[9], 후속 연구들을 통해 긴 시퀀스를 정밀하게 모델링할 수 있고 확장성이 뛰어나다는 장점 덕분에 여러 task에서 CNN 및 RNN보다 성능이 우수함이 밣혀진다. 현재 자연어 처리(NLP), 컴퓨터 비전(CV), 음성 처리 등 다양한 task에서 널리 채택되고 있다[10-12]. 최근 폭발적인 관심을 받고 있는 ChatGPT[13]의 경우도 transformer를 변형하여 학습시킨 모델로서, transformer는 딥러닝 분야에서 매우 중요한 위치를 차지하고 있다.

본 논문에서는 transformer의 장점을 이용한 강화학습 에이전트인 MTQN을 제안하고, 대표적인 가치 기반 심층 강화학습 알고리즘인 DQN과 DQN의 변형 알고리즘들과 비교 분석하여 MTQN이 DQN과 DQN의 변형 알고리즘보다 대표적인 강화학습 벤치마크(benchmark) 환경인 cart-pole 시스템을 효과적으로 제어할 수 있음을 보인다.

2. Cart-pole 시스템

Cart-pole 시스템은 강화학습 알고리즘의 성능을 평가하는 데 널리 사용되는 벤치마크 환경이다[14]. Fig. 1에서 cart-pole 시스템은 카트(cart)와 카트에 수직으로 세워지는 폴(pole)로 구성되는데, 카트는 마찰 없이 수평선 좌우로 자유롭게 움직일 수 있고 폴이 카트의 움직임에 따라 기울기가 변한다. 강화학습 에이전트는 카트를 좌우로 움직이는 행동을 취하여 카트가 정해진 구역을 벗어나지 않고 폴이 균형을 유지하도록 하여 보상을 얻게 된다. Cart-pole 시스템은 식 (1)과 식 (2)와 같이 나타낼 수 있다[15].

(1)
$\ddot{\theta}=\dfrac{(M+m)g\sin\theta -\cos\theta[F+ml\dot{\theta^{2}}\sin\theta]}{(\dfrac{4}{3})(M+m)l-ml\cos^{2}\theta}$
(2)
$\ddot{x}=\dfrac{F+ml[\dot{\theta^{2}}\sin\theta -\ddot{\theta}\cos\theta]}{M+m}$

여기서, 카트의 질량 $M$은 0.711kg, 폴의 질량 $m$은 0.209kg, 중력가속도 $g$는 $9.8{m}/{s}^{2}$, 카트에 적용되는 힘 $F$는 $\pm 10$N, 그리고 카트의 중앙에서 폴의 무게중심까지의 거리 $l$은 0.326m이다. 시뮬레이션에 사용된 타임 스텝 사이의 간격 $\tau$는 0.02s로 설정한다.

그림 1. 카트-폴 시스템

Fig. 1. Cart-pole system

../../Resources/kiee/KIEE.2024.73.12.2371/fig1.png

3. Transformer를 활용한 cart-pole 시스템 제어

3.1 강화학습

강화학습은 순차적인 의사결정 문제를 해결하는 방법이다. 강화학습은 Fig. 2와 같이 환경과 에이전트로 구성되며 Markov decision process(MDP)로 모델링 된다[16]. MDP에서 $t$시점의 상태$(s,\: s\in S)$와 행동$(a,\: a\in A)$이 주어질 때, 다음 상태$(s')$로 갈 확률은 Markov 특성을 사용하면 이를 식 (3)과 같이 나타낸다.

(3)
$P(s_{t+1}|S_{t,\: }A_{t})= P(s_{t+1}|S_{t},\: A_{t},\: S_{t-1},\: A_{t-1},\: ...)$

그림 2. 강화학습에서의 에이전트-환경 상호작용

Fig. 2. The agent-environment interaction in reinforcement learning

../../Resources/kiee/KIEE.2024.73.12.2371/fig2.png

환경은 $s$를 나타내는 정보를 만들어내고, 에이전트는 $s$를 관측하고 이를 바탕으로 $a$를 선택하여 환경과 상호작용하게 된다. 이때 에이전트가 $a$를 선택하는 방법을 정책$(\pi(a|s))$이라 한다. 에이전트가 환경에 $a$를 취하면 환경은 이 $a$를 바탕으로 식 (4)를 통해 $s'$으로 전이하고, 식 (5)에 의해 이에 따른 보상$(r)$이 에이전트에게 주어진다.

(4)
$p(s'|s,\: a)=P(S_{t}=s'|S_{t-1}=s,\: A_{t-1}=a)$
(5)
$r(s,\: a)=\vec{E[R_{t}}| S_{t-1}=s,\: A_{t-1}=a]$

$s,\: a,\: r$이 주어지는 한 사이클을 타임 스텝이라 하고 $(s,\: a,\: r,\: s')$ 쌍을 경험 튜플이라 한다. 강화학습 문제는 에이전트가 매 타임 스텝에서 좋은 $a$를 선택하고 한 에피소드(episode)에서 받는 감가된 $r$의 총합인 반환 값$(G)$을 최대화하며, 식 (6)과 같이 나타낼 수 있다.

(6)
$$ \begin{aligned} G_t & =R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\ldots+\gamma^{T-1} R_T \\ & =\sum_{k=0}^{\infty} \gamma^h R_{t+k+1} \\ & =R_{t+1}+\gamma G_{t+1} \end{aligned} $$

감가율$(\gamma\in[0,\: 1])$은 현재 타임 스텝에서의 가치를 계산할 때 미래 타임 스텝에서의 $r$을 작게 만들어 예측된 $G$에 대한 분산을 줄이는 역할을 한다.

강화학습은 여러 기준으로 구분할 수 있는데 알고리즘이 학습하는 주요 함수가 무엇인지 혹은 알고리즘이 현재 정책만을 사용하여 학습을 진행하는 지로 구분한다. Fig. 3에서 학습 기능에 따른 강화 학습은 정책 기반 학습, 가치 기반 학습, 모델 기반 학습으로 구분할 수 있다.

본 논문에서 사용되는 가치 기반 학습은 강화학습을 통해 가치함수를 추정하고 이를 바탕으로 상태-행동 쌍을 평가하고 정책을 생성한다. 대표적인 알고리즘으로는 DQN, DDQN, dueling DDQN 등이 있다. 가치 기반 학습은 정책 기반 알고리즘보다 분산이 작아 표본 효율적이라는 장점이 있지만, 최적 정책으로의 수렴을 보장할 수 없고 이산적 행동 공간을 가진 환경에만 적용할 수 있다는 단점이 존재한다. 이외에도 가치 기반 학습에 정책 기반 학습을 결합한 Actor-critic 방법도 있다[17].

그림 3. 학습 기능에 따른 강화 학습의 분류

Fig. 3. Classification of reinforcement learning based on learning function

../../Resources/kiee/KIEE.2024.73.12.2371/fig3.png

가치 기반 학습은 상태-가치함수 또는 행동-가치함수를 학습하는 방법으로, 학습을 통해 가치함수를 추정하고 이를 바탕으로 $(s,\: a)$ 쌍을 평가하고 정책을 생성한다.

상태-가치함수는 $V^{\pi}(s)$ 또는 $V$ 함수라 부르며 $s$에서 모든 $a$에 대하여 에이전트가 얻을 수 있는 $G$에 대한 기대치를 말하고 식 (7)과 같이 나타낼 수 있다.

(7)
\begin{align*}V^{\pi}(s)& =\vec{E_{\pi}}[G_{t}| S_{t}=s]\\\\& =\vec{E_{\pi}}[R_{t+1}+\gamma R_{t+2}+\gamma^{2}R_{t+3}+...| S_{t}=s]\\\\& =\vec{E_{\pi}}[R_{t+1}+\gamma G_{t+1}| S_{t}=s]\\\\& =\sum_{a}\pi(a|s)\sum_{s',\: r}p(s',\: r|s,\: a)[r +\gamma V^{\pi}(s')],\: \forall s\in S\end{align*}

행동-가치함수는 $Q^{\pi}(s,\: a)$ 또는 $Q$ 함수로 부르며 $s$에서 특정 $a$를 취했을 때, 에이전트가 얻을 수 있는 $G$에 대한 기대치를 말하고 식 (8)과 같이 나타낼 수 있다.

(8)
$$ \begin{aligned} Q^\pi(s, a) & =\mathbb{E}_\pi\left[G_t \mid S_t=s, A_t=a\right] \\ & =\mathbb{E}_\pi\left[R_{t+1}+\gamma R_{t+2}+\gamma^2 R_{t+3}+\ldots \mid S_t=s, A_t=a\right] \\ & =\mathbb{E}_\pi\left[R_{t+1}+\gamma G_{t+1} \mid S_t=s, A_t=a\right] \\ & =\sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right)\left[r+\gamma V^\pi\left(s^{\prime}\right)\right], \quad \forall s \in S, \quad \forall a \in A(s) \end{aligned} $$

(7)과 식 (8)에 의해 $V^{\pi}(s)$는 식 (9)와 같이 나타나며, $V^{\pi}(s)$는 $s$에서 가능한 모든 $Q^{\pi}(s,\: a)$의 기댓값임을 의미한다.

(9)
$V^{\pi}(s)=\sum_{a}\pi(a|s)Q^{\pi}(s,\: a)$

또한 $V^{\pi}(s)$와 $Q^{\pi}(s,\: a)$를 이용하면 행동-이점 함수를 구할 수 있다. $A^{\pi}(s,\: a)$ 또는 $A$ 함수라 불리는 행동-이점 함수는 정책 $\pi$를 수행하는 동안 $s$에서 $a$를 취했을 때 얻을 수 있는 이점으로, 동일한 정책 $\pi$에서 $a$에 대한 가치와 $s$에 대한 가치의 차이를 의미한다. $A^{\pi}(s,\: a)$는 식 (10)과 같이 나타낼 수 있다.

(10)
$A^{\pi}(s,\: a)= Q^{\pi}(s,\: a)- V^{\pi}(s)$

$V$ 함수와 $Q$ 함수는 모두 행동에 대해서 표현된다. 이 두 함수가 최적의 상태일 때를 이상성이라 부른다. 즉 모든 $s$에 대하여 다른 정책들보다 반환값의 기댓값이 더 큰 상태를 의미한다. 최적 $V$ 함수$(V^{*}(s))$는 모든 상태에 걸쳐, 모든 정책에 대한 최대의 가치를 가지는 $V$ 함수를 말하며 식 (11)과 같이 표현할 수 있다. 최적 $Q$ 함수$(Q^{*}(s,\: a))$는 모든 $(s,\: a)$ 쌍에 걸쳐 모든 정책에 대한 최대의 가치를 가지는 $Q$ 함수를 말하며 식 (12)와 같이 표현할 수 있다. 식 (11)과 식 (12)를 이용하면 이상적인 정책을 얻을 수 있다.

(11)
\begin{align*}V^{*}(s)&=\max_{\pi}V^{\pi}(s),\: (\forall s\in S)\\&=\max_{a}\sum_{s',\: r}p(s',\: r|s,\: a)[r +\gamma V^{*}(s')]\end{align*}
(12)
\begin{align*}Q^{*}(s,\: a)&={\dfrac{}{}}\max_{\pi}Q^{\pi}(s,\: a),\: (\forall s\in S,\: \forall a\in A)\\&=\sum_{s',\: r}p(s',\: r|s,\: a)[r +\gamma\max_{a'}Q^{*}(s',\: a')]\end{align*}

가치 기반 학습에서 에이전트가 $Q$ 함수에 대해 탐욕적으로 행동하는 것에는 한가지 문제가 있다. 바로 에이전트가 전체 상태-행동 공간을 충분히 탐험하지 못할 수도 있다는 점이다. 예를 들어 에이전트가 $s$에서 항상 동일한 $a$를 선택한다면 에이전트가 경험하지 못하는 $(s,\: a)$쌍들이 무수히 많이 존재할 것이다. 이러한 경우 경험하지 못한 $(s,\: a)$ 쌍에 대한 $Q$ 함수의 추정값이 임의로 초기화되기 때문에 정확하지 않을 것이다. 이러한 문제를 해결하기 위하여 학습 시에는 완전한 탐욕적 정책이 아닌 $\varepsilon$-탐욕적 정책을 사용한다. $\varepsilon$-탐욕적 정책이란 에이전트가 $1-\varepsilon$의 확률로는 탐욕적 정책을 택하고 $\varepsilon$의 확률로는 임의의 행동을 택하는 정책이다. 여기서 $\varepsilon$은 탐험 확률이라 하고 무작위성을 주어 에이전트가 다양한 $(s,\: a)$ 쌍을 경험하게 해준다. 하지만 이러한 방식에는 단점도 존재한다. 확률성이 존재하기 때문에 탐욕적 정책보다 좋지 않을 수 있다. 이러한 관계를 탐험-활용 균형이라 한다. 탐험-활용 균형을 적절히 조절하기 위해서는 학습 초반에는 적당히 큰 $\varepsilon$ 값을 설정하여 학습을 진행하여 에이전트가 빠르게 환경을 탐험할 수 있도록 하고 점점 $\varepsilon$을 감소시켜 많은 타임 스텝이 지난 후에는 활용에 초점을 맞추도록 하는 방식을 사용하면 된다[18].

3.2 딥러닝 기반 Q-learning

심층 강화학습 이전의 Q-learning은 $Q$ 함수를 테이블 형식으로 저장하여 학습하는 테이블 기반 방식을 사용한다. 이러한 방식은 $s$ 공간과 $a$ 공간이 커지게 되면 테이블의 크기 또한 함께 커지게 되어 실제 환경처럼 매우 복잡한 환경이 주어질 경우, 학습하는 것이 거의 불가능하다. 하지만 이후 딥러닝의 발전으로 테이블 대신 $Q$ 함수 자체를 근사하는 DQN과 같은 알고리즘들이 등장하며 이러한 문제를 해결할 수 있게 되었다.

3.2.1 DQN

DQN은 강화학습을 지도학습처럼 만들려는 시도에서 출발한다. 심층 강화학습은 두 가지의 문제를 갖고 있는데, 첫째는 데이터에 대한 IID(independent and identically distribution) 가정의 불일치성이다[5]. 지도학습에 이용되는 최적화 기법은 보통 학습 데이터의 샘플들이 독립적이면서 동일한 분포를 가져야 하는데, 강화학습의 데이터 샘플은 순차적인 성향을 지니기 때문에 $t+1$ 시점에서의 샘플이 $t$ 시점에서의 샘플과 연관되어 독립적이지 않다. 또한 강화학습에서 행동을 생성하는 정책은 시간에 따라 계속 변화하기 때문에 이에 따라 샘플들의 분포도 따라 변화하여 샘플들이 동일한 분포를 띄지 않게 된다. 둘째는 타깃(target)이 고정되어 있지 않다는 점이다. 지도학습은 target label이 고정된 값으로 주어지는데, 식 (13)과 같이 $Q$ 테이블을 $\theta$를 가중치로 가진 신경망으로 나타낼 경우, 학습 스텝마다 예측 $Q$의 가중치가 변하면서 같은 가중치를 사용하는 타깃 또한 계속 변화하게 된다.

(13)
$r_{t}+\gamma\max_{a_{t+1}}Q(s_{t+1},\: a_{t+1};\delta)-Q(s_{t},\: a_{t};\delta)$

DQN은 이러한 문제들을 해결하기 위하여 1) Experience replay 기법을 사용한다. Experience replay는 여러 타임 스텝에 대한 경험 샘플을 replay buffer에 저장해 두었다가 샘플링 하는 방식으로 replay buffer의 크기가 적당히 크면 여기서 뽑아낸 데이터 샘플이 독립적이면서 동일한 분포를 띄게 되므로 첫 번째 문제를 해결할 수 있다. 2) Target network를 만들어 사용한다. 타깃이 고정되지 않고 계속 변화하므로 타깃을 고정하기 위하여 target network를 만들어 타깃을 고정한다. Target network와 최적화하려는 online network는 같은 구조를 사용하고, 일정 타임 스텝마다 online network와 target network를 동기화 시키는 방식을 사용한다. 이러한 기법을 사용하면 타깃이 변화하기 전에 online network가 조금씩 타깃을 향해 움직일 수 있게 된다.

3.2.2 DDQN

DQN은 off-policy TD 학습 방식을 사용하여 추정 $Q$ 값의 최대를 찾는 연산을 수행한다. 이때 특정 $Q$ 값에 오차가 존재하면 $Q$ 값의 최댓값에 편향이 발생하여 과대평가가 이루어지기 때문에 학습에 좋지 않은 영향을 끼칠 수 있다[6]. $Q$-value의 오차가 생기는 이유는 1) 신경망을 사용하기 때문에 함수의 완벽한 근사가 이루어지지 않을 수 있고, 2) 환경 자체에 노이즈가 포함될 수 있다. 또한 3) 에이전트가 환경을 완전히 탐험하지 않았을 수도 있다는 이유가 존재할 수 있다.

이러한 점을 개선한 DDQN은 $Q$ 값의 과대평가 문제를 해결하기 위하여 각기 다른 경험을 사용하여 2개의 $Q$ 함수를 학습한다. 첫 번째 $Q$ 함수는 $Q$ 값을 최대로 만드는 행동을 선택하고, 두 번째 $Q$ 함수는 이 행동을 이용하여 $Q$-value를 계산한다. 이처럼 각기 다른 경험을 사용하여 학습된 $Q$ 함수는 $Q$ 값의 편향을 줄일 수 있다. 이와 같은 방식으로 학습할 경우, 학습을 위한 online network와 target network가 각각 2개씩 필요하게 된다. 하지만 총 4개의 신경망을 학습시키는 것은 많은 시간이 소요되므로 실제 학습 시 online-network는 최적의 $Q$ 값을 갖게 하는 행동을 찾고 target-network를 사용하여 이 행동을 평가하는 방식으로, 총 2개의 신경망만을 사용한다. 이러한 방식은 target-network를 $Q$ 값 평가에 사용하여 안정적으로 타깃을 고정할 수 있게 한다.

3.2.3 Dueling DDQN

Dueling DDQN은 알고리즘이 아닌 신경망 구조를 변형하여 앞서 언급한 알고리즘들을 개선한 알고리즘이다. $Q$ 함수는 모든 행동이 공유하는 가치인 $V$ 함수와 각 행동이 갖는 가치인 $A$ 함수로 분리할 수 있다. 기존 DQN과 DDQN의 경우 $Q$ 함수를 행동별로 분리하여 학습하지만 사실 $V$ 함수는 모든 행동에 대하여 같은 값을 가지기 때문에 비효율적이다[7]. 이러한 비효율성을 해결하기 위해 제안된 dueling network는 두 개의 분류기를 가지는데, 하나는 $V$ 함수에 대한 분류기이고, 다른 하나는 $A$ 함수에 대한 분류기이다. 여기서 나온 두 개의 출력을 이용하면 효율적으로 $Q$ 함수를 근사할 수 있다. $Q$ 함수를 근사하는 방법은 식 (9)와 같지만, 실제로는 $V$ 함수와 $A$ 함수를 더한 값에서 $A$ 함수의 평균을 빼는 방식으로 $Q$ 함수를 근사하여 안정적인 최적화 과정을 수행할 수 있게 한다.

Dueling network는 $A$ 함수를 이용하여 $Q$ 함수를 추정하므로 유사한 가치를 가진 행동들이 많을 때 효과적이다. 신경망은 근사할 때 오차를 가지게 되는데 DQN과 DDQN의 신경망 구조는 상태-행동 쌍이 각자 나뉘어 있으므로 그에 따른 오차들도 잠재적으로 다른 성향을 띈다. $V$ 함수는 특정 상태에서 모든 행동에 대한 $Q$ 함수의 일부이기 때문에 dueling network를 사용하게 되면 발생하는 함수의 오차와 분산을 줄일 수 있다.

3.3 Transformer 기반 Q-learning

Transformer는 다양한 분야에서 사용되는 딥러닝 모델이며 긴 시퀀스를 잘 모델링 할 수 있고 확장성이 뛰어나다는 장점을 가진 모델이다. 강화학습에서 신경망의 입력은 타임 스텝마다의 경험 튜플로 구성되므로 시퀀스가 있는 데이터라 볼 수 있기 때문에 본 논문에서는 DQN의 신경망 구조를 transformer와 결합하여 긴 순차데이터(sequential data)를 모델링할 수 있게 설계한 MTQN 방법을 제안한다.

3.3.1 Transformer

Transformer의 가장 큰 장점은 긴 시퀀스를 잘 모델링 할 수 있고 확장성이 뛰어나다는 점이다. Vanilla transformer는 인코더와 디코더로 구성되어 있으며 각각은 Multi-Head Self-Attention 모듈과 FFN 모듈로 구성된다. Transformer의 인코더는 소스 시퀀스를 인코딩하여 디코더로 보내주는 역할을 하고 디코더는 인코더에서 받은 정보를 바탕으로 타깃 시퀀스를 생성하는 역할을 한다. Transformer의 구조는 Fig. 4와 같다.

그림 4. Transformer의 구조

Fig. 4. The architecture of transformer

../../Resources/kiee/KIEE.2024.73.12.2371/fig4.png

기존의 RNN은 단어의 위치에 따라 단어를 순차적으로 입력받아 처리하여 각 단어의 위치 정보를 가질 수 있다[19]. 하지만 transformer의 경우 단어를 순차적으로 받지 않고 문장 전체를 입력받기 때문에 순서에 대한 정보를 가지고 있지 않으므로 단어의 순서에 대한 정보를 제공하기 위하여 임베이딩 벡터에 positional encoding을 더하여 준다.

Transformer의 main 블록 내부의 연결은 residual 연결로 구성되어 있는데, 이는 모듈의 입력과 출력을 더하는 구조를 말한다. 이러한 연결 구조를 사용할 경우 여러 개의 계산 경로가 생기므로 다양한 관점에서 블록 계산을 수행하여 입력의 feature를 잘 추출할 수 있게 한다.

Multi-Head Self-Attention 모듈은 transformer의 핵심 구조로 Fig. 5(b)와 같다. Self-Attention 모듈은 입력으로 받은 시퀀스에서 어느 부분이 가장 중요한지를 판단하는 모듈로, 모델이 긴 시퀀스에서 feature를 더욱 잘 추출할 수 있게 한다. 입력 시퀀스 $X\in{R^{n\times d}}(n=sequence \ length,\: d=embedd \ dimension)$가 주어질 때, Self-Attention 모듈은 입력에 각각 $W_{Q}$, $W_{K}$, $W_{V}$를 행렬곱하여 $Q\in{R^{n\times d_{q}}},\: K\in{R^{n\times d_{k}}},\: V\in{R^{n\times d_{v}}}$로 매핑한다. Q는 분석의 대상이 되는 단어에 대한 가중치 벡터, K는 각 단어가 쿼리에 해당하는 단어와 얼마나 연관이 되어있는지, V는 K의 의미를 나타내는 가중치 벡터라고 해석할 수 있다. Fig. 5(a)는 식 (14)와 같이 나타낼 수 있다. Fig. 5(a)의 마스크(mask)는 디코더 파트에서 사용하는 방식으로, 순차적 입력값이 아닌 전체 입력값을 한 번에 받는 transformer의 특성상 미래 시점의 데이터를 예측 과정에서 제외해주어야 하므로 마스킹(masking) 기법을 사용하여 미래 시점의 데이터에 대한 attention score가 0이 되도록 하는 방식이다.

(14)
$Att ention(Q,\: K,\: V)= soft\max(\dfrac{QK^{T}}{\sqrt{D_{k}}})V$

여기서 $soft\max(\dfrac{QK^{T}}{\sqrt{D_{k}}})$는 attention score이다.

Attention score는 한 문장 내에서 특정 단어와 모든 단어와의 관련성의 정도를 나타내고 transformer 모델이 긴 시퀀스 입력을 잘 모델링할 수 있는 핵심 부분이다. 이러한 self-attention 모듈을 동시에 여러 번 수행하는 방식을 multi-head-attention이라 한다.

그림 5. 확장된 dot-product 어텐션과 multi-head 어텐션

Fig. 5. The scaled dot-product attention and multi-head attention

../../Resources/kiee/KIEE.2024.73.12.2371/fig5.png

3.3.2 Memory transformer Q-learning

본 논문에서는 DQN의 신경망 구조를 transformer와 결합하여 성능을 개선하였다. 강화학습에서 신경망의 입력은 타임 스텝마다의 경험 튜플로 구성되므로 시퀀스가 있는 데이터라 볼 수 있다. ViT는 이미지 인식 작업에 transformer 모델을 적용하고, 이미지 데이터의 처리를 위해 이미지를 작은 패치(patch)로 나누고 각 패치를 일종의 단어처럼 취급하여 입력으로 사용한다[9]. 따라서 입력 데이터는 이미지이므로, ViT가 사용한 방식을 통해 시퀀스가 있는 데이터로 만들어 주었다. 강화학습은 무수한 타임 스텝 동안 시행착오를 겪으며 학습하는 방식이므로 이러한 긴 순차데이터를 잘 모델링 할 수 있는 transformer 구조를 사용하여 효과적이고 안정적으로 학습을 진행할 수 있도록 구성하였다. 또한 추가로 transformer의 residual connection 대신 LSTM, GRU와 유사한 gating mechanism을 사용하여 모델이 가지고 있는 메모리 벡터를 갱신할 수 있게 구성하였다[20]. Gate는 LSTM과 동일하게 구성하였고[21], 식 (15)와 같이 표현된다.

(15)
\begin{align*}z_{t}=\tan h(W_{z}h_{t}+ b_{z})\\i_{t}=\sigma(W_{i}h_{t}+ b_{i}-1)\\f_{t}=\sigma(W_{f}h_{t}+ b_{f}+1)\\c_{t+1}= c_{t}\odot f_{t}+ z_{t}\odot i_{t}\end{align*}

(15)는 총 4개의 gate로 구성되어 있는데, 먼저 $i_{t}$는 새로 들어오는 정보들 중 어떤 정보를 메모리에 업데이트할 것인가를 정하는 input gate이다. $z_{t}$ gate는 어떤 정보를 얼만큼 업데이트 할 것인지 $\tan h$ 함수를 사용하여 정하고 이 $i_{t}$와 $z_{t}$ gate가 합쳐져 메모리를 업데이트할 준비를 한다. $f_{t}$는 forget gate로, sigmoid 함수를 사용하여 이전 메모리 벡터에서 삭제할 부분을 정해준다. 마지막으로 $c_{t+1}$은 나머지 3개의 gate에서 나온 값들을 조합하여 메모리를 적절히 업데이트하는 gate이다.

그림 6. Memory transformer의 구조

Fig. 6. The architecture of memory transformer

../../Resources/kiee/KIEE.2024.73.12.2371/fig6-1.png

../../Resources/kiee/KIEE.2024.73.12.2371/fig6-2.png

메모리 벡터는 초기에 0으로 초기화 되고 gate를 통과하며 계속 갱신된다. Gate의 구조는 Fig. 6(a)와 같다. 이러한 gating mechanism을 사용하였을 때 입력받은 경험 튜플뿐만 아니라 모델의 메모리(hidden state)를 타임 스텝마다 적절히 갱신하며 모델이 긴 시퀀스를 효과적인 모델링이 가능함을 시뮬레이션으로 보인다. 본 논문에서 제안하는 memory transformer의 구조는 Fig. 6(b)와 같고, MTQN의 구조는 Fig. 6(c)와 같다.

4. 시뮬레이션 및 결과 분석

강화학습 알고리즘은 pytorch와 numpy로 구현하였고, cart-pole 시스템은 OpenAI에서 제공하는 gym 라이브러리를 사용하였다. Gym 라이브러리[22]가 제공하는 cart-pole 시스템의 관측공간(observation space)은 Table 1과 같다.

표 1 Cart-pole 시스템의 관측공간

Table 1 The observation space of cart-pole system

Observation

Min

Max

Cart position [m]

+4.8

-4.8

Cart velocity [m/s]

$- ∞$ $+ ∞$

Pole angle [rad]

-0.418

+0.418

Pole angular velocity [rad/s]

$- ∞$ $+ ∞$

공정하고 정확한 결과 분석을 위하여 모델의 구조와 같은 부분은 제외하고 나머지 하이퍼 매개변수(hyper-parameter)는 Table 2와 같이 통일하여 시뮬레이션을 진행하였다.

표 2 시뮬레이션을 위한 고정된 하이퍼 매개변수

Table 2 The fixed hyper-parameters for simulations

Train

Optimizer

Adam

Learning rate

0.0005

Update target step

10

$\tau$

0.1

Agent

$\gamma$

0.99

Goal evaluation score

195

Policy

$\varepsilon _{init}$

1.0

$\varepsilon_{\min} $

0.3

$\varepsilon_{decay-step}$

20000

Table 2에서 update target step은 online network와 target network의 매개변수를 동기화하는 타임 스텝의 수를 의미하고, $\tau$는 동기화를 진행할 때 어느 정도의 비율로 target network를 업데이트할지 정하는 매개변수이다. 또한 학습 정책으로는 $\varepsilon$-탐욕적 정책을 사용하였고 $\varepsilon$은 $\varepsilon_{init }$부터 $\varepsilon_{\min}$까지 $\varepsilon_{{decay-step}}$에 걸쳐 식 (16)과 같이 감소하도록 설계하였다.

(16)
\begin{align*}\varepsilon_{t}=\varepsilon_{}\min +(\varepsilon_{init }-\varepsilon_{}\min )\times e^{-\dfrac{t}{\varepsilon_{{decay-step}}}},\: \\(t = current\ time \ step)\end{align*}

또한 알고리즘의 일반화 성능을 확인하기 위하여 5개의 random seed를 사용하여 매 알고리즘을 5번 학습시켜 평가 점수(evaluation score)를 비교 분석하였다[23,24]. 추가로 cart-pole 시스템은 카트를 지정된 범위를 벗어나지 않고 폴이 쓰러지지 않게 하는 것이 목표이므로 카트 위치(cart position)과 폴 각도(pole angle)를 그래프로 나타내어 이러한 상태가 잘 유지되는지를 확인하였다.

4.1 평가 점수

학습은 매 seed 별로 평가 점수가 cart-pole 시스템의 최대 점수(score)인 200중 195를 달성하면 종료되도록 설정하였다. Fig. 7은 평가 점수가 목표 점수를 달성할 때까지의 에피소드 점수를 나타내는데, MTQN 방법을 사용하였을 때 평균적으로 적은 에피소드에서 학습이 종료되고, 학습이 진행됨에 따라 평가 점수가 지속적으로 상승함을 알 수 있다. 이는 본 논문에서 제안하는 MTQN 구조가 다른 알고리즘에 비해 빠르고 안정적으로 학습이 가능하다는 것을 보여준다.

Fig. 7(a)에서 DQN은 seed를 12, 34, 56으로 설정하여 학습한 결과 비교적 빠른 에피소드에 목표 평가 점수를 달성하였지만, seed를 78로 설정한 경우에는 2000 에피소드 이후, 90으로 설정한 경우는 8000 에피소드가 넘어서야 목표 평가 점수에 도달하는 모습을 확인할 수 있다. Seed 값에 따라 학습 시간에 확연한 차이를 보이고, 평가 점수 곡선이 매우 요동치는 것으로 미루어 보아 DQN은 학습 안정성이 떨어지고 일반화가 잘되지 않는다고 볼 수 있다. Fig. 7(b)에서 DDQN은 DQN에 비해 비교적 빠른 에피소드 안에 평가 점수를 달성하지만, seed 별로 목표 평가 점수를 달성하는 에피소드가 차이가 나는 것으로 보아 여전히 학습 안정성이 떨어지는 것을 확인할 수 있다. Fig. 7(c)에서 dueling DDQN은 DQN, DDQN에 비하여 학습이 빠르게 종료되지만 seed를 90으로 설정한 경우 평가 점수 그래프가 크게 하락했다가 다시 상승하는 모습을 보아 여전히 학습이 불안정함을 볼 수 있다. Fig. 7(d) 에서 MTQN은 다른 알고리즘에 비하여 확연히 빠르게 목표 평가 점수를 달성하고, 그래프가 지속적으로 상승하는 형태를 보이고 안정적으로 학습이 됨을 확인할 수 있다. 물론 seed 34를 사용한 경우 평가 점수 그래프가 학습이 불안정한 모습을 확인할 수 있긴 하지만, 다른 알고리즘을 사용할 때보다는 미세한 수준이다. 이는 나머지 알고리즘에 비하여 본 논문에서 제안한 MTQN은 빠르고 안정적으로 학습시킬 수 있는 모델임을 말한다.

그림 7. 평가 점수

Fig. 7. Evaluation score

../../Resources/kiee/KIEE.2024.73.12.2371/fig7.png
Fig. 8은 모든 seed의 평균 평가 점수 값을 비교한 그래프이다. MTQN의 평균 평가 점수가 다른 알고리즘 보다 지속적으로 상승하고 빠르게 목표값에 도달하는 것을 나타낸다.

그림 8. 평균 평가 점수 비교

Fig. 8. Comparison of mean evaluation score

../../Resources/kiee/KIEE.2024.73.12.2371/fig8.png

4.2 카트 위치

Cart-pole 시스템은 카트를 좌우로 움직이며 폴의 균형을 잡는 환경이므로 카트가 진동폭이 크게 움직이지 않게 제어할수록 이상적인 알고리즘이라 볼 수 있다. 따라서 타임 스텝에 따른 카트 위치와 타임 스텝에 따른 카트의 누적 이동 거리를 그래프로 나타내어 비교하였다. 카트 위치과 누적 이동 거리는 학습 시 가장 빠르게 최대 목표 평가 점수를 달성한 모델을 에이전트로 사용하여 추출한다.

Fig. 9(a)에서 DQN을 사용했을 때 카트 위치는 비교적 오른쪽 치우친 경향을 볼 수 있다. Fig. 9(b)에서 DDQN은 DQN에 비하여 진동폭이 작게 움직이지만 약간 왼쪽으로 치우친 경향을 확인할 수 있다. Fig. 9(c)에서 dueling DDQN은 DQN보다 더 카트를 우측으로 치우치게 움직이는 모습을 확인할 수 있다. Fig. 9(d)에서 MTQN을 사용했을 때 카트 위치는 나머지 알고리즘에 비하여 원점을 기준으로 균형적으로 수렴하며 움직임을 확인할 수 있다.

시뮬레이션 결과 DDQN과 MTQN 구조를 사용했을 때 카트 위치가 다른 알고리즘에 비하여 비교적 진동폭이 크지 않게 움직이는 모습을 확인할 수 있다.

그림 9. 카트 위치

Fig. 9. Cart position

../../Resources/kiee/KIEE.2024.73.12.2371/fig9.png

Fig. 10은 알고리즘별 카트의 총 누적 이동 거리를 나타내었다. Fig. 10에서 MTQN을 사용했을 때 누적거리가 2000m 이하로 가장 적게 움직였고, DDQN을 사용했을 때 약 2700m로 두 번째, DQN을 사용했을 때 총 3000m 이상으로 세 번째, dueling DDQN을 사용했을 때 누적거리가 총 12000m 이상으로 가장 많이 움직였음을 확인할 수 있다. 따라서 본 논문에서 제안하는 MTQN을 사용했을 때 카트의 총 누적 이동 거리가 다른 알고리즘에 비하여 짧고 진동폭이 작게 움직이는 것으로 보아 MTQN이 다른 알고리즘에 비해 효율적으로 카트 위치를 제어 가능함을 알 수 있다.

그림 10. 카트의 총 누적 이동 거리

Fig. 10. Total cumulative distance of cart

../../Resources/kiee/KIEE.2024.73.12.2371/fig10.png

4.3 폴 각도

Cart-pole 시스템은 폴의 균형을 잡는 것이 목표인 환경이므로 타임 스텝에 따른 폴 각도와 폴 각도의 분포를 나타낸 histogram을 관찰하였다. 폴 각도는 학습 시 가장 빠르게 최대 목표 평가 점수를 달성한 모델을 에이전트로 사용하여 추출하였다. 또한 추가로 학습 과정 중 폴 각도의 변화를 관찰하여 원점으로의 수렴 여부를 확인한다.

4.3.1 학습 과정 중의 폴 각도

Fig. 11은 학습 과정 중의 폴 각도를 추출하여 나타낸다. Fig. 11(a)Fig. 11(b)에서 DQN과 DDQN은 학습 시 폴 각도가 15000 타임 스텝 이후 매우 느리게 수렴하고, Fig. 11(c)Fig. 11(d)에서 dueling DDQN과 MTQN은 학습 시 폴 각도가 비교적 빠르게 원점 근처로 수렴한다. 특히 MTQN 학습 시 더욱 빠르고 원점에 가깝게 수렴하는 모습을 확인할 수 있다.

그림 11. 학습 과정 중의 폴 각도

Fig. 11. Pole angle on training

../../Resources/kiee/KIEE.2024.73.12.2371/fig11.png

4.3.2 학습 완료 후 폴 각도

학습 완료 후의 시뮬레이션 결과를 살펴보면 dueling DDQN을 제외한 3개의 알고리즘에서 폴 각도는 0rad 근처에 대칭적으로 유지함을 알 수 있고, 특히 MTQN을 사용한 경우에는 폴 각도가 0rad 근처에 가장 많이 분포하는 모습을 확인할 수 있다. 이는 MTQN 알고리즘이 가장 효과적으로 폴 각도를 제어한다고 할 수 있다.

Fig. 12에서 DQN을 사용하여 학습한 모델의 경우에 폴 각도는 대체적으로 0rad 근처로 수렴하나, 0rad보다 근소하게 우측 분포가 쏠린 경향을 확인할 수 있다. Fig. 13에서 DDQN은 DQN과 마찬가지로 폴 각도는 0rad 근처로 잘 수렴하는 모습을 확인할 수 있다. Fig. 13(b)에서 폴 각도는 DQN보다 훨씬 대칭적으로 분포하는 모습을 확인할 수 있다. Fig. 14에서 Dueling DDQN은 0rad보다 큰 각으로 수렴하고, 다른 알고리즘에 비해 수렴 범위가 넓음을 확인할 수 있다. Fig. 14(b)에서

그림 12. DQN을 사용한 폴 각도

Fig. 12. Pole angle with DQN

../../Resources/kiee/KIEE.2024.73.12.2371/fig12.png

그림 13. DDQN을 사용한 폴 각도

Fig. 13. Pole angle with DDQN

../../Resources/kiee/KIEE.2024.73.12.2371/fig13.png

그림 14. Dueling DDQN을 사용한 폴 각도

Fig. 14. Pole angle with dueling DDQN

../../Resources/kiee/KIEE.2024.73.12.2371/fig14.png

그림 15. MTQN을 사용한 폴 각도

Fig. 15. Pole angle with MTQN

../../Resources/kiee/KIEE.2024.73.12.2371/fig15.png

폴 각도는 0rad을 기준으로 좌측은 거의 분포하지 않고 우측으로 넓게 분포함을 확인할 수 있다. Fig. 15(a)에서 MTQN은 폴 각도가 0rad으로 수렴함을 알 수 있고, Fig. 15(b)에서 폴 각도는 0rad일 때가 가장 많았고 분포 역시 대칭적임을 확인할 수 있다.

5. 결 론

본 논문에서는 transformer를 심층 강화학습 모델에 결합하여 긴 시퀀스 시스템을 효율적으로 제어할 수 있는 방법을 제안하였다. 제안한 알고리즘은 성능분석을 위하여 대표적인 강화학습 벤치마크 환경인 cart-pole 시스템에서 대표적인 심층 강화학습 알고리즘인 DQN, DQN의 변형 알고리즘들과 비교 분석하였다.

시뮬레이션은 cart-pole 시스템의 평가 점수, 카트 위치 그리고 폴 각도를 비교 분석하였으며, 3가지 항목에서 제안한 MTQN 알고리즘이 기존 심층 강화학습 알고리즘들에 비해 우수함을 보였다.

첫째, 제안한 알고리즘은 다른 심층 강화학습 알고리즘과 비교하여 평균적으로 적은 에피소드에서 학습이 종료되었고, 학습이 진행됨에 따라 평가 점수가 지속적으로 상승하는 경향을 보여주었다. 둘째, 카트 위치는 기존 알고리즘에 비하여 진동폭이 크지 않게 움직였고, 카트의 총 누적 이동 거리가 다른 알고리즘에 비하여 짧게 나타났다. 셋째, 폴 각도의 분석은 학습 중과 학습 이후에 타임 스텝에 따른 폴 각도와 폴 각도의 분포를 나타낸 히스토그램을 사용하였다. 학습 중의 폴 각도를 추출해 봤을 때 제안한 알고리즘은 학습 시 폴 각도가 빠르게 원점 근처로 수렴하는 모습을 확인할 수 있었다. 학습이 완료된 후 폴 각도는 대체적으로 모든 알고리즘에서 0rad 근처에 대칭적으로 유지하는 모습을 보여주었지만, 제안한 알고리즘을 사용했을 때 폴 각도가 0rad에 가장 많이 분포하는 모습을 확인할 수 있었다. 결론적으로 제안한 알고리즘은 cart-pole 시스템의 데이터를 잘 모델링할 수 있고, 효율적으로 제어할 수 있음을 알 수 있다.

Acknowledgements

This research was supported by the 2023 scientific promotion program funded by Jeju National University

References

1 
J. Kober, J. A. Bagnell, and J. Peters, “Reinforcement learning in robotics: A survey,” The International Journal of Robotics Research, vol. 32, no. 11, pp. 1238-1274, 2013.DOI
2 
K. Shao, Z. Tang, Y. Zhu, N. Li, and D. Zhao, “A survey of deep reinforcement learning in video games,” arXiv preprint arXiv:1912.10944, 2019.DOI
3 
L. Ouyang et al., “Training language models to follow instructions with human feedback,” Advances in Neural Information Processing Systems, vol. 35, 2022.URL
4 
Y. Lecun, L. Bottou, Y. Bengio, and P. Haffner, “Gradient-based learning applied to document recognition,” Proceedings of the IEEE, vol. 86, no. 11, pp. 2278-2324, 1998.DOI
5 
A. Krizhevsky, I. Sutskever, and G. E. Hinton, “Imagenet classification with deep convolutional neural networks,” Advances in Neural Information Processing Systems, vol. 25, 2012.URL
6 
H. V. Hasselt, A. Guez, and D. Silver, “Deep reinforcement learning with double q-learning,” Proceedings of the AAAI Conference on Artificial Intelligence, vol. 30, no. 1, 2016.DOI
7 
Z. Wang, T. Schaul, M. Hessel, H. Hasselt, M. Lanctot, and N. Freitas, “Dueling network architectures for deep reinforcement learning,” Proceedings of Machine Learning Research, vol. 48, 2016.URL
8 
A. Vaswani et al., “Attention is all you need,” Advances in Neural Information Processing Systems, vol. 30, 2017.URL
9 
A. Dosovitskiy et al., “An image is worth 16x16 words: Transformers for image recognition at scale,” arXiv preprint arXiv:2010.11929, 2020.URL
10 
Z. Liu, Y. Lin, Y. Cao, H. Hu, Y. Wei, Z. Zhang, S. Lin, and B. Guo, “Swin transformer: Hierarchical vision transformer using shifted windows,” Proceedings of the IEEE/CVF International Conference on Computer Vision, 2021.DOI
11 
H. Chen, Y. Wang, T. Guo, C. Xu, Y. Deng, Z. Liu, S. Ma, C. Xu, and W. Gao, “Pre-trained image processing transformer,” Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2021.URL
12 
Y. Gong, C. I. J. Lai, Y. A. Chung, and J. Glass, “SSAST: Self-supervised audio spectrogram transformer,” Proceedings of the AAAI Conference on Artificial Intelligence. vol. 36, no. 10, 2022.DOI
13 
OpenAI, GPT-3.5: Language Models for Natural Language Understanding, https://openai.com, 2022.URL
14 
A. Dutech et al., “Reinforcement learning benchmarks and bake-offs II,” Advances in Neural Information Processing Systems, vol. 17, 2005.URL
15 
A. G. Barto, R. S. Sutton, and C. W. Anderson, “Neuronlike adaptive elements that can solve difficult learning control problems,” IEEE Transactions on Systems, Man, and Cybernetics, vol. 13, no. 5, pp. 834-846, 2012.URL
16 
R. S. Sutton, and A. G. Barto, Reinforcement learning: An introduction, MIT press, 2018.URL
17 
V. R. Konda, and J. N. Tsitsiklis, “Actor-critic algorithms,” Advances in Neural Information Processing Systems, vol. 12, 1999.URL
18 
C. Dann, Y. Mansour, M. Mohri, A. Sekhari, and K. Sridharan, “Guarantees for epsilon-greedy reinforcement learning with function approximation,” Proceedings of the International Conference on Machine Learning, 2022.URL
19 
R. M. Schmidt, “Recurrent neural networks (RNNs): A gentle introduction and overview,” arXiv preprint arXiv:1912.05911, 2019.URL
20 
J. Chung, C. Gulcehre, K. Cho and Y. Bengio, “Empirical evaluation of gated recurrent neural networks on sequence modeling,” arXiv preprint arXiv:1412.3555, 2014.DOI
21 
S. Hochreiter, and J. Schmidhuber, “Long short-term memory,” Neural Computation, vol. 9, no. 8, pp. 1735-1780, 1997.URL
22 
G. Brockman, V. Cheung, L. Pettersson, J. Schneider, J. Schulman, J. Tang, W. Zaremba, “OpenAI Gym,” arXiv preprint arXiv:1606.01540, 2016.URL
23 
T. Haarnoja, A. Zhou, P. Abbeel, and S. Levine, “Soft actor-critic: Off-policy maximum entropy deep reinforcement learning with a stochastic actor,” Proceedings of the International Conference on Machine Learning, 2018.URL
24 
M. Andrychowicz, F. Wolski, A. Ray, J. Schneider, R. Fong, P. Welinder, B. McGrew, J. Tobin, P. Abbeel and W. Zaremba, “Hindsight experience replay,” Advances in Neural Information Processing Systems, vol. 30, 2017.URL

저자소개

한병찬(Byeong-Chan Han)
../../Resources/kiee/KIEE.2024.73.12.2371/au1.png

Byeong-Chan Han received his B.S degree in Animal Biotechnology and M.S. degree in Electronci Engineering from Jeju National University in 2022 and 2024, respectively. His research interests include generative models, large language models, and reinforcement learning.

강민제(Min-Jae Kang)
../../Resources/kiee/KIEE.2024.73.12.2371/au2.png

Min-Jae Kang received his B.S. degree in Electrical Engineering from Seoul National University in 1982. He received Ph.D. degree in Electrical Engineering from University of Louisville in 1991. He served as a Professor from 1992 to 2023 at Jeju National University. Since 2023, he has been with the Electrical Energy Research Center at Jeju International University. His research interests include deep learning, grounding system, and wind power control.

송성호(Seong-Ho Song)
../../Resources/kiee/KIEE.2024.73.12.2371/au3.png

Seong-Ho Song received his B.S., M.S., and Ph.D. degrees from Seoul National University, Korea in 1987, 1991, and 1995, respectively. Currently, he is a professor in the Division of Software, Hallym University, Korea. His research interests are nonlinear control, image processing devices, and machine learning.

김호찬(Ho-Chan Kim)
../../Resources/kiee/KIEE.2024.73.12.2371/au4.png

Ho-Chan Kim received his B.S., M.S., and Ph.D. degrees in Control and Instrumentation Engineering from Seoul National University in 1987, 1989, and 1994, respectively. Since 1995, he has been with the Department of Electrical Engineering at Jeju National University, where he is currently a professor. His research interests include wind power control, electricity market analysis, and control theory.