* 이 글은 홍콩과기대 김성훈 교수님의 무료 동영상 강좌 "모두를 위한 머신러닝과 딥러닝 강의"를 보고 요점을 정리한 글 입니다.
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) |
'강의 Study > 모두를 위한 머신러닝과 딥러닝 강의-시즌 RL' 카테고리의 다른 글
[시즌RL].Lecture 6 - Q-Network (2) | 2024.07.14 |
---|---|
[시즌RL].Lecture 5 - Q-Learning in non-deterministic world (0) | 2024.07.13 |
[시즌RL].Lecture 4 - Q-Learning exploit&exploration and discounted reward (2) | 2024.07.12 |
[시즌RL].Lecture 2 - OpenAI GYM 게임해보기 (0) | 2024.07.10 |
[시즌RL].Lecture 1 - 수업의 개요 (0) | 2024.07.09 |