강화학습을 공부하다 보면 정책, 가치함수, Q-Learning 같은 알고리즘부터 먼저 눈에 들어온다.
하지만 그 밑바닥에는 항상 확률이 있다.
에이전트가 어떤 행동을 선택할지, 환경이 다음 상태로 어떻게 변할지, 어느 정도의 보상을 받을지 모두 확률변수와 확률분포로 표현되기 때문이다.

이번 글에서는 강화학습의 수학적 기반이 되는 확률 개념을 다음 순서로 정리한다.

  1. 사건과 확률
  2. 확률변수와 누적분포함수
  3. 확률질량함수와 확률밀도함수
  4. 결합 누적분포함수와 결합확률밀도함수
  5. 주변확률분포
  6. 조건부확률
  7. 강화학습과의 연결

1. 사건과 확률

표본공간을 SS, 그 안에서 관심을 두는 사건을 AA라고 하자.
고전적 확률에서는 모든 결과가 동일한 가능성을 가진다고 가정할 때 다음과 같이 정의할 수 있다.

P(A)=n(A)n(S)P(A)=\frac{n(A)}{n(S)}
  • n(A)n(A): 사건 AA에 해당하는 결과의 개수
  • n(S)n(S): 가능한 전체 결과의 개수

예를 들어 공정한 주사위를 한 번 던질 때 짝수가 나오는 사건을 A={2,4,6}A=\{2,4,6\}이라고 하면,

P(A)=36=12P(A)=\frac{3}{6}=\frac{1}{2}

두 사건 AA, BB가 동시에 일어날 수 없다면 서로 배반이라고 한다.

A∩B=∅A\cap B=\varnothing

배반사건은 독립사건과 다른 개념이다.
배반은 두 사건이 동시에 발생할 수 없다는 뜻이고, 독립은 한 사건의 발생이 다른 사건의 확률에 영향을 주지 않는다는 뜻이다.


2. 확률변수와 누적분포함수

확률변수 XX는 표본공간의 결과를 숫자로 대응시키는 함수다.
누적분포함수는 확률변수 XX가 특정 값 xx 이하일 확률을 나타낸다.

FX(x)=P(X≤x)F_X(x)=P(X\le x)

누적분포함수는 다음 성질을 가진다.

2.1 단조 비감소

x1<x2x_1<x_2이면,

FX(x1)≤FX(x2)F_X(x_1)\le F_X(x_2)

xx의 범위가 커질수록 누적되는 확률이 줄어들 수는 없다.

2.2 확률의 범위

0≤FX(x)≤10\le F_X(x)\le 1

2.3 양 끝에서의 극한

lim⁡x→−∞FX(x)=0\lim_{x\to-\infty}F_X(x)=0
lim⁡x→∞FX(x)=1\lim_{x\to\infty}F_X(x)=1

2.4 구간 확률

연속확률변수에서는 한 점의 확률이 0이므로 다음과 같이 쓸 수 있다.

P(a<X≤b)=FX(b)−FX(a)P(a<X\le b)=F_X(b)-F_X(a)

이산확률변수에서는 경계값 포함 여부에 따라 식이 달라질 수 있으므로 주의해야 한다.


3. 확률질량함수와 확률밀도함수

확률변수는 크게 이산형과 연속형으로 나눌 수 있다.

3.1 이산확률변수: 확률질량함수

이산확률변수 XX가 xix_i라는 값을 가질 확률을 확률질량함수라고 한다.

pX(xi)=P(X=xi)p_X(x_i)=P(X=x_i)

모든 가능한 값의 확률을 더하면 1이다.

∑ipX(xi)=1\sum_i p_X(x_i)=1

3.2 연속확률변수: 확률밀도함수

연속확률변수의 확률밀도함수를 fX(x)f_X(x)라고 하면,

fX(x)≥0f_X(x)\ge 0
∫−∞∞fX(x) dx=1\int_{-\infty}^{\infty}f_X(x)\,dx=1

누적분포함수는 밀도함수를 적분해 얻는다.

FX(x)=∫−∞xfX(u) duF_X(x)=\int_{-\infty}^{x}f_X(u)\,du

반대로 미분 가능한 경우에는 누적분포함수를 미분하여 밀도함수를 얻는다.

fX(x)=dFX(x)dxf_X(x)=\frac{dF_X(x)}{dx}

구간 [a,b][a,b]에 들어갈 확률은 밀도함수 아래의 면적이다.

P(a≤X≤b)=∫abfX(x) dxP(a\le X\le b)=\int_a^b f_X(x)\,dx

여기서 중요한 점은 연속확률변수에서 fX(x)f_X(x) 자체가 한 점의 확률은 아니라는 것이다.

P(X=x)=0P(X=x)=0

밀도는 특정 구간에 확률이 얼마나 집중되어 있는지를 나타내는 값이다.


4. 결합 누적분포함수

두 확률변수 XX, YY를 함께 다룰 때 결합 누적분포함수를 사용한다.

FX,Y(x,y)=P(X≤x,  Y≤y)F_{X,Y}(x,y)=P(X\le x,\;Y\le y)

이는 좌표평면에서 X≤xX\le x이면서 동시에 Y≤yY\le y인 영역에 들어갈 확률이다.

결합 누적분포함수의 기본 성질은 다음과 같다.

0≤FX,Y(x,y)≤10\le F_{X,Y}(x,y)\le 1
FX,Y(∞,∞)=1F_{X,Y}(\infty,\infty)=1
FX,Y(−∞,y)=0F_{X,Y}(-\infty,y)=0
FX,Y(x,−∞)=0F_{X,Y}(x,-\infty)=0

한 변수만 무한대로 보내면 각 변수의 주변 누적분포함수를 얻는다.

FX,Y(x,∞)=FX(x)F_{X,Y}(x,\infty)=F_X(x)
FX,Y(∞,y)=FY(y)F_{X,Y}(\infty,y)=F_Y(y)

결합 누적분포함수는 각 변수에 대해 단조 비감소하고 우연속이어야 한다.
또한 모든 직사각형 영역의 확률이 음수가 되지 않는 성질을 만족해야 한다.


5. 결합확률밀도함수

XX, YY가 연속확률변수이고 결합 누적분포함수가 충분히 미분 가능하면 결합확률밀도함수는 다음과 같다.

fX,Y(x,y)=∂2FX,Y(x,y)∂x ∂yf_{X,Y}(x,y)=\frac{\partial^2F_{X,Y}(x,y)}{\partial x\,\partial y}

반대로 결합확률밀도함수를 이중적분하면 결합 누적분포함수를 얻는다.

FX,Y(x,y)=∫−∞x∫−∞yfX,Y(u,v) dv duF_{X,Y}(x,y) =\int_{-\infty}^{x}\int_{-\infty}^{y} f_{X,Y}(u,v)\,dv\,du

작은 직사각형 구간의 확률은 다음과 같이 근사할 수 있다.

P(x<X≤x+Δx,  y<Y≤y+Δy)≈fX,Y(x,y)ΔxΔyP(x<X\le x+\Delta x,\;y<Y\le y+\Delta y) \approx f_{X,Y}(x,y)\Delta x\Delta y

따라서 결합확률밀도함수는 단위 면적당 확률이 얼마나 집중되어 있는지를 나타낸다고 볼 수 있다.

직사각형 영역 (a,b]×(c,d](a,b]\times(c,d]의 정확한 확률은 다음과 같다.

P(a<X≤b,  c<Y≤d)=  FX,Y(b,d)−FX,Y(a,d)−FX,Y(b,c)+FX,Y(a,c)\begin{aligned} P(a<X\le b,\;c<Y\le d) =&\;F_{X,Y}(b,d)-F_{X,Y}(a,d)\\ &-F_{X,Y}(b,c)+F_{X,Y}(a,c) \end{aligned}

6. 주변확률분포

결합분포에서 다른 변수를 모두 합하거나 적분하여 특정 변수 하나의 분포만 구한 것을 주변분포라고 한다.

연속확률변수의 경우,

fX(x)=∫−∞∞fX,Y(x,y) dyf_X(x)=\int_{-\infty}^{\infty}f_{X,Y}(x,y)\,dy
fY(y)=∫−∞∞fX,Y(x,y) dxf_Y(y)=\int_{-\infty}^{\infty}f_{X,Y}(x,y)\,dx

이산확률변수라면 적분 대신 합을 사용한다.

pX(x)=∑ypX,Y(x,y)p_X(x)=\sum_y p_{X,Y}(x,y)
pY(y)=∑xpX,Y(x,y)p_Y(y)=\sum_x p_{X,Y}(x,y)

두 변수가 독립이면 결합분포는 각 주변분포의 곱으로 분해된다.

fX,Y(x,y)=fX(x)fY(y)f_{X,Y}(x,y)=f_X(x)f_Y(y)

단, 단순히 상관계수가 0이라는 이유만으로 항상 독립이라고 결론 내릴 수는 없다.


7. 조건부확률과 조건부분포

사건 BB가 발생했다는 정보가 주어졌을 때 사건 AA가 발생할 확률은 다음과 같다.

P(A∣B)=P(A∩B)P(B),P(B)>0P(A\mid B)=\frac{P(A\cap B)}{P(B)},\qquad P(B)>0

이산확률변수에서는 조건부확률질량함수를 다음처럼 정의한다.

pX∣Y(x∣y)=pX,Y(x,y)pY(y),pY(y)>0p_{X\mid Y}(x\mid y) =\frac{p_{X,Y}(x,y)}{p_Y(y)},\qquad p_Y(y)>0

연속확률변수에서는 한 점의 확률이 0이므로 확률이 아니라 밀도의 비율로 조건부분포를 정의한다.

fX∣Y(x∣y)=fX,Y(x,y)fY(y),fY(y)>0f_{X\mid Y}(x\mid y) =\frac{f_{X,Y}(x,y)}{f_Y(y)},\qquad f_Y(y)>0

조건부확률은 새로운 정보를 얻었을 때 기존 판단을 갱신하는 수학적 도구다.
베이즈 정리도 여기서 출발한다.

P(A∣B)=P(B∣A)P(A)P(B)P(A\mid B)=\frac{P(B\mid A)P(A)}{P(B)}

8. 확률 개념이 강화학습에서 쓰이는 방식

강화학습은 에이전트가 환경과 상호작용하면서 누적 보상을 최대화하는 행동을 학습하는 방법이다. 기본 구성요소는 다음과 같다.

  • 상태 StS_t: 현재 환경의 상황
  • 행동 AtA_t: 에이전트가 선택한 행동
  • 보상 Rt+1R_{t+1}: 행동 이후 받은 평가
  • 정책 π(a∣s)\pi(a\mid s): 상태 ss에서 행동 aa를 선택할 확률
  • 상태 전이확률 P(s′∣s,a)P(s'\mid s,a): 상태 ss에서 행동 aa를 했을 때 다음 상태가 s′s'가 될 확률

정책과 상태 전이 모두 조건부확률이다.

π(a∣s)=P(At=a∣St=s)\pi(a\mid s)=P(A_t=a\mid S_t=s)
P(s′∣s,a)=P(St+1=s′∣St=s,At=a)P(s'\mid s,a)=P(S_{t+1}=s'\mid S_t=s,A_t=a)

상태가 주어졌을 때 행동과 다음 상태, 보상의 결합분포를 생각하면 다음과 같이 표현할 수도 있다.

P(s′,r∣s,a)P(s',r\mid s,a)

즉, 결합확률과 조건부확률을 이해해야 강화학습에서 정책과 환경 모델이 무엇을 의미하는지 정확히 해석할 수 있다.

가치함수도 확률적 기대값이다

상태가치함수는 특정 상태에서 정책을 따랐을 때 앞으로 받을 할인 누적 보상의 기대값이다.

Vπ(s)=Eπ[Gt∣St=s]V^{\pi}(s)=\mathbb{E}_{\pi}[G_t\mid S_t=s]

행동가치함수는 상태 ss에서 행동 aa를 선택한 뒤 정책을 따를 때의 기대 누적 보상이다.

Qπ(s,a)=Eπ[Gt∣St=s,At=a]Q^{\pi}(s,a)=\mathbb{E}_{\pi}[G_t\mid S_t=s,A_t=a]

여기서 반환값 GtG_t는 보상의 할인합이다.

Gt=Rt+1+γRt+2+γ2Rt+3+⋯G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots

결국 강화학습은 불확실한 전이와 보상 속에서 기대 누적 보상을 최대화하는 정책을 찾는 문제다.


9. SAC와 다중 에이전트 강화학습

SAC는 연속 행동 공간에서 널리 사용되는 오프폴리시 강화학습 알고리즘이다.
단순히 보상의 기대값만 최대화하지 않고 정책의 엔트로피도 함께 크게 유지한다.

J(π)=E[∑t(Rt+1+αH(π(⋅∣St)))]J(\pi)=\mathbb{E}\left[\sum_t \left(R_{t+1}+\alpha\mathcal{H}(\pi(\cdot\mid S_t))\right)\right]
  • 보상 항: 좋은 결과를 만드는 행동을 학습
  • 엔트로피 항: 행동을 지나치게 일찍 하나로 고정하지 않고 탐색을 유지
  • α\alpha: 보상과 탐색 사이의 균형을 조절하는 온도 계수

SAC의 정책은 상태가 주어졌을 때 행동에 대한 조건부분포 π(a∣s)\pi(a\mid s)로 표현된다. 따라서 확률분포, 조건부확률, 기대값을 이해하지 못하면 알고리즘의 코드 형태는 외울 수 있어도 작동 원리는 이해하기 어렵다.

다중 에이전트 강화학습에서는 여러 에이전트의 상태와 행동을 함께 고려한다.
이때 결합행동을

a=(a1,a2,…,an)\mathbf{a}=(a_1,a_2,\ldots,a_n)

으로 두고 결합정책이나 각 에이전트의 조건부 정책을 학습한다.
에이전트들이 협력하거나 경쟁하기 때문에 단일 에이전트보다 확률적 상호작용이 복잡해진다.


10. 실제 적용 분야

강화학습은 행동의 결과가 즉시 확정되지 않고 시간이 지나 누적되는 문제에 적합하다.

  • 로봇 제어와 자율주행
  • 물류 경로 및 재고 최적화
  • 금융 포트폴리오와 주문 실행 전략
  • 미사일·드론·무인체계 제어
  • 우주 궤도 및 자원 운영 최적화
  • 게임 AI
  • 추천 및 광고 노출 정책

다만 현실 문제에서는 시뮬레이션과 실제 환경의 차이, 안전성, 데이터 비용, 보상함수 설계 문제가 크다.
알고리즘 하나를 적용한다고 바로 해결되는 분야는 아니다.


마무리

이번 내용을 한 줄로 연결하면 다음과 같다.

확률변수의 분포를 이해하고, 여러 변수의 결합관계와 주어진 정보에 따른 조건부분포를 계산한 뒤, 그 분포 아래에서 기대 누적 보상을 최대화하는 정책을 찾는 것이 강화학습의 기본 구조다.

학습 순서는 다음이 가장 안정적이다.

  1. 사건과 조건부확률
  2. 확률변수와 CDF
  3. PMF와 PDF
  4. 결합분포와 주변분포
  5. 기대값과 분산
  6. 마르코프 과정과 MDP
  7. 벨만 방정식
  8. Q-Learning과 Policy Gradient
  9. Actor-Critic과 SAC
  10. 다중 에이전트 강화학습

강화학습 코드를 바로 실행해 보는 것도 좋지만, 확률과 기대값의 의미를 먼저 잡아두면 수식과 구현이 따로 놀지 않는다.
기초가 조금 느려 보여도 결국 이 길이 가장 빠르다.


profile
레거시를 이해하면서도 새로운 기술을 현실적으로 적용할 수 있는 백엔드 개발자가 되는 것이 목표입니다.

0개의 댓글