카테고리 없음

패스트캠퍼스 환급챌린지 56일차 : 스크래치부터 시작하는 강화학습의 모든 것 강의 후기

dev-self 2025. 4. 29. 01:28

*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

 

|내용 정리|

<n-step TD 알고리즘 디버깅 분석>

1. 핵심 수식과 실제 데이터 연관성

n-step 리턴 수식

 

디버깅 결과에서 이 수식이 실제로 어떻게 작용하는지 확인할 수 있다:

  • n=1 (TD(0)): 초기 상태의 최종 가치 = 0.473
  • n=3: 초기 상태의 최종 가치 = 0.704
  • n=5: 초기 상태의 최종 가치 = 0.750

n이 클수록 가치 함수 값이 높게 나타나는 것은 더 멀리 있는 보상 신호를 직접 고려하기 때문이다. 특히 그래프에서 n=5(파란색)와 n=3(초록색)의 학습 곡선이 n=1(빨간색)보다 훨씬 빠르게 상승하는 현상을 통해 이를 확인할 수 있다.

가치 함수 업데이트 수식

 

디버깅 출력에서 학습률(α)이 점진적으로 감소하는 것을 볼 수 있다:

alpha: 0.0020
alpha: 0.0016
alpha: 0.0013
alpha: 0.0011
alpha: 0.0010
alpha: 0.0009
alpha: 0.0008

 

이는 학습률 감소 수식이 작동한 결과이다. 학습률 감소로 인해 그래프에서 모든 n값의 경우 후반부에 학습 곡선이 안정화되는 현상을 확인할 수 있다.

2. n값에 따른 학습 특성 비교

학습 속도

디버깅 결과에서 각 n값에 따른 동일 반복 횟수에서의 가치 함수를 비교해보면:

n=1의 경우 1000번 반복 후에도 가치가 0.473에 그치지만, n=5는 약 50번 반복만에 0.7 이상에 도달한다. 이는 n-step 리턴 수식에서 n이 클수록 더 많은 미래 보상을 직접 고려하기 때문이다. 그래프에서도 초기 상승 속도가 n=5 > n=3 > n=1 순서로 명확하게 나타난다.

안정성과 변동성

그래프에서 n=5(파란색)는 초기에 큰 변동성을 보이며, 심지어 0.8 이상까지 급상승했다가 다시 하락하는 패턴을 보인다. 반면 n=1(빨간색)은 매우 안정적인 곡선을 그린다. 이는 n-step 리턴 수식에서 n이 클수록 더 많은 실제 보상 항 을 포함하고 부트스트래핑 항 의 비중이 줄어들기 때문이다. 실제 보상은 에피소드마다 달라질 수 있어 변동성이 크다. 디버깅 출력의 value_vector 값들도 반복에 따라 n=5가 n=1보다 더 큰 변화를 보인다.

최종 수렴 값

디버깅 결과에서 4x4 그리드의 각 위치별 최종 가치 함수 값을 볼 수 있다:

n=1의 value_table:

[ 0.032  0.061  0.123  0.197]
[ 0.067  0.161  0.396  0.720]
[ 0.151  0.446  1.319  2.894]
[ 0.270  0.932  3.355  0.000]]

n=5의 value_table:

[ 0.546  0.677  0.929  1.134]
[ 0.673  0.919  1.438  1.975]
[ 0.866  1.337  2.523  4.247]
[ 1.066  1.849  4.153  0.000]]

 

n=5의 경우가 전반적으로 더 높은 가치 함수 값을 보여주며, 특히 목표에서 멀리 떨어진 초기 상태에서 큰 차이가 난다. 이는 n이 클수록 먼 미래의 보상이 현재 상태 가치에 더 직접적으로 반영되기 때문이다.

3. k_min을 통한 에피소드 끝 처리의 영향

에피소드 끝 처리를 위한 k_min 수식:

 

디버깅 결과에서는 직접적으로 보이지 않지만, n=5의 경우 에피소드 끝에 가까운 상태들은 실제로 5스텝보다 적은 스텝으로 업데이트된다. 이로 인해 목표에 가까운 상태들의 가치가 더 정확하게 계산되며, 그래프에서 n=5가 초기 변동 후 안정적으로 수렴하는 데 기여한다.

4. 편향-분산 트레이드오프

n값이 학습에 미치는 영향은 편향(bias)과 분산(variance)의 트레이드오프로 설명된다:

  • n=1: 낮은 분산(안정적 학습)이지만 높은 편향(느린 수렴)
  • n=5: 낮은 편향(빠른 정보 전파)이지만 높은 분산(불안정한 학습)

그래프에서 n=1은 변동 없이 천천히 상승하는 반면, n=5는 큰 변동성과 함께 빠르게 상승한다. 이는 수식에서 예측한 특성과 정확히 일치한다. 또한 디버깅 결과의 value_vector 값들을 보면, n=1은 점진적으로 변화하지만 n=5는 더 급격한 변화를 보이는 것을 확인할 수 있다.

결론

n-step TD 알고리즘의 수식과 디버깅 결과를 종합적으로 분석한 결과, n값 선택이 학습 특성에 미치는 영향을 명확히 확인할 수 있다:

  1. n이 클수록:
    • 학습 속도가 빨라짐 (그래프의 초기 급상승)
    • 변동성이 커짐 (그래프의 불규칙한 패턴)
    • 최종 가치 함수 값이 높아짐 (디버깅 출력의 value_table)
    • 편향은 감소하지만 분산이 증가 (그래프의 학습 패턴)
  2. 학습률 감소 전략은 모든 n값에서 후반부 안정적 수렴에 기여 (디버깅 출력의 alpha 감소)
  3. k_min을 통한 에피소드 끝 처리는 n이 클수록 더 많은 상태에 영향을 미침

이러한 분석은 실제 강화학습 시스템 설계 시 문제의 특성과 요구사항에 맞는 최적의 n값을 선택하는 데 도움이 된다. 빠른 학습이 중요하다면 큰 n값을, 안정적인 학습이 중요하다면 작은 n값을 선택하는 것이 적절할 것이다.


n-step TD 알고리즘에서 n값에 따른 특성을 비교한 시각적 다이어그램을 만들었다. 이 다이어그램은 n=1, n=3, n=5 각각의 특성을 명확하게 보여준다.

n값에 따른 특성 비교

n=1 (TD(0))

  • 수식: G_t^(1) = R_{t+1} + γV(S_{t+1})
  • 학습 속도: 느림 (V(0,0) = 0.473, 1000회 반복 후)
  • 안정성: 매우 안정적, 부드러운 학습 곡선
  • 편향-분산: 높은 편향, 낮은 분산
  • 특징: 부트스트래핑 의존도가 높음

n=3 (중간값)

  • 수식: G_t^(3) = R_{t+1} + γR_{t+2} + γ²R_{t+3} + γ³V(S_{t+3})
  • 학습 속도: 중간 (V(0,0) = 0.704)
  • 안정성: 적당히 안정적, 약간의 변동성
  • 편향-분산: 균형된 편향과 분산
  • 특징: TD(0)와 몬테카를로 방식의 좋은 절충점

n=5 (몬테카를로에 가까움)

  • 수식: G_t^(5) = R_{t+1} + ... + γ^4R_{t+5} + γ^5V(S_{t+5})
  • 학습 속도: 빠름 (V(0,0) = 0.750)
  • 안정성: 초기 불안정, 큰 변동성
  • 편향-분산: 낮은 편향, 높은 분산
  • 특징: 더 많은 실제 보상을 고려하여 정보 전파가 빠름

학습 곡선 특성

다이어그램 하단의 그래프는 각 n값에 따른 학습 곡선의 특성을 보여준다:

  • n=1 (빨간색): 부드럽게 천천히 상승하는 곡선
  • n=3 (초록색): 빠르게 상승 후 안정적으로 유지
  • n=5 (파란색): 매우 빠르게 상승하나 큰 변동성을 보임

이 시각화를 통해 n값에 따른 학습 특성의 차이를 한눈에 볼 수 있다. n값 선택은 빠른 학습과 안정성 사이의 트레이드오프를 고려해야 하며, 문제의 특성에 맞게 적절한 n값을 선택하는 것이 중요하다.

 

|인증|

 

-------

패스트캠퍼스 링크

https://bit.ly/4hTSJNB