Skip to main content
Summary

강화학습 문제를 하나의 문장으로 압축하면

강화학습을 처음 배울 때 가장 자주 만나는 그림은 단순합니다. 에이전트가 상태를 보고, 행동을 선택하고, 보상을 받고, 다음 상태로 이동합니다. 그리고 이 과정을 반복하면서 더 좋은 선택 방식을 배웁니다.

이 흐름은 말로는 쉽지만, 실제 문제를 풀려면 조금 더 정확한 약속이 필요합니다. 게임 AI든, 로봇 팔이 물건을 집는 문제든, 언어 모델이 더 좋은 답변을 고르는 문제든, 우리는 먼저 질문해야 합니다.

"이 문제에서 상태는 무엇인가?"

"에이전트는 어떤 행동을 할 수 있는가?"

"행동을 하면 다음에 어떤 일이 일어나는가?"

"무엇을 잘했다고 보상할 것인가?"

"당장의 보상과 미래의 보상 중 무엇을 얼마나 중요하게 볼 것인가?"

이 질문들에 대한 답을 하나의 형식으로 묶은 것이 Markov Decision Process, 줄여서 MDP입니다. 한국어로는 보통 마르코프 결정 과정이라고 부릅니다.

MDP는 강화학습 알고리즘 자체가 아닙니다. Q-learning도 아니고, Policy Gradient도 아니며, PPO도 아닙니다. MDP는 그보다 앞에 있는 문제 표현 방식입니다. 강화학습 문제를 "상태, 행동, 전이, 보상, 할인율"이라는 공통 언어로 정리하는 틀입니다.

비유하자면, MDP는 게임 설명서입니다. 말은 어느 칸에 있는지, 플레이어는 어떤 수를 둘 수 있는지, 수를 두면 판이 어떻게 바뀌는지, 이기면 무엇이 좋은지, 지금 이득과 나중 이득을 어떻게 비교할지 적어 둔 규칙서입니다. 강화학습 알고리즘은 그 규칙서 안에서 실제로 플레이를 잘하는 법을 배우는 선수입니다.

Markov Decision Process

MDP의 다섯 가지 재료

MDP는 보통 다음 다섯 가지 묶음으로 표현합니다.

MDP = (S, A, P, R, γ)

처음 보면 수학 기호처럼 보이지만, 하나씩 풀어 보면 이미 앞에서 만난 개념들입니다.

  • S, 상태 집합: 에이전트가 놓일 수 있는 모든 상태의 모음입니다.

  • A, 행동 집합: 에이전트가 선택할 수 있는 모든 행동의 모음입니다.

  • P, 전이 확률: 어떤 상태에서 어떤 행동을 했을 때 다음 상태로 갈 가능성입니다.

  • R, 보상 함수: 상태와 행동, 또는 다음 상태에 따라 얼마나 좋은 결과인지 점수로 알려 주는 함수입니다.

  • γ, 할인율: 미래 보상을 현재 관점에서 얼마나 중요하게 볼지 정하는 값입니다.

이 다섯 가지를 알면 강화학습 문제의 뼈대가 세워집니다. 물론 실제로는 이 다섯 가지를 완벽하게 아는 경우도 있고, 일부만 알고 나머지는 경험으로 배워야 하는 경우도 있습니다. 하지만 문제를 생각하는 기본 틀은 같습니다.

예를 들어 미로 속 에이전트를 생각해 봅시다. 상태 집합 S는 에이전트가 있을 수 있는 모든 칸입니다. 행동 집합 A는 위, 아래, 왼쪽, 오른쪽으로 움직이는 선택입니다. 전이 확률 P는 "오른쪽으로 움직이면 오른쪽 칸으로 간다" 같은 규칙입니다. 만약 바닥이 미끄러운 미로라면 오른쪽을 눌러도 가끔 위나 아래로 밀릴 수 있으므로 전이 확률이 필요합니다. 보상 함수 R은 목표 지점에 도착하면 +10, 벽에 부딪히면 -1, 매 걸음마다 -0.1처럼 줄 수 있습니다. 할인율 γ는 "빨리 도착하는 것"을 얼마나 중요하게 볼지 결정합니다.

이렇게 정리하고 나면 미로 문제는 더 이상 막연한 이야기가 아닙니다. 에이전트가 배워야 할 것은 분명해집니다. 각 상태에서 어떤 행동을 해야 장기 보상이 커지는가, 바로 그것입니다.

상태 집합: 에이전트가 보는 세계의 좌표

상태는 강화학습에서 가장 중요한 출발점입니다. 상태가 잘 정의되지 않으면 행동도, 보상도, 학습도 흔들립니다.

상태 집합 S는 에이전트가 처할 수 있는 모든 가능한 상황의 모음입니다. 격자 세계에서는 각 칸이 상태일 수 있습니다. 체스에서는 말들의 배치와 차례가 상태입니다. CartPole에서는 카트의 위치, 카트의 속도, 막대의 각도, 막대가 기울어지는 속도 같은 값들이 상태가 됩니다.

여기서 중요한 점은 상태가 반드시 사람이 보기 좋은 형태일 필요는 없다는 것입니다. 사람에게는 "막대가 왼쪽으로 좀 기울었다"가 자연스러운 설명입니다. 하지만 강화학습 에이전트에게는 숫자 네 개로 된 벡터, 예를 들어 "위치, 속도, 각도, 각속도"가 더 적절한 상태 표현일 수 있습니다.

상태는 세계 전체를 그대로 복사한 것이 아닙니다. 학습에 필요한 정보를 담은 표현입니다. 좋은 상태 표현은 에이전트가 다음 행동을 결정하는 데 필요한 정보를 충분히 포함합니다. 반대로 중요한 정보가 빠져 있으면 에이전트는 같은 상태처럼 보이는 상황에서 서로 다른 결과를 경험하게 되고, 학습이 어려워집니다.

체스를 예로 들면 단순히 말들이 어디 있는지만으로는 부족할 때가 있습니다. 캐슬링이 가능한지, 앙파상이 가능한지, 누구 차례인지 같은 정보도 현재 선택에 영향을 줍니다. 이런 정보가 빠지면 겉으로는 같은 체스판처럼 보이지만 실제 가능한 행동과 다음 상황이 달라질 수 있습니다. MDP에서 말하는 상태는 이런 차이까지 담아야 합니다.

행동 집합: 에이전트가 실제로 고를 수 있는 선택지

행동 집합 A는 에이전트가 선택할 수 있는 모든 행동의 모음입니다. 행동은 문제에 따라 매우 단순할 수도 있고, 엄청나게 복잡할 수도 있습니다.

격자 세계에서는 위, 아래, 왼쪽, 오른쪽 네 가지 행동이면 충분합니다. 체스에서는 현재 판에서 둘 수 있는 합법적인 수들이 행동입니다. CartPole에서는 카트를 왼쪽으로 밀거나 오른쪽으로 미는 행동이 될 수 있습니다. 로봇 팔이라면 각 관절을 어느 방향으로 얼마나 움직일지가 행동입니다. 언어 모델이라면 다음에 어떤 토큰을 출력할지가 행동처럼 다루어질 수 있습니다.

행동에는 이산 행동과 연속 행동이 있습니다. 이산 행동은 선택지가 셀 수 있게 나뉘어 있는 경우입니다. "왼쪽 또는 오른쪽", "위, 아래, 왼쪽, 오른쪽" 같은 행동이 여기에 해당합니다. 연속 행동은 값이 끊어져 있지 않고 연속적으로 변하는 경우입니다. 로봇 팔에 "힘을 0.37만큼 준다"거나 자동차 핸들을 "12.5도 돌린다" 같은 행동이 그렇습니다.

이 차이는 나중에 알고리즘 선택에도 영향을 줍니다. Q-learning은 작은 이산 행동 공간에서는 직관적으로 잘 맞지만, 행동이 연속적이고 복잡해지면 그대로 적용하기 어렵습니다. 그래서 뒤에서 정책 기반 방법과 Actor-Critic 같은 방법이 등장합니다. 지금은 우선 행동 집합이 "에이전트가 고를 수 있는 선택지의 공간"이라는 점을 잡고 가면 됩니다.

전이 확률: 행동 뒤에 세계가 어떻게 반응하는가

에이전트가 행동을 선택하면 세계는 반응합니다. 미로에서 오른쪽으로 움직이면 오른쪽 칸으로 이동합니다. 체스에서 말을 움직이면 체스판이 바뀝니다. CartPole에서 카트를 오른쪽으로 밀면 막대의 각도와 속도가 변합니다.

이때 "현재 상태 s에서 행동 a를 했을 때 다음 상태 s'로 갈 가능성"을 전이 확률이라고 합니다. 흔히 P(s' | s, a)처럼 씁니다. 읽을 때는 "상태 s에서 행동 a를 했을 때 다음 상태가 s'일 확률" 정도로 이해하면 됩니다.

전이가 항상 확률적일 필요는 없습니다. 어떤 문제는 거의 결정적입니다. 체스에서 합법적인 수를 하나 두면 다음 판은 정확히 하나로 정해집니다. 이런 경우에도 MDP로 표현할 수 있습니다. 특정 다음 상태로 갈 확률이 1이고, 나머지는 0이라고 보면 됩니다.

반대로 어떤 문제는 불확실합니다. 미끄러운 얼음판 미로에서는 위로 가려고 했는데 왼쪽으로 미끄러질 수 있습니다. 로봇은 모터에 같은 명령을 내려도 마찰, 바닥 상태, 센서 오차 때문에 조금씩 다른 위치에 도달할 수 있습니다. 게임에서도 확률 요소가 있으면 같은 행동이 매번 같은 결과를 만들지 않습니다.

강화학습의 재미와 어려움은 바로 여기에 있습니다. 에이전트는 버튼 하나를 누른다고 항상 원하는 결과를 얻는 것이 아닙니다. 행동은 세계에 제안을 던지는 일에 가깝습니다. 세계는 그 제안에 규칙과 우연을 섞어 응답합니다. 에이전트는 그 응답을 경험하면서 "대체로 어떤 행동이 좋은 결과를 낳는지" 배웁니다.

보상 함수: 무엇을 잘했다고 말할 것인가

보상 함수 R은 에이전트에게 방향을 알려 주는 신호입니다. 정답 라벨이 없는 강화학습에서 보상은 "잘했다" 또는 "아쉽다"를 알려 주는 점수판입니다.

미로에서는 목표에 도착하면 큰 양의 보상을 줄 수 있습니다. 벽에 부딪히면 음의 보상을 줄 수 있습니다. 매 걸음마다 작은 벌점을 주면 에이전트는 괜히 빙빙 돌지 않고 빨리 목표로 가는 길을 찾으려 합니다.

체스에서는 한 수 한 수에 보상을 주기 어렵습니다. 폰을 잡았다고 항상 좋은 것도 아니고, 퀸을 희생했지만 몇 수 뒤 체크메이트로 이어질 수도 있습니다. 그래서 승리하면 +1, 패배하면 -1, 무승부면 0처럼 게임이 끝났을 때 보상을 주는 방식도 가능합니다. 이 경우 보상이 늦게 오기 때문에 학습은 더 어려워집니다. 앞에서 본 장기 보상과 신용 할당 문제가 바로 여기서 나타납니다.

CartPole에서는 막대가 쓰러지지 않고 버틴 시간만큼 보상을 줄 수 있습니다. 매 시간 단계마다 +1을 주면 에이전트는 가능한 오래 균형을 유지하는 행동을 배우게 됩니다. 이 보상은 단순하지만 강력합니다. "막대를 세워라"라는 명령을 복잡하게 코딩하지 않아도, 오래 버티면 점수를 주는 방식으로 원하는 행동을 유도할 수 있습니다.

다만 보상 설계는 조심해야 합니다. 에이전트는 우리가 의도한 의미를 이해하는 것이 아니라 숫자를 최대화합니다. 목표 지점에 빨리 도착하라고 매 걸음 벌점을 줬더니 위험한 지름길만 고집할 수도 있고, 게임 점수를 높이라고 했더니 재미없는 꼼수를 반복할 수도 있습니다. 보상 함수는 에이전트의 욕망을 만드는 장치입니다. 잘못 만든 보상은 똑똑한 에이전트를 엉뚱한 방향으로 아주 열심히 달리게 만듭니다.

할인율: 미래를 얼마나 믿을 것인가

할인율 γ는 미래 보상을 현재 관점에서 얼마나 중요하게 볼지 정하는 값입니다. 보통 0과 1 사이의 값을 사용합니다.

γ가 0에 가까우면 에이전트는 당장의 보상을 훨씬 중요하게 봅니다. 눈앞의 사탕을 바로 집어 드는 아이처럼 행동할 수 있습니다. γ가 1에 가까우면 먼 미래의 보상도 중요하게 봅니다. 지금은 손해처럼 보여도 나중에 큰 이득으로 돌아올 행동을 선택할 가능성이 커집니다.

미로에서 γ가 너무 낮으면 에이전트는 목표 지점까지의 긴 경로를 진지하게 고려하지 않을 수 있습니다. 반대로 γ가 높으면 멀리 있는 목표 보상도 현재 행동 선택에 영향을 줍니다. 체스나 바둑처럼 긴 전략이 중요한 문제에서는 미래 보상을 충분히 고려해야 합니다.

그렇다고 항상 γ가 클수록 좋은 것은 아닙니다. 미래가 매우 불확실하거나, 문제가 짧은 시간 안에 끝나거나, 너무 먼 미래까지 고려하면 학습이 불안정해지는 경우도 있습니다. 할인율은 에이전트의 시간 감각입니다. "지금"과 "나중" 사이의 균형을 조절하는 손잡이라고 생각하면 됩니다.

마르코프 성질: 현재에 충분한 정보가 들어 있다

MDP에서 가장 중요한 가정은 마르코프 성질입니다. 이름은 어렵지만 핵심은 짧습니다.

다음에 무슨 일이 일어날지는 현재 상태와 현재 행동만 알면 충분하다.

조금 더 풀어 말하면, 과거의 모든 기록을 다시 들여다보지 않아도 현재 상태가 필요한 정보를 충분히 담고 있다면 다음 상태의 확률을 계산할 수 있다는 뜻입니다.

예를 들어 격자 세계에서 에이전트의 현재 위치가 (2, 3)이고, 오른쪽으로 움직인다는 사실을 알고 있다고 해 봅시다. 미로의 벽과 규칙이 정해져 있다면, 에이전트가 세 걸음 전에 어디 있었는지는 다음 위치를 결정하는 데 필요하지 않습니다. 현재 위치와 현재 행동만 있으면 됩니다.

CartPole도 마찬가지입니다. 카트의 현재 위치만 알면 부족합니다. 막대가 어느 방향으로 얼마나 기울었는지, 카트와 막대가 얼마나 빠르게 움직이는지도 알아야 합니다. 하지만 위치, 속도, 각도, 각속도처럼 필요한 정보가 상태에 들어 있다면, 과거에 어떤 힘을 줬는지 전체 기록을 몰라도 다음 순간을 예측할 수 있습니다.

중요한 점은 마르코프 성질이 "과거가 아무 의미 없다"는 말이 아니라는 것입니다. 과거는 현재 상태를 만들었습니다. 다만 현재 상태가 과거의 중요한 결과를 충분히 요약하고 있다면, 앞으로의 변화를 생각할 때 과거 전체를 다시 펼쳐 볼 필요가 없다는 뜻입니다.

이것은 책갈피와 비슷합니다. 소설을 처음부터 다시 읽지 않아도 책갈피가 꽂힌 현재 페이지를 펼치면 다음 문장을 읽을 수 있습니다. 물론 현재 페이지가 찢겨 있거나 중요한 앞부분을 모른 채 중간만 보면 이야기를 이해하기 어렵습니다. MDP의 상태도 마찬가지입니다. 현재 상태가 충분히 풍부해야 마르코프 성질이 성립합니다.

체스를 MDP로 보면

체스는 MDP를 이해하기 좋은 예입니다. 겉으로는 고전적인 보드게임이지만, 강화학습 관점에서 보면 상태, 행동, 전이, 보상, 할인율이 모두 들어 있습니다.

체스의 상태는 현재 체스판입니다. 하지만 앞에서 말했듯 단순히 말의 위치만으로는 부족할 수 있습니다. 누구 차례인지, 캐슬링 권리가 남아 있는지, 앙파상 가능성이 있는지, 반복 규칙과 관련된 정보가 필요한지 등을 포함해야 합니다. 그래야 현재 상태만 보고 합법적인 행동과 다음 상태를 판단할 수 있습니다.

행동은 현재 상태에서 둘 수 있는 합법적인 수입니다. 폰을 한 칸 전진시키거나, 나이트를 움직이거나, 킹을 캐슬링하는 선택이 행동입니다. 모든 가능한 수가 항상 행동이 되는 것은 아닙니다. 현재 상태에서 규칙상 허용되는 수만 행동이 됩니다.

전이는 거의 결정적입니다. 어떤 수를 두면 다음 판은 정해집니다. 물론 상대가 있는 게임에서는 내 행동 이후 상대의 행동까지 고려해야 문제가 더 복잡해집니다. 강화학습에서는 상대를 환경의 일부로 보거나, 두 에이전트가 함께 학습하는 다중 에이전트 문제로 볼 수 있습니다. 처음에는 단순하게 "내가 수를 두면 판이 바뀐다"는 전이로 생각하면 충분합니다.

보상은 보통 게임 결과에서 나옵니다. 이기면 +1, 지면 -1, 비기면 0입니다. 중간에 말을 잡을 때 작은 보상을 줄 수도 있지만, 잘못 설계하면 에이전트가 체크메이트보다 말 따먹기에 집착할 수 있습니다. 체스의 진짜 목표는 상대 킹을 위협해 승리하는 것이지, 순간적인 점수 수집이 아니기 때문입니다.

할인율은 장기 전략과 관련됩니다. 체스에서 좋은 수는 당장 기분 좋은 수가 아닐 수 있습니다. 지금 퀸을 희생하더라도 몇 수 뒤 승리한다면 좋은 선택입니다. 이런 문제에서는 미래 보상을 보는 능력이 중요합니다.

체스를 MDP로 바라보면 "수읽기"라는 말이 강화학습의 언어로 바뀝니다. 현재 상태에서 행동을 고르고, 다음 상태를 상상하고, 마지막 승리 보상까지 이어지는 긴 경로의 가치를 평가하는 일입니다.

미로를 MDP로 보면

미로는 MDP의 가장 친절한 놀이터입니다. 그래서 뒤에서 Grid World 실습을 할 때도 이 관점을 그대로 사용합니다.

미로에서 상태는 에이전트의 위치입니다. 단순한 미로라면 좌표 하나로 충분합니다. 예를 들어 5×5 격자에서는 (0, 0), (0, 1), ..., (4, 4)가 상태가 됩니다. 하지만 열쇠를 주워야 문을 열 수 있는 미로라면 위치만으로는 부족합니다. 같은 칸에 있어도 열쇠를 가진 상태와 가지지 않은 상태는 다릅니다. 따라서 상태에는 "현재 위치"뿐 아니라 "열쇠 보유 여부"도 들어가야 합니다.

행동은 보통 위, 아래, 왼쪽, 오른쪽입니다. 벽이 있으면 이동이 실패할 수 있습니다. 경계 밖으로 나가려 하면 제자리에 머물게 만들 수도 있습니다.

전이는 문제 설정에 따라 달라집니다. 일반 바닥에서는 오른쪽 행동이 오른쪽 이동으로 이어집니다. 그러나 미끄러운 바닥에서는 오른쪽을 선택해도 일정 확률로 다른 방향으로 밀릴 수 있습니다. 이 차이가 전이 확률 P에 들어갑니다.

보상은 설계자의 의도를 담습니다. 목표 도착에 큰 보상, 함정에 큰 벌점, 한 걸음마다 작은 벌점을 줄 수 있습니다. 한 걸음 벌점은 에이전트에게 "가능하면 짧은 길을 찾아라"라고 말하는 방법입니다.

할인율은 목표가 얼마나 멀리 있어도 의미 있게 보이게 할지 결정합니다. 목표가 멀리 있는데 할인율이 너무 낮으면 에이전트는 목표 보상을 거의 느끼지 못할 수 있습니다. 반대로 적절히 높은 할인율을 주면 멀리 있는 출구도 현재 선택을 이끄는 등대가 됩니다.

미로 예제의 장점은 눈으로 볼 수 있다는 것입니다. 상태는 칸이고, 행동은 방향이며, 보상은 점수판입니다. 그래서 MDP의 추상적인 기호가 구체적인 장면으로 바뀝니다.

CartPole을 MDP로 보면

CartPole은 강화학습 입문에서 자주 등장하는 고전적인 제어 문제입니다. 카트 위에 막대가 세워져 있고, 에이전트는 카트를 왼쪽이나 오른쪽으로 밀어 막대가 쓰러지지 않게 해야 합니다.

이 문제에서 상태는 보통 네 가지 숫자로 표현됩니다. 카트의 위치, 카트의 속도, 막대의 각도, 막대의 각속도입니다. 여기서 각속도는 각도가 얼마나 빠르게 변하고 있는지를 뜻합니다. 막대가 조금 기울어져 있어도 천천히 돌아오는 중인지, 빠르게 넘어가는 중인지에 따라 좋은 행동이 달라지기 때문에 속도 정보가 중요합니다.

행동은 단순합니다. 왼쪽으로 힘을 주거나, 오른쪽으로 힘을 줍니다. 실제 로봇 제어에서는 힘의 크기를 연속적으로 조절할 수 있지만, 기본 CartPole 환경에서는 두 가지 행동으로 시작합니다.

전이는 물리 법칙에 의해 정해집니다. 오른쪽으로 힘을 주면 카트가 움직이고, 그에 따라 막대의 각도와 속도가 바뀝니다. 하지만 에이전트가 이 물리 방정식을 직접 알고 있을 필요는 없습니다. 강화학습에서는 행동해 보고 다음 상태를 관찰하면서 좋은 정책을 배울 수 있습니다.

보상은 보통 막대가 쓰러지지 않는 매 순간 주어집니다. 한 단계 버티면 +1, 또 버티면 +1입니다. 에이전트는 이 보상을 오래 모으기 위해 균형 잡는 행동을 배웁니다.

CartPole이 흥미로운 이유는 상태가 격자처럼 딱딱 나뉘지 않는다는 점입니다. 위치, 속도, 각도는 연속적인 숫자입니다. 이때부터 단순 표 형태의 Q값만으로는 한계가 생깁니다. 가능한 상태가 너무 많기 때문입니다. 나중에 Deep Q-Network가 등장하는 이유도 여기에 있습니다. 신경망은 복잡하고 연속적인 상태에서 가치나 정책을 근사하는 도구가 됩니다.

관측과 상태는 같지 않을 수 있다

지금까지는 에이전트가 상태를 그대로 안다고 가정했습니다. 하지만 현실에서는 이 가정이 자주 깨집니다.

로봇 청소기를 생각해 봅시다. 집 전체의 정확한 지도, 모든 장애물의 위치, 바닥 상태, 사람의 움직임을 완벽하게 안다면 상태를 잘 정의할 수 있습니다. 하지만 실제 로봇 청소기는 센서로 일부만 봅니다. 카메라, 라이다, 충돌 센서, 바퀴 회전 정보 등을 통해 세계를 추정할 뿐입니다.

이때 에이전트가 직접 받는 정보를 관측이라고 부릅니다. 관측은 상태의 일부일 수도 있고, 노이즈가 섞인 신호일 수도 있습니다. 상태는 세계의 실제 상황이고, 관측은 에이전트가 그 상황에 대해 얻은 단서입니다.

게임으로 비유하면 더 쉽습니다. 체스는 모든 말이 보이는 완전 정보 게임입니다. 현재 판을 보면 필요한 정보 대부분을 알 수 있습니다. 반면 포커는 상대의 패를 볼 수 없습니다. 내가 보는 관측은 내 카드와 공개된 카드, 상대의 베팅 행동뿐입니다. 실제 상태에는 상대의 카드도 포함되지만, 나는 그것을 직접 알지 못합니다.

자율주행도 마찬가지입니다. 도로의 실제 상태에는 모든 차량의 의도, 보행자의 다음 움직임, 사각지대의 물체까지 포함될 수 있습니다. 하지만 자동차가 얻는 것은 센서 관측입니다. 관측은 불완전하고, 때로는 늦고, 때로는 틀립니다.

이런 문제를 엄밀하게 다루려면 MDP를 넘어 부분 관측 마르코프 결정 과정, 즉 POMDP라는 틀이 필요합니다. 이름은 길지만 직관은 간단합니다. 에이전트가 세계의 진짜 상태를 완전히 보지 못하고, 관측을 바탕으로 추측하며 행동하는 문제입니다.

이 책에서 모든 문제를 POMDP로 깊게 다루지는 않겠지만, 관측과 상태를 구분하는 감각은 매우 중요합니다. 특히 로봇, 게임 AI, AI 에이전트, 언어 모델로 갈수록 "모델이 실제로 무엇을 알고 있는가?"라는 질문이 중요해집니다.

좋은 상태는 과거를 요약한다

마르코프 성질을 만족하려면 현재 상태에 필요한 정보가 들어 있어야 합니다. 그런데 현실의 관측은 불완전합니다. 그러면 어떻게 해야 할까요?

한 가지 방법은 과거 관측을 함께 사용하는 것입니다. 예를 들어 공이 움직이는 게임에서 현재 화면 한 장만 보면 공이 위로 가는지 아래로 가는지 알기 어렵습니다. 하지만 직전 몇 장의 화면을 함께 보면 속도를 추정할 수 있습니다. 이 경우 여러 프레임을 묶은 것이 더 좋은 상태 표현이 됩니다.

CartPole에서도 위치만 보면 부족하지만 속도를 함께 넣으면 훨씬 나아집니다. 속도는 과거 위치 변화에서 나온 정보입니다. 즉, 상태 안에 과거의 흔적이 요약되어 들어간 것입니다.

언어 모델도 비슷하게 볼 수 있습니다. 다음 단어를 고를 때 현재 단어 하나만 보면 부족합니다. 앞서 나온 문맥이 필요합니다. 대화형 모델이 이전 대화 내용을 참고하는 이유도 여기에 있습니다. 현재 답변을 잘 선택하려면 현재 프롬프트뿐 아니라 대화의 흐름, 사용자의 의도, 이미 말한 내용이 상태 역할을 해야 합니다.

좋은 상태 표현은 과거 전체를 무작정 저장하는 것이 아닙니다. 행동 선택에 필요한 정보를 압축해서 담습니다. 강화학습에서 상태를 설계한다는 것은 "미래를 결정하는 데 필요한 과거의 흔적을 무엇으로 요약할 것인가?"를 정하는 일입니다.

MDP를 알면 알고리즘의 자리가 보인다

MDP를 배우는 이유는 기호를 외우기 위해서가 아닙니다. 강화학습 알고리즘이 무엇을 배우는지 이해하기 위해서입니다.

정책은 MDP 안에서 상태를 행동으로 연결합니다. "이 상태에서는 이 행동을 하자"라는 선택 규칙입니다. 가치 함수는 MDP 안에서 상태나 행동의 장기적인 좋음을 평가합니다. "여기서 시작하면 앞으로 보상을 얼마나 받을 수 있을까?" 또는 "이 상태에서 이 행동을 하면 장기적으로 얼마나 좋을까?"를 추정합니다.

Q-learning은 MDP의 상태와 행동마다 장기 가치를 배우려 합니다. Deep Q-Network는 상태가 너무 많거나 복잡할 때 신경망으로 그 가치를 근사합니다. Policy Gradient는 가치표를 먼저 만드는 대신 정책 자체를 직접 조금씩 좋은 방향으로 밀어 올립니다. Actor-Critic은 정책을 담당하는 Actor와 평가를 담당하는 Critic을 함께 사용합니다. PPO는 이 정책 업데이트가 너무 과격하게 바뀌지 않도록 조심스럽게 조절합니다.

이 모든 알고리즘은 서로 달라 보이지만 같은 무대 위에 있습니다. 그 무대가 MDP입니다. 상태가 있고, 행동이 있고, 행동의 결과로 다음 상태와 보상이 오며, 에이전트는 장기 보상을 높이는 방향으로 정책을 개선합니다.

MDP를 이해하면 강화학습의 많은 문장이 갑자기 정리됩니다. "가치 함수를 업데이트한다"는 말은 MDP 안에서 상태나 행동의 장기 보상 추정치를 고친다는 뜻입니다. "정책을 최적화한다"는 말은 MDP 안에서 더 좋은 행동 선택 규칙을 찾는다는 뜻입니다. "탐험한다"는 말은 MDP의 전이와 보상을 더 알아보기 위해 아직 충분히 시도하지 않은 행동을 해 본다는 뜻입니다.

MDP는 현실의 복잡함을 지우는 것이 아니라 정리한다

MDP는 현실을 단순화합니다. 하지만 단순화는 대충 본다는 뜻이 아닙니다. 좋은 단순화는 중요한 것을 남기고 덜 중요한 것을 잠시 접어 두는 일입니다.

미로 문제에서 에이전트의 색깔은 상태에 넣지 않아도 됩니다. 길 찾기에 영향을 주지 않기 때문입니다. 하지만 열쇠를 가지고 있는지는 상태에 넣어야 합니다. 문을 열 수 있는지가 달라지기 때문입니다.

CartPole에서 막대의 색깔은 중요하지 않습니다. 하지만 막대의 각도와 각속도는 중요합니다. 체스에서 말의 재질은 중요하지 않지만, 누구 차례인지는 중요합니다.

이처럼 MDP로 문제를 표현한다는 것은 세계를 강화학습 관점에서 다시 보는 일입니다. 무엇이 행동 선택에 영향을 주는가, 무엇이 다음 상태를 바꾸는가, 무엇이 보상과 연결되는가를 구분하는 일입니다.

현실의 문제는 대부분 완벽한 MDP로 떨어지지 않습니다. 상태를 완전히 알 수 없고, 전이 확률도 모르며, 보상도 애매합니다. 그럼에도 MDP는 여전히 유용합니다. 완벽한 지도가 없어도 방향 감각이 있으면 길을 찾을 수 있듯, MDP는 복잡한 문제를 이해하기 위한 기본 지도 역할을 합니다.

다음 장으로 가는 다리

이제 우리는 강화학습 문제를 MDP라는 형식으로 표현할 수 있습니다. 상태 집합 S, 행동 집합 A, 전이 확률 P, 보상 함수 R, 할인율 γ가 있으면 에이전트가 어떤 세계에서 무엇을 배우는지 말할 수 있습니다.

하지만 아직 중요한 질문이 남아 있습니다.

"어떤 상태가 좋은 상태인지 어떻게 계산할까?"

"지금 행동의 가치는 다음 상태의 가치와 어떻게 연결될까?"

"장기 보상을 한 단계씩 나누어 생각할 수 있을까?"

이 질문에 답하는 핵심 아이디어가 바로 다음 장의 주인공인 Bellman Equation입니다. 벨만 방정식은 처음 보면 수식처럼 다가오지만, 직관은 매우 간단합니다. 좋은 선택이란 "지금 받는 보상"과 "그다음에 이어질 미래의 가치"를 함께 보는 선택입니다.

MDP가 강화학습 문제의 지도라면, Bellman Equation은 그 지도 위에서 길의 가치를 계산하는 방법입니다. 이제 우리는 에이전트가 왜 한 칸 앞만 보지 않고, 미래의 보상까지 거슬러 올라와 현재 행동을 평가할 수 있는지 살펴볼 준비가 되었습니다.

책 목록

처음 만나는 강화학습: 보상으로 행동을 배우는 AI

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기