Lecture 2: Markov Decision Process

Overview

Contents

개념

정의

용어

“The agent–environment boundary represents the limit of the agent’s absolute control, not of its knowledge”

재밌는점은 agent와 environment와의 boundary는 물리적인 경계가 아니다. 로봇의 모터나, 관절이 환경으로 보여질 수 있다. 일반적으로 agent에의해 임의적으로 변경이 불가능한것은 environment라고 본다. 매우 복잡하게 동작하는 로봇같은경우 여러개의 agent로 만들어질 수 있다. agent는 각자의 목적을 위해서 움직이는데 상위 decision making을 위해서 low-level agent들의 결과를 이용도 가능하고, 다른 agent들은 RL이 아닌 다른 알고리즘일 수도 있다. 한 agent가 동작할 때 다른 agent들은 environment로 본다.

MDP framework은 유연한 구조이기 때문에 다양한 방식으로 적용이가능하다. 반드시 시간이 물리적인 고정시간일 필요없으며, action또한 low-level부터 high-level decision making까지 다양하게 사용가능. state 또한 마찬가지. 이 state, action, reward를 어떻게 설정하느냐가 매우중요.

reward 설정 시 주의할 부분은 reward의 최대화 할때 우리의 최종 Goal을 달성하는 방식으로 되어야한다. 예를들어 체스게임에서 winning이 reward로 설정되어야지, 지엽적인 문제들 상대방 말을 딴다던지 특정상황을 컨트롤한다던지가 리워드가되면 안된다. 그렇게 하게되면 진짜 goal인 winning 보다 이런 subgoal들을 노리게 된다.

State Transition Matrix

한 state s에서 다음 스테이트 s’으로 전이될 확률을 나타냄

행렬로 한번에 모든 transition 관계 표현 가능 -> 각 row 합은 1

Art text

Markov Process

정의

Art text

Markov Reward Process(MRP)

정의

1. return

정의

task에 따라 리워드 합산을 조금 다르게 세팅할 수 있다. 크게 2가지. 타임 시퀀스가 무한대로 가버리면 discount factor 가 없다면 무한대로 가버린다.

2. discount factor

3. Value Function

Value Function은 Bellman Equation을 씀. 수식을 보면 나오지만 기대값을 구하는 것이므로 얻을 수 있는 value들의 평균을 값으로 갖는다

Art text 위에서부터 아래로 갈수록 수식을 recursive한 형태로 정리. 결국 정리된 의미를 보자면 현재 value는 즉시 얻을 수있는 reward + 미래의 reward의 합산으로 표현된다. Art text 예제 위의 그래프에서 주의할점은 immediate reward는 원으로 표현된 현재 state안의 숫자가 아니라는 점. 원 안의 숫자는 계산된 현재 state의 value이지 “앞으로 얻을 “ reward가 아니다. 원 우측 하단의 R= … 가 immediate reward.

Bellman Equation in Matrix Form

행렬형태로 변환해서 풀 수 있음

이를 수식적으로 정리하면 한번에 계산이 가능하다

그러나 계산 복잡도가 , 작은 MRP에서만 적용가능하다.

MDP

Markov reward process with decisions. MRP에 action 추가

정의

action 개념이 들어가면서 action이 선택될 확률도 함께 고려되어야 하기때문에, 모든 수식에 추가된다. 또한 이 확률은 policy에 의해서 결정되는데 이를 어떻게 효과적으로 업데이트할 것인지가 관건.

1. Policies

스테이트에서 액션 pick할 확률

정의

이 policy 라는 부분이 들어가면서 state transition 부분이 변화가 생긴다

크게 2파트로 볼 수 있을듯하다. 이 2파트의 곱을 통해 다음 state로 전이될 확률이 계산됨

  1. : 선택한 action에 따라 다음 state로 변환될 확률. 원 transition 함수. 환경에서 결정되는 요인(?)
  2. π(a S): 정책에따라 현재 state에서 해당 action을 선택할 확률. agent가 선택의 주체

transition 함수는 stationary하나, policy는 update 가능

2. value function

policy가 들어가면서 action에대한 확률도 고려가 된다. state 의 value를 구하는 function과 action의 value를 구하는 function 2가지가 있다

우선 state value function

Art text

그리고 action value

Art text

개인적으로 위 2가지 개념을 해석할때 서로 서로 재귀적인 느낌이라 어려웠다. 실제 예제를 보면서 생각해보자 Art text state의 value는 실제 value 수치들을 들고 있고, action value의 역할은 해당 action을 택했을 때 도달 할 수 있는 state의 value들을 합해주는 역할이라 생각된다

3. Optimal Value Function

반복을 통해 최적의 state value, action value function을 찾아낸다. 이 optimal 값들을 찾아내면 MDP는 solved됐다고 한다.

정의

optimal 값들을 찾는 과정은 다음과 같다. 주의할 점은 여기서의 은 next step 의 ‘이 아니다. 시간순서가 아닌 단순히 다르다는 것을 나타내는말.

수식을 보자면, 크게 2가지가 계속 반복되면서 수행된다.

Art text 여기서 값들을 구할때는 항상 goal 에서 역순으로 구해온다. 그렇기때문에 모든 state의 그래프가 없는 초기 상황에서 이를 예측하기위해 몬테카를로 같은 방법을 이용해서 구한다.

최적화 관련 루틴은 카파시가 만든 REINFORCEjs에서 돌려보자.