인공지능 실습

GridWorld & Q-Learning 시뮬레이터

미로를 스스로 탈출하는 로봇은 어떻게 최적의 길을 찾아낼까요? 상태(State), 행동(Action), 보상(Reward)을 바탕으로 스스로 정책(Policy)을 만들어가는 강화학습의 핵심, 「Q-러닝」을 직접 확인해 보세요.

Core Mechanism

환경과 상호작용하며 똑똑해지는 에이전트

상태 (State)

에이전트가 현재 위치한 격자(Grid) 좌표

행동 (Action)

상하좌우 4가지 방향으로의 이동 시도

보상 (Reward)

도착(+10), 이동 패널티(-0.1) 등 환경의 피드백

정책 (Policy)

특정 상태에서 어떤 행동을 할지 결정하는 규칙

Q-Learning (Q-러닝)은 에이전트가 각 칸(State)에서 특정 방향(Action)으로 움직였을 때 얻을 수 있는 미래의 기대 가치인 Q-value를 지속적으로 업데이트하는 알고리즘입니다. 에이전트가 자주 지나간 칸일수록 Q값이 정확해지므로, 학습이 반복되면 목적지로 향하는 길(Policy)이 화살표 방향으로 드러납니다. 다만 화살표가 언제나 최적인 것은 아닙니다. 거의 가 보지 않은 칸의 Q값은 시도해 본 적 없는 값 그대로 남아 있어, 탐험이 모자라면 그런 칸의 화살표는 끝까지 엉뚱한 방향을 가리킬 수 있습니다.

1단계 · 관찰

현재 상태 확인

에이전트가 미로 안에서 자신의 현재 좌표(상태, S)를 파악합니다.

2단계 · 행동

이동 방향 결정

Epsilon 값에 따라 탐험(무작위로 새 길을 시도)을 할지, 알고 있는 가장 좋은 길로 가는 활용을 할지 결정(행동, A)합니다.

3단계 · 피드백

보상 획득

이동한 결과에 따라 환경으로부터 보상(Reward, R)과 새로운 위치(S') 정보를 받습니다.

4단계 · 학습

Q-Value 업데이트

획득한 보상과 도착한 칸의 최대 가치를 이용해, 방금 한 행동의 Q값을 공식에 따라 갱신합니다.

탐험 확률 (ε - 엡실론)

현재 아는 가장 좋은 길 대신, 모험심을 발휘해 무작위로 새로운 길을 탐색해 볼 확률입니다.

학습률 (α - 알파)

이동 후 얻은 새로운 보상 정보를 기존에 알고 있던 가치(Q-Value)에 얼마나 강하게 덮어쓸지 결정합니다.

할인율 (γ - 감마)

당장 눈앞의 보상보다 목적지 도착이라는 「미래의 기대 보상」을 얼마나 중요하게 여길지 결정합니다.

Interactive Simulator

GridWorld 환경 (Maze Environment)

[자동 실행]을 눌러 로봇(에이전트)이 수많은 실패를 딛고 최적의 길을 찾아내는 과정을 관찰하세요.

단계: 0
에피소드: 0
🤖

에피소드별 획득 보상 (최근 150회) 길을 찾아 갈수록 보상이 대체로 커집니다

환경 및 하이퍼파라미터

30%
0.1
0.9

보기 및 실행

속도: 60

헷갈리기 쉬운 점

「Q-Value는 특정 칸(상태)의 절대적인 가치를 의미하나요?」
아닙니다. Q-Value는 단순히 그 「칸」 자체의 가치가 아니라, 해당 칸에서 「특정 행동(예: 위로 가기)」을 선택했을 때 앞으로 얻게 될 보상을 할인율(γ)로 할인해 더한 값의 기댓값입니다. 즉, 같은 칸에 있더라도 오른쪽으로 가는 행동과 아래로 가는 행동은 서로 다른 Q-Value를 가집니다. 시뮬레이터의 화살표(Policy)는 상하좌우 행동 중 가장 Q-Value가 높은 행동을 보여 주는 것입니다. 칸 안에 적힌 숫자도 마찬가지여서, 그 칸이 가진 네 개의 Q값 중 가장 큰 하나만 골라 적은 것입니다.


확인 질문

Q1. 에이전트가 이동할 때마다 왜 -0.1점이라는 작은 벌점(음수 보상)을 줄까요?

정답: 벌점이 없다면 에이전트는 목적지에 도달하기만 하면 되므로, 빙글빙글 돌며 시간을 낭비할 수 있습니다. 한 걸음마다 패널티를 줌으로써 에이전트가 최대한 「최단 거리」로 목적지에 도달하도록 유도하는 것입니다.

Q2. 할인율(Discount Factor, γ)을 0으로 설정하면 어떤 일이 벌어질까요?

정답: 할인율이 0이라는 것은 「미래의 보상은 무시하고 오직 바로 다음 순간의 보상만 보겠다」는 의미입니다. 목적지에 붙어 있는 칸은 한 걸음 만에 +10을 받으므로 그 칸만은 정확히 배웁니다. 하지만 그 값이 거기서 한 칸 더 먼 곳으로는 전달되지 않아, 나머지 칸의 Q값은 모두 -0.1로 똑같아집니다. 결국 에이전트는 목적지 바로 옆에 닿기 전까지 어느 쪽으로 가야 할지 알 수 없게 됩니다.