인공지능/공부

강화학습 - TD에서 s'을 언제 업데이트 해야 할까?

이게될까 2024. 4. 23. 20:11
728x90
728x90

MC에서 에피소드가 끝나야만 업데이트 하는 조건 때문에 끝이 없구나 너무 긴 에피소드에 대해서는 대안이 필요했다.

MC

TD는 '추측을 추측으로 업데이트하자'로 나온 종료하지 않은 MDP에서 학습 가능한 방법이다.

TD 수식

TD에서는 s'으로 s에서 액션을 진행하여 상태가 변화하였다. 그런데 a을 취한다 해도 전이확률(P)가 있기 때문에 항상 일정한 위치로 이동하는 것이 아니다. 그래서 v(s')은 어떻게 놔야 되나 고민이 되었다.

업데이트 시점이 s'에 도착한 시점에서 v(s)를 업데이트 하는 것이다......

나름 단순하게 해결.....

아래는 GPT와 대화를 통해 궁금증을 해결해봤는데 요즘 확실히 똑똑해졌다.

시간차(Temporal Difference, TD) 학습에서 상태 가치 함수 ( V(s) )를 업데이트하는 방법은 강화학습에서 중요한 역할을 합니다. TD 학습은 주로 에이전트의 경험을 통해 직접 학습하며, MDP의 전이 확률 ( P )를 명시적으로 알 필요가 없습니다.

TD(0)를 사용한 ( V(s) )의 업데이트

TD(0)는 가장 기본적인 시간차 학습 방법으로, 한 스텝마다 가치 함수를 업데이트 합니다. 주요 단계는 다음과 같습니다:

  1. 에이전트는 상태 ( s )에서 행동 ( a )를 취해 새로운 상태 ( s' )로 이동합니다.
    • 이 행동은 에이전트의 정책 ( \pi )에 따라 선택됩니다. 정책은 주로 확률적일 수 있어서, 주어진 상태에서 여러 가능한 행동 중 하나를 선택할 확률을 제공합니다.
  2. 이동 결과로 에이전트는 보상 ( r )을 받습니다.
  3. ( V(s) )의 값을 업데이트합니다:
    [V(s) \leftarrow V(s) + \alpha [r + \gamma V(s') - V(s)]]
    • ( \alpha )는 학습률로, 학습 과정에서 ( V ) 값의 변화를 조절합니다.
    • ( \gamma )는 감쇠 인자로, 미래 보상의 현재 가치를 조절합니다.
    • ( r )은 받은 즉각적인 보상입니다.
    • ( V(s') )는 새로운 상태 ( s' )의 현재 추정 가치입니다.

상태 ( s_{t+1} )의 선택

상태 ( s_{t+1} )은 에이전트의 행동 ( a )에 의해 결정됩니다. 이는 두 가지 방식으로 모델링될 수 있습니다:

  1. 결정론적 전이: 특정 상태와 행동 조합이 항상 동일한 결과 상태로 이어지는 경우. 이 경우 ( s_{t+1} )은 ( s_t )와 ( a_t )에 따라 고정적입니다.
  2. 확률적 전이: 대부분의 실제 환경에서 상태 전이는 확률적으로 발생합니다. 이 경우, ( s_{t+1} )은 상태 ( s )에서 행동 ( a )를 취했을 때 가능한 여러 상태 중 하나로의 전이 확률에 의해 결정됩니다. 확률적 전이에서 ( s_{t+1} )은 경험을 통해 얻어지며, 이는 에이전트가 실제로 관찰하고 학습하는 상태입니다.

결론

TD 학습에서 ( s_{t+1} )은 환경의 반응에 따라 결정되고, 이 반응은 확률적일 수도 있고 결정론적일 수도 있습니다. 에이전트는 이 경험을 통해 ( V(s) ) 값을 실시간으로 업데이트하며, 이는 전이 확률 ( P )를 명시적으로 모르는 상황에서도 가능합니다. TD 학습은 이러한 실시간 업데이트를 통해 비교적 적은 계산으로 효율적으로 학습할 수 있는 큰 장점을 가집니다.

확률적 전이 상황에서 상태 가치 함수 ( V(s) )를 업데이트 하는 시간차(Temporal Difference, TD) 학습, 특히 TD(0) 방법은 다음과 같이 수행됩니다. 이 경우, 업데이트는 실제로 확률적으로 결정된 다음 상태 ( s' )가 관찰된 후에 이루어집니다.

TD(0) 업데이트 공식

확률적 전이 상황에서의 TD(0) 업데이트는 다음과 같이 표현됩니다:

[V(s) \leftarrow V(s) + \alpha [r + \gamma V(s') - V(s)]]

여기서 각 요소는 다음을 의미합니다:

  • ( \alpha )는 학습률로, 업데이트의 강도를 결정합니다.
  • ( r )은 상태 ( s )에서 행동 ( a )를 취했을 때 받는 즉각적인 보상입니다.
  • ( \gamma )는 감쇠 인자로, 미래 보상의 현재 가치를 할인합니다.
  • ( V(s') )는 다음 상태 ( s' )의 현재 추정 가치입니다.
  • ( V(s) )는 현재 상태 ( s )의 가치 추정입니다.

업데이트 시점

  • 확률적 전이에서 ( s' )는 에이전트가 ( s )에서 ( a )를 취한 결과로 실제 환경에서 얻은 다음 상태입니다.
  • 업데이트는 ( s' )가 실제로 관찰되고, 관련 보상 ( r )이 수집된 직후에 이루어집니다. 이 방식은 각 경험을 바탕으로 실시간으로 학습이 진행됨을 의미합니다.

확률적 전이의 처리

TD 학습은 각 개별 경험을 바탕으로 ( V ) 값을 지속적으로 조정하므로, 확률적 전이에서도 효과적으로 작동합니다. 에이전트는 다양한 결과를 경험하면서 ( V )의 추정치를 점점 더 정확하게 조정해 나갑니다. 각각의 전이가 확률적이기 때문에, 다양한 ( s' ) 상태를 통해 ( V(s) )의 추정이 보다 일반화되고 견고해집니다.

결론

따라서 확률적 전이 상황에서도 TD 학습은 각 스텝에서 ( s )에서 ( s' )로의 전이 후에 ( V(s) )를 업데이트함으로써, MDP의 구체적인 전이 확률 ( P )를 몰라도 효과적으로 가치 함수를 학습할 수 있습니다. 이는 실제로 환경과 상호 작용하며 학습하는 강화학습의 강점 중 하나입니다.

728x90