강화학습에서 Monte Carlo(MC) 방법과 Temporal Difference(TD) 방법은 상태의 가치를 추정하는 두 가지 기본적인 접근법입니다. 이들 방법은 각각 독특한 특성을 가지며, 장단점과 사용 시 고려해야 할 사항이 있습니다. 딱 집어서 어느것이 더 좋다고 말할 수는 없고 풀려고 하는 환경에 대한 문제에 따라 다르고, 그 복잡도 등도 모두 고려해야 하기 때문에 상황에 따라 비교가 가능할지는 몰라도 그냥 단순비교로는 어느 것이 더 좋다고 할수 없습니다.
같은 점 비모델 기반 학습: 두 방법 모두 환경의 전이 확률이나 보상 함수를 명시적으로 알지 못해도 사용할 수 있습니다. 경험을 통한 학습: MC와 TD 모두 에이전트의 경험을 통해 학습을 진행합니다. 다른 점 학습 시점: MC는 에피소드가 끝난 후에 가치 함수를 업데이트하는 반면, TD는 각 시간 단계마다 가치를 업데이트합니다. 가치 추정 방법: MC는 완전한 반환값(에피소드에서의 총 보상)을 사용해 가치를 추정하는 반면, TD는 추정된 가치와 받은 보상을 통해 즉시 가치를 업데이트합니다. 그래서 종료상태가 있는 에피소드 MDP는 MC, TD방법 모두 할수 있으나, 종료상태가 없는 Non-Episode MDP는 TD방법으로만 사용할 수 있고, MC방법으로는 사용할 수 없습니다. 장점 MC: 경험의 전체적인 결과를 반영함으로써 정확한 가치 추정이 가능합니다. 각 에피소드가 독립적이어서 단순하고 이해하기 쉽습니다. TD: 각 단계마다 즉각적으로 가치를 업데이트할 수 있어 학습 속도가 빠를 수 있습니다. 부분적인 정보로도 학습이 가능하여 온라인 학습에 적합합니다. 단점 MC: 에피소드가 끝나기 전까지 학습을 진행할 수 없어, 에피소드 길이에 따라 학습 속도가 제한될 수 있습니다. 분산이 높아서 많은 샘플이 필요할 수 있습니다. TD: 추정치를 사용하기 때문에 초기 가치 함수의 품질이 학습 결과에 큰 영향을 미칠 수 있습니다(편향). 때로는 실제 가치와 다른 추정치를 계산할 위험이 있습니다.
MC와 TD의 가치함수 정의식을 살펴보면, MC는 V(s) = 기대값 E(Gt) 입니다. TD는 V(s) = 기대값 E(다음상태 보상 r + 할인계수 감마*V(다음상태 s)입니다. TD는 벨만 기대방정식을 사용합니다. MC는 말 그대로 리턴의 평균을 업데이트합니다. 리턴들을 여러개 모아 평균을 내는 방법을 사용하기 때문에 틀릴 수가 없는 방법으로 그 평균은 실제 가치에 수렴하게 되어 편향되지 않게 됩니다. 이것을 편향되지 않은 unbiased estimate 불편 추정량이라고 지칭하는데, 편향되지않은 추정량이라는 의미로 해석하면 됩니다. 하지만 TD의 경우에는 최적 정책을 모르는 상태에서 현재의 추측치를 다음 스텝의 추측치로 업데이트하는 방법이기에 신이 아닌이상 편향될 수밖에 없습니다. 결국 샘플을 무한히 모아서 지속적으로 업데이트 하더라도 실제 가치에 다가가리라는 보장이 없습니다. 그러나 나중에 뉴럴넷 딥러닝 구조이 함수를 도입하게 되고 불편 추정량이라는 보장은 없지만 그럼에도 실제로 매우 잘 작동한다고 알려져 있습니다.
MC는 리턴을 통해 업데이트가 이루어지고 리턴이라는 하나의 값을 관찰하기까지 수많은 에피소드를 경험하고 모은 후 확률적 과정을 거쳐야 합니다. 평균치를 계산하는 것이기 때문에 편향은 적으나 평균으로부터 각각의 값들이 멀리 퍼져 있을 가능성이 높고 이는 곧 분산(variance) 혹은 변동성이 크다는 것을 의미합니다. 반면 TD는 한 단계씩 샘플을 보고 바로 업데이트를 하기 때문에 분산이 작습니다. 딱 다음 스텝 한걸음 옮기는 것이기에 확률적 요소라는게 별로 없어서 TD의 값들이 평균 근처에 몰려있고, 다른 말로는 분산(variance) 혹은 변동성이 작다는 것을 의미합니다. -1000과 1000 사이에 분포하는 값들과 -1과 1 사이에 분포하는 값들은 모두 평균 0에 수렴할 수 있지만, 평균만 같아질 뿐 분산은 매우 큰 상태가 됩니다. 그만큼 TD학습법은 분산 자체가 적어지도록 -1과 1사이의 값으로 샘플링된다고 보시면 되고 이럴때 적은 데이터로도 학습이 가능한 상태가 됩니다.
MC는 높은 분산을 가지지만, 비편향적인 추정치를 제공합니다. 즉, 많은 샘플을 사용하면 실제 가치에 수렴합니다. TD는 낮은 분산을 가지지만, 사용하는 가치 함수에 따라 편향될 수 있습니다. 즉, 초기 추정치가 결과에 영향을 줍니다. 결론적으로, MC와 TD 방법의 선택은 특정 환경의 요구사항과 문제의 특성에 따라 결정됩니다. MC는 더 정확한 추정이 필요하고 데이터가 충분할 때 유리하며, TD는 빠른 학습과 온라인 업데이트가 중요한 경우에 적합할 수 있습니다. 적용하려는 상황에 맞는 학습방법을 설계자가 잘 선택해서 이용하시면 될 것입니다.
TD방법에서 한 스텝만큼 진행한 후 실제 보상을 관찰하고 도착한 상태의 가치를 가치함수를 이용한 추측을 통해 정의했습니다. 그렇지만 여기서 스텝 갯수의 기준을 변경하면, TD지만 MC와 같이 에피소드 종료시까지 업데이트를 하지 않을 수도 있습니다. 그러면 결국 이는 MC는 TD안에 포함된 한 사례에 불과하다는 것입니다. 두개의 방법 모두 다른 방법인 걸로 공부했지만, 같은 방법이 될수도 있는 같은 스펙트럼 안에서 연결되어 있는 것입니다. TD에 n step의 갯수가 커질수록 MC에 가까워지게 되어 편향은 줄고 분산은 커지게 됩니다. 그래서 가장 최적은 TD와 MC사이 어느 구간에 n step의 n을 찾는 것이고 이것은 상황에 따라 모두 다릅니다. 이것은 경험과 시도를 해야 최적을 감잡을 수 있는 것이지만, 이러한 n-step 리턴을 사용하는 A3C라는 알고리즘도 있음을 간단히 알고 가시면 될 것 같습니다.