인공지능/강화학습

[강화학습] Q-learning 이란?

허구의 2025. 6. 26. 11:17
728x90

강화학습을 시작하는 가장 쉬운 길, Q-learning 완전 정복

강화학습(RL, Reinforcement Learning)은 환경 속에서 스스로 경험을 쌓으며 학습하는 인공지능 분야입니다. 그 중에서도 Q-learning은 가장 널리 알려지고, 구현이 쉬운 대표적인 알고리즘입니다. 본 글에서는 Q-learning의 개념, 동작 원리, 수식, 그리고 간단한 예제까지 모두 하나씩 짚어보겠습니다.

Q-learning이란?

Q-learning은 모델-프리(Model-free) 강화학습 알고리즘입니다. 즉, 에이전트는 환경의 내부 구조(상태 전이 확률 등)를 알 필요 없이 단지 보상과 상태만 보고 학습합니다.

 

Q-learning의 목적은 각 상태(state)에서 가능한 행동(action)에 대한 기대 보상을 추정하는 Q-value(행동가치) 테이블을 만드는 것입니다.

 

기본 용어 정리

시작하기에 앞서, 상태, 행동 등 기본 용어에 대한 정의를 먼저 소개하겠습니다.

  • 에이전트(Agent): 학습하고 의사결정을 내리는 존재
  • 환경(Environment): 에이전트가 상호작용하는 세계
  • 상태(State, s): 현재 환경이 놓여 있는 상황
  • 행동(Action, a): 에이전트가 선택할 수 있는 행동
  • 보상(Reward, r): 행동의 결과로 받는 피드백
  • 정책(Policy): 에이전트가 어떤 상태에서 어떤 행동을 선택할지 결정하는 전략

Q-learning의 핵심 아이디어

Q-learning은 벨만 최적 방정식(Bellman Optimality Equation)을 근사하는 방식으로 동작합니다. 매 에피소드마다 Q 값을 조금씩 업데이트하면서 최적 Q값에 가까워지도록 학습합니다.


Q-value 란?

여기서 Q-value, 즉 Q(s, a)는 특정 상태 s에서 행동 a를 했을 때 앞으로 기대되는 누적 보상을 나타냅니다. 이 값을 잘 추정할 수 있다면, 우리는 Q값이 가장 높은 행동을 선택함으로써 최적의 정책을 만들 수 있습니다.

 

벨만 최적 방정식이란?

Q-learning이 이론적으로 기반하는 수식은 바로 벨만 최적 방정식입니다. 이 식은 다음과 같습니다:

$$ Q^*(s, a) = \mathbb{E} \left[ r + \gamma \cdot \max_{a'} Q^*(s', a') \mid s, a \right] $$

 

이 의미는 다음과 같습니다:

  • 현재 상태 s에서 행동 a를 했을 때, 받게 될 보상 r
  • 그 후 도달하게 될 다음 상태 s′에서 취할 수 있는 모든 행동 a′ 중 Q값이 가장 큰 것 max(Q*(s′, a′))
  • 이 미래 보상에 할인율 γ를 곱해서 현재의 가치로 환산
  • 이 모든 것의 기대값(E)을 취하면, 최적 Q값 Q*(s, a)이 됨

즉, "현재의 행동 가치는, 당장 받을 보상과 미래의 최적 행동 가치의 합"이라는 원리를 표현한 것입니다.

 

Q-value 업데이트

Q-value는 아래와 같은 수식으로 업데이트됩니다:    $$ Q(s, a) \leftarrow Q(s, a) + \alpha \left[ r + \gamma \cdot \max_{a'} Q(s', a') - Q(s, a) \right] $$

  • α (learning rate): 학습률, 새 정보에 얼마나 반응할지 조절

 

전체 식은 다음과 같은 형태로 볼 수 있습니다:

기존 Q값 + 학습률 × (목표값기존 Q값)

 

여기서 괄호 안의 부분은 "TD 오류 (Temporal Difference Error)"라고도 불리며, 현재 예측(Q값)이 얼마나 틀렸는지를 나타내는 신호입니다. 이 오차를 줄이는 방향으로 Q값을 점진적으로 보정합니다.


Q-learning의 동작 흐름

  1. Q 테이블을 0 또는 임의의 값으로 초기화
  2. 현재 상태 s를 관찰
  3. ε-greedy 정책을 사용해 행동 a 선택 (탐험 vs 활용)
  4. 행동 a를 수행하고 보상 r과 다음 상태 s′를 얻음
  5. Q(s, a)를 위 수식으로 업데이트
  6. s ← s′로 상태를 이동하고 종료 조건까지 반복

ε-greedy 탐험 전략

학습 초반에는 Q값이 정확하지 않기 때문에 무작위 탐험이 필요합니다. ε-greedy는 확률 ε로 무작위 행동을, 확률 1−ε로 가장 큰 Q값을 선택합니다. 학습이 진행되면서 ε을 점점 줄이면 효과적으로 탐험을 줄여나갈 수 있습니다.


Q-learning의 장점

Q-learning은 아래의 장점들을 가집니다.

  • 간단하고 구현이 쉬움
  • 모델-프리 방식으로 환경의 전이 확률을 몰라도 작동함
  • Discrete한 상태/행동 공간에서는 높은 성능을 발휘

Q-learning의 한계

  • 상태나 행동이 많을수록 Q 테이블이 너무 커짐
  • 고차원 상태(예: 이미지)에 적용하기 어려움 → 이때 DQN 필요
  • 지속적으로 탐험을 조절해야 안정적인 학습 가능

Q-learning은 이러한 한계로 인하여, 이후 딥러닝을 결합한 Deep Q-Network(DQN)나 Actor-Critic 계열로의 확장하게 됩니다.

다음 단계에서는 Q 테이블이 아닌 신경망을 사용하는 DQN으로 확장하여 고차원 입력에도 대응하는 방법을 다루겠습니다.

 

감사합니다.

728x90