*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
|내용 정리|
<Q-learning: off-policy 학습방법>
주요 Q-learning 공식
1. 벨만 최적성 방정식 (Bellman Optimality Equation)

이 기본 방정식은 최적 행동-가치 함수를 정의합니다. 상태 s에서 행동 a를 취했을 때의 최적 Q값은 즉각적인 보상의 기대값과 모든 가능한 다음 상태에서의 할인된 최대 미래 가치의 합과 같다는 의미이다.
2. 가치 반복 업데이트 (Value Iteration Update)

이 반복적 업데이트 방정식은 반복 적용을 통해 최적 Q-함수에 접근한다. 각 반복마다 최적 정책에 더 가까워진다.
- 의미:
- 현재 상태 s와 행동 a에 대해, 모든 가능한 다음 상태 s′의 전이 확률 p(s′∣s,a)를 고려.
- 즉시 보상 r과 할인된 최대 미래 가치 γmaxa′Qk(s′,a′)의 기댓값을 계산해 Q-value를 업데이트.
- 특징:
- 모델 기반 (Model-Based): 환경의 전이 확률 p(s′∣s,a)를 알고 있어야 한다.
- 최적성 보장: 반복 적용 시 최적 Q-function Q∗로 수렴.
- 동적 계획법 (DP): 실제 경험 없이도 이론적으로 계산 가능.
3. Argmax 정책에 대한 벨만 방정식

이는 특정 정책(특히 argmax 정책)을 사용할 때 Q-함수가 어떻게 업데이트되는지 보여준다.
- 의미:
- 특정 정책 π(예: 탐욕 정책) 하에서 Q-value를 업데이트한다.
- 다음 상태 s′에서 정책 π에 따라 행동 a′을 선택할 때의 기대 미래 가치를 반영한다.
- Argmax 정책 적용 시:
- 만약 π가 arg max 정책이면 ∑a′π(a′∣s′)Qk(s′,a′)=maxa′Qk(s′,a′)가 되어, 가치 반복 업데이트와 동일해진다.
- 특징:
- 정책 평가 (Policy Evaluation): 주어진 정책 π의 성능을 평가할 때 사용.
- 온-폴리시 (On-Policy): 정책 π 자체가 업데이트에 관여.
4. Argmax에 대한 정책 정의 (탐욕 정책)

현재 Q-value Qk(s,a)에서 가장 높은 값을 가진 행동 a를 확률 1로 선택하고, 나머지 행동은 0으로 배제하는 결정론적 정책이다.
5. ε-탐욕 정책 (ε-Greedy Policy)

이 정책은 확률 1-ε + ε/|A|로 탐욕적 행동을 선택하고, 다른 행동들은 확률 ε/|A|로 선택함으로써 탐색과 활용 사이의 균형을 맞춘다.
- 의미:
- 최적 행동 선택 확률: 1−ϵ+ϵ/∣A∣(주로 1−ϵ로 근사).
- 나머지 행동 선택 확률: 균등 분배 ϵ/∣A∣.
- 특징:
- Exploration-Exploitation 균형: 확률 ϵ으로 무작위 행동을 선택해 탐색을 보장한다.
- Behavior Policy로 사용: Q-learning에서 데이터 수집을 위해 실제로 사용되는 정책이다.
6. Q-learning 업데이트 식

이것은 Q-learning의 실제 구현 공식으로, 경험을 기반으로 Q값이 어떻게 업데이트되는지 보여준다. 대괄호 안의 항은 시간적 차이(TD) 오류이다.
Initialize α > 0, π and Q(s,a) for all s ∈ S and a ∈ A
While True
Initialize s, done = False
While not done
a ~ π(·|s) (e.g., ε-greedy)
Take action a and observe r, s', done
Q(s,a) = Q(s,a) + α[r + γ max(Q(s',a')) - Q(s,a)]
If done
Q(s',·) = 0
s = s'
- 초기화 단계:
- 학습률 α (alpha)는 0보다 큰 값으로 설정.
- 정책 π (pi)를 초기화.
- 모든 상태 s와 행동 a에 대한 Q(s,a) 값을 초기화.
- 에피소드 반복 (외부 While 루프):
- 각 에피소드마다 초기 상태 s를 설정하고 done 플래그를 False로 초기화.
- 상태-행동-보상 루프 (내부 While 루프):
- 현재 상태 s에서 정책 π에 따라 행동 a를 선택 (주로 ε-greedy 정책 사용).
- 선택한 행동 a를 환경에 적용하고, 보상 r, 다음 상태 s', 그리고 에피소드 종료 여부(done)를 관찰.
- Q-값을 다음 공식으로 업데이트합니다 -> Q(s,a) = Q(s,a) + α[r + γ max(Q(s',a')) - Q(s,a)]
- α는 학습률
- γ는 할인 계수
- max(Q(s',a'))는 다음 상태에서의 최대 Q-값
- [r + γ max(Q(s',a')) - Q(s,a)]는 TD(Temporal Difference) 오차
- 종료 조건 처리:
- 에피소드가 종료되면(done = True), 종료 상태의 모든 Q-값을 0으로 설정: Q(s',·) = 0 (이는 종료 상태에서는 더 이상의 미래 보상이 없다는 의미)
- 상태 업데이트:
- 현재 상태를 다음 상태로 업데이트: s = s'
7. 중요도 샘플링을 사용한 오프-정책 TD 학습
1. 기본 벨만 방정식 (Target Policy π₁ 기준)

- 의미:
- Target Policy π1 하에서 상태 s의 가치 함수 Vk+1(s)를 계산한다.
- 모든 행동 a와 다음 상태 s′에 대한 기댓값을 고려한다.
- 용도:
- 정책 π1의 성능을 평가할 때 사용된다 (정책 평가).
2. Importance Sampling 적용 버전 (Behavior Policy π₂ 사용)

- 의미:
- Behavior Policy π2로 수집된 샘플을 재가중하여 π1의 가치 함수를 추정한다.
- Importance Sampling Ratio

용도:
- Off-policy 학습에서 Target Policy와 Behavior Policy가 다를 때 사용된다.
3. 샘플 기반 근사 (Monte Carlo 추정)

- 의미:
- 실제 경험으로 얻은 샘플 (s,a,r,s′)에 Importance Sampling Ratio를 곱해 평균을 낸다.
- E^는 샘플 평균 연산자이다.
- 특징:
- 모델 불필요 (Model-Free): 전이 확률 p(s′∣s,a)를 몰라도 적용 가능하다.
이 방정식들은 중요도 샘플링 비율을 사용하여 다른 정책(π₂)을 따르면서 하나의 정책(π₁)에 대한 가치 함수를 학습하는 방법을 보여준다.
구조적 이해
Q-learning은 다음과 같은 특성을 가진 오프-정책 강화학습 알고리즘이다:
- 탐색을 위해 행동 정책(주로 ε-탐욕 정책)을 사용한다.
- 목표 정책(최적/탐욕 정책)을 향해 업데이트한다.
- 이론적 기반으로 벨만 최적성 방정식을 사용한다.
- 경험한 전이(transition)를 기반으로 Q값을 반복적으로 개선한다.
- 결국 최적 행동-가치 함수로 수렴한다.
기본 Q-learning 알고리즘은 Q값을 초기화한 후 반복적으로:
- ε-탐욕 정책을 사용하여 행동을 선택한다.
- 보상과 다음 상태를 관찰한다.
- 시간적 차이 공식을 사용하여 Q값을 업데이트한다.
- 최적값에 수렴할 때까지 계속한다.
Q-learning 알고리즘 구조도

- 초기화 단계에서 Q(s,a) 값을 랜덤하게 설정.
- 현재 상태를 관찰.
- ε-greedy 정책을 사용해 행동을 선택:
- 확률 1-ε로 가장 높은 Q값을 가진 행동을 선택 (탐욕적 행동)
- 확률 ε로 무작위 행동을 선택 (탐색)
- 선택한 행동을 환경에 적용.
- 행동 후 보상과 다음 상태를 관찰.
- Q값을 업데이트합니다: Q(s,a) ← Q(s,a) + α[r + γ max Q(s',a') - Q(s,a)]
- 종료 조건을 확인:
- 미달성 시 다시 2단계로 돌아감.
- 수렴 시 다음 단계로 진행함.
- 최종적으로 최적 정책을 도출: π*(s) = argmax Q(s,a)
|인증|




-------
패스트캠퍼스 링크