이 강의에서는 전제조건으로 agent가 환경에서 발생되는 모든 정보를 볼 수 있다고 가정한다. (fully observable) 설명을 하기 쉬운 환경이지만 실제로 우리가 살고 있는 환경은 그렇치 않다. 우리는 세상에 일어나는 모든일들을 다 알지는 못하기 때문이다.
MP(Markov Property)
agent가 environment에서 어떠한 action을 하기 위해서는 의사결정이 필요하다. 그리고 그 의사결정을 하기 위해 environment로부터 정보들을 받게 된다.
현재에서 바로 다음 상황을 예측하는데는 현재의 state만 필요할까, 이전 모든 state가 모두 필요할까? 모든 state의 정보가 다 필요하다고 생각할 수 있지만 사실은 현재의 state만 보면 된다는게 Markov Property이다. 현재의 상태는 과거의 어떠한 과정들을 거쳐서 발생이 된 것 임으로, 현재 상태에서의 정보들은 과거의 중요한 정보들을 포함하고 있다고 볼 수 있다. 모든 과거의 정보들을 포함하고 있지는 않지만 앞으로 다가올 미래를 예측하는데 필요한 정보는 충분히 포함하고 있다는 것 이다.
그래서 의사결정을 할때에는 현재의 정보들에 집중하면 되는데 이는 현재의 정보가 Markov property를 가지고 있기 때문이다. 그러므로 미래는 과거와 독립적이다.
MRP(Markov Reward Process)
앞에서 알아본 Markov chain에다가 values (가치)라는 개념을 추가하여 생각해 볼 수 있다. 이를 Markov Reward Process 라고 한다.
이 가치를 판단하기 위해서는 두가지 factor가 추가가 되는데 하나가 reward이고 다른 하나는 discount factor이다.
reward는 현재 상태를 기준으로 하여 다음 상태에 받게 될 기대되는 보상을 표현한다. 그리고 discount factor는 0에서 1 사이의 값으로 현재와 과거에 중요도의 비중에 차이를 두는 역할이다.
우리가 원하는 목표로 하는 것은 이러한 reward에 총합을 구하는 것 이다. 현재 시점에서 앞으로 내가 보상을 받게 될 모든 것들을 계산해 보는 것이다. 하지만, 이때 현재 즉시 받는 보상과 미래에 받게 되는 보상과는 다른 가치를 가지고 있으므로 할인율을 적용해서 discount를 해준다.
discount factor라는 개념은 미래의 보상을 현재 시점에서 얼마나 중요하게 생각할지를 결정하는 요소이다. 할인율이 0이면 미래의 보상은 전혀 고려하지 않고, 오직 바로 다음에 받을 보상만을 중요하게 생각하게 된다. 반면에, 할인율이 1에 가까워지면 먼 미래의 보상을 중요하게 생각하게 된다. 그래서 할인율이 클수록 미래의 보상까지도 신중하게 고려하는 '원시안적'인 행동을 하게 되고, 할인율이 작을수록 눈앞의 보상만을 추구하는 '근시안적'인 행동을 하게 되는 것이다.
쉽게 말해, discount factor가 1에 가까울수록(클수록) 미래를 더 중요하게 여기고, 0에 가까울수록(작을수록) 현재만 중요하게 여긴다고 생각하면 된다.
왜 discount를 할까?
할인을 사용하는 이유는 대부분의 마코프 보상 및 결정 과정이 할인을 적용하기 때문이다.
- 수학적으로 보상을 할인하는 것이 편리하다.
- 순환하는 마코프 과정에서 무한한 수익을 피할 수 있다.
- 미래에 대한 불확실성을 충분히 반영하지 않을 수 있다.
- 보상이 금융적일 경우, 즉각적인 보상이 지연된 보상보다 더 많은 이자를 얻을 수 있다. 우리가 미래에 100만원 받는 것보다 지금 100만원 받는게 더 좋다고 판단하는 것처럼..
- 동물이나 인간의 행동은 즉각적인 보상을 선호하는 경향이 있다.
Value Function
현재 상태가 s 라는 state일때 앞으로 발생할 것으로 기대되는(E) 모든 rewards 의 합을 value 라고 한다. 이것을 조건부 확률로 수학적으로 표현을 하면 위와 같이 된다.
이 value function는 현재 시점에서 미래의 모든 기대하는 보상들을 표현하고 이를 미래 가치라고 할 수 있다.
강화학습에서 핵심적으로 학습을 통해서 찾고자 하는 것이 바로 이 value function을 최대한 정확하게 찾는 것이라고 할 수도 있다. 다시 말해서 미래 가치가 가장 큰 의사결정을 하고 행동하는 것이 우리의 최종 목표가 된다.
이러한 value function을 두가지 파트로 분리할 수 있는데 이때 사용되는 것이 Bellman Equation 이다. Bellman Equation은 dynamic program에서 널리 사용되는 방정식이다.
우리는 이 Bellman equation을 통해서 현재 시점의 value는 현재의 보상과 다음 시점의 value로 표현할 수 있다는 것을 알수 있다. 재귀적인 형태로서 미래의 가치들이 현재의 가치에 영향을 주고 있는 형태가 된다.
MDP(Markov Decision Process)
이전까지 살펴보았던 Markov reward process 에 의사결정에 대한 개념을 더 추가한다. 이를 Markov decision process (MDP) 라고 한다. 당연히 모든 state가 Markov 인 환경에서 이루어진다.
A 라고 하는 action이 가능한 집합을 표현하는 notation이 하나가 더 추가가 되었다. 이를 통해서 현재 상태 s 에서 a 라고 하는 action을 할 때 다음 상태 s' 로 가게 될 확률을 P 에 대한 내용으로 표현을 하게 된다.
R 도 reward 에 대한 함수인데 마찬가지로 현재 상태 s 에서 a 라는 action을 할때 기대되어지는 보상을 표현하게 된다.
policy
이번에는 policy 에 대해서 볼 것이다. policy는 agent가 행동을 하는데 중요한 역할을 한다. 현재 state에 대해서 어떤 action을 취할 확률을 나타낸다. 또는 현재 state와 action을 mapping 하는 것이라고도 표현한다. 그리하여 policy, 정책은 파이에 대한 함수로 표현된다.
MDP policy에서는 현재 state만 고려하고 과거의 것들을 고려하지 않고 action을 하는데, 이때에 stochastic 하게, 확률적으로 action을 결정하게 된다. 그리고 policy는 time step의 변화에 무관하게 독립적으로 진행이 된다.
하나의 MDP가 주어졌을 때 하나의 policy가 존재한다. 이 policy 개념을 Markov process에 적용을 하여 표현을 하면 P 윗첨자에 파이가 표시가 되고, 이를 policy 파이를 따르는 P라고 읽는다. 왜냐하면 policy 를 벗어난 state transition은 발생할 수 없기 때문이다.
이번에는 value function에 policy를 적용해보자.
위의 공식을 말로 풀어보면, state s 에서 policy를 따르는 v 가 되며 이것은 동일하게 state s인 조건에서 policy를 따르는 기대되는 미래 보상들을 모든 합의 값이 된다. 이를 state-value function, v 이라고 한다.
이를 의미적으로 다시 말하면, 현재 상태에서 이 policy를 따랐을 때 얼마나 좋은지, 얼마나 가치있는지를 나타내는 값이라는 것이다.
여기다가 action a 개념을 추가하면 action-value function, q 가 된다. 이것은 state s 이면서 action a 인 조건에서 policy를 따르는 기대되는 미래 보상들을 모두 합의 값이 된다.
이를 의미적으로 다시 말하면, policy를 따라서 이 action을 행동했을때 얼마나 좋은지, 가치를 나타내는 값이 된다.
이렇게 보니 value function이랑 q function이 실제 강화학습 사용될때 무슨 차인지 헷갈렸다. value func을 사용해도 어차피 현재 state에서 action을 취해야 다음 state나올거고 그거에 대해서 그 state가 얼마나 좋은지 평가하는거 아닌가? 근데 그럼 q function이랑 뭐가다르지?..
-> 이 둘의 핵심적인 차이점은 행동을 선택하는 과정에서의 차이이다.
- Value Function vπ(s): 이 함수는 주어진 상태 s에서 기대되는 미래 보상의 총합을 나타낸다. 이때 행동 선택은 정책 π에 따라 이루어지며, vπ(s)는 해당 정책에 따라 행동이 이미 선택된 상태에서 계산된다. 쉽게 말해, 이 함수는 "어떤 정책에 따라 행동이 이루어졌을 때 이 상태의 가치는 얼마일까?"를 평가한다.
- Q Function qπ(s,a): 이 함수는 주어진 상태 s에서 특정 행동 a를 취했을 때 기대되는 미래 보상의 총합을 나타낸다. 즉, 상태 s와 행동 a의 조합이 주어졌을 때의 가치를 계산한다. 따라서 Q Function은 "이 상태에서 이 행동을 했을 때의 가치는 얼마일까?"를 평가한다.
이제 optimal value function에 대하여 생각해보자.
state-value function이 갖는 값이 최대값이 되도록 하는 max 를 구한다면 이것이 가장 최적의 v 가 될 것이다. 이때의 v 를 v*로 표현을 하며 이것이 곧 optimal state-value function이 된다.
마찬가지로 action-value function이 갖는 값이 최대값이 되도록 하는 max를 구한다면 이때의 q 를 q*로 표현하고 이는 곧 optimal action-value function이 된다.
이렇게 최적화된 value function을 찾는 것이 우리의 목표가 되며 MDP를 푼다고 표현을 하기도 한다.
정리 필기
근데 Bellman Expectation Equation, Bellman Optimality Equation 이게뭔데..?
Bellman Expectation Equation과 Bellman Optimality Equation의 차이점
Bellman Expectation Equation
- 정의: Bellman Expectation Equation은 주어진 정책 π 하에서 상태의 가치를 계산하는 식이다. 즉, 어떤 특정 정책을 따른다고 가정했을 때, 그 정책을 따를 때 기대할 수 있는 상태 또는 상태-행동 쌍의 가치를 나타낸다.
- 목적: 이 식은 주어진 정책이 얼마나 좋은지를 평가하는 데 사용된다. 이때 정책은 고정되어 있으며, 그 정책 하에서의 기대값을 계산한다.
Bellman Optimality Equation
- 정의 : Bellman Optimality Equation은 정책을 따로 명시하지 않는다. 대신, 각 상태에서 최적의 행동을 선택하여 상태 또는 상태-행동 쌍의 가치를 업데이트한다. 이때 중요한 것은 최적 행동을 찾는 과정이다.
- 목적: 이 식은 어떤 상태에서 최고의 행동을 선택함으로써 얻을 수 있는 최대 가치를 평가한다. 따라서, 이 식을 통해 최적 정책을 학습할 수 있다.
정책 없이 업데이트할 수 있다는 의미
- Bellman Optimality Equation을 사용하면, 정책 π를 따로 정의할 필요가 없다. 대신, 각 상태에서 가능한 모든 행동을 고려하여, 가장 좋은 행동을 선택하는 방식으로 상태 또는 상태-행동 값을 업데이트한다.
- 이렇게 최적 행동을 직접적으로 선택하는 방식은 정책을 따로 유지하지 않아도 된다는 의미에서 "정책 없이 업데이트"할 수 있다는 말이 된다.
출처: https://daeson.tistory.com/317?category=710652 [대소니:티스토리]
출처: https://daeson.tistory.com/318 [대소니:티스토리]
'AI > RL' 카테고리의 다른 글
[RL] 3-1 Model-Free Prediction - (TD lambda) (2) | 2024.10.12 |
---|---|
[RL] 3-1 Model-Free Prediction - (TD) (0) | 2024.10.09 |
[RL] 3-1 Model-Free Prediction - (MC) (0) | 2024.10.09 |
[RL] 2-2 Planning by Dynamic Programming (0) | 2024.10.09 |
[RL] 1-1 Introduction to Reinforcement Learning (2) | 2024.09.27 |