개요
이번 학기에 수업을 들으면서, 우연히 강화학습에 대해 공부할 기회가 생겼는데 이 글은 강화학습에 대해 정리한 두 번째 글이다
이번 글에서는 게임환경에서의 강화학습에서 사용되는 Q-Learning을 이해하기 위해, 우선 수학적 기반들에 대해 알아본다
- 마르코프 결정 과정
- 상태 가치 함수와 행동 가치 함수
- 최적 행동 가치 함수
마르코프 결정 과정(Markov Decision Process, MDP)
마르코프 결정 과정(Markov Decision Process, MDP)는 연속적인 상태와 행동을 통해 에이전트가 최적의 정책을 찾아 최대의 누적 보상을 얻도록 의사 결정을 모델링하는 수학적 프레임워크다
구성요소
아래와 같은 그림을 기반으로 MDP의 구성요소들을 설명해보면 다음과 같다
상태 집합 S
상태의 유한집합으로, 그림에서 초록색으로 표시되어있다(S0, S1, S2)
행동 집합 A
상태에서 의사결정자가 취할 수 있는 행동의 유한집합으로, 주황색으로 표시되어 있다(a0, a1)
예를 들어 S0는 a0, a1 행동을 수행할 수 있다
전이 확률 P(s′ ∣ s, a)
상태에서 어떤 행동을 취했을 때, 이로 인해 상태가 전이될 확률이다(이때 s’는 s에서 전이된 상태를 의미한다)
예를 들어 S0에서 a0를 수행했을 때, 50프로 확률로 S2로 전이되지만 나머지 50프로 확률로 그대로 있을 수도 있다
보상 함수 R(s, a)
상태에서 행동으로 인해 다음 상태로 전이할 경우 받게 되는 즉각적인 보상으로, 빨간색으로 표시되어 있다
이는 이후 누적 보상을 계산하는데 사용된다
할인율 γ
현재 얻게 되는 보상이 미래에 얻게 될 보상보다 얼마나 더 중요한지를 나타내는 값이다
이후 누적 보상 계산식에 사용된다
모델링
연속적인 상황을 나타내기 위해 t를 사용하여 Agent와 Environment의 상호작용을 MDP의 구성요소들로 표현해 보면 다음과 같다
상태 가치 함수와 행동 가치 함수
강화학습에서 상태 가치 함수와 행동 가치 함수는 에이전트가 각 상태나 상태-행동 쌍에서 얻을 누적 보상을 예측하는 함수다
이때 누적 보상은 MDP에서 행동을 수행하고 얻는 현재 보상에 할인률을 적용하여 계산한다
누적 보상
다음과 같이 할인률이 없다면 보상이 0.1이건 100이건 그냥 많은 시간이 지나면 누적 보상이 무한이 되어서 어떤 행동을 수행하는 것이 좋고 나쁘고의 구분을 할 수 없다
그렇기에 할인율을 적용하여 누적보상을 정의하면 다음과 같다
그리고 이 식을 다음과 같이 간략하게 표현할 수도 있다
상태 가치 함수(State Value Function)
상태 가치 함수는 상태 s에 있을 때 얻을 수 있는 누적 보상의 기댓값이다
행동 가치 함수(Q-Function)
행동 가치 함수는 상태 s에서 특정 행동 a를 취했을 때 얻을 수 있는 누적 보상의 기댓값이다(참고로, Q는 Quality 의미)
상태 가치 함수는 상태 𝑠 에서 정책 𝜋 를 따를 때 기대되는 누적 보상을 의미하기 때문에
아래와 같이 각 상태에서 선택할 수 있는 모든 행동 𝑎 에 대해, 정책이 해당 행동을 선택할 확률 𝜋 와 해당 행동의 가치의 가중합으로 표현될 수 있다
이러한 사실을 바탕으로 행동 가치 함수를 이용한 벨만 방정식을 다음과 같이 작성해 볼 수 있다
이를 상태 가치 함수와 행동 가치 함수의 관계로 표현된 식을 통해 정리하면 다음과 같이 작성할 수 있다
최적 행동 가치 함수
지금까지 정리한 상태 가치 함수와 행동 가치 함수(Q 함수)를 간단하게 표현해 보면 다음과 같다
상태 가치 함수는 그 상태에 대해 가치를 가지는 함수고, 행동 가치 함수는 한 상태에서 행동을 수행할 때 얻는 가치를 가지는 함수라 볼 수 있다
이전 글에서 언급한 Q-learning은 상태-행동 쌍의 가치를 나타내는 행동 가치 함수를 업데이트하며 최적 행동 가치 함수에 수렴하는 것을 목표로 한다
이전에 상태 가치 함수와 행동 가치 함수의 관계로 표현된 식을 통해 행동 가치 함수를 표현하면 아래와 같이 작성할 수 있다고 했다
정책이 ‘최적이다’라는 성질을 이용하면 이 벨만 방정식을 더 간단하게 표현할 수 있다
최적 정책을 𝜋* 라고 할 때, 기존에 모든 정책 𝜋 에 대해 성립했으므로 𝜋* 에도 성립하기에 아래와 같이 나타낼 수 있다
그런데 정책이 최적이라면 값(=가치)이 최대인 행동을 100%로 선택해야 하기에 다음 식이 성립하게 된다
이것이 행동 가치 함수에 대한 벨만 최적 방정식이다
이때 상태 전이가 결정적(Deterministic)이라면, 수식을 다음과 같이 더 간단해지게 만들 수 있다
마무리
이번 글에서는 마르코프 결정 과정과 상태 가치 함수, 행동 가치 함수 그리고 최적 행동 가치 함수에 대해 알아보았다
마르코프 결정 과정은 (S, A, P(⋅,⋅), R(⋅,⋅), γ)의 5중 쌍으로 표현되며, 이를 통해 강화 학습에선 최대의 누적 보상을 얻도록 의사 결정을 모델링한다
이 누적 보상과 관련하여 상태 가치 함수(State Value Function)와 행동 가치 함수(Q-Function)는 에이전트가 각 상태나 상태-행동 쌍에서 기대되는 누적 보상(Value)을 계산한다
이때 벨만 방정식(Bellman Equation)은 이 함수들을 재귀적으로 표현한 수식이고, 정책의 성능을 평가하고 개선할 수 있는 기반이 된다
그리고 벨만 최적 방정식을 통해 최적 정책을 모델링하여 최적의 정책을 따를 때 얻을 수 있는 최적의 Q-Value을 재귀적으로 정의할 수 있다
이제 드디어 다음글부터 Q-Learning에 대해 알아보고, 여기에 딥러닝을 가미한 Deep Q-Learning과 DQN에 대해 정리한다