대학원 수업/강화학습

3. Bellman equation and Dynamic Programming(1/3) - The Bellman Equation

따옹 2022. 10. 22. 05:16

 

value function

어떤 state의 가치 - 현재 state를 초기 상태로 하고 끝까지 갔을 때의 return 의 기대값

가치가 높은 상태로 가는 것이 좋음

어떤 상태에서 어떤 행동을 결정했을 때, 나에게 주어지는 return의 기대값

 

어떻게 계산하는가?

어떤 state에서 출발해서 가보면 알지만 policy, environment stochastic할 수 있다.

stochastic environmnet- 내가 행동을 취했을 때, 내가 state가 이쪽으로 갈 수도 있고 저쪽으로 갈 수도 있는 확률값이 주어지는 환경

stochastic policy - 어떤 action을 정할 때, 70%로 오른쪽(action) 30%로 왼쪽(action)으로 결정

stochastic이 존재하는 상황 속에서 어떻게 state의 가치를 정할 것인가 ?

=> Bellman Equation !

dynaminc에서  어떤 state의 가치는 행동을 취했을 때 나타나는 reward + 다음state의 가치 합

*environmnet가 stochastic 할 때,

 

위의 과정을 일반화 하면, 다음 식과 같다
예시

추가로, policy도 stochastic하다면?

 

Bellman Equation of the Q function

어떤 state에서 행동을 취할 때 가치는 다음 state로 갈때 취하는 행동의 reward + 다음 행동에서 agent의 가치

stochastic environmnet일 때

stochastic envirnonment

Q는 어떤 action 값이 정해졌을 때의 가치 이므로, stochastic policy 상황에서는 아래와 같이 표현

stochastic policy
위의 식 일반화

이제 Optimal policy를 어떻게 계산할 것인가

 

어떤 state 의 V값은 어떤 policy가 정해져있을 때, 그 state의 가치

policy(각 state마다 action을 정해놓았다.)

가능한 모든 policy를 계산해 봤을 때, maximum 값으로 만드는 그 V(s) 값 

Bellman Optimality Equation -V(s)

optimal policy

Bellman Optimality Equation -Q(s)

Q의 경우 어떤 state에서 어떤 action을 취했을 때의 가치 이므로, Q값은 다음 state에서 내가 취할 수 있는 action이 여러가지 

그 중에 전체값을 maximum으로 만들 수 있는 값을 보고 그 때의 최대값 Qmax

한 번 손으로 써볼 것

 

V- 어떤 state의 가치 / Q - 어떤 state에서 어떤 action을 취했을 때의 가치

 

V, Q의 관계

 

Dynamic programming으로 optimal policy를 찾는 방법

value iteration

policy iteration