카테고리 없음

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

dev-self 2025. 3. 28. 17:54

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

 

|내용 정리|

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

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

아래와 같이 파란색 영역(드리프트 영역)으로 이동하면 시작점(A)으로 돌아가는 환경에서의 정책 반복 알고리즘 구현하기


 

밑에 제시된 코드는 3x4 그리드월드 환경에서 정책 반복(Policy Iteration) 알고리즘을 사용하여 최적 정책과 가치 함수를 찾는 구현이다.

1. 환경 설명

그리드월드 구성

  • 크기: 3x4 격자 (행 3개, 열 4개)
  • 시작점(A): 좌측 상단 (0,0)
  • 목표점(G): 우측 상단 (0,3)
  • 파란색 영역(Drift Area): 상단 중앙 (0,1)과 (0,2) 위치
    • 중요: 이 영역으로 이동하면 자동으로 시작점(0,0)으로 돌아감
  • 행동 공간: 4가지 방향 {상(0), 우(1), 하(2), 좌(3)}

전이 모델(Transition Model)

  1. 에이전트는 선택한 행동 방향으로 결정론적으로 이동 (랜덤성 없음)
  2. 파란색 영역에 들어가면 시작점(0,0)으로 자동 이동 (이 점이 매우 중요함)
  3. 목표 상태에 도달하면 에피소드 종료

보상 체계(Reward)

  • 목표 도달 시: +10 보상
  • 그 외 모든 상태 전이: 0 보상

감가율(Discount Factor)

  • γ = 0.9 (미래 보상을 90%로 할인)

Policy Evaluation
Policy Improvement

2. 정책 반복 알고리즘 설명

정책 반복의 기본 개념

정책 반복은 현재 정책을 평가하고 개선하는 두 단계를 반복하여 최적 정책을 찾는 알고리즘이다:

  1. 정책 평가(Policy Evaluation): 현재 정책의 가치 함수를 계산
  2. 정책 개선(Policy Improvement): 계산된 가치 함수를 기반으로 정책 업데이트

알고리즘 단계

초기화:

  • 가치 함수를 모든 상태에 대해 0으로 초기화
  • 정책을 균등 확률로 초기화 (각 행동이 25% 확률)

정책 평가:

  • 현재 정책 π에 대한 가치 함수 Vπ(s) 계산
  • 벨만 기대 방정식 사용
  • 수렴할 때까지 반복 (수렴 기준: 최대 변화량 < δ)

 

 

정책 개선:

  • 가치 함수의 변화가 충분히 작아질 때까지 단계 2-3 반복
  • 수렴하면 최적 정책과 가치 함수 반환


3. 이 환경의 해법 특성

이 환경의 특이점은 파란색 영역으로 인한 전략적 고려이다:

  1. 파란색 영역은 피해야 함:
    • 파란색 영역으로 진입하면 시작점으로 돌아가기 때문에 진행을 방해함
    • 최적 정책은 파란색 영역을 피해 우회 경로를 선택해야 함
  2. 최적 경로:
    • 시작점(0,0)에서 아래로 이동(하)
    • 오른쪽으로 세 칸 이동(우, 우, 우)
    • 위로 이동하여 목표에 도달(상)
  3. 가치 함수 특성:
    • 목표에 가까운 상태일수록 높은 가치를 가짐
    • 파란색 영역 주변은 상대적으로 낮은 가치를 가짐
    • 가치는 목표에서 멀어질수록 감가율(γ)에 의해 감소
  4. 정책의 수렴:
    • 여러 번의 정책 평가-개선 사이클 후 최적 정책으로 수렴
    • 파란색 영역을 우회하는 안전한 경로를 선택하는 정책이 형성됨

4. 코드 흐름 및 구현 특징

  1. 상태 표현:
    • 3x4 그리드를 NumPy 배열로 표현
    • 에이전트 위치는 1, 목표는 -1, 파란색 영역은 -2로 표시
  2. 전이 확률:
    • 결정론적 환경이므로 올바른 전이에 대해 확률 1.0
    • 파란색 영역 진입 시 자동으로 시작점으로 이동하는 규칙 적용
  3. 정책 표현:
    • 각 상태에서 행동 확률 분포로 정책 표현
    • 초기에는 균등 분포(각 25%), 최적화 후 특정 행동에 100% 확률 할당
  4. 출력 및 시각화:
    • 각 반복 단계에서 가치 함수와 정책 출력
    • 최종 최적 정책을 방향(상, 우, 하, 좌)으로 표시

 

|인증|

 

-------

패스트캠퍼스 링크

https://bit.ly/4hTSJNB