카테고리 없음

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

dev-self 2025. 3. 13. 21:03

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

 

|내용 정리|

<MDP - 행동 가치 함수 Action-Value Function 연습>

-  강화학습에서 정책 π\pi에 따른 상태-행동 가치 함수식

 

1. 기본 정의

 

 

  • : 정책 에 따라 상태 에서 행동 at를 선택했을 때의 기대 누적 보상.
  • G: 시점 t부터 시작되는 누적 보상(Return).
  • : 정책 에 따른 기대값.
  • 즉, 주어진 상태 s와 행동 a에서 시작해 정책 를 따랐을 때 얻을 수 있는 누적 보상의 기대값을 의미.

 

2. 누적 보상의 정의로 전개

 

 

  • : 시점 에서 받는 보상.
  • γ(gamma): 할인율로, 미래 보상의 현재 가치에 대한 가중치를 조절합니다. 0≤γ≤10 
  • : 시점부터의 누적 보상.

 

3. 누적 보상의 정의를 다시 사용

 

 

  • 을 다시 누적 보상으로 전개한 것.
  • ∑k=0∞γkRt+k+2\sum:  시점부터의 미래 보상을 할인해서 모두 더한 값.

 

4. 로 다시 정리

  • : 다음 상태 에서 정책 에 따라 선택된 행동 의 가치 함수.
  • 즉, 현재 보상과 다음 상태에서의 기대 가치를 더한 값.

 

5. 확률과 정책을 사용해 전개

 

  • : 현재 상태 에서 행동 를 취했을 때 s로 전이될 확률.
  • R(st,at,st+1): 상태 에서 행동 a를 취하고 로 전이되었을 때 받는 보상.
  • π(at+1∣st+1): 다음 상태 에서 행동 을 선택할 확률.

 

정리하자면:

  • 이 수식은 벨만 기대 방정식(Bellman Expectation Equation)으로,
  • 현재 상태-행동 가치 함수는 즉시 보상미래 가치의 합으로 표현.
  • 그리고 미래 가치는 다음 상태에서의 행동 선택 확률과 가치 함수의 기대값으로 계산.

 

|응용|

 

위의 밸만 방정식을 학생의 공부-스트레스-게임 상황을 가정해서 구체적인 예시로 적용해보자. 

MDP 5가지 요소 정리

  1. 상태 집합(S): 공부 중(s₁), 스트레스 받는 상태(s₂), 스마트폰 게임 중(s₃)의 세 가지 상태
  2. 행동 집합(A): 각 상태에서 선택할 수 있는 행동으로 계속하기(a₁)와 전환하기(a₂).
  3. 상태 전이 확률(P): p(s'|s,a) 형태로 각 상태에서 특정 행동을 취했을 때 다음 상태로 전이될 확률.
  4. 보상 함수(R): R(s,a,s') 형태로 상태 s에서 행동 a를 취해 상태 s'로 전이될 때 얻는 보상.
  5. 감가율(γ): 미래 보상의 현재 가치를 계산하기 위한 감가율 0.9.

상황 설정

대학생 민수는 시험 기간에 다음과 같은 세 가지 상태를 오가며 생활한다고 가정한다:

  • s₁: 공부 중 - 집중해서 공부하는 상태
  • s₂: 스트레스 받는 상태 - 공부에 지쳐 스트레스를 받는 상태
  • s₃: 스마트폰 게임 중 - 휴식을 위해 게임을 하는 상태

민수는 각 상태에서 두 가지 행동 중 하나를 선택할 수 있다:

  • a₁: 계속하기 - 현재 활동을 계속함
  • a₂: 전환하기 - 다른 활동으로 전환함

MDP 모델 파라미터

1. 상태 전이 확률 p(s' | s, a)

  • 공부 중(s₁)에서:
    • 계속하기(a₁) 선택 시:
      • 70% 확률로 공부 상태(s₁) 유지: p(s₁|s₁,a₁) = 0.7
      • 30% 확률로 스트레스 상태(s₂)로 전환: p(s₂|s₁,a₁) = 0.3
    • 전환하기(a₂) 선택 시:
      • 100% 확률로 게임 상태(s₃)로 전환: p(s₃|s₁,a₂) = 1.0
  • 스트레스 상태(s₂)에서:
    • 계속하기(a₁) 선택 시:
      • 100% 확률로 스트레스 상태(s₂) 유지: p(s₂|s₂,a₁) = 1.0
    • 전환하기(a₂) 선택 시:
      • 100% 확률로 게임 상태(s₃)로 전환: p(s₃|s₂,a₂) = 1.0
  • 게임 중(s₃)에서:
    • 계속하기(a₁) 선택 시:
      • 100% 확률로 게임 상태(s₃) 유지: p(s₃|s₃,a₁) = 1.0
    • 전환하기(a₂) 선택 시:
      • 100% 확률로 공부 상태(s₁)로 전환: p(s₁|s₃,a₂) = 1.0

2. 보상 함수 R(s, a, s')

  • R(s₁, a₁, s₁) = 10 (공부를 계속하면서 집중력 유지 시 높은 보상)
  • R(s₁, a₁, s₂) = -5 (공부하다 스트레스 받게 되면 부정적 보상)
  • R(s₁, a₂, s₃) = 2 (공부에서 게임으로 전환하면 약간의 즉각적 만족감)
  • R(s₂, a₁, s₂) = -8 (스트레스 상태에서 계속하면 더 큰 부정적 보상)
  • R(s₂, a₂, s₃) = 5 (스트레스 상태에서 게임으로 전환하면 스트레스 해소 보상)
  • R(s₃, a₁, s₃) = 3 (게임을 계속하면 재미는 있지만 적은 보상)
  • R(s₃, a₂, s₁) = 7 (게임에서 공부로 돌아가면 책임감 있는 선택에 대한 보상)

3. 현재 정책 π(a|s)

민수의 현재 습관적 행동 패턴(정책):

  • 공부 중(s₁)일 때:
    • 75% 확률로 계속 공부함: π(a₁|s₁) = 0.75
    • 25% 확률로 게임으로 전환: π(a₂|s₁) = 0.25
  • 스트레스 상태(s₂)일 때:
    • 20% 확률로 공부 계속함: π(a₁|s₂) = 0.2
    • 80% 확률로 게임으로 전환: π(a₂|s₂) = 0.8
  • 게임 중(s₃)일 때:
    • 70% 확률로 게임 계속함: π(a₁|s₃) = 0.7
    • 30% 확률로 공부로 돌아감: π(a₂|s₃) = 0.3

4. 감가율(γ) = 0.9

벨만 방정식을 이용한 가치 함수 계산

벨만 방정식: Q^π(s_t, a_t) = ∑_{s_{t+1}} p(s_{t+1} | s_t, a_t) [R(s_t, a_t, s_{t+1}) + γ ∑_{a_{t+1}} π(a_{t+1} | s_{t+1})Q^π(s_{t+1}, a_{t+1})]

초기 Q 값 설정

우선 모든 상태-행동 쌍의 Q 값을 0으로 초기화한다:

  • Q^π(s₁, a₁) = 0, Q^π(s₁, a₂) = 0
  • Q^π(s₂, a₁) = 0, Q^π(s₂, a₂) = 0
  • Q^π(s₃, a₁) = 0, Q^π(s₃, a₂) = 0

첫 번째 반복 (k=1)

Q^π(s₁, a₁) 계산: Q^π(s₁, a₁) = p(s₁|s₁,a₁)[R(s₁,a₁,s₁) + γ∑_{a} π(a|s₁)Q^π(s₁,a)] + p(s₂|s₁,a₁)[R(s₁,a₁,s₂) + γ∑_{a} π(a|s₂)Q^π(s₂,a)] = 0.7[10 + 0.9(0.75×0 + 0.25×0)] + 0.3[-5 + 0.9(0.2×0 + 0.8×0)] = 0.7×10 + 0.3×(-5) = 7 - 1.5 = 5.5

Q^π(s₁, a₂) 계산: Q^π(s₁, a₂) = p(s₃|s₁,a₂)[R(s₁,a₂,s₃) + γ∑_{a} π(a|s₃)Q^π(s₃,a)] = 1.0[2 + 0.9(0.7×0 + 0.3×0)] = 2

Q^π(s₂, a₁) 계산: Q^π(s₂, a₁) = p(s₂|s₂,a₁)[R(s₂,a₁,s₂) + γ∑_{a} π(a|s₂)Q^π(s₂,a)] = 1.0[-8 + 0.9(0.2×0 + 0.8×0)] = -8

Q^π(s₂, a₂) 계산: Q^π(s₂, a₂) = p(s₃|s₂,a₂)[R(s₂,a₂,s₃) + γ∑_{a} π(a|s₃)Q^π(s₃,a)] = 1.0[5 + 0.9(0.7×0 + 0.3×0)] = 5

Q^π(s₃, a₁) 계산: Q^π(s₃, a₁) = p(s₃|s₃,a₁)[R(s₃,a₁,s₃) + γ∑_{a} π(a|s₃)Q^π(s₃,a)] = 1.0[3 + 0.9(0.7×0 + 0.3×0)] = 3

Q^π(s₃, a₂) 계산: Q^π(s₃, a₂) = p(s₁|s₃,a₂)[R(s₃,a₂,s₁) + γ∑_{a} π(a|s₁)Q^π(s₁,a)] = 1.0[7 + 0.9(0.75×0 + 0.25×0)] = 7

두 번째 반복 (k=2)

이전 반복에서 계산된 Q 값을 사용하여 다시 계산한다:

Q^π(s₁, a₁) 계산: Q^π(s₁, a₁) = 0.7[10 + 0.9(0.75×5.5 + 0.25×2)] + 0.3[-5 + 0.9(0.2×(-8) + 0.8×5)] = 0.7[10 + 0.9(4.125 + 0.5)] + 0.3[-5 + 0.9(-1.6 + 4)] = 0.7[10 + 0.9×4.625] + 0.3[-5 + 0.9×2.4] = 0.7[10 + 4.1625] + 0.3[-5 + 2.16] = 0.7×14.1625 + 0.3×(-2.84) = 9.91375 - 0.852 = 9.06175

Q^π(s₁, a₂) 계산: Q^π(s₁, a₂) = 1.0[2 + 0.9(0.7×3 + 0.3×7)] = 1.0[2 + 0.9(2.1 + 2.1)] = 1.0[2 + 0.9×4.2] = 2 + 3.78 = 5.78

다른 상태-행동 쌍에 대해서도 같은 방식으로 계산한다. 이 과정을 Q 값이 수렴할 때까지 반복한다.

수렴 후 상태 가치 함수

여러 번의 반복 계산 후 Q 값이 수렴한다고 가정하면, 각 상태의 가치 함수는 다음과 같이 계산된다:

V^π(s₁) = ∑_{a} π(a|s₁)Q^π(s₁,a) = 0.75×Q^π(s₁,a₁) + 0.25×Q^π(s₁,a₂)

V^π(s₂) = ∑_{a} π(a|s₂)Q^π(s₂,a) = 0.2×Q^π(s₂,a₁) + 0.8×Q^π(s₂,a₂)

V^π(s₃) = ∑_{a} π(a|s₃)Q^π(s₃,a) = 0.7×Q^π(s₃,a₁) + 0.3×Q^π(s₃,a₂)

결론 및 해석

수렴된 Q 값에 따르면:

  1. 공부 상태(s₁)에서는 계속 공부하는 것(a₁)이 더 가치 있다. 이는 단기적으로는 게임으로 전환하는 것이 즉각적인 보상을 주지만, 장기적으로는 공부를 계속하는 것이 더 큰 누적 보상을 가져온다.
  2. 스트레스 상태(s₂)에서는 게임으로 전환하는 것(a₂)이 훨씬 가치 있다. 스트레스 상태에서 계속 공부하면 부정적인 보상이 지속되므로, 게임으로 전환하여 스트레스를 해소하는 것이 더 효과적인 전략이다.
  3. 게임 상태(s₃)에서는 공부로 돌아가는 것(a₂)이 장기적으로 더 가치 있지만, 민수의 현재 정책은 게임을 계속하는 경향이 있다.

 

|인증|

 

-------

패스트캠퍼스 링크

https://bit.ly/4hTSJNB