강화학습 Part 1 — Overview of Reinforcement Learning

본 정리는 팡요랩(Pang-Yo Lab) 의 강화학습 강의(David Silver의 Introduction to Reinforcement Learning 1강)를 듣고 직접 정리한 리뷰이다. 


1. 강화학습이란 무엇인가

강화학습(Reinforcement Learning)은 한마디로 누적 보상(cumulative reward)을 최대화하는 행동 방식(policy)을 스스로 찾아가는 학습이다. 지도학습처럼 "정답"을 알려주는 대신, 행동의 결과로 받은 보상만 가지고 더 나은 행동을 찾아 나간다.

머신러닝을 보통 지도학습 · 비지도학습 · 강화학습으로 나누는데, 강화학습은 다른 두 분야와 결이 꽤 다르다. 그 차이를 만드는 특징이 아래 네 가지이다.

강화학습을 다른 학습과 구분 짓는 특징

① Supervisor가 없다. 오직 reward만 있다.

지도학습에는 "이 입력의 정답은 이거야"라고 알려주는 정답지(label)가 있다. 강화학습에는 그런 정답지가 없고, 행동의 좋고 나쁨을 나타내는 보상(reward) 신호만 주어진다.

여기서 한 가지 헷갈리기 쉬운 지점이 있다. "보상을 준다는 것도 결국 사람이 정답을 알려주는 것 아닌가?" 하는 의문이다. 하지만 이 둘은 다르다.

  • 사람이 정하는 것은 "무엇을 달성할 것인가(목적)" 까지다. 즉 보상 함수를 설계하는 것이 사람의 몫이다.
  • "그 목적을 어떻게 달성할 것인가(방법)" 는 알려주지 않는다. 에이전트가 보상을 최대화하기 위해 스스로 찾아내야 한다.

정리하면, 강화학습은 보상을 최대화하는 policy를 찾는 문제이고, 그 최대화 방법을 알려주지 않는다는 점이 지도학습과의 본질적인 차이이다.

② 피드백(보상)이 지연될 수 있다.

보상이 즉각적으로 오지 않는 경우가 많다. 바둑에서 지금 둔 한 수가 좋은 수였는지는 수십 수가 지난 뒤 승패로 판가름 나고, 투자에서 오늘 산 종목이 옳은 선택이었는지는 한참 뒤에야 드러난다. 지금의 행동과 그에 대한 보상 사이에 시간 간격이 존재한다는 뜻이다.

③ 시간이 매우 중요하다 (데이터가 i.i.d.가 아니다).

지도학습은 데이터가 보통 i.i.d.(independent and identically distributed, 독립이고 동일한 분포)라고 가정한다. 반면 강화학습의 데이터는 순차적(sequential) 으로 발생하며 앞뒤가 강하게 연결되어 있다. 데이터가 들어오는 순서 자체가 의미를 가진다.

④ 에이전트의 행동이 이후 받게 될 데이터를 바꾼다.

지도학습은 데이터셋이 고정되어 있지만, 강화학습은 에이전트가 어떤 행동을 하느냐에 따라 그다음에 마주하는 상황과 데이터가 달라진다. 왼쪽으로 가면 왼쪽의 데이터를, 오른쪽으로 가면 오른쪽의 데이터를 보게 되는 식이다. 즉 학습 대상인 데이터의 분포를 에이전트 스스로 움직인다.


2. Reward와 보상 가설

Reward Rₜ 는 매 시점 주어지는 스칼라(scalar) 피드백 신호이다. 시점 t 에서 에이전트가 얼마나 잘하고 있는지를 숫자 하나로 표현한 값이다.

여기서 두 가지를 짚고 넘어가야 한다.

첫째, 에이전트의 목표는 한 시점의 보상을 최대화하는 것이 아니라, 미래에 받을 누적 보상(cumulative reward)을 최대화하는 것이다. 당장의 보상이 작더라도 길게 봤을 때 이득이 크다면 그 길을 택해야 한다.

둘째, 보상이 스칼라(숫자 하나)로 치환 가능한가가 강화학습 적용의 핵심 관건이다. 목적을 하나의 숫자로 표현하기 어려운 문제라면 강화학습으로 풀기가 까다로워진다.

이 아이디어를 명제로 정리한 것이 보상 가설(Reward Hypothesis) 이다.

모든 목표(goal)는 기대 누적 보상의 최대화로 기술될 수 있다. (All goals can be described by the maximisation of expected cumulative reward.)

보상 설계 예시

문제보상(reward) 설계
헬리콥터 곡예비행 원하는 궤적을 따라가면 (+), 추락하면 큰 (−)
바둑 · 백개먼 이기면 (+), 지면 (−)
투자 포트폴리오 늘어난 자산만큼 (+)
보행 로봇 앞으로 나아가면 (+), 넘어지면 (−)
발전소 제어 전력을 안정적으로 생산하면 (+), 한계 초과 시 (−)

어떤 문제든 "무엇이 좋은 것인가"를 보상 함수 하나로 환원할 수 있어야 강화학습의 무대에 올릴 수 있다.

가장 중요한 키워드: Sequential Decision Making

강화학습이 결국 다루는 문제는 순차적 의사결정(Sequential Decision Making) 이다. 한 번의 선택이 아니라, 시간에 걸쳐 이어지는 선택의 연속 속에서 미래 보상의 총합을 최대화하는 것. 이것이 강화학습이 풀려는 문제의 본질이다.


3. Agent와 Environment

강화학습의 세계는 크게 둘로 나뉜다.

  • Agent(에이전트): 우리가 학습시키는 주체이다. 로봇, 게임 플레이어, 포트폴리오 운용 알고리즘 등이 여기에 해당한다.
  • Environment(환경): 에이전트를 제외한 나머지 전부이다.

둘은 매 시점 t 마다 다음과 같이 상호작용한다.

  1. 에이전트가 행동(action) Aₜ 을 한다.
  2. 환경이 그에 대한 관측(observation) Oₜ보상(reward) Rₜ 을 돌려준다.
  3. 에이전트는 그 정보를 받아 다시 다음 행동을 결정한다.

이 주고받음이 끝없이 반복되는 루프가 강화학습의 뼈대이다.

이미지 표시


4. History와 State

History

History(히스토리) 는 지금까지 관측한 것, 한 행동, 받은 보상을 시간 순서대로 모두 모아 놓은 것이다

P[ Sₜ₊₁ | Sₜ ] = P[ Sₜ₊₁ | S₁, … , Sₜ ]
 

말하자면 시작부터 현재까지의 모든 기록이다. 하지만 매 순간 이 전체 기록을 다 들여다보며 결정하는 것은 비현실적이다. 그래서 등장하는 개념이 State이다.

State

State(상태) 는 다음에 무엇을 할지 결정하는 데 쓰이는 정보이다. 핵심은 State가 History의 함수라는 점이다.

Sₜ = f(Hₜ)
전체 기록 Hₜ 를 적절히 요약·가공해서 "결정에 필요한 알맹이"만 추린 것이 State라고 보면 된다. 그리고 이 State는 보는 주체에 따라 두 종류로 나뉜다.

Environment State (Sₜᵉ)

환경이 관측 Oₜ 와 보상 Rₜ 를 계산하기 위해 내부적으로 사용하는 모든 정보이다. 보통 에이전트에게는 보이지 않으며, 보이더라도 결정에 불필요한 정보까지 잔뜩 포함하고 있을 수 있다.

Agent State (Sₜᵃ)

에이전트가 다음 행동을 결정하기 위해 실제로 사용하는 정보이다. 즉 에이전트가 스스로 정의해서 들고 있는 상태이다. 보통 지금까지의 관측·행동·보상 (O, R, A) 을 재료로 구성한다.

예시 — 삼성전자 주가 예측 다음 행동(매수/매도)을 정하기 위해 직전 하루의 주가만 본다면, 그 하루치 정보가 곧 Agent State이다. 만약 10일치를 모두 본다면, 그 10일치 정보가 Agent State가 된다. 즉 무엇을 상태로 삼을지는 설계자가 정하기 나름이며, 이 선택이 학습 성능을 크게 좌우한다.


5. Markov State

State를 이야기할 때 빠지지 않는 성질이 Markov(마르코프) 성질이다.

어떤 State가 Markov하다는 것은, 현재 상태만 알면 미래를 예측하는 데 충분하다는 뜻이다. 그 이전의 과거 기록은 더 볼 필요가 없다. 식으로는 이렇게 쓴다.

P[ Sₜ₊₁ | Sₜ ] = P[ Sₜ₊₁ | S₁, … , Sₜ ]
 

오른쪽(전체 과거를 조건으로 둔 미래의 확률)과 왼쪽(현재만 조건으로 둔 미래의 확률)이 같다는 것. 흔히 "미래는 현재가 주어지면 과거와 독립이다" 라고 표현한다.

예시 — 헬리콥터 조종 지금 이 순간 헬기의 위치·속도·자세를 정확히 알고 있다면, 다음에 어떻게 조종할지 결정하는 데 10분 전 상태까지 끌어올 필요가 없다. 현재 상태 안에 이미 필요한 정보가 다 들어 있기 때문이다. 이런 상태가 Markov한 상태이다.

여기서 중요한 두 가지 사실이 있다.

  • Environment State는 Markov하다. 환경 내부 상태에는 다음을 만들어내는 데 필요한 정보가 다 들어 있기 때문이다.
  • History도 (자명하게) Markov하다. 모든 과거를 담고 있으니 당연히 충분하다. 다만 너무 무거워서 그대로 쓰기엔 비효율적이다.

결국 실전의 과제는 History를 잘 압축해서, Markov 성질을 최대한 보존하는 가벼운 Agent State를 만드는 것으로 귀결된다.


6. 환경의 관측 가능성: MDP와 POMDP

에이전트가 환경 상태를 얼마나 들여다볼 수 있느냐에 따라 두 경우로 나뉜다.

Fully Observable Environments (완전 관측 환경)

에이전트가 환경 상태를 직접, 그대로 관측할 수 있는 경우이다. 이때는 세 가지 상태가 모두 같아진다.

Oₜ = Sₜᵃ = Sₜᵉ

Agent State = Environment State = Information State 가 성립한다. 이렇게 정의되는 문제를 마르코프 결정 과정(Markov Decision Process, MDP) 이라 부른다. 바둑이나 체스처럼 판 전체가 그대로 보이는 게임이 대표적이다. MDP는 강화학습 이론의 토대가 되는 핵심 프레임워크이다.

Partially Observable Environments (부분 관측 환경)

에이전트가 환경을 간접적으로만, 일부만 관측하는 경우이다. 이때는 Sₜᵃ ≠ Sₜᵉ 가 되어, 에이전트가 보는 것과 환경의 실제 상태가 어긋난다. 카메라 하나로 세상을 보는 로봇(자기 절대 위치를 모름), 상대의 패를 볼 수 없는 포커 플레이어 등이 여기에 해당한다.

이런 환경에서는 에이전트가 자기만의 State를 스스로 구성해야 한다. 예컨대 지금까지의 관측을 모두 기억하거나, 환경 상태에 대한 확률적 믿음(belief)을 유지하는 식이다. 이렇게 정의되는 문제를 부분 관측 마르코프 결정 과정(Partially Observable MDP, POMDP) 이라 부른다.


7. 강화학습 에이전트의 3가지 구성 요소

강화학습 에이전트는 다음 세 가지 요소로 이루어진다. 모든 에이전트가 셋을 다 갖는 것은 아니며, 무엇을 갖췄는지에 따라 에이전트의 종류가 갈린다.

① Policy (정책)

State를 입력받아 Action을 출력하는 함수이다. 에이전트의 행동 방식 그 자체라고 보면 된다. 출력 형태에 따라 둘로 나뉜다.

  • Deterministic Policy(결정적 정책): 상태마다 행동 하나가 딱 정해진다.
     
    a = π(s)
  • Stochastic Policy(확률적 정책): 상태마다 행동을 확률로 내놓는다.
     
    π(a | s) = P[ Aₜ = a | Sₜ = s ]
     

② Value Function (가치 함수)

어떤 상태가 앞으로 얼마나 좋은지를 평가하는 함수이다. 정확히는, 특정 정책 π 를 따라갔을 때 그 상태에서 받게 될 미래 누적 보상의 기댓값이다.

v_ π(s) = E_π[ Rₜ₊₁ + γRₜ₊₂ + γ²Rₜ₊₃ + ⋯ | Sₜ = s ]
 

이 식에서 두 가지를 눈여겨봐야 한다.

기댓값(E)을 쓰는 이유 — 정책이 확률적이거나 환경의 전이가 확률적일 수 있어서, 같은 상태에서 출발해도 결과가 매번 달라진다. 그래서 단일 값이 아니라 평균(기댓값)으로 가치를 정의한다.

감마(γ, discount factor)를 붙이는 이유 — γ 는 0과 1 사이의 값으로, 미래의 보상을 깎아주는 할인 계수이다. γ 가 거듭 곱해질수록 먼 미래의 보상은 가치가 줄어들어, 결과적으로 가까운 시점의 보상이 더 크게 반영된다. 이렇게 하는 데에는 몇 가지 이유가 있다. 끝이 없는 문제에서 보상의 합이 무한대로 발산하는 것을 막아 주고, 먼 미래일수록 불확실하다는 점을 반영하며, 당장의 보상을 선호하는 직관과도 맞아떨어진다.

③ Model (모델)

환경이 앞으로 어떻게 움직일지를 에이전트가 예측한 것이다. 모델은 두 가지를 예측한다.

  • 상태 전이 모델(Transition / Dynamics Model) — "상태 s 에서 행동 a 를 하면 다음 상태 s′ 는 무엇이 될까?"
     
    P(s′ | s, a) = P[ Sₜ₊₁ = s′ | Sₜ = s, Aₜ = a ]
  • 보상 모델(Reward Model) — "그 행동을 하면 보상은 얼마일까?" (즉각 보상, immediate reward)
    R(s, a) = E[ Rₜ₊₁ | Sₜ = s, Aₜ = a ]

이런 모델을 두고 학습에 활용하면 Model-based agent, 모델 없이 보상·가치만으로 학습하면 Model-free agent 라 부른다.

세 요소를 한눈에 보는 예시 — 미로(maze) 찾기

  • Policy: 각 칸에서 어느 방향으로 갈지 가리키는 화살표
  • Value Function: 각 칸에 적힌 숫자(목표까지 남은 거리를 보상으로 환산한 값)
  • Model: 에이전트가 파악한 미로의 구조(벽의 위치, 이동 결과, 각 칸의 보상)

같은 미로를 풀더라도 무엇을 쥐고 푸느냐에 따라 접근이 달라진다.


8. 강화학습 에이전트의 분류

위 세 요소를 어떻게 조합하느냐로 에이전트를 나눌 수 있다.

  • 무엇을 학습하는가 기준
    • Value Based: 가치 함수만 학습 (정책은 가치에서 유도)
    • Policy Based: 정책만 직접 학습
    • Actor-Critic: 정책과 가치를 함께 학습
  • 모델을 쓰는가 기준
    • Model-Free: 환경 모델 없이 학습
    • Model-Based: 환경 모델을 세우고 활용

9. 강화학습의 핵심 문제 3쌍

강화학습을 공부할 때 계속 등장하는, 짝을 이루는 개념들이다. Overview 단계에서 이 구분만 잡아 두어도 이후 내용이 한결 수월해진다.

Learning vs Planning

둘 다 좋은 정책을 찾는 과정이지만, 환경을 아느냐 모르느냐에서 갈린다.

  • Learning(학습): 환경을 모르는 상태에서 시작한다. 실제로 행동해 보고, 받은 보상과 관측으로부터 시행착오를 거쳐 정책을 개선한다.
  • Planning(계획): 환경을 아는 상태이다. 어떤 행동을 하면 어떤 상태로 가고 보상이 얼마인지(전이·보상 모델)를 이미 알고 있어서, 실제로 움직이지 않고 내부 계산(시뮬레이션)만으로 정책을 찾는다.

게임으로 비유하면, 규칙을 모른 채 직접 부딪혀 가며 익히면 Learning, 게임의 규칙(엔진)을 알고 머릿속으로 수를 시뮬레이션하면 Planning이다.

Exploration vs Exploitation

강화학습의 근본적인 딜레마이다.

  • Exploration(탐험): 더 나은 선택이 있을지 몰라 새로운 정보를 찾으러 가 보는 것.
  • Exploitation(활용): 지금까지 알아낸 정보로 가장 좋아 보이는 선택을 하는 것.

식당 고르기로 비유하면, 늘 가던 맛집을 가는 것이 Exploitation, 처음 보는 새 식당에 도전하는 것이 Exploration이다. 활용만 하면 더 좋은 곳을 영영 못 찾고, 탐험만 하면 매번 모험을 해야 한다. 이 둘의 균형을 맞추는 것이 강화학습의 큰 숙제이다.

Prediction vs Control

  • Prediction(예측): 정책이 주어졌을 때 미래가 얼마나 좋을지 평가하는 문제이다. 즉 가치 함수를 학습하는 문제.
  • Control(제어): 가장 좋은 정책 자체를 찾는 문제이다. 최적 정책(optimal policy)을 구하는 것이 목표.

보통 Prediction을 먼저 잘 풀 수 있어야 그것을 바탕으로 Control을 풀 수 있다.


마무리

Part 1은 알고리즘을 배우기 전에 강화학습이라는 분야의 지도를 그려 보는 단계였다. 핵심만 다시 추리면 이렇다.

  • 강화학습은 정답이 아니라 보상으로 배우며, 누적 보상을 최대화하는 순차적 의사결정 문제이다.
  • 에이전트와 환경이 행동–관측–보상을 주고받는 루프가 기본 구조이고, 그 안에서 History를 요약한 State가 의사결정의 단위가 된다.
  • 환경의 관측 가능성에 따라 MDP / POMDP로 나뉜다.
  • 에이전트는 Policy · Value Function · Model로 구성되며, 무엇을 갖췄는지로 종류가 갈린다.
  • Learning/Planning, Exploration/Exploitation, Prediction/Control이라는 세 쌍의 구분이 이후 모든 내용을 관통한다.

출처: 팡요랩(Pang-Yo Lab) 강화학습 강의 — David Silver, Introduction to Reinforcement Learning (Lecture 1)