Markov Decision Process(MDP)
Reinforcement Learning(RL)은 에이전트가 환경과 순차적으로 상호작용하면서 학습하는 패러다임이고, 여기서 에이전트의 목표는 할인된 누적 보상을 최대화 하기 위한 행동 선택 정책을 최적화하는 것이다. Markov Decision Process(MDP)는 Model-based 방법의 한 종류로 Markov Decision Process를 기반으로 하는 강화 학습 방법이다(Model-based의 다른 종류에는 Nonlinear Dynamics 형태가 있고, Model-Free 방법은 Gradient Free(off policy, on policy)와 Gradient-based 방법이 존재한다)
Basics
Markov Decision Process는 강화학습의 수학적 모델로, 에이전트가 환경과 상호작용하면서 최적의 정책을 찾는 문제를 정의하는 방식으로 다음과 같은 형식으로 정의 된다.
여기서 는 State Space로 환경이 가질 수 있는 모든 상태의 집합을 나타내며, 는 Action Space로 에이전트가 수행할 수 있는 모든 행동의 집합을 나타내며, 는 State Transition Probability로 현재 상태 에서 행동 를 수행할 때, 다음 상태 로 전이될 확률을 나타내며, 는 Reward Function으로 상태 에서 행동 를 수행할 때 주어지는 보상을 나타내며, 는 미래 보상에 대한 할인율(discount factor)를 나타낸다.
강화학습은 MDP를 기반으로 최적의 정책 를 학습하여 보상을 최적화하는 것이 목표인 방법이라 할 수 있다.
Trajectory
강화학습에서 에이전트가 환경과 상호작용하며 생기는 궤적(trajectory)는 MDP에서의 연속적인 전이 과정을 나타낸다. 정책 하에 길이 의 궤적 를 생성하는 확률은 아래처럼 작성할 수 있다.
여기서
•
는 MDP 상태 집합에서의 초기 상태를 나타내고,
•
는 에이전트가 행동을 선택하는 정책(policy)이고,
•
는 시점의 상태와 행동을 조건으로 시점에 대한 상태로 전이하는 상태 전이 확률이고,
•
은 시점의 상태와 행동(과 optional로 시점의 상태 포함)를 조건으로 시점의 보상을 나타내는 보상 확률을 의미한다.
Episode and returns
에지전트가 환경과 영원히 상호작용하는 경우 continuing task라 부른다. 반면 어떠한 종료 조건이 존재하여(목표를 달성하거나 실패하는 등) 환경과의 상호작용이 종료될 수 있는 경우 episodic task라 한다. 가 absorbing state라면 다음 상태는 항상 이고 reward는 이다.
시간 이후 앞으로 얻을 것으로 기대하는 보상의 합을 이라 정의한다. 여기서 각 보상은 할인율 을 적용하여 계산한다.
는 때때로 reward-to-go라고 부른다. 시간 에서 종료되는 에피소딕 작업의 경우 에 대해 라고 정의할 수 있고 은 에피소드 시작()에서부터 종료 시점까지 기대되는 보상의 총합이 나타낸다.
은 다음과 같은 재귀 관계를 만족한다.
State Value Function
상태 에서 시작하고 이후에는 정책 를 따라 행동을 선택할 때 받을 기대 보상의 총합을 나타내는 함수 를 state-value 또는 value 함수라고 부른다.
Action Value (Q) Function
state-value와 유사하지만 상태 에 대한 행동 를 지정하고, 이후에는 정책 를 따라 행동을 선택할 때 받을 기대 보상의 총합을 나타내는 함수 를 action-value 함수 또는 Q-함수라고 한다.
Advantage Function
상태 에서 정책 를 따를 때의 기대 보상(즉 )을 baseline으로 보고, 상태 에서 행동 를 선택할 때의 기대보상(즉 )이 baseline에 비해 얼마나 좋은지 여부를 따질 수 있는데, 이를 계산하는 함수를 Advantage Function이라 하고 아래처럼 정의된다.
현재 상태 에 대한 행동 이 baseline 보다 나을 경우 값이 커지고 그렇지 못한 경우 Advantage는 음수가 될 수 있다.
Optimal Value Functions
가 모든 상태 와 모든 정책 에 대해 를 만족하는 정책이라 하면 이것은 optimal policy가 된다. 동일한 MDP에 대한 여러 최적 정책이 있을 수 있지만 정의상 해당 가치 함수가 동일해야며 각각 와 로 표기된다. 이때 을 optimal state-value 함수라하고 를 optimal action-value 함수라고 한다. 모든 유한 MDP는 적어도 1개의 결정론적 최적 정책을 가져야 한다.
최적 가치 함수는 근본적으로 Bellman’s optimality 방정식으로 나타낼 수 있다(여기서 Bellman 방정식은 현재 상태의 최적 가치가 미래 상태의 최적 가치와 관계를 갖는 재귀적 형태의 식을 말한다).
이상적인 최적이 정의가 되므로 현재 가치 함수와 이상적인 최적 사이의 차이를 정의할 수 있다. 이것을 Bellman Error(또는 Bellman Residual) 이라 하며, 아래와 같이 구할 수 있다.
물론 최적의 값 와 를 알 수 없 없기 때문에, 다음과 같이 와 에 대한 근사치 를 정의하고
이 근사치와의 차이를 통해 Bellman Error를 추정한다.
그리고 이 근사치와의 차이값(Bellman Error)를 줄이는 방식으로 모델을 학습하고, 이 차이값이 이 되면 모델이 최적에 도달했다고 한다.
Optimal Policies
를 최대화 하는 행동 는 상태 에 대한 최적 정책 에 해당 되므로 를 이용하여 아래와 같이 최적 정책 을 구할 수 있다.
한편 주어진 상태 를 최대화한 값이 최적 상태 가치 가 되므로 를 이용하여 아래와 같이 최적 상태 가치 를 구할 수 있다.
위 식들을 정리하면 최적 정책 에 대해 다음과 같이 식을 정리할 수 있다.
즉 행동 가치 함수만 이용해서 최적 정책을 구할 수 있고(첫 번째), 행동 가치 함수 없이 보상을 결합한 상태 가치 함수를 이용하여 최적 정책을 구할 수도 있다(두 번째). 따라서 최적 정책을 구할 때 행동 가치 함수를 이용하거나 보상과 결합된 상태 가치 함수를 이용한 방법을 사용할 수 있다.
를 푸는 문제를 policy optimization이라 하며, 주어진 정책 에 대한 나 를 푸는 것을 policy evaluation이라 한다