카테고리 없음

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

dev-self 2025. 4. 11. 14:01

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

 

|내용 정리|

<Monte-Carlo Method Example - 03>

그리드 환경 설명

기본 정보

  • 상태 공간(State Space): 4x4 그리드
  • 행동 공간(Action Space): 상(↑), 하(↓), 좌(←), 우(→)
  • 특수 위치:
    • A: 시작 위치 (왼쪽 상단)
    • W: 직장 (Work place, 오른쪽 상단)
    • H: 집 (Home, 오른쪽 하단)
    • 녹색 칸: 장애물 (진입 불가)

전이 모델(Transition Model)

  1. 에이전트의 행동에 따라 상하좌우 이동, 이동 불가한 경우 제자리
  2. 70%의 확률로 선택한 행동에 따라 이동, 30%의 확률로 선택하지 않은 행동 중 무작위 행동에 따라 이동
  3. W(직장) 혹은 H(집)에 도달시 상호작용 종료

보상(Reward)

  1. 매 스텝마다 -0.5의 보상, W에 도달시 +5, H에 도달시 +10
  2. 초록색 영역에 진입시 -1의 보상 발생

파라미터

  • γ (감가율):
    1. 0.9
    2. 0.95

정책(Policy)

  • π(a|s) = 0.25 (예측(prediction)에만 사용)

구현할 알고리즘

  • Monte-Carlo prediction
  • 제어 알고리즘:
    • Exploring Starts (ES)
    • ε-soft 정책

특징

  • 녹색 칸은 장애물로, 에이전트가 진입할 수 없다
  • A는 시작 위치, W는 직장, H는 집을 나타낸다
  • 에이전트는 70%의 확률로 선택한 방향으로 이동하고, 30%의 확률로 다른 무작위 방향으로 이동한다
  • 매 스텝마다 -0.5의 보상이 있으며, W에 도달하면 +5, H에 도달하면 +10의 보상을 받는다
  • 초록색 영역에 진입하려고 하면 -1의 추가 보상이 발생한다

1. 환경 구현 (environment.py)

환경 초기화

  • 이 부분은 4x4 그리드 환경을 설정합니다. 에이전트는 (0,0)에서 시작하고, 직장(W)은 (0,3)에, 집(H)은 (3,3)에 위치한다. 중앙의 2x2 영역은 장애물(녹색 공원 영역)이다.

 

행동 실행 메서드

  • 이 메서드는 에이전트의 행동을 처리한다. 70% 확률로 선택한 행동을 실행하고, 30% 확률로 다른 무작위 행동을 실행한다.
  • 그리드 경계를 벗어나면 제자리에 머무르며, 직장이나 집에 도착하면 에피소드가 종료된다.

 

보상 함수

  • 이 함수는 상태 전이에 따른 보상을 계산한다. 
  • 기본 보상은 -0.5이며 직장에 처음 도달하면 +5, 집에 처음 도달하면 +10, 공원(장애물)에 있으면 -1의 보상을 받는다.

2. Monte-Carlo 예측 (mc_prediction.py)

리턴값(G) 계산

  • 이 함수는 감가율(gamma)를 적용하여 미래 보상의 현재 가치(G)를 계산한다.
  • 시간 t부터 에피소드 종료까지의 보상을 G_t = r_t + γr_{t+1} + γ²r_{t+2} + ... 형태로 계산한다.

 

상태 가치 함수(V) 예측

  • 이 함수는 먼저 정책에 따라 에피소드를 생성한 다음, 각 상태의 가치를 Monte-Carlo 방식으로 추정한다.
  • 각 상태에서 시작하여 에피소드 종료까지의 감가된 보상 합을 계산하고, 그 평균을 상태의 가치로 업데이트한다.

3. Monte-Carlo 제어 (mc_control.py)

Exploring Starts (ES) 메서드

  • ES 방식은 무작위 상태와 무작위 첫 행동으로 에피소드를 시작하여 모든 상태-행동 쌍을 탐색할 수 있도록 한다.
  • 그 후 행동 가치 함수를 업데이트하고, 각 상태에서 가장 높은 가치를 가진 행동만 선택하는 탐욕적 정책으로 개선한다.

 

ε-soft 정책 메서드

  • ε-soft 방식은 모든 행동이 최소한 ε/|A| 확률로 선택되도록 보장하면서, 가장 좋은 행동이 높은 확률(1-ε+ε/|A|)로 선택되도록 한다.
  • 이를 통해 지속적인 탐색과 활용 사이의 균형을 유지한다.

 

이 주요 코드 구현에서 볼 수 있듯이, Monte-Carlo 방법은 실제 에피소드 경험을 통해 가치 함수를 추정하고, 이를 바탕으로 정책을 점진적으로 개선하는 방식이며 ES와 ε-soft는 탐색 전략이 다르지만, 둘 다 최적 정책을 찾기 위한 효과적인 방법이다.

 

 

|인증|

 

-------

패스트캠퍼스 링크

https://bit.ly/4hTSJNB