티스토리 뷰
🔄 2.5 Tracking a Nonstationary Problem
— 환경이 바뀐다면, 과거를 믿을 수 없다
1. 지금까지는, 환경이 고정되어 있다는 가정
앞선 2.4절에서는 다음 수식을 사용했습니다:
\( Q_{n+1} = Q_n + \frac{1}{n+1}(R_{n+1} - Q_n) \)
이 수식은 매우 효율적입니다. 과거의 모든 데이터를 저장하지 않아도 되고, 계산량도 적습니다.
하지만 이 수식은 중대한 전제 하나를 깔고 있습니다:
환경은 정상적(stationary)이다. 즉, 시간에 따라 보상 분포는 변하지 않는다.
2. 현실은 그렇게 고정되어 있지 않다
많은 실제 환경에서는, 시간이 흐름에 따라 행동의 결과가 달라집니다.
- 광고 클릭률은 계절이나 유행에 따라 달라지고
- 슬롯머신의 기계 성능은 오래될수록 저하되며
- 사람의 행동은 맥락이나 기분에 따라 변합니다
이러한 상황을 우리는 비정상적(nonstationary) 환경이라고 부릅니다.
❗ 즉, 과거의 정보가 지금의 상황을 대표하지 않을 수 있는 환경입니다.
3. 정적인 평균 수식의 한계
앞서 사용한 평균 기반 수식은 이런 환경에서는 오히려 해가 될 수 있습니다.
왜냐하면, 오래된 정보와 최신 정보를 동등하게 반영하기 때문입니다.
과거 보상이 높았다고 해서 지금도 높을 거란 보장은 없습니다.
4. 해결책: 새로운 정보를 더 신뢰하자
이러한 문제를 해결하는 가장 간단한 방식은, “새로운 보상에 더 많은 가중치를 주는 것”입니다.
이 방식은 다음과 같은 수식을 사용합니다:
\( Q_{n+1} = Q_n + \alpha (R_{n+1} - Q_n) \)
여기서 \( \alpha \)는 고정된 학습률(step-size parameter)이며, 보통은 0과 1 사이의 상수입니다.
5. 이 수식은 무슨 의미인가?
이 수식은 기존의 평균 업데이트 수식과 구조는 비슷하지만, 가장 중요한 차이점은 다음과 같습니다:
- 기존 수식: \( \frac{1}{n+1} \) → 시간이 지날수록 점점 작아짐
- 이번 수식: \( \alpha \) → 항상 일정
📌 시간이 지나도 새로운 정보에 계속해서 반응할 수 있습니다.
구조를 다시 보면 다음과 같습니다:
\( Q_{n+1} = (1 - \alpha)Q_n + \alpha R_{n+1} \)
- \( \alpha \): 새 정보(보상)의 가중치
- \( 1 - \alpha \): 기존 신념의 가중치
👉 가중 평균 구조입니다. 과거와 현재를 어떻게 섞을지를 조절하는 수식입니다.
6. \( \alpha \) 값은 어떻게 설정해야 할까?
책에서는 다음과 같이 설명합니다:
“If \( \alpha \) is small, learning is slow. If \( \alpha \) is large, learning is more responsive to recent information but more volatile.”
7. 실생활 예시
🎰 예: 비정상 슬롯머신
- 슬롯3은 초반엔 평균 보상이 2.0
- 1000회차 이후엔 평균 보상이 0.5로 하락
🤖 기계의 반응
- 2.4절 방식: 여전히 슬롯3이 좋다고 믿음
- 2.5절 방식: 최근 보상이 낮자 빠르게 판단을 수정함
👉 새로운 방식이 비정상적인 상황에서 훨씬 유리합니다.
8. 철학적 해석
2.4절은 과거 전체를 소중히 여깁니다. 하지만 2.5절은 이렇게 말합니다:
“변화가 있는 세상에서는, 오래된 믿음은 그만 버려야 해.”
인간도 마찬가지입니다. 새로운 현실을 마주할 때, 우리는 종종 자신의 판단을 다시 고쳐야 합니다.
🧾 요약
'머신러닝 > 강화학습' 카테고리의 다른 글
상한 신뢰구간 기반 행동 선택 (Upper Confidence Bound Action Selection) (0) | 2025.04.17 |
---|---|
2.6 초기에 높은 Q값은 왜 학습을 빨리 시키는가? (0) | 2025.04.17 |
[단단한 강화학습] 2.4 점진적 구현 (0) | 2025.04.16 |
[단단한 강화학습] 2장. k-armed machine (0) | 2025.04.16 |
[단단한 강화학습 1장] 강화학습이란 무엇인가 (0) | 2025.04.16 |
- Total
- Today
- Yesterday
- 회계
- 행동심리학
- 통계
- stl
- 심리학
- 보세사
- 통계학
- 데이터분석
- C
- 일본어
- 뇌와행동의기초
- 열혈프로그래밍
- 정보처리기사
- c++
- 윤성우
- Python
- C/C++
- 백준
- 코딩테스트
- 조건형성
- 류근관
- 일문따
- 사회심리학
- 강화학습
- 인지부조화
- 일본어문법무작정따라하기
- 티스토리챌린지
- 파이썬
- 오블완
- K-MOOC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |