카테고리 없음

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

dev-self 2025. 3. 30. 12:55

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

 

|내용 정리|

<Policy Iteration 파이썬 코드 구현 4>

그리드월드 환경 내 정책 반복 알고리즘 예제 디버깅

25일차 그리드 월드의 디버깅을 통해서 정책에 따라 학습이 어떻게 진행되는지 알아보자(코드는 25일차 참조)

출력의 구조와 의미

1. 가치 함수 수렴 과정

디버깅 출력의 첫 부분은 가치 함수가 반복적으로 수렴해가는 과정을 보여준다:

  • value_vector: 모든 상태(총 16개 상태)의 가치를 일렬로 나열한 벡터이다.
  • value_table: 동일한 가치 정보를 4x4 그리드 형태로 재구성한 것이다.

각 반복에서 가치 함수는 점점 더 정확한 값으로 업데이트된다. 예를 들어, 첫 번째 행 첫 번째 셀의 가치가 1.43861737에서 시작해 최종적으로 1.4386276으로 수렴한다.


2. 최종 최적 가치 함수

 

이 가치 테이블은 각 위치에서 예상되는 미래 보상의 총합을 나타낸다:

  • 높은 양수 값(예: 4.766)은 높은 보상을 기대할 수 있는 위치이다.
  • 음수 값(예: -4.999)은 페널티를 받는 위치입니다(이 경우 H 위치에 도달한 후).

위 그림은 강화학습 환경에서 계산된 최종 최적 가치함수를 시각화한 것이다. 4x4 그리드에서 각 셀의 숫자는 해당 위치에서 기대할 수 있는 미래 보상의 총합을 의미한다.

 

주요 특징:

  1. 가치의 분포:
    • 높은 가치(파란색 계열): 목표 지점(W, H)에 가까운 위치들
    • 중간 가치(밝은 파란색): 시작점과 목표 사이의 위치들
    • 최고 가치(녹색): 집(H) 위치(+10.00)
  2. 특별 위치:
    • W(직장): 오른쪽 상단 (직접 보상 +5)
    • H(집): 오른쪽 하단 (직접 보상 +10)
    • P(공원/장애물): 중앙 4개 셀 (보상 -1)
  3. 가치의 흐름:
    • 오른쪽 열(W와 H 포함)에서 가치가 가장 높음
    • W 주변과 H 주변이 높은 가치를 가짐
    • 장애물(P) 주변은 낮은 가치를 가짐
    • W와 H 위치는 각각 +5.00과 +10.00으로 표시되어 직접적인 보상 값을 나타냄

이 가치함수에 따르면, 에이전트는 높은 가치로 향하는 방향으로 움직이는 것이 최적 전략이다. 특히 오른쪽 열의 가치가 높기 때문에, 에이전트는 장애물을 피해 오른쪽으로 이동하려는 경향을 보인다.


3. 최종 최적 정책

정책은 각 상태에서 어떤 행동을 취해야 하는지를 알려준다:

  • [0. 1. 0. 0.]: 오른쪽으로 이동 (인덱스 1)
  • [1. 0. 0. 0.]: 위로 이동 (인덱스 0)
  • [0. 0. 1. 0.]: 아래로 이동 (인덱스 2)
  • [0. 0. 0. 1.]: 왼쪽으로 이동 (인덱스 3)

 

이 그리드는 정책을 시각적으로 표현한 것이다:

  • 화살표(→↑↓←)는 해당 위치에서 취해야 할 최적 행동 방향
  • W: 직장 위치 (목표 지점, 보상 +5)
  • H: 집 위치 (목표 지점, 보상 +10)
  • P: 장애물 위치 (공원, 페널티 -1)

주요 특징:

  1. 최적 행동 방향:
    • 오른쪽 화살표(→): 오른쪽으로 이동하는 행동 [0. 1. 0. 0.]
    • 위쪽 화살표(↑): 위로 이동하는 행동 [1. 0. 0. 0.]
    • 아래쪽 화살표(↓): 아래로 이동하는 행동 [0. 0. 1. 0.]
  2. 목표 지점:
    • W(직장): 오른쪽 상단 (보상 +5)
    • H(집): 오른쪽 하단 (보상 +10)
  3. 장애물:
    • P(공원): 중앙의 4개 셀 (보상 -1)
  4. 정책 패턴:
    • 첫 번째 행: 모든 셀에서 오른쪽으로 이동하여 W에 도달
    • 두 번째 행: 양쪽 끝에서 위로 이동하여 W에 도달
    • 세 번째 행: 양쪽 끝에서 아래로 이동하여 H에 도달
    • 네 번째 행: 모든 셀에서 오른쪽으로 이동하여 H에 도달

이 최적 정책은 에이전트가 장애물을 효과적으로 피하면서 가장 가까운 목표(W 또는 H)로 가는 경로를 제시한다. 왼쪽 상단 부분은 주로 W로 향하고, 왼쪽 하단 부분은 주로 H로 향하는 패턴을 보인다.


4. 학습된 전략 해석

학습된 최적 정책은 다음과 같은 전략을 보여준다:

  • 상단 행: 오른쪽으로 이동하여 W(직장)에 도달
  • 좌측 열:
    • 두 번째 행에서는 위로 이동하여 상단 행으로 진입 후 W로 이동
    • 세 번째 행에서는 아래로 이동하여 하단 행으로 진입 후 H로 이동
  • 우측 열:
    • 두 번째 행에서는 위로 이동하여 W에 빠르게 도달
    • 세 번째 행에서는 아래로 이동하여 H에 빠르게 도달
  • 하단 행: 오른쪽으로 이동하여 H(집)에 도달

 

H(집)는 W(직장)보다 더 높은 즉각적인 보상(+10 vs +5)을 제공한다. 수정된 가치함수에서는 이러한 직접적인 보상 값이 명확하게 표시되어 있다. 각 위치의 가치는 해당 위치에서 시작했을 때 앞으로 받을 수 있는 총 보상의 기대값을 나타낸다.

최적 정책의 화살표를 보면, 에이전트는 거리를 고려하여 가장 효율적인 경로로 이동한다. 각 위치에서의 선택은 다음 요소들의 균형에 따라 결정된다:

  1. 목표까지의 거리: 가까운 목표에 빨리 도달하는 것이 일반적으로 유리하다(매 단계마다 -0.5의 기본 페널티가 있기 때문)
  2. 보상의 크기: H의 보상(+10)이 W의 보상(+5)보다 크기 때문에, 거리가 비슷하다면 H로 향하는 것이 더 유리하다
  3. 장애물 회피: 중앙의 P(공원) 영역은 -1의 페널티를 주기 때문에 피해서 이동한다

이러한 요소들을 종합적으로 고려한 결과, 에이전트는 그리드의 상단 부분에서는 W로, 하단 부분에서는 H로 향하는 전략을 학습했다. 이는 각 상황에서 최대의 누적 보상을 얻기 위한 합리적인 전략이다.


<질문> 그렇다면 W보다 H를 얻을 수 있게 화살표가 진행되어야하는게 아닐까?

 

맞다. 가치 함수를 보면 집(H)의 보상(+10)이 직장(W)의 보상(+5)보다 더 높기 때문에, 이론적으로는 모든 상태에서 집(H)으로 향하는 것이 더 높은 총 보상을 얻을 수 있다. 하지만 현재 출력된 최적 정책은 몇 가지 이유로 일부 위치에서 직장(W)으로 향하고 있다:

  1. 거리 요소: 일부 위치(특히 상단 행)에서는 W가 H보다 더 가깝다. 매 단계마다 -0.5의 기본 보상 페널티가 있기 때문에, 가까운 목표에 빨리 도달하는 것이 더 유리할 수 있다.
  2. 확률적 전이: 환경이 확률적(70%는 의도한 행동, 30%는 무작위 행동)이기 때문에, 더 긴 경로를 취할수록 원치 않는 방향으로 이동할 위험이 높아진다.
  3. 할인 계수(gamma): 할인 계수가 적용된다면, 미래의 보상은 현재보다 더 낮게 평가되므로 멀리 있는 더 큰 보상보다 가까이 있는 작은 보상이 더 가치 있을 수 있다.

그렇지만, 최적 정책이 진정으로 최적화되었다면 모든 상태에서 (특히 거리가 비슷한 경우) H로 향하는 경로를 선호해야 한다. 만약 그렇지 않다면 다음과 같은 이유가 있을 수 있다:

  1. 학습이 완전히 수렴하지 않았을 수 있다.
  2. 할인 계수가 너무 낮게 설정되었을 수 있다.
  3. 기본 이동 페널티(-0.5)가 거리 차이를 보상 차이보다 더 중요하게 만들 수 있다.

이 문제를 해결하려면 할인 계수를 높이거나(더 장기적인 보상 고려), 더 많은 반복을 통해 가치 함수가 더 정확하게 수렴하도록 하거나, 또는 H의 보상을 더 높이는 방법을 시도해볼 수 있다.

 

|인증|