- 퍼펙트한 모델에서 optimal policies 을 계산을 하는데 사용되는 알고리즘의 집합이다.
- RL에 쓰는 방법의 이해의 기초
→ less computation으로 하거나 perfect model of the environment이 아닌 곳에서 하는
value func을 이용해 좋은 정책을 찾아나가는 것
optimal value functions을 찾으면 optimal policies 도 잘 찾을 수 있다.
가치 함수가 이렇게 되어 야 할 것 같은데 approximation을 하는데 이것을 update를 해서 계선을 시키다 보면 이것이 결국 policy를 찾아가는 과정이 된다.
가치 함수 : 축적 리워드의 기댓값을 최대화시키도록 하면 그게 optimal policy가 된다.
⇒ 가치함수와 액션가치함수를 최대화하는 것이 결국 정책을 최대화 시키는 것이다.
우리가 현재 만들어져 있는 정책대로 행동했을 때 어느정도 좋은 결과물을 얻을 수 있는지 평가할 수 있다면 이전에 가지고 있던 정책의 결과물과 현재 바꾼 정책의 결과물을 정량적으로 비교할 수 있다.
→ 더 좋은 정책을 택함 → 계속 반복 → 최적 정책에 도달
⇒ 이를 위해서 어떤 정책이 좋은 것 인지 평가할 것인지 명확한 정의가 있어야 한다.
What is policy evaluation?
⇒ 연립장적식을 쓰지 않고 iterative하게 풀자. policy를 evaluation할 때 관찰 가능한 부분에 대해서만 evaluation하고 반복되는 과정 속에서 추후 업데이트 한다.
앞에서는 가치함수를 구할 때 이후 state를 전부 고려해 확률을 내서 구했다. 이걸 구하려면 전부 다 따라가서 뭐 해야하고 맨 끝까지가서 역으로 계산을 했어야 했다.
반면 여기서는 내 눈앞에 보이는 애들만 반복적으로 수렴할 때까지 계산한다.
기댓값 기반의 업데이트
더 이상 안 변할 때까지 업데이트 한다는 것은 operation이 변하지 않다는 것을 의미하낟. v0 v1 v2 를 연속적으로 업데이츠 할 대 파이가 주어졌을 때 state가 어떤 값어치를 갖는 지 찾는다.
value 함수를 구하는 이유는 policy improvement를 하기 위해서
정책을 바꿔서 액션을 선택하는 확률을 바꿔야하는지 알고 싶다.
이 질문에 답을 하기 위해 a를 선택하는 방법을 선택을 한다. 그 다음에 나머지를 파이르 따라 한 다음에 더 좋아졌는지 본다
이 정책을 했을 때 어느정도
⇒ 이 두가지가 같이 사용되면서 policy iteration
위 두개 단계를 하나로 섞은 것이다.
현재 상태를 평가를 함에 있어서 가장 극대화할 수 있는 a로 적용
반복 과정을 하나로 합친 것이라 생각하면 된다.
Policy Iteration
: iteration이 짧아 빠르게 수렴Value Iteration
이것으로 발전된다
Granularity
어느 정도의 복잡성을 가지고 할 것인가.
이 글은 강형엽 교수님의 게임공학[GE-23-1] 수업을 수강하고 정리한 내용입니다.
[mdpw] https://en.wikipedia.org/wiki/Markov_decision_process
[sutton] Sutton, R. S., & Barto, A. G. (2018). Reinforcement learning: An introduction. MIT press