본문으로 건너뛰기
아인폴랩 교육 문의
← 블로그 목록
강화학습연재 2026.09.30

[강화학습 기초 5] 함수 근사: 표 대신 신경망으로 가치를 표현한다

미분, 그래디언트, 경사하강법, SGD를 짚고, 신경망으로 가치함수를 근사하는 방법과 MC · TD 갱신식을 정리합니다.

3장의 Q러닝은 Q값을 표에 담았습니다. 그런데 로봇 관절 각도처럼 상태가 실수라면 표를 만들 수 없습니다. 이때 표 대신 신경망으로 가치함수를 흉내 내는 것이 함수 근사입니다. 함수 근사를 이해하려면 미분과 경사하강법이 필요하니, 필요한 만큼만 짚고 가겠습니다.

미분: 한 점에서의 기울기

자동차가 a시점부터 b시점까지 간 거리를 시간으로 나누면 평균 속도(평균 변화율)입니다. 과속 단속 카메라는 한 지점에서의 속도를 재야 하니, 구간을 0에 가깝게 줄여 순간 속도(순간 변화율)를 구합니다. 이것이 미분입니다.

f′(x) = limΔx→0 ( f(x+Δx) − f(x) ) / Δx

공식은 필요할 때 찾아 쓰면 됩니다. 이 연재에서 기억할 것은 하나입니다. 미분값의 부호가 함수가 커지는 방향을 알려 준다는 것입니다. f(x) = x²이면 f′(x) = 2x이고, x = 1에서 기울기 2(오른쪽으로 갈수록 커짐), x = −1에서 −2(왼쪽으로 갈수록 커짐)입니다.

편미분과 그래디언트

변수가 여러 개인 함수에서 한 변수만 움직이고 나머지는 고정해 미분하는 것이 편미분입니다. f(x, y) = x² + xy + y²를 x로 편미분하면 2x + y이고, (1, 1)에서 3입니다.

모든 변수에 대한 편미분을 한데 모은 것이 그래디언트(∇f)입니다. 그래디언트는 크기와 방향을 가진 벡터로, 함수 값이 가장 빨리 커지는 방향을 가리킵니다.

f(x, y) = 2x² + 2y²∇f = (4x, 4y)뜻
(−2, −2)에서(−8, −8)x, y를 줄이는 쪽으로 가면 f가 빠르게 커짐
(1, 1)에서(4, 4)x, y를 키우는 쪽으로 가면 f가 커짐

경사하강법

함수가 오차를 나타낸다면, 우리는 가장 작은 지점을 찾아야 합니다. 그래디언트의 반대 방향으로 조금씩 움직이면 됩니다.

w ← w − α ∇w J(w)

J(w)는 오차 함수, w는 신경망의 모든 가중치, α는 한 번에 움직이는 크기(학습률)입니다. 강화학습 자료(특히 데이비드 실버 교수의 강의 자료)에서는 이 표기를 많이 쓰니 익숙해지면 좋습니다. 식 앞에 1/2이 붙어 있는 경우가 있는데, 제곱을 미분할 때 나오는 2를 없애려는 계산상의 편의입니다.

확률적 경사하강법(SGD)은 전체 데이터 대신 일부를 무작위로 뽑아 그래디언트를 구합니다. 한 번은 덜 정확하지만 훨씬 빨라서 여러 번 고칠 수 있습니다. 강화학습에서는 이 "샘플로 평균을 대신한다"는 성질이 아주 유용합니다.

함수 근사: 표 대신 신경망

상태와 행동의 수가 적으면 Q값을 표(배열)에 담을 수 있습니다. 섬 4개, 각 섬에서 행동 3개라면 12칸이면 됩니다. 하지만 상태가 실수이거나 너무 많으면 표를 만들 수 없습니다. 그래서 가중치 w를 가진 신경망으로 가치함수를 흉내 냅니다.

v̂(s, w) ≈ vπ(s)     q̂(s, a, w) ≈ qπ(s, a)

신경망의 입력은 상태, 출력은 행동별 Q값으로 둘 수 있습니다. 출력을 정책이나 상태가치로 둘 수도 있는데, 그 방식은 정책기반 알고리즘에서 다룹니다.

오차를 정하고 경사하강법으로 줄인다

참 가치와 신경망 예측의 차이를 제곱해 평균 낸 것(MSE)을 오차 함수로 정합니다.

J(w) = 𝔼π[ ( vπ(S) − v̂(S, w) )2 ]

여기에 경사하강법을 쓰고, 기댓값(𝔼)은 SGD처럼 샘플 하나로 대신하면 다음 갱신식이 나옵니다.

Δw = α ( vπ(S) − v̂(S, w) ) ∇w v̂(S, w)

문제는 참 가치 vπ를 모른다는 것입니다. 그 자리에 3장에서 배운 목표값을 넣습니다.

방법vπ(S) 대신 넣는 값
MC에피소드가 끝난 뒤의 반환값 Gt
TDRt+1 + γ v̂(St+1, w)
TD:  Δw = α ( Rt+1 + γ v̂(St+1, w) − v̂(St, w) ) ∇w v̂(St, w)

Q함수도 똑같이 근사할 수 있습니다. 목표값에 Q러닝의 R + γ max Q(S′, a′)를 넣고 신경망으로 Q를 학습하면, 그것이 다음 장의 DQN입니다.

교육과 컨설팅을 문의해 주세요

교육 대상과 일정을 알려 주시면 과정 제안과 강의계획서를 보내 드립니다.