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 가치 기반 학습 과정
- 현재 상태 관찰
- 행동 선택
- 보상 받음
- 다음 상태로 이동
- 가치(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 정책 기반 학습 과정
- 상태 관찰
- 정책이 행동 확률 계산
- 행동 선택
- 보상 받음
- 정책 파라미터 업데이트
경험을 통해 정책을 계속 수정합니다.
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 등이 대표적입니다.
'개념 정리실 > 강화학습' 카테고리의 다른 글
| DQN (Deep Q-Network) – Gym으로 CartPole 풀어보기 (0) | 2026.03.12 |
|---|---|
| Q-learning – 가장 유명한 가치 기반 강화학습 (0) | 2026.03.11 |
| TD Learning (Temporal Difference Learning) (0) | 2026.03.10 |
| 벨만 기대 방정식 (Bellman Expectation Equation) (0) | 2026.03.09 |
| 마르코프 결정 과정 (Markov Decision Process, MDP) (0) | 2026.03.05 |