카테고리 없음

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

dev-self 2025. 4. 9. 19:23

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

 

|내용 정리|

<Monte-Carlo Method Example - 01>

 *그리드 예제로 Monte-Carlo Method 코드로 구현하기

  • A: 에이전트의 시작 위치 (1,4)
  • G: 목표 지점 (4,1)
  • 회색 칸: 일반 상태 (이동 가능)

환경 설명:

  1. 상태 공간 (State Space):
    • 4x4 그리드로 총 16개의 상태.
    • 특수 상태: 시작점 A(1,4), 목표점 G(4,1).
  2. 행동 공간 (Action Space):
    • 상(↑), 하(↓), 좌(←), 우(→) 4가지 방향.
  3. 전이 모델 (Transition Model):
    • 에이전트는 선택한 행동 방향으로 확실히 이동 (확률적 불확실성 없음).
    • 예: (1,4)에서 "우" → (2,4)로 이동.
    • 벽 충돌 시 제자리 유지: 예) (1,4)에서 "좌" → (1,4) 유지.
    • G(4,1) 도달 시 에피소드 종료.
  4. 보상 구조 (Reward):
    • G 도달 시 +10, 그 외 모든 이동은 0.
  5. 할인 계수 (γ): 0.9.
  6. 정책 (Prediction 조건):
    • 균일 무작위 정책: π(a|s) = 0.25 (모든 행동 동일 확률).

추가 정보:

  • Control 방법: Exploring Starts(ES) 또는 ε-soft 정책 사용 가능.
  • 목표: Monte-Carlo 방법으로 상태 가치 함수(V) 또는 최적 정책 학습.

1. environment.py

목적: 4x4 그리드 환경 구현 (에이전트, 목표, 전이 규칙, 보상).

step(): 행동 실행 후 다음 상태, 보상, 종료 여부 반환.

2. mc_prediction.py

목적: 주어진 정책(균일 무작위)으로 상태 가치 함수(V)와 행동 가치 함수(Q) 예측.

  • calc_return(): 할인된 누적 보상 계산 (G_t = r_t + γ*r_{t+1} + γ²*r_{t+2} + ...).
  • 평균 갱신: 모든 에피소드에서 관측된 보상의 평균으로 V(s) 업데이트.

3. mc_control.py

목적: Exploring Starts(ES)와 ε-soft 정책으로 최적 정책 학습.

  • Exploring Starts: 첫 상태-행동을 무작위 선택하여 탐색 보장.
  • ε-soft: 최적 행동에 1-ε 확률, 나머지에 ε/|A| 확률 할당.

출력

1. action_value_matrix 

목적: 각 상태-행동 쌍의 예상 누적 보상(Q-값)을 나타냅니다.
구조: 행은 상태(16개), 열은 행동(상/우/하/좌)에 대응하는 Q-값

  • 최대값: 높은 Q-값은 해당 행동이 최적임을 의미 (예: [..., 10.000, ...]는 목표 도달).
  • 0.000: 해당 행동이 비효율적이거나 벽 충돌로 인해 보상이 없음.

2. 학습 과정 동적 변화

에피소드 3599 vs 3699 비교:

3. 최종 결과 ([9999] action_value_matrix)

최적 정책 추론: 각 상태에서 최대 Q-값 선택.

 

값 테이블 (value_table):

  • 할인 계수 반영: γ=0.9로 인해 목표에서 멀수록 V(s) 감소.
  • 목표 지점: (3,3)에서 최대 보상(+10) → V(s)=10.000.

4. 주요 이슈 및 디버깅 포인트

  1. 초기 학습 불안정성:
    • 초반에는 Q-값이 급변하지만, 에피소드 증가 시 안정화됨.
    • 예: [0.014, 8.850, ...]  [0.014, 8.860, ...].
  2. 탐색 vs 활용 균형:
    • ε-soft 정책에서 eps=0.05로 설정된 경우, 5% 확률로 무작위 행동 선택.
    • 일부 상태에서 Q-값이 낮은 이유는 탐색으로 인한 비최적 행동 시도 때문.
  3. 종료 상태 처리:
    • 목표 도달 후의 상태([0.000, 0.000, 0.000, 0.000])는 학습 대상 아님.

요약

  1. 환경: 4x4 그리드, 목표 도달 시 +10 보상.
  2. 예측: 무작위 정책으로 V(s)와 Q(s,a) 계산.
  3. 제어: ES 또는 ε-soft로 최적 정책 학습 (탐색 vs. 활용 균형).
  4. 핵심 함수: calc_return (할인 보상), step (전이), returns (평균 갱신).

 

|인증|

 

 

 

-------

패스트캠퍼스 링크

https://bit.ly/4hTSJNB