티스토리 뷰

반응형

https://www.edwith.org/move37/lecture/59777?isDesc=false

 

정책은 크게 결정 정책(Deterministic Policy)와 확률적 정책(Stochastic Policy)로 나뉜다.

 

결정 정책은 하나의 행동에 대한 기준을 준다.

예를 들어, 거리가 5를 넘어가면 리셋을 하고, 거리가 2보다 작으면 기록한다.

 

확률적 정책은 조건부 확률, 즉, 결정 정책이 이미 실행되었을 때 리셋될 확률에 대해 결정해준다.

예를 들어, 거리가 5를 넘어갔으면 0.5 확률로 리셋을 한다는 걸 정해준다.

혹은 거리가 2보다 작으면 0.4 확률로 리워드를 반영한다.

 

나머지 0.1은 결정 정책처럼 계속해서 반복한다.

 

이런 결정 정책은 a = 파이(s) 처럼, 어떠한 상태가 주어지면 그에 걸맞는 action(reset, record)를 반환하는 함수로 표현할 수 있다.

 

그런데 이렇게 해서 최적해를 어떻게 구하는가?

 

최적해 구하기

cumulated future reward = r로 인해서 경로의 최단 거리까지 고려하는 최대 보상 값

 

각각의 네트워크의 노드가 어떠한 리워드 값을 가지고 있다고 하자.

그러면 어떠한 상태(state = s)가 발생했을 떄, 해당하는 Reward(Rt)는 정해져 있다.

그러면 이걸 반복하면, Rt는 누적되고 상태 st도 누적된다.

 

우리는 그래서 해당 state에서의 기대값 (E)를 구할 수 있다. 왜냐하면 위에서 결정 정책과 확률적 정책을 정해주었기 때문이다.

그게 바로 V(s)이고, 상태-가치 함수(value-state) function이 된다.

 

이러한 V(s)는 정책에 묶여 있기 때문에, 만약 우리가 정책을 바꾼다면 상태-가치 함수도 같이 바뀐다.

 

벨만 방정식 같은 경우, 에이전트가 하나의 state s에서 시작하고 나서 정책을 사용한다.

이는 상태-가치 함수와 똑같은 경우이다.

 

또 다른 가치 함수는 행동-가치 함수이다.

여기는 각각의 state s와 action a를 같이 고려한다.

하나의 state s에서 시작하는 건 행동-가치 함수와 같지만, 어떠한 행동을 먼저 고르고, 그 다음에 정책을 사용한다.

 

한마디로 행동-가치 함수에서, 변수가 하나 더 추가된 것.

 

action a의 경우, 예를 들어 격자라면, 위,아래,왼,오 중 하나의 행동을 먼저 고른다.

만약에 위를 가기를 원하면, 위로 간 다음 해당 정책을 사용한다.

거기서 왼쪽으로 가기를 원하면, 왼쪽으로 간 다음 해당 정책을 사용한다.

 

즉, 각 상태마다 해당하는 행동을 반복하는 확률이 정해질 수 있다.

그러므로 행동 함수가 정해지면, 해당하는 행동 함수에 대해 가장 높은 reward가 발생하는 최적의 함수나 정책을 구할 수 있다.

 

그러면 이제 또 문제가 있다.

 

어떻게 하면 최적의 행동 함수를 찾을 수 있는가?

 

이게 다음 강의의 핵심이 될 것이다.

반응형