[시즌RL].Lecture 3 - Dummy Q-Learning

* 이 글은 홍콩과기대 김성훈 교수님의 무료 동영상 강좌 "모두를 위한 머신러닝과 딥러닝 강의"를 보고 요점을 정리한 글 입니다.

 

Q-Learning

Reinforcement Learning(강화 학습)에서 Agent는 현재 State에서 Action을 취하기 전까지 다른 State에 대한 정보를 알지 못합니다 또한 Goal에 도달하기 전까지는 Reward가 0이기 때문에 Action이 좋은지 나쁜지 알 수 없습니다. 따라서 어떠한 Action을 취할지 결정하는 것은 매우 중요하다고 할 수 있습니다.

 

이러한 상황에서 Agent가 Action을 결정하는 것을 도와주는 함수를 Q-Function이라고 하고 다른말로는 State-Action Value Function이라고도 합니다. 이 함수는 현재의 State정보와 하고자하는 Action정보를 입력값으로 입력하면 Quality(Reward)를 출력합니다. 이런 Q-Function의 출력값을 사용해서 Action을 결정하는 것을 Q-Learning이라고 합니다.

 

Q-Function의 수식을 간단하게 표현하면 Equation (1)과 같습니다.

 

$$ Q(State, Action) $$ (1)

 

현재 State에서 취할 수 있는 모든 Action을 Q-Function에 넣은 결과 가장 높은 결과값을 Max Q 라고 하고 이러한 Max Q 값을 가질 수 있는 Action값을 Optimal Policy라고 합니다. 이 2가지 값들을 수식으로 표현하면 Equation (2), (3)과 같습니다.

 

$$ \text{Max } Q = \max_{a'} Q(s, a') $$ (2)
$$ \pi^*(s) = \arg\max_a Q(s, a) $$ (3)

 

위의 수식에서 한단계 더 나아가서 현재 State s에서 Action a를 취할 경우 State s'로 이동하면서 Reward r을 받는다고 생각하고 State s'에서의 Q값이 존재한다고 가정하면 Q(s,a)는 Equation (4)로 표현이 가능합니다. 

 

$$ r + \max Q(s', a') $$ (4)

 

0번째 State부터 n번째 State까지 움직여서 Goal이 되었다고 가정하면 전체 Reward는 Equation (5) 입니다.

 

$$ r_1 + r_2 + r_3 + \cdots + r_n $$ (5)

 

이것을 약간 다르게 생각해보면 t번째 State부터 n번째 State까지의 Reward의 합은 Equation (6)이고 t+1번째 State부터 n번째 State까지의 Reward의 합은 Equation (7)이라고 할 수 있습니다.

 

$$ R(t) = r_t + r_{t+1} + r_{t+2} + \cdots + r_{n-1} + r_n $$ (6)
$$ R(t+1) = r_{t+1} + r_{t+2} + \cdots + r_{n-1} + r_n $$ (7)

 

위 공식들을 잘 살펴본다면 Equation (8)을 만족한다는 것을 알 수 있을 것 입니다.

 

$$ R(t) = r_t + R(t+1) $$ (8)

 

Reward의 최대값을 구하기 위해서는 Q-Function의 최대값을 반환하는 Action을 입력해야 하므로 결국 Equation (8)은 Equation (9)와 같다는 사실을 알 수 있습니다.

 

$$ Q(s, a) = r + \max Q(s', a') $$ (1)