▥ 강화학습의 개념
위키디피아에서 정의하고 있는 강화학습의 개념은 다음과 같다.
Reinforcement learning(RL) is an area of machine learning concerned with how intelligent agents ought to take actions in an environment in order to maximize the notion of cumulative reward.
강화학습은 원하는 목표를 달성하기 위해 시간 순서대로 환경에 가해지는 행동(action)을 선택하기 위한 방법으로, 일반적으로 시간변수는 불연속시간변수(discrete-time)를 가정한다. 또한, 일반적으로 시간스텝마다 행동이 가해지기 때문에 순차적 의사 결정 문제(sequential decision-making probelm)을 구성한다. 강화학습은 에이전트, 환경, 행동, 보상, 그리고 상태라는 5가지 요소로 구성된다.
- 에이전트(agent): 환경의 변화를 표현하는 상태를 관측하여 일정한 정책하에 행동을 선택하도록 의사결정을 하고, 이를 환경에 인가한다. 의사결정자라고 표현된다.
- 환경 (environment): 학습을 하여 풀고자 하는 대상이나 문제를 환경이라 한다. 시스템이라 표현하기도 한다.
- 행동 (action): 에이전트와 환경의 상호작용을 의미한다.
- 보상 (reward): 시간스텝마다 또는 간헐적으로 의사 결정의 성과를 평가하기 위해 보상이 제공된다.
- 상태 (state): 학습하는 주체가 위치하거나 감지하고 있는 상태의 정보를 의미한다.
강화학습은 원하는 목표를 달성하기 위해 에이전트가 상태와 행동을 통해 환경과 상호작용 하고 이에 따라 적절한 보상을 받는 과정으로 이루어진다. 1) 에이전트가 환경의 상태를 측정하고, 2) 측정한 상태에서 일정한 정책하에 에이전트가 선택한 행동을 환경에 인가한다. 3) 행동에 의해서 환경의 상태는 다음 상태로 전환되게 된다. 이것을 state transition이라 한다. 4) 전환된 환경의 상태를 바탕으로 에이전트는 새로운 행동을 선택하고, 5) 환경으로부터 주어지는 보상을 사용해 장기적인 성과를 계산 혹은 예측하여 에이전트의 정책을 개선한다.
일반적으로는 이산 시간 스텝마다 이러한 과정이 반복되고, 이러한 프로세스를 수학적으로 모델링한 것이 마르코프 결정 프로세스(Markov Decision Process, MDP)라 한다.
▥ Markov Decision Process(MDP)
위키디피아에서 정의하고 있는 MDP의 개념은 다음과 같다.
In mathmatics, a Markov decision process is a discrete-tiem stochastic control process. It provides a mathmatical framework for modeling decision making in situations where outcomes are partly random and partly under the control of a decision maker. MDPs are useful for studying optimazation problems solved via dinamic programming.
위키디피아에서 정의하고 있는 개념과 상통하듯, 강화학습에서 이산 시간스텝마다 반복되는 1)~5)번의 과정을 수학적으로 모델리한 것이 마르코프 결정 프로세스라고 이해할 수 있겠다. 상태, 상태천이 확률밀도함수, 행동, 보상함수, 그리고 할인율을 MDP의 구성 요소라 한다. 상태와 행동은 연속공간이거나 이산공간 랜덤 변수이다.
- 상태천이 확률밀도함수(\(p(x_{t+1}|x_t, u_t)\)): 어떤 상태(\(x_t\))에서 에이전트가 행동(\(u_t\))을 선택했을 때 다음상태(\(x_{t+1}\))로 변화하는 확률밀도함수이다. 에이전트가 행동을 선택했을 때 상태의 변화를 나타내는 함수이기에 환경의 수학적 모델이라 한다.
- 보상함수 (\(r(x_t,u_t) = E(R_{t+1}|x_t, u_t)\)): 상태(\(x_t\))에서 에이전트가 행동(\(u_t\))를 선택했을 때 받을 수 있는 보상으로 정의한다. 보상은 랜덤변수로서 환경으로부터 주어지고, 환경에 따라 같은 상태에서 같은 행동을 취하더라도 다른 보상을 줄 수 있다. 보상은 에이전트가 t시점에 알고 있는 것이 아니라, t시점의 정보를 받아 환경이 알려주는 것이기 때문에 t+1로 표기된다.
수식을 통해 알 수 있듯, MDP문제는 보상을 최대화하기 위해 어떤 행동을 취할 것인지를 나타내는 조건부 확률밀도함수를 구하는 문제이다. 에이전트가 일정한 규칙 하에 행동을 선택하도록 할 때, 이 일정한 규칙을 정책(policy)라 한다. 즉, 상태 \(x_t\)에서 행동 \(u_t\)를 선택하도록 하는 정책 \({\pi}(u_t|x_t)\)이 최대가 되는 값 \(p(u_t|x_t)\)을 찾는 것이다. 정책의 정의에 의해, 한 상태변수에서 여러 개의 행동을 선택할 수 있는 가능성이 있다는 것을 알 수 있다. 이를 확률적 정책이라고 한다. 강화학습은 최적의 정책(optimal policy)를 찾기 위해 현재의 정책보다 더 좋은 정책을 학습해나가는 과정이다.
MDP 전개 과정은 다음과 같이 이루어진다. 상태 \(x_0\)에서 정책\(\pi\)에 의해 \(u_0\)가 확률적으로 샘플링되면 상태천이확률밀도함수에 의해 상태변수가 \(x_1\)로 이동한다. 이때 환경에 의해 보상 \(r(x_0,u_0)\)가 주어진다. 이 과정이 반복되면서 상태변수, 행동, 보상의 순서로 연속 시퀀스가 구성되어 궤적(trajectory) \(\tau\) 이 생성된다.
\(\tau = (x_0,u_0,x_1,u_1,x_2,u_2, ..., x_T,u_T)\)
이와같이 확률모델이 상태천이 확률밀도함수로 주어지는 경우를 확률적 MDP라 하고, 환경모델과 정책이 모두 확정적으로 주어졌다면 확정적MDP라고 한다.
확정적 MDP에서 환경 모델은 다음과 같다.
\(x_{t+1} = f(x_t,u_t)\)
\(u_t = \pi(x_t)\)
반환값(discounted return)과 감가율(discount factor)의 개념은 다음과 같다. 반환값이란 시간스텝t 이후에 얻을 수 있는 미래 보상의 총합을 의미한다. 표기는 \(G_t\)라 한다. 이때, 감가율 \(\gamma \in [0,1]\) 값을 통해, 가중치를 조절할 수 있다. 감가율 값이 작을수록 에이전트가 먼 미래에 받을 보상보다 가까운 미래에 받을 보상에 더 큰 가중치를 부여한다. 또한, 감가율은 T가 무한대로 수렴할 때 반환값이 무한대로 발산하는 것을 막는 수학적 장치 역할을 한다.
\(G_t = r(x_t, u_t)+\gamma r(x_{t+1},u_{t+1})+\gamma^2 r(x_{t+2},u_{t+2})+...+\gamma^{T-t} r(x_T,u_T)\) \(= \Sigma_{k=t}^T \gamma^{k-t} r(x_k,u_k) = \Sigma_{k=t}^T \gamma^{k-t} R_{t+1}\)
정책 \(\pi\)를 실행하여 상태변수, 행동, 보상의 순차적 집합이 생성되었다면, 이를 에피소드라고 한다. 에피소드는 특정 상태변수에 도달하는 등 목적이 성취되면 종료되는 유한 구간 에피스드도 있고, 무한히 이어지는 무한 구간 에피소드도 있다. \(t=T\)일 경우 에피소드가 종료되는 시간이 T가 될 것이고, 무한 구간 에피소드라면 \(T \rightarrow \infty\)로 표기한다.
Reference
본 글의 내용은 위키디피아와 수학으로 풀어보는 강화학습 원리와 알고리즘(박성수 저) 책을 참고하여 작성함.