ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Reinforcement Learning에서 사용되는 Learning Methods
    Tech/Algorithms 2011. 6. 25. 18:12


     Reinforcement Learning에서 State Value 등을 계산하고자 할 때 사용되는 Learning Methods 등에는 크게 3가지 방법이 사용되고 있다.


    3 algorithms are used in reinforcement learning to predict a measure of the total amount of reward expected over the future.


    1. Dynmaic Programming
    2. Monte-Carlo
    3. Temporal Difference Learning


    Reinforcement Learning 관련 강의 자료를 보다가, 이 3가지의 Learning method에 대해 가장 직관적으로 나타내는 그림이 있어 첨부해보았다.


    <Dynamic Programming>


    Reinforcement Learning에서 원하는 것은 결과적으로 최종 node에 도달하였을 때, (final state) 최고의 reward를 얻는 것이다. 이러한 기대값을 계산하기 위해서는 각 state에서 최종 state에 도달하였을 때 얻을 수 있는 reward의 기대값을 구하는 optimal solution problem이 된다.


    Dynamic Programming에서는 이러한 Optimal Problem을 Sub-optimal problem으로 분리하여 최적화하게 되는데, (문제를 잘게 쪼개서 푼다!) 따라서 보다시피 현재 State에서 가능한 모든 다음 단의 State에 대해 계산하는데, 이 때 최종 state까지 계산하지 않고, Current State와 Next state 사이 만의 Optimal Solution을 구하는 데 초점을 맞춘다.


     

    <Monte Carlo Method>


    Monte Carlo는 무엇인가. 단순하다. 어떠한 Modeling 필요 없이, 랜덤하게 값을 선택해서 일단 결과를 얻고 본다. 이러한 과정을 무수히 반복하다보면 최종적으로 어느정도 정확한 Reward 기대값을 얻게 된다.


    Monte Carlo Method를 간단히 Conceptual하게 설명하면 이렇게 말할 수 있다. 어떠한 종이에 원이 그려져있는데, 이 원과 네모 종이의 면적의 비를 구하고 싶다고 하자. Monte Carlo Approach로는 이렇게 해결 할 수 있다.

    1. 무작위의 점을 종위에 찍는다.
    2. 점이 원 위에 있다면 (A), 원 바깥에 위치한다면 (B)라고 하자.
    3. 1~2를 충분히 반복한다. (수없이 반복한다.)
    4. 최종적으로 A와 B의 개수를 비교하면 원과 종이의 면적 비를 구할 수 있다.


    아주 간편하고 무식한 방법이다! 그러나 Computer는 이러한 단순반복 작업에 능숙하므로 잘 해결한다. 실제로도 널리 쓰인다.





    <Temporal Difference>


    Temporal Differnce에 대해서는 보다 자세히 다룰 필요가 있으므로 다음 포스팅에서 정리해보아야겠다.


    댓글

Copyright 2022 JY