본문 바로가기

Deep RL – 근사, 함수 근사, 신경망, 가치 기반·정책 기반

@eunyoung-study2026. 3. 11. 17:00

1. 근사(Approximation)란?

근사(Approximation)란 상태나 행동의 수가 너무 많아 모든 경우의 값을 정확히 계산하거나 저장하기 어려울 때, 함수나 모델을 이용해 그 값을 비슷하게 추정하는 방법을 말합니다.

한 줄로 말하면:

“정확한 값 대신, 현실적으로 계산 가능한 범위에서 값을 추정하는 것”

상태가 몇 개 안 되는 작은 문제에서는 각 상태의 가치(Value)를 표(table)로 모두 저장할 수 있지만, 실제 문제처럼 상태가 매우 많거나 연속적인 경우에는 전부 저장하는 것이 불가능합니다. 이때 신경망이나 수학적 함수 같은 모델을 사용해 여러 상태의 공통 패턴을 학습하고, 정확한 값 대신 그에 가까운 값을 예측하도록 하는 것을 근사라고 보면 됩니다.


2. 왜 근사가 필요한가? – 상태 공간이 큰 예

2.1 바둑의 상태 수

바둑의 상태 수는 약 10^170 정도로 추정됩니다. 19×19 판에 361개의 교차점이 있고, 각 위치에 흑·백·빈 칸 세 가지가 올 수 있어 단순히만 생각해도 3^361 ≈ 10^172에 가깝습니다. 규칙상 불가능한 경우를 빼도 10^170 수준의 엄청난 상태 공간이라, 모든 상태의 가치를 테이블로 저장하는 것은 불가능합니다.

2.2 다른 대규모 상태 공간 예

  • 체스: 약 10^43 정도의 상태 → 테이블 저장 불가
  • 자율주행: 위치, 속도, 주변 차량, 보행자, 신호, 도로·센서 데이터 등 → 대부분 연속값이라 상태 수가 사실상 무한대에 가깝습니다.
  • 로봇 제어: 관절 각도, 속도, 힘, 센서 값 등이 모두 연속 → 테이블 방식 부적합.
  • 비디오 게임(예: Atari): 화면(예: 84×84 픽셀) 자체가 상태라면 픽셀 조합만으로도 상태 수가 천문학적으로 큽니다.

이런 문제들은 함수 근사(Function Approximation)로 풀어야 합니다.


3. 함수 근사가 필요한 이유

3.1 테이블에 저장하는 방식(Tabular)

상태가 몇 개 안 되면 다음처럼 각 상태의 값을 직접 저장할 수 있습니다.

V = {
    "A": 0.5,
    "B": 0.0,
    "C": -0.5
}

이처럼 상태마다 값을 하나씩 저장하는 방식을 Tabular 방식이라고 합니다. 상태가 적을 때는 잘 맞지만, 현실의 많은 강화학습 문제에서는 상태 수가 너무 많아 테이블 방식이 불가능합니다.

 

3.2 함수 근사(Function Approximation)

이를 해결하는 방법이 함수 근사입니다. 핵심 아이디어는 다음과 같습니다.

상태마다 값을 저장하는 대신,
“상태가 들어오면 그 상태의 가치를 계산해 주는 함수”를 학습한다.

예를 들어 상태가 숫자 하나라고 하면:

V(s) = w × s
  • s: 상태
  • w: 학습되는 파라미터
w = 0.5
def V(s):
    return w * s

이렇게 하면 저장하는 것은 w 같은 파라미터뿐이고, 상태가 들어올 때마다 계산으로 가치가 정해집니다. 즉, 테이블이 아니라 함수로 값을 만드는 방식입니다.

3.3 피팅(Fitting), Underfitting, Overfitting

  • 피팅(Fitting): 주어진 데이터(입력–출력 관계)에 맞도록 함수·모델의 파라미터를 조정하는 과정. 머신러닝에서는 “실제 데이터와 예측의 차이”를 줄이도록 파라미터를 학습하는 것이 피팅입니다.

 

  • Underfitting(언더피팅): 모델이 너무 단순하거나 학습이 부족해 데이터의 패턴을 충분히 반영하지 못하는 상태.
  • Overfitting(오버피팅): 모델이 학습 데이터에 지나치게 맞춰져 노이즈까지 흡수한 상태. 학습 데이터에서는 잘 맞지만 새 데이터에서는 성능이 떨어지는 경우가 많습니다.

피팅할 때 반드시 1차 함수일 필요는 없고, 데이터 특성에 따라 다항식, 신경망 등 다양한 형태를 쓸 수 있습니다.

3.4 함수 근사에서 “저장”되는 것

저장되는 것은 “상태별 값”이 아니라 함수의 파라미터(parameter)입니다.
강화학습에서 경험을 통해 바뀌는 것도 상태 값이 아니라 함수의 파라미터라고 보면 됩니다. 즉, 경험이 함수 안에 저장되는 셈입니다.

그래서 저장 공간이 덜 필요합니다. 상태가 1,000개여도 값을 1,000개 넣어 두는 대신, 몇 개의 파라미터만 있으면 “상태 → 가치”를 계산할 수 있기 때문입니다.

3.5 일반화(Generalization)

일반화란, 에이전트가 학습 중에 보지 못한 새로운 상태에 대해서도 적절한 가치나 행동을 예측할 수 있는 능력을 말합니다.
테이블 방식은 “본 상태의 값”만 있으므로, 처음 보는 상태에는 정보가 없습니다. 반면 함수 근사·신경망은 여러 상태에서 공통 패턴을 학습하므로, 비슷한 특성을 가진 새 상태에서도 합리적인 값을 뽑을 수 있습니다.
즉, “특정 상태 하나를 외우는 것”이 아니라 여러 상태에서 나타나는 관계를 학습해, 비슷한 상황에도 쓰는 것이 일반화라고 보면 됩니다.


4. 강화학습에서의 신경망

4.1 신경망의 역할

강화학습에서 신경망(Neural Network)상태(State)를 입력받아, 다음 중 하나(또는 조합)를 출력하는 함수 역할을 합니다.

  • 상태 가치 V(s): “현재 상태가 얼마나 좋은가?”를 숫자로
  • 행동 가치 Q(s, a): “이 상태에서 각 행동이 얼마나 좋은가?”
  • 정책 π(a|s): “이 상태에서 어떤 행동을 선택할 확률이 높은가?”

즉, 상태 → 신경망 → 출력이고, 출력 형태만 문제에 따라 달라집니다.
상태가 너무 많아 테이블로 저장할 수 없을 때, 신경망이 “상태를 보고 값을 계산해 주는 근사 함수”로 쓰인다고 이해하면 됩니다.

4.2 신경망의 학습

강화학습에서는 에이전트가 환경과 상호작용합니다. 흐름은 대략 다음과 같습니다.

상태 s 관찰
→ 신경망으로 행동/가치 계산
→ 행동 a 선택
→ 환경이 다음 상태 s′, 보상 r 반환
→ 이 경험으로 신경망(가중치) 업데이트

즉, 경험 (state, action, reward, next_state)을 이용해 신경망이 더 정확한 예측을 하도록 가중치를 수정합니다.
“신경망이 학습한다”는 말은, 경험을 통해 가중치가 바뀌면서 더 좋은 가치·행동 예측을 하게 된다는 뜻이라고 보면 됩니다.


5. 가치 기반(Value-Based) 강화학습

5.1 가치 기반이란?

가치 기반(Value-Based) 방법은, 에이전트가 어떤 상태·행동이 얼마나 좋은지(가치)를 학습하고, 그 가치를 기준으로 가장 좋은 행동을 선택하는 방식입니다.
직접 “행동 규칙”을 배우는 것이 아니라, 각 행동의 점수(가치)를 계산한 뒤 점수가 가장 높은 행동을 고릅니다.
한 줄로 말하면, “어떤 행동이 가장 좋은 점수를 갖는지 계산하는 방식”이라고 볼 수 있습니다.

5.2 가치(Value)란?

가치는 어떤 상태나 행동이 미래에 얼마나 많은 보상을 가져올지에 대한 기대값입니다.

  • 가치가 높다 → 좋은 상태 또는 좋은 행동
  • 가치가 낮다 → 좋지 않은 상태 또는 행동

5.3 핵심 아이디어

현재 상태 확인 → 각 행동의 가치 계산 → 가장 큰 가치의 행동 선택

즉, 행동의 점수를 계산하고, 가장 높은 점수의 행동을 선택하는 방식입니다.

5.4 행동 가치 함수 Q(s, a)

가치 기반에서 가장 중요한 개념은 행동 가치 함수 Q(s, a)입니다.

  • Q(s, a): 상태 s에서 행동 a를 선택했을 때, 앞으로 얻을 것으로 기대되는 보상
  • 예: Q(A, 오른쪽) > Q(A, 왼쪽)이면, 에이전트는 오른쪽을 선택합니다.

행동 선택 방법은 보통 다음과 같습니다.

상태 s에서 가능한 행동 중 Q값이 가장 큰 행동을 선택한다.
즉, “행동 점수표를 만들고 가장 높은 점수를 선택”하는 방식입니다.

5.5 가치 기반 학습 과정

  1. 현재 상태 관찰
  2. 행동 선택
  3. 보상 받음
  4. 다음 상태로 이동
  5. 가치(Q값) 업데이트

에이전트는 환경과 계속 상호작용하면서 행동의 가치를 점점 더 정확하게 학습합니다.

5.6 대표적인 가치 기반 알고리즘

  • Q-Learning: 다음 상태의 최대 Q값을 이용해 현재 Q값을 업데이트. 가장 대표적인 가치 기반 알고리즘.
  • SARSA: 현재 정책을 기반으로 학습. Q-learning보다 보수적인 방식.
  • DQN (Deep Q Network): 신경망으로 Q-value를 근사. Atari 게임, 로봇 제어, 복잡한 환경 등에서 사용됩니다.

5.7 가치 기반의 장단점

장점

  • 직관적: “점수 계산 → 가장 큰 것 선택”이라 이해하기 쉽습니다.
  • Q-learning 등 구현이 비교적 단순합니다.
  • DQN, Double DQN, Dueling DQN 등 많은 연구가 쌓여 있습니다.

단점

  • 행동이 수천 개 이상이면 Q값을 모두 계산·비교하기 어렵습니다.
  • 연속 행동(예: 핸들 각도)에는 그대로 쓰기 어렵습니다.

6. 정책 기반(Policy-Based) 강화학습

6.1 정책 기반이란?

정책 기반(Policy-Based) 방법은, 에이전트가 “상태를 입력받았을 때 어떤 행동을 선택할지”에 대한 정책(Policy)직접 학습하는 방식입니다.
행동의 가치를 구한 뒤 최댓값을 고르는 것이 아니라, 각 행동을 선택할 확률을 직접 학습합니다.
한 줄로 말하면, “어떤 행동을 할 것인지 규칙(정책) 자체를 학습하는 방법”이라고 보면 됩니다.

6.2 정책(Policy)이란?

정책 π(a|s)상태가 주어졌을 때 어떤 행동을 선택할지 결정하는 규칙입니다.

  • s: 현재 상태
  • a: 행동
  • π(a|s): 상태 s에서 행동 a를 선택할 확률

예: 상태 A에서 “오른쪽 70%, 왼쪽 30%”라면, 에이전트는 그 확률에 따라 행동을 선택합니다.

6.3 핵심 아이디어

상태 → 정책 → 행동 확률 → 행동 선택
  • 상태를 입력으로 받음
  • 정책 함수가 행동별 확률을 계산
  • 그 확률에 따라 행동을 샘플링

신경망을 쓰면 state → neural network → action probability 형태로 표현됩니다.
예: 출력이 [0.1, 0.6, 0.3]이면 행동1 10%, 행동2 60%, 행동3 30%처럼 해석할 수 있습니다.

6.4 정책 기반 학습 방식

좋은 행동의 확률을 높이고, 나쁜 행동의 확률을 낮추는 방향으로 학습합니다.

  • 상태 A에서 “오른쪽” 선택 → 보상 +10 → 오른쪽 확률 증가
  • 상태 A에서 “왼쪽” 선택 → 보상 −5 → 왼쪽 확률 감소

6.5 정책 기반이 필요한 이유

  • 행동 공간이 매우 큰 경우: 로봇·드론 제어처럼 행동이 수천 개 이상이면 Q값을 모두 계산하기 어렵습니다.
  • 연속 행동: 자동차 핸들 각도, 로봇 팔 각도처럼 0.1, 0.2, 0.3 … 같은 연속값이면 Q-table 방식이 맞지 않고, 정책이 직접 연속 행동을 뽑는 방식이 적합합니다.

6.6 정책 기반 학습 과정

  1. 상태 관찰
  2. 정책이 행동 확률 계산
  3. 행동 선택
  4. 보상 받음
  5. 정책 파라미터 업데이트

경험을 통해 정책을 계속 수정합니다.

6.7 대표적인 정책 기반 알고리즘

  • Policy Gradient: 정책의 파라미터를 직접 업데이트하는 기본 알고리즘.
  • REINFORCE: Monte Carlo 기반 정책 학습.
  • PPO (Proximal Policy Optimization): 현재 많이 쓰이는 정책 기반 알고리즘 중 하나.
  • Actor-Critic: 정책가치 함수를 동시에 사용하는 방법.

6.8 정책 기반의 장단점

장점

  • 연속 행동 문제에 적합합니다.
  • 확률적 정책으로 탐험(exploration)을 자연스럽게 할 수 있습니다.
  • 행동이 매우 많은 문제에서도 적용 가능합니다.

단점

  • 정책 업데이트가 너무 크면 학습이 불안정할 수 있습니다.
  • 샘플 효율이 낮아서, 많은 경험 데이터가 필요할 수 있습니다.
더보기

[ 오늘의 정리 ]

  • 근사는 상태·행동이 너무 많거나 연속일 때, 함수·모델로 값을 추정하는 방법입니다.
  • 함수 근사에서는 “상태별 값”을 저장하지 않고, 함수(신경망)의 파라미터를 학습하며, 일반화를 통해 보지 못한 상태에도 예측이 가능해집니다.
  • 강화학습에서 신경망은 상태를 입력받아 V(s), Q(s,a), π(a|s) 중 하나(또는 조합)를 출력하는 근사 함수로 쓰이고, 경험으로 가중치를 업데이트합니다.
  • 가치 기반은 “행동의 점수(Q값)를 계산하고 가장 높은 행동을 선택”하는 방식이며, Q-learning, SARSA, DQN 등이 대표적입니다.
  • 정책 기반은 “행동 선택 확률(정책)을 직접 학습”하는 방식이며, 연속 행동·거대한 행동 공간에 강점이 있고, Policy Gradient, REINFORCE, PPO, Actor-Critic 등이 대표적입니다.
eunyoung-study
@eunyoung-study :: 은영의 이해 노트

개념을 이해하고, 논문을 풀어보고, 코드로 확인하는 기록 ! 오늘도 파이팅 😉

공감하셨다면 ❤️ 구독도 환영합니다! 🤗

목차