Step 1: Q-Learning 개념
Q-Learning은 강화학습 알고리즘 중 하나로, Off-policy 방식입니다. 에이전트가 환경에서 최적의 행동을 찾기 위해 Q-값을 학습합니다.
Step 2: Q-값 정의
Q-값은 상태-행동 쌍에서 얻을 수 있는 누적 보상의 기대치를 의미합니다. Q(s, a)로 표현됩니다.
Step 3: Bellman 방정식
Q-Learning은 Bellman 방정식을 기반으로 Q-값을 업데이트합니다.
$Q(s,a) = Q(s,a) + \alpha \left( R + \gamma \max_{a'} Q(s', a') - Q(s, a) \right)$
- $\alpha$: 학습률
- $\gamma$: 할인율
- $R$: 즉각적인 보상
- $\max_{a'} Q(s', a')$: 다음 상태에서 예상되는 최대 보상
Step 4: 탐험 vs 활용 (Exploration vs Exploitation)
- 탐험(Exploration): 새로운 상태-행동을 시도
- 활용(Exploitation): 현재까지 학습한 정보를 바탕으로 최대 보상을 얻는 행동을 선택
대표적인 방법: $ε-greedy$
Step 5: Q-테이블
Q-값은 상태와 행동에 따라 Q-테이블에 저장됩니다. 상태와 행동의 조합이 커질수록 테이블 크기도 커지므로, 대규모 문제에서는 **심층 Q-네트워크(DQN)**로 확장할 수 있습니다.
Step 6: 알고리즘 절차
- 초기화: Q-테이블을 임의의 값으로 초기화.
- 상태 $s$ 선택.
- 행동 $a$ 선택 ($ε-greedy$).
- 보상 $R$ 받기, 새로운 상태 $s'$ 관찰.
- Q-테이블 업데이트
$Q(s,a) = Q(s,a) + \alpha \left( R + \gamma \max_{a'} Q(s', a') - Q(s, a) \right)$
- 상태 $s'$로 이동, 반복.
Step 7: 학습 종료 조건
일정 에포크(epoch) 동안 Q-값이 더 이상 변화하지 않으면 학습을 종료합니다.
Step 8: 장점과 단점
- 장점: 간단하고 구현이 쉬우며, 이론적으로 수렴이 보장됩니다.
- 단점: 상태 공간이 크면 Q-테이블 관리는 어려워지며, 연속적인 상태나 행동에서는 한계가 있습니다.
Step 9: 확장
- DQN: 신경망을 이용해 Q-값을 근사합니다.
- SARSA: Q-Learning과 달리 실제로 선택한 행동을 바탕으로 학습합니다.
Step 1: Q-Learning 개념
Q-Learning은 강화학습 알고리즘 중 하나로, Off-policy 방식입니다. 에이전트가 환경에서 최적의 행동을 찾기 위해 Q-값을 학습합니다.
Step 2: Q-값 정의
Q-값은 상태-행동 쌍에서 얻을 수 있는 누적 보상의 기대치를 의미합니다. Q(s, a)로 표현됩니다.
Step 3: Bellman 방정식
Q-Learning은 Bellman 방정식을 기반으로 Q-값을 업데이트합니다.
$Q(s,a) = Q(s,a) + \alpha \left( R + \gamma \max_{a'} Q(s', a') - Q(s, a) \right)$
- $\alpha$: 학습률
- $\gamma$: 할인율
- $R$: 즉각적인 보상
- $\max_{a'} Q(s', a')$: 다음 상태에서 예상되는 최대 보상
Step 4: 탐험 vs 활용 (Exploration vs Exploitation)
- 탐험(Exploration): 새로운 상태-행동을 시도
- 활용(Exploitation): 현재까지 학습한 정보를 바탕으로 최대 보상을 얻는 행동을 선택
대표적인 방법: $ε-greedy$
Step 5: Q-테이블
Q-값은 상태와 행동에 따라 Q-테이블에 저장됩니다. 상태와 행동의 조합이 커질수록 테이블 크기도 커지므로, 대규모 문제에서는 **심층 Q-네트워크(DQN)**로 확장할 수 있습니다.
Step 6: 알고리즘 절차
- 초기화: Q-테이블을 임의의 값으로 초기화.
- 상태 $s$ 선택.
- 행동 $a$ 선택 ($ε-greedy$).
- 보상 $R$ 받기, 새로운 상태 $s'$ 관찰.
- Q-테이블 업데이트
$Q(s,a) = Q(s,a) + \alpha \left( R + \gamma \max_{a'} Q(s', a') - Q(s, a) \right)$
- 상태 $s'$로 이동, 반복.
Step 7: 학습 종료 조건
일정 에포크(epoch) 동안 Q-값이 더 이상 변화하지 않으면 학습을 종료합니다.
Step 8: 장점과 단점
- 장점: 간단하고 구현이 쉬우며, 이론적으로 수렴이 보장됩니다.
- 단점: 상태 공간이 크면 Q-테이블 관리는 어려워지며, 연속적인 상태나 행동에서는 한계가 있습니다.
Step 9: 확장
- DQN: 신경망을 이용해 Q-값을 근사합니다.
- SARSA: Q-Learning과 달리 실제로 선택한 행동을 바탕으로 학습합니다.