[Diffusion] 미분방정식을 통한 연속 시간으로의 확장

안암동컴맹·2026년 1월 18일

Diffusion 101

목록 보기
9/10
post-thumbnail

🤗 소개

앞선 글들을 통해 지금까지 확산 모델을 두 가지 관점에서 살펴보았다. 하나는 변분적 관점(variational view)이고, 다른 하나는 점수 기반 관점(score-based view)으로, 후자는 에너지 기반 모델(EBM) 정식화로부터 자연스럽게 등장한다. 이제 다음 단계로 나아가 연속 시간(continuous-time) 프레임워크로 이동하고자 한다.

이 프레임워크의 핵심에는 Score SDE가 있다. 이는 DDPM과 NCSN을 하나의 정식화로 통합하는 연속 시간 극한(limit)이다. 이 관점이 강력한 이유는, 이산적인 업데이트 규칙을 미분방정식(differential equations, DE) 에 기반한 깔끔하고 원리적인 기술로 확장해 주기 때문이다. 이 관점에서 보면, 생성 과정은 시간에 따라 정의된 하나의 DE를 푸는 문제로 귀결된다.

이러한 정식화 덕분에 수치해석(numerical analysis)의 도구들을 직접 활용할 수 있다. 예를 들어, 기본적인 Euler 방법으로도 동역학을 시뮬레이션할 수 있으며, 더 발전된 수치적 solver를 사용하면 안정성과 효율성을 크게 개선할 수 있다. 또한, 연속 시간 관점으로 전환함으로써, 더 풍부한 수학적 구조를 얻게 되고, 확산 모델을 이해\cdot분석\cdot개선하기 위한 통합된 이론적 기반을 마련할 수 있다.

본격적으로 Score SDE를 살펴보기 전에, 미분방정식에 대해 빠르게 훑어보고 넘어가보자.


📐 상미분방정식의 기초

미분방정식(differential equations, DE) 은 동적 시스템을 모델링하는 데 있어 가장 기본적인 도구이며, 크게 세 가지로 분류할 수 있는데, 바로 상미분방정식(ODE), 확률미분방정식(SDE), 그리고 편미분방정식(PDE) 이다.

ODE는 시스템의 상태가 시간에 따라 정확한 규칙에 의해 어떻게 변화하는지를 기술한다. 따라서 초기 상태가 주어지면, 이후의 궤적은 완전히 결정론적으로 정해진다. 반면 SDE는 이러한 시간 진화 과정에 무작위성(randomness)을 도입하여, 잡음이나 불확실성이 시스템의 거동에 어떤 영향을 미치는지를 모델링한다. 이 경우 결과는 하나의 고정된 경로가 아니라 확률적인 분포로 나타난다. PDE는 시간과 공간처럼 여러 변수에 의존하는 함수들이 함께 어떻게 변화하는지를 설명한다. 이는 열의 확산, 파동의 전파, 혹은 확률적 시스템에서의 확률 밀도의 시간적 진화와 같은 현상을 포착하는 데 사용된다.

이처럼 ODE, SDE, PDE는 결정론적 요인과 확률적 요인이 공존하는 환경에서, 시스템이 시간과 공간에 따라 어떻게 진화하는지를 이해하기 위한 근본적인 수학적 언어를 이룬다. 이중에서 먼저 ODE를 다룬 뒤, SDE로 자연스럽게 전개를 이어갈 예정이다.

1️⃣ 상미분방정식에 대한 직관

이 절에서는 상미분방정식(ordinary DE; ODE) 의 기본 이론을 소개할 예정이다. 특히 초기 조건이 주어졌을 때 해의 유일성에 초점을 맞추어, ODE를 실제로 풀기 위한 수치적 해법도 함께 다룰 예정이다.

💡 상미분방정식에 대한 직관

결정론적 과정은 ODE로 표현되는데, 다변수 상황에서는 다음과 같은 형태의 시스템을 가정한다.

dx(t)dt=v(x(t),t)\frac{d\mathbf{x}(t)}{dt}=\mathbf{v}(\mathbf{x}(t),t)

여기서 x(t)RD\mathbf{x}(t)\in\mathbb{R}^D는 시간 tt에서의 시스템 상태를 나타내는 벡터값 함수이고, v:RD×RRD\mathbf{v}:\mathbb{R}^D\times\mathbb{R}\to\mathbb{R}^D는 벡터장으로, 공간과 시간의 각 지점에서 상태가 어떤 방햐과 크기로 변화해야 하는지를 나타낸다.

🎯 ODE 해법에 대한 고수준의 직관

보다 직관적인 이해를 돕기 위해, 벡터장 v(x,t)\mathbf{v}(\mathbf{x},t)를 시간에 따라 변화하는 화살표들의 지형으로 상상해 보자. 이 화살표들은 임의의 시점 tt에서 점 x\mathbf{x}가 어떤 방향으로, 얼마나 빠르게 움직여야 하는지를 알려준다.

미분방정식을 푼다는 것은, 이러한 벡터장 속에서 하나의 곡선 x(t)\mathbf{x}(t)를 따라가는 것이다. 이 곡선은 모든 시점에서 그 접선(tangent), 즉 순간 속도가 정확히 해당 지점의 벡터 v(x(t),t)\mathbf{v}(\mathbf{x}(t),t)와 일치하도록 정의된다. 다시 말해, ODE의 해란 벡터장이 지시하는 흐름을 충실히 따르는 궤적이며, 이는 시간에 따른 시스템 상태의 진화를 완전히 결정한다.

  • 벡터장 관점 (Vector Field Perspective)
    함수 v(x,t)\mathbf{v}(\mathbf{x},t)는 시스템이 어떻게 움직여야 하는지를 정의한다. 즉, 공간과 시간의 각 지점에서 변화나 이동에 대한 국소적인 지침(instruction) 을 제공한다.

  • 궤적 관점 (Trajectory Perspective)
    x(t)\mathbf{x}(t)는 입자가 매 순간 벡터장 v\mathbf{v}가 제시하는 규칙을 충실히 따른다고 가정할 때, 그 입자가 실제로 따라가게 되는 경로(path) 를 의미한다.

따라서 ODE를 푼다는 것은, 하나의 입자를 흐름장(flow field) 속에 놓고, 시간이 지남에 따라 그 입자가 어디로 이동하는지를 관찰하는 것과 같다.

2️⃣ 상미분방정식의 해의 존재성과 유일성

지금까지 ODE를 푼다는 것이, 각 지점에서 벡터장이 제시하는 방향을 따라가는 하나의 경로를 찾는 것임을 보았다. 직관적으로 이는, 속도장이 정의하는 흐름을 따라 이동하는 입자의 궤적을 추적하는 과정과 간다.

그러나 이러한 그림은 자연스럽게 중요한 질문을 불러온다.

1. 시작점을 하나 정했을 때, 정말로 그 방향들을 따라가는 경로가 존재한다고 보장할 수 있는가?
2. 그리고 그 경로는 유일한가, 아니면 입자가 어느 순간 갑자기 다른 궤적으로 "점프"할 수도 있는가?

이 질문에 대한 답은 매우 중요하다. 왜냐하면 이는 시스템의 초기 상태로부터 그 이후의 거동을 신뢰성 있게 예측할 수 있는지를 결정하기 때문이다.

존재성과 유일성 정리(Existence and Uniqueness Theorem) 는 벡터장에 대한 적절한 조건을 제시함으로써, 임의의 초기점에서 정확히 하나의 경로가 시작됨을 보장한다. 이로써 해는 일관되게 정의되며, 이는 상미분방정식 이론의 핵심적인 기초를 이룬다.

🏡 시간에 대한 국소적 해의 존재성과 유일성 정리

아래에는 국소적(local) 형태의 정리가 서술되어 있다. 이는 주어진 초기 조건에 대해, 초기 시각 근방의 어떤 시간 구간에서 해가 존재하며 유일함을 보장하는 결과이다.

정리 A.1.1 – 국소적 해의 존재성과 유일성
v(x,t)\mathbf{v}(\mathbf{x},t)가 영역 DRD×RD\subseteq\mathbb{R}^D\times\mathbb{R}에서 x\mathbf{x}tt에 대해 연속인 함수라고 하자. 또한 v\mathbf{v}x\mathbf{x}에 대해 다음의 Lipschitz 조건을 만족한다고 가정하자.

v(x1,t)v(x2,t)Lx1x2,(x1,t),(x2,t)D\|\mathbf{v}(\mathbf{x}_1,t)-\mathbf{v}(\mathbf{x}_2,t)\|\le L\|\mathbf{x}_1-\mathbf{x}_2\|,\quad\forall(\mathbf{x}_1,t),(\mathbf{x}_2,t)\in D

여기서 L>0L>0은 상수이다. 그러면 임의의 초기 조건 x(t0)=x0\mathbf{x}(t_0)=\mathbf{x}_0에 대해 미분방정식

dx(t)dt=v(x(t),t)\frac{d\mathbf{x}(t)}{dt}=\mathbf{v}(\mathbf{x}(t),t)

은 어떤 δ>0\delta>0에 대해 구간 [t0δ,t0+δ][t_0-\delta,t_0+\delta] 위에서 정의되는 유일한 해 x(t)\mathbf{x}(t)를 갖는다.

🌏 시간에 대한 전역 해의 존재성과 유일성 정리

국소적 존재성과 유일성 정리는 해가 짧은 시간 구간에서는 존재하고 유일함을 보장해주지만, 이를 전체 시간 구간 [t0,T][t_0,T]으로 확장하기 위해서는 추가적인 정규성 조건 이 필요하다. 이러한 맥락에서 등장하는 결과가 바로 시간에 대한 전역 존재성과 유일성 정리이다.

이 범주에서 잘 알려진 정리 중 하나가 Carathéodory 정리로, 이는 두 가지 핵심 가정을 만족할 경우 ODE 해의 전역 존재성과 유일성을 보장한다. 그 가정은 다음과 같다.

  1. 상태 변수 x\mathbf{x}에 대한 국소 Lipschitz 조건
    구간 [0,T][0,T]에서 적분 가능한 함수 Lip(t)\text{Lip}(t)가 존재하여, 모든 x1,x2RD\mathbf{x}_1,\mathbf{x}_2\in\mathbb{R}^D에 대해 다음을 만족한다고 하자.

    v(x1,t)v(x2,t)Lip(t)x1x2\|\mathbf{v}(\mathbf{x}_1,t)-\mathbf{v}(\mathbf{x}_2,t)\|\le\text{Lip}(t)\|\mathbf{x}_1-\mathbf{x}_2\|

    이는 벡터장 v(x,t)\mathbf{v}(\mathbf{x},t)가 상태 변수 x\mathbf{x}에 대해 시간에 따라 변할 수는 있지만, 각 시점에서 국소적으로는 Lipschitz 연속 임을 의미한다.

  2. 선형 성장 조건 (Linear Growth Condition)
    구간 [0,T][0,T]에서 적분 가능한 함수 M(t)M(t)가 존재하여, 모든 xRD\mathbf{x}\in\mathbb{R}^D에 대해 다음이 성립한다고 하자.

    v(x,t)M(t)(1+x)\|\mathbf{v}(\mathbf{x},t)\|\le M(t)(1+\|\mathbf{x}\|)

    이는 벡터장의 크기가 상태 변수 x\mathbf{x}에 대해 최대 선형적으로만 증가함을 보장하는 조건으로, 해가 유한 시간 내에 발산하지 않도록 제어하는 역할을 한다.

요약하면, 시간에 의존하는 속도장(velocity field)에 의해 정의된 ODE에 하나의 초기 조건이 주어지면, 그에 대응하면 입자 흐름의 궤적(trajectory)은 유일하게 결정된다.

☝🏻 유일성과 해의 비교차성

상미분방정식에서 해의 유일성은 국소적 존재성과 유일성 정리에 의해 보장되며, 이로부터 하나의 근본적인 성질이 따라 나온다. 즉, 서로 다른 초기 조건에서 출발한 두 개의 해 궤적은 서로 교차할 수 없다는 것이다.

이는 ODE의 결정론적 성격을 반영하는 결과로, 각 상태는 반드시 하나의 고유한 경로를 따라 진화함을 보장한다. 다시 말해, 동일한 시공간 지점에서 서로 다른 미래로 분기되는 일은 발생하지 않는다.

따름정리 A.1.1 – 해의 비교차성
다음 상미분방정식의 두 해 x1(t)\mathbf{x}_1(t)x2(t)\mathbf{x}_2(t)를 가정해보자.

dx(t)dt=v(x(t),t),t[0,T]\frac{d\mathbf{x}(t)}{dt}=\mathbf{v}(\mathbf{x}(t),t),\quad t\in[0,T]

만약 두 해의 초기값이 서로 다르다면, 즉 x1(0)x2(0)\mathbf{x}_1(0)\ne\mathbf{x}_2(0)이라면, 이 두 해는 시간 구간 [0,T][0,T] 전체에 걸쳐 서로 만날 수 없다. 다시 말해,

x1(t)x2(t)t[0,T]\mathbf{x}_1(t)\ne\mathbf{x}_2(t)\quad\forall t\in[0,T]

가 항상 성립한다.

✍🏻 따름정리 A.1.1의 증명

위 따름정리를 증명하기 위해 이에 대한 모순을 가정해보자. 즉, 어떤 시각 t(0,T]t^\ast\in(0,T]가 존재하여 x1(t)=x2(t)\mathbf{x}_1(t^\ast)=\mathbf{x}_2(t^\ast)가 성립한다고 가정하자.

두 해가 처음으로 만나는 시각을 다음과 같이 정의하자.

t0:=inf{t[0,T]x1(t)=x2(t)}t_0:=\inf\{t\in[0,T]\mid\mathbf{x}_1(t)=\mathbf{x}_2(t)\}

초기값이 서로 다르므로 x1(0)x2(0)\mathbf{x}_1(0)\ne\mathbf{x}_2(0)이고, tt^\ast가 위 집합에 포함되어 있으므로, 정의에 의해 t0>0t_0>0임을 알 수 있다. 또한 x1(t)\mathbf{x}_1(t), x2(t)\mathbf{x}_2(t)는 연속 함수이므로 x1(t0)=x2(t0)\mathbf{x}_1(t_0)=\mathbf{x}_2(t_0)가 성립한다.

이제 다음 초기값 문제(initial value problem; IVP) 를 생각해보자.

dx(t)dt=v(x(t),t)x(t0)=x1(t0)\frac{d\mathbf{x}(t)}{dt}=\mathbf{v}(\mathbf{x}(t),t)\quad\mathbf{x}(t_0)=\mathbf{x}_1(t_0)

상미분방정식 해의 유일성 정리에 의해, 동일한 초기 조건을 갖는 해는 유일하므로 x1(t)\mathbf{x}_1(t)x2(t)\mathbf{x}_2(t)는 구간 [t0,T][t_0,T]에서 서로 완전히 일치해야 한다.

같은 논리를 시간에 대해 역방향으로 적용하면, 두 해는 구간 [0,t0][0,t_0]에서도 일치함을 알 수 있다. 따라서 전체 구간 [0,T][0,T]에 대해

x1(t)=x2(t)t[0,T]\mathbf{x}_1(t)=\mathbf{x}_2(t)\quad\forall t\in[0,T]

가 성립하게 된다.

그러나 이는 초기 조건이 서로 다르다는 가정 x1(0)x2(0)\mathbf{x}_1(0)\ne\mathbf{x}_2(0)과 모순이다. 따라서 처음의 가정은 잘못되었으며, 결론적으로

x1(t)x2(t)t[0,T]\mathbf{x}_1(t)\ne\mathbf{x}_2(t)\quad\forall t\in[0,T]

가 성립한다. _\blacksquare

3️⃣ 미분방정식의 적분인자

일반적으로 시간에 따라 변하는 속도장 v\mathbf{v}에 의해 정의된 상미분방정식은 closed-form 해를 갖지 않는 경우가 대부분이다. 그러나 일부 특수한 경우에는 해를 해석적으로 구할 수 있거나, 혹은 문제를 보다 구조적으로 다루기 쉬운 형태로 변환할 수 있다.

그러한 경우 중 하나로, 지수적분인자 혹은 적분인자(exponential integration factor) 를 이용해 미분방정식을 단순화하거나 해를 직접 구할 수 있는 방법을 살펴보겠다.

다음과 같은 선형 스칼라 상미분방정식을 생각해보자.

dx(t)dt=L(t)x(t)\frac{d\mathbf{x}(t)}{dt}=L(t)\mathbf{x}(t)

여기서 L(t)RL(t)\in\mathbb{R}는 시간에 대해 연속인 함수이다. 이 방정식은 closed-form 해를 가지며, 그 해는 잘 알려져있다. 임의의 시각 ss, tt에 대해 해는 다음과 같이 주어진다.

x(t)=x(s)exp(stL(τ) dτ)\mathbf{x}(t)=\mathbf{x}(s)\cdot\exp\left(\int_s^tL(\tau)~d\tau\right)

이 식은 해가 시간에 따라 어떻게 진화하는지를 명확히 보여준다. 즉, 시간에 의존하는 계수 L(t)L(t)의 효과가 적분을 통해 누적된 뒤 지수 함수 형태로 반영되어, 상태 x(t)\mathbf{x}(t)를 스케일링한다는 것을 의미한다.

이러한 관찰로부터 적분인자를 다음과 같이 정의할 수 있다.

E(st):=exp(stL(τ) dτ)\mathcal{E}(s\to t):=\exp\left(\int_s^tL(\tau)~d\tau\right)

이 적분인자는 이후 선형 항과 비선형 항이 함께 등장하는 보다 일반적인 동역학 시스템에서도 방정식을 구조적으로 단순화하거나 효과적으로 다루기 위한 핵심 도구로 사용된다.

🌗 준선형 ODE와 적분인자

이제 준선형 상미분방정식(semilinear ODE) 이라 불리는 보다 일반적인 형태의 ODE를 다루어보자. 이러한 방정식은 동역학을 상태 변수에 대해 선형인 부분과 비선형 잔여항으로 분리하여 표현한다.

dx(t)dt=L(t)x(t)+N(x(t),t)\frac{d\mathbf{x}(t)}{dt}=L(t)\mathbf{x}(t)+\mathbf{N}(\mathbf{x}(t),t)

여기서 x(t)RD\mathbf{x}(t)\in\mathbb{R}^D는 시스템의 상태 벡터이고, L(t)L(t)는 시간에 대한 스칼라값 연속 함수, N:RD×[0,T]RD\mathbf{N}:\mathbb{R}^D\times[0,T]\to\mathbb{R}^D는 비선형 벡터장을 나타낸다.

이와 같은 준선형 구조는 다양한 물리 및 공학 시스템에서 자연스럽게 등장한다. 특히 diffusion 모델에서의 probability flow ODE 정식화에서도 동일한 구조가 나타난다. 이에 대한 주제는 추후에 다루도록 하겠다.

이러한 구조를 이해하는 것은 매우 중요한데, 왜냐하면 이를 통해 앞서 소개한 적분인자를 효과적으로 활용할 수 있으며, 그 결과 이론적 분석이 단순해질 뿐 아니라, 수치적 계산에서도 안정성과 효율성을 크게 향상시킬 수 있기 때문이다.

  1. 적분인자를 이용한 비선형 항의 분리
    위 식의 준선형 ODE에서, 선형 drift 항 을 분리해보자. 이를 위해 먼저 선형 항을 좌변으로 옮기면 다음과 같이 쓸 수 있다.

    dx(t)dtL(t)x(t)=N(x(t),t)\frac{d\mathbf{x}(t)}{dt}-L(t)\mathbf{x}(t)=\mathbf{N}(\mathbf{x}(t),t)

    이제 선형 항을 흡수하기 위해, 양변에 역(inverse) 적분인자를 곱한다. 즉,

    E1(st):=exp(stL(τ) dτ)\mathcal{E}^{-1}(s\to t):=\exp\left(-\int_s^tL(\tau)~d\tau\right)

    를 곱해주면 좌변은 아래와 같은 형태가 된다.

    E1(st)(dx(t)dtL(t)x(t))=ddt[E1(st)x(t)]\mathcal{E}^{-1}(s\to t)\left(\frac{d\mathbf{x}(t)}{dt}-L(t)\mathbf{x}(t)\right)=\frac{d}{dt}\left[\mathcal{E}^{-1}(s\to t)\mathbf{x}(t)\right]

    그러면 방정식은 다음과 같이 정리된다.

    ddt[E1(st)x(t)]=E1(st)N(x(t),t)\frac{d}{dt}\left[\mathcal{E}^{-1}(s\to t)\mathbf{x}(t)\right]=\mathcal{E}^{-1}(s\to t)\mathbf{N}(\mathbf{x}(t),t)

    이 변환을 통해 원래의 미분방정식에서 비선형 성분만을 분리할 수 있으며, 그 결과 변환된 좌표계에서는 비선형 동역학에만 전적으로 집중할 수 있게 된다.

  2. 시간에 대해 적분하기
    이제 양변을 시각 ss부터 tt까지 적분해보자.

    stddτ[E1(sτ)x(τ)]dτ=stE1(sτ)N(x(τ),τ) dτ\int_s^t\frac{d}{d\tau}\left[\mathcal{E}^{-1}(s\to \tau)\mathbf{x}(\tau)\right]d\tau=\int_s^t\mathcal{E}^{-1}(s\to\tau)\mathbf{N}(\mathbf{x}(\tau),\tau)~d\tau

    이때, 좌변은 단순히 E1(st)x(t)x(s)\mathcal{E}^{-1}(s\to t)\mathbf{x}(t)-\mathbf{x}(s)이므로 식을 다시 정리하면 다음을 얻을 수 있다.

    E1(st)x(t)=x(s)+stE1(sτ)N(x(τ),τ) dτ\mathcal{E}^{-1}(s\to t)\mathbf{x}(t)=\mathbf{x}(s)+\int_s^t\mathcal{E}^{-1}(s\to\tau)\mathbf{N}(\mathbf{x}(\tau),\tau)~d\tau
  3. x(t)\mathbf{x}(t)에 대해 풀기
    마지막 식의 양번에 지수인자 E(st)\mathcal{E}(s\to t)를 곱하면 최종적인 해를 얻을 수 있다.

    x(t)=E(st)x(s)linear part+stE(τt)N(x(τ),τ) dτnonlinear part\mathbf{x}(t)=\underbrace{\mathcal{E}(s\to t)\mathbf{x}(s)}_\text{linear part}+\underbrace{\int_s^t\mathcal{E}(\tau\to t)\mathbf{N}(\mathbf{x}(\tau),\tau)~d\tau}_\text{nonlinear part}

이렇듯, 해는 자연스럽게 선형 성분과 비선형 성분으로 분리 될 수 있다. 적분인자는 이러한 구조를 적극적으로 활용하여 선형 부분은 정확한 closed-form 해로 처리하고, 비선형 잔여 항만을 이산화(discretization)한다.

이 방식에서는 시간 간격(step size)이 값이 클 수 있는 선형 계수에 의해 제한되지 않고, 실제로 중요한 비선형 동역학에 의해 결정된다. 그 결과, 비교적 적은 스텝 수로도 안정적이면서 정확한 업데이트를 얻을 수 있다.

4️⃣ 상미분방정식의 수치적 해법

초기 조건 x(0)\mathbf{x}(0)이 주어진 상미분방정식 dx(t)dt=v(x(t),t)\frac{d\mathbf{x}(t)}{dt}=\mathbf{v}(\mathbf{x}(t),t)을 생각해보자. 이 ODE를 푼다는 것은, 모든 t[0,T]t\in[0,T]에 대해 방정식을 만족하는 연속적인 궤적 x(t)\mathbf{x}(t)를 찾는 것을 의미한다.

이상적으로는 closed-form 해를 구하는 것이 바람직하지만, 현실적으로는 그러한 해를 얻을 수 있는 경우가 거의 없다. 이를 이해하기 위한 하나의 유용한 관점은 ODE를 다음과 같은 적분 형태 로 다시 표현하는 것이다.

x(t)=x(0)+0tv(x(τ),τ) dτ\mathbf{x}(t)=\mathbf{x}(0)+\int_0^t\mathbf{v}(\mathbf{x}(\tau),\tau)~d\tau

이 식은 해가 초기 상태에 시간에 따라 누적된 속도(velocity)의 효과가 더해진 결과임을 보여준다. 그러나 v\mathbf{v}가 비선형이며 시간에 의존하는 함수이기 때문에, 이 적분은 일반적으로 계산이 어렵고 그로 인해 closed-form 해를 구할 수 없는 경우가 대부분이다.

이러한 경우에는 수치적 방법(numerical methods) 을 사용하게 된다. 수치적 해법은 시간을 이산화하고, x(t)\mathbf{x}(t)를 반복적으로 근사해 나가는 방식으로 동작한다. 대표적인 방법으로는 오일러 방법(Euler's method)룽게–쿠타 방법(Runge–Kutta methods) 이 있다.

이러한 방법들은 시스템의 동역학을 한 단계씩 시뮬레이션 함으로써, 실제 궤적에 대한 실용적인 근사값을 제공한다. 이 과정에는 다음과 같은 요소들이 포함된다.

  • 이산화(Discretization)
    시간 구간을 t0,t1,,tnt_0,t_1,\ldots,t_n과 같은 이산적인 시점들로 분할한다.

  • 스텝 크기(Step Size)
    연속된 두 시점 사이의 간격 Δti=ti+1ti\Delta t_i=t_{i+1}-t_i을 스텝 크기(step size)라고 한다.

  • 근사(Approximation)
    각 스텝에서의 해는 수치적으로 추정된다. 이때 근사의 정확도는 스텝 크기와 사용한 수치 해법의 종류에 따라 달라진다.

  • 오체 제어(Error Control)
    이산화와 근사 과정에서 발생하는 오차를 지속적으로 감시하고 제어한다.

또한, 상미분방정식의 수치적 해법은 크게 다음과 같이 분류할 수 있다.

  • 시간 전진 방식(Time-Stepping Methods)
    해를 시간에 따라 한 스텝씩 순차적으로 전진시키는 방법이다. 대표적인 예로는 명시적/암시적 오일러 방법, 룽게–쿠타 방법 등이 있다.

  • 시간 병렬 방식(Time-Parallel Methods)
    서로 다른 시간 구간에 대한 해를 동시에 계산하도록 병렬성을 활용하는 방법이다. 대규모 문제나 장시간 적분이 필요한 경우에 특히 유용하다.

✨ 대표적인 수치적 해법

이들 가운데 오일러 방법(Euler's method), 호인 방법(Heun's method), 룽게–쿠타 방법(Runge–Kutta's method) 은 모두 단일 스텝 방법에 속한다. 즉, 각 스텝의 업데이트는 오직 현재 상태 (tn,xn)(t_n,\mathbf{x}_n)만을 사용하여 계산된다.

이에 반해 다중 스텝 방법, 예를 들어 Adams-BashforthAdams-Moulton 방법은 다음 상태 xn+1\mathbf{x}_{n+1}를 계산할 때 현재 상태 xn\mathbf{x}_n뿐만 아니라 이전의 여러 값을 xn1,xn2,\mathbf{x}_{n-1},\mathbf{x}_{n-2},\ldots도 함께 사용한다. 이러한 방법들은 과거의 정보를 재사용함으로써, 각 스텝마다 모든 계산을 새로 수행하지 않아도 된다는 장점이 있다.

한편, 피카르 반복법(Picard iteration) 은 성격이 다르다. 이는 실제 계산을 위한 수치적 적분기라기보다는, 해의 존재와 수렴을 설명하기 위한 이론적인 고정점 반복 구성에 해당한다.

  • 오일러 방법(Euler's Method)
    오일러 방법은 가장 단순한 시간 전진(time-stepping) 기법이다.

    xn+1=xn+hv(xn,tn)\mathbf{x}_{n+1}=\mathbf{x}_n+h\mathbf{v}(\mathbf{x}_n,t_n)

    여기서 hh는 스텝 크기를 의미한다. 이 방법은 1차(first-order) 정확도를 가지며, 국소 오차는 O(h2)\mathcal{O}(h^2), 전역 오차는 O(h)\mathcal{O}(h)이다. 구현이 매우 간단하다는 장점이 있지만, 안정성과 정확성을 확보하기 위해서는 매우 작은 스텝 크기 hh가 필요하다.

  • 호인 방법(Heun's Method)
    호인 방법은 2차(second-order) 정확도의 예측을 가진 보정 기법(predictor-corrector)이다.

    • 예측 단계(Predict): xpred=xn+hv(xn,hn)\mathbf{x}_\text{pred}=\mathbf{x}_n+h\mathbf{v}(\mathbf{x}_n,h_n)
    • 보정 단계(Correct): xn+1=xn+h2(v(xn,tn)+v(xpred,tn+h))\mathbf{x}_{n+1}=\mathbf{x}_n+\frac{h}{2}(\mathbf{v}(\mathbf{x}_n,t_n)+\mathbf{v}(\mathbf{x}_\text{pred},t_n+h))

    이 방법은 국소 오차가 O(h3)\mathcal{O}(h^3), 전역 오차가 O(h2)\mathcal{O}(h^2)로, 오일러 방법보다 한 단계 높은 정확도를 제공한다.

  • 룽게–쿠타 방법(Runge–Kutta's Method)
    룽게–쿠타(RK) 방법은 여러 개의 중간 기울기(intermediate slopes) 를 가중 평균하여 사용하는 방식으로, 오일러 방법을 일반화한 수치적 적분 기법이다. 그중에서도 4차 룽게–쿠타 방법(RK4) 은 가장 표준적으로 사용되는 방법이다.

    RK4는 다음과 같이 정의된다.

    k1=v(xn,tn)k2=v(xn+h2k1,tn+h2)k3=v(xn+h2k2,tn+h2)k4=v(xn+hk3,tn+h)xn+1=xn+h6(k1+2k2+2k3+k4)\begin{aligned} \mathbf{k}_1&=\mathbf{v}(\mathbf{x}_n,t_n) \\ \mathbf{k}_2&=\mathbf{v}\left(\mathbf{x}_n+\frac{h}{2}\mathbf{k}_1,t_n+\frac{h}{2}\right) \\ \mathbf{k}_3&=\mathbf{v}\left(\mathbf{x}_n+\frac{h}{2}\mathbf{k}_2,t_n+\frac{h}{2}\right) \\ \mathbf{k}_4&=\mathbf{v}(\mathbf{x}_n+h\mathbf{k}_3,t_n+h) \\ \mathbf{x}_{n+1}&=\mathbf{x}_n+\frac{h}{6}\left (\mathbf{k}_1+2\mathbf{k}_2+2\mathbf{k}_3+\mathbf{k}_4\right) \\ \end{aligned}

    RK4는 정확도와 계산 비용 사이의 균형이 뛰어나기 때문에, 다양한 분야에서 널리 사용되고 있다.

  • 피카르 반복법(Picard Iteration)
    피카르 반복법은 해를 다음과 같은 형태로 점진적으로 근사해 나가는 방법이다.

    x(k+1)(t)=x(0)+0tv(x(k)(s),s) ds\mathbf{x}^{(k+1)}(t)=\mathbf{x}(0)+\int_0^t\mathbf{v}(\mathbf{x}^{(k)}(s),s)~ds

    여기서 초기 함수 x(0)(t)\mathbf{x}^{(0)}(t)x(0)(0)=x(0)\mathbf{x}^{(0)}(0)=\mathbf{x}(0)을 만족하도록 선택된다.

    피카르 반복법은 이론적으로 매우 중요한 방법으로, ODE 해의 존재성과 수렴성을 논의하는 데 핵심적인 역할을 한다. 그러나 실제 계산 관점에서는, 초기 추정 함수에 대한 의존성이 크기 때문에 수렴 속도가 느린 경우가 많다.

    또한 각 반복 단계마다 시간에 대한 적분을 수행해야 하므로, 계산 비용이 상당히 커질 수 있다. 이러한 이유로 피카르 반복법은 주로 이론적 도구 로 활용되며, 실제 수치 적분에서는 다른 방법들이 선호된다.

⏳ 순방향 및 역방향 시간에서의 ODE 해법

지금까지 우리는 dx(t)dt=v(x(t),t)\frac{d\mathbf{x}(t)}{dt}=\mathbf{v}(\mathbf{x}(t),t)의 ODE를 시간 순방향(forward-in-time) 으로 푸는 경우를 살펴보았다. 즉, 초기 조건 x(0)\mathbf{x}(0)에서 출발하여, t>0t>0인 이후의 시간으로 해를 진화시키는 방식이다.

이에 반해, 역시간 적분(reverse-time integration) 은 중단 조건 x(T)\mathbf{x}(T)에서 시작하여, 더 이른 시간 t<Tt<T 방향으로 거슬러 올라가며 해를 계산한다. 이를 위해 시간을 TtT-t로 재매개변수화하면, 원래의 ODE는 다음과 같은 형태로 변환된다.

dx(t)dt=v(x(t),Tt),x(0)=x(T)\frac{d\mathbf{x}(t)}{dt}=-\mathbf{v}(\mathbf{x}(t),T-t),\quad\mathbf{x}(0)=\mathbf{x}(T)

역시간 적분은 기본적으로 순방향 적분과 동일한 수치적 방법을 사용하지만, 시간 격자는 감소하는 방향으로 진행된다는 점이 다르다.

예를 들어, 오일러 방법을 사용하고 스텝 크기를 h>0h>0로 두었을 때, t0=T,x0=x(T)t_0=T,\mathbf{x}_0=\mathbf{x}(T)에서 시작하면 업데이트 규칙은 다음과 같다.

tn+1=tnh,xn+1=xnhv(xn,tn)t_{n+1}=t_n-h,\quad\mathbf{x}_{n+1}=\mathbf{x}_n-h\mathbf{v}(\mathbf{x}_n,t_n)

수치적 적분에서는 수치적 안정성에 각별한 주의가 필요하다. 특히 상태 벡터의 일부 성분이 다른 성분들에 비해 훨씬 빠르게 변화하는 강성(stiff) 문제 의 경우에는, 안정적인 적분을 위해 매우 작은 시간 스텝이 요구된다. 이러한 상황은 한참 나중에 다룰 diffusion 모델에서의 PF-ODE(probability flow ODE) 샘플링에서 흔히 발생한다.

ODE의 경우 시간 역전(time reversal)은 이론적으로 비교적 간단하다. 이는 x(0)\mathbf{x}(0)x(T)\mathbf{x}(T)사이에 bijective mapping이 존재하므로, 단순히 시간 변수를 재매개변수화하는 것만으로 역시간 적분이 가능하기 때문이다.

그러나 이러한 성질은 확률미분방정식(SDE) 에는 성립하지 않는다. SDE는 본질적으로 무작위성을 내포하고 있기 때문에 ODE 처럼 직접적인 시간 역전이 불가능하다. 이 점에 대해서는 아래 절에서 더 자세히 살펴보겠다.


🎲 확률미분방정식의 기초

확률미분방정식(Stochastic differential equations; SDE) 은 확률적 요소를 포함하도록 확장된 상미분방정식으로, 불확실성의 영향을 받는 시스템을 수학적으로 모델링하기 위한 틀을 제공한다.

이 절에서는 SDE를 단계적으로 소개할 예정이다. 먼저 ODE의 이산화(discretization) 부터 시작하여, 이를 SDE의 이산화로 확장한다. 그리고 마지막으로 Itô 미적분과 Itô 공식 을 포함한 일반적인 형태의 SDE를 다룰 예정이다.

1️⃣ ODE에서 SDE로

먼저 상태 변수 x(t)RD\mathbf{x}(t)\in\mathbb{R}^D의 결정론적(deterministic) 변화를 기술하는 상미분방정식(ODE)부터 시작해보자.

dx(t)dt=f(x(t),t),x(0)=x0\frac{d\mathbf{x}(t)}{dt}=\mathbf{f}(\mathbf{x}(t),t),\quad\mathbf{x}(0)=\mathbf{x}_0

여기서 f:RD×[0,T]RD\mathbf{f}:\mathbb{R}^D\times[0,T]\to\mathbb{R}^D는 시간의 의존하는 속도장(velocity field) 으로, x(t)\mathbf{x}(t)의 동역학을 지배한다. 이 ODE의 해는 시간 tt에 따른 매끄러운 궤적 tx(t)t\mapsto\mathbf{x}(t)이며, 초기 조거 x0\mathbf{x}_0에 의해 완전히 결정된다.

🧱 이산화 관점

위 ODE를 작은 시간 간격 Δt\Delta t에 대해 오일러 방법으로 이산화해보자.

xt+Δt=xt+f(xt,t)Δt\mathbf{x}_{t+\Delta t}=\mathbf{x}_t+\mathbf{f}(\mathbf{x}_t,t)\Delta t

이 근사는 Δt0\Delta t\to0일수록 더 정확해지며, f\mathbf{f}에 대해 표준적인 정규성 조건이 만족되면 ODE의 정확한 해로 수렴한다.

🎰 무작위성의 도입

현실 세계의 많은 시스템에서는 동역학을 완벽하게 안다고 가정하는 것이 비현실적이다. 잡음(noise), 불확실성, 혹은 모델링되지 않은 상호작용이 시스템의 진화에 영향을 미칠 수 있다. 이러한 무작위성을 반영하기 위해 ODE에 확률적 항을 다음과 같이 추가한다.

xt+Δt=xt+f(xt,t)Δt+g(t)Δtϵt\mathbf{x}_{t+\Delta t}=\mathbf{x}_t+\mathbf{f}(\mathbf{x}_t,t)\Delta t+g(t)\sqrt{\Delta t}\cdot\boldsymbol\epsilon_t

여기서

  • g:[0,T]Rg:[0,T]\to\mathbb{R}확산 계수(diffusion coefficient) 로, 상태와 시간 모두에 의존할 수도 있지만, 여기서는 시간에만 의존한다고 가정한다.
  • ϵtN(0,ID)\boldsymbol\epsilon_t\sim\mathcal{N}(\mathbf{0},\mathbf{I}_D)는 서로 독립인(i.i.d.\text{i.i.d.}) 표준 Gaussian 벡터이다.

이렇게 수정된 업데이트 규칙은 결정론적인 drift 뿐만 아니라, Δt\sqrt{\Delta t}로 스케일된 확률적 섭동(random perturbation) 까지 함께 반영한다. 이 스케일링은 Δt0\Delta t\to0의 극한에서 확률적 항이 발산하지 않고 유한하게 유지되도록 보장한다.

중요한 점은, 이러한 정식화가 Δt0\Delta t\to0일 때 연속 시간 확률 과정(continuous-time stochastic process) 을 자연스럽게 유도하며, 그 결과 도출되는 수학적 틀이 바로 확률미분방정식(SDE)라는 것이다.

✨ 확률미분방정식(SDE)

형식적으로, 위의 이산 업데이트 식을 Δt0\Delta t\to0으로 보낸 극한이 다음과 같은 확률미분방정식(SDE)을 정의한다.

dx(t)=f(x(t),t)dt+g(t)dw(t)d\mathbf{x}(t)=\mathbf{f}(\mathbf{x}(t),t)dt+g(t)d\mathbf{w}(t)

여기서 w(t)RD\mathbf{w}(t)\in\mathbb{R}^DWiener 과정, 즉 표준 브라운 운동(standard Brownian motion) 으로, 다음과 같은 성질을 갖는 연속 시간 확률 과정이다.

  • 초기 상태: 거의 확실하게(almost surely) w(0)=0\mathbf{w}(0)=\mathbf{0}이다.
  • 독립 증가량: 0s<t0\le s<t에 대해 증가량 w(t)w(s)\mathbf{w}(t)-\mathbf{w}(s)는 과거의 값들과 독립이다.
  • Gaussian 증가량: w(t)w(s)N(0,(ts)ID)\mathbf{w}(t)-\mathbf{w}(s)\sim\mathcal{N}(\mathbf{0},(t-s)\mathbf{I}_D)
  • 연속성: 표본 경로 tw(t)t\mapsto\mathbf{w}(t)는 거의 확실하게 연속이지만, 어느 점에서도 미분 가능하지는 않다.

또한 다음과 같은 표기법을 자주 사용한다.

dw(t):=w(t+dt)w(t)d\mathbf{w}(t):=\mathbf{w}(t+dt)-\mathbf{w}(t)

이는 Wiener 과정의 무한소 증가량을 나타내기 위한 기호이다. 다만 이 표기법은 직관적인 의미를 전달하기 위한 형식적 표현일 뿐, 리만 적분이나 르베그 적분에서의 고전적인 미분처럼 해석해서는 안 되는데, 브라운 운동의 경로는 거의 확실하게 어디에서도 미분 가능하지 않기 때문이다.

대신 이 표기는 Gaussian 증가량 성질을 간결하게 표현하는 역할을 한다.

dw(t)N(0,dtID)d\mathbf{w}(t)\sim\mathcal{N}(\mathbf{0},dt\mathbf{I}_D)

즉, 길이가 dtdt인 무한소 시간 구간 동안 Wiener 과정의 증가량은 평균이 0\mathbf{0}이고 공분산이 dtIDdt\mathbf{I}_D인 Gaussian 확률변수처럼 거동한다는 의미이다.

2️⃣ SDE 식에 대한 추가 설명

dx(t)=f(x(t),t)dt+g(t)dw(t)d\mathbf{x}(t)=\mathbf{f}(\mathbf{x}(t),t)dt+g(t)d\mathbf{w}(t)에 나타난 SDE는 미분 형태가 아니라, 다음과 같은 적분 형태로 이해해야 한다.

x(t)=x(0)+0tf(x(s),s) ds+0dg(s) dw(s)\mathbf{x}(t)=\mathbf{x}(0)+\int_0^t\mathbf{f}(\mathbf{x}(s),s)~ds+\int_0^dg(s)~d\mathbf{w}(s)

이 식은 Itô 관점에서 해석된다. 여기서 첫 번째 항은 누적된 결정론적 drift를 나타내는 고전적인 적분이며, 두 번째 항은 Wiener 과정 w(t)\mathbf{w}(t)에 대해 적분하는 Itô 확률 적분(Itô stochastic integral)이다. 지금 이 정에서는 Itô 적분의 엄밀한 수학적 구성까지는 다루지 않고, 대신 직관적인 설명을 서술할 예정이다.

💡 Itô 적분에 대한 직관

Itô 적분은 다음과 같은 이산 합의 (확률적 의미에서의) 극한으로 볼 수 있다.

ig(ti)(w(ti+1)w(ti))\sum_ig(t_i)(\mathbf{w}(t_{i+1})-\mathbf{w}(t_i))

여기서 적분 함수 g(t)g(t)는 각 부분 구간의 왼쪽 끝점(left endpoint) tit_i에서 평가된다. 이 왼쪽 끝점 평가 방식은 매우 중요하며, 중점(ti+1+ti2\frac{t_{i+1}+t_i}{2})이나 다른 평가 규칙을 사용하는 고전적 적분과 Itô 적분을 구분하는 핵심적인 특징이다.

브라운 운동의 경로는 연속이지만 겨의 확실하게 어디에서도 미분 가능하지 않기 때문에, 고전적인 적분 개념은 그대로 적용될 수 없다. Itô 적분은 이러한 불규칙성을 처리하여, 시간에 따라 누적되는 확률적 요동(stochastic fluctuations)의 효과를 정확하게 포착한다.

미분 표기법의 사용
dx(t)d\mathbf{x}(t), dtdt, dw(t)d\mathbf{w}(t)와 같은 표현은 고전적인 의미의 미분이 아니다. 대신 이들은 각각의 과정이 가지는 무한소 증가량(infinitesimal increment)을 나타내는 형식적인 표기이다.

비록 직관적인 표기이기는 하지만, ODE와 유사한 형태로 SDE를 표현할 수 있게 해주고, Itô 미적분 내에서의 형식적 계산을 가능하게 해주기 때문에 널리 사용된다.

Itô 미적분이 diffusion 모델들에 어떻게 적용되는지는 추후에 다룰 예정이다.

👯 ODE와의 비교

ODE의 경우, 예를 들어

dx(t)dt=f(x(t),t)\frac{d\mathbf{x}(t)}{dt}=\mathbf{f}(\mathbf{x}(t),t)

와 같은 식에서는, 다음과 같은 적분 형태

x(t)=x(0)+0τf(x(τ),τ) dτ\mathbf{x}(t)=\mathbf{x}(0)+\int_0^\tau\mathbf{f}(\mathbf{x}(\tau),\tau)~d\tau

미적분학의 기본정리(fundamental theorem of calculus) 에 의해 정당화된다. 이 정리는 미분 가능한 함수는 그 도함수로부터 다시 복원될 수 있음을 보장한다.

반면 SDE의 경우에는 이러한 정리에 직접 대응되는 결과가 존재하지 않는다. 그 이유는 앞서 말했듯이, 브라운 운동이 미분 가능하지 않으며, 확률 적분이 고전적인 연쇄법칙(chain rule)을 따르지 않기 때문이다. 대신 Itô 미적분은 확률적 동역학을 분석하고 조작하기 위한 대안적인 도구들을 도입한다.

따라서 SDE에서 사용하는 미분 표기법은 간결하고 직관적이지만, 이를 엄밀하게 이해하기 위해서는 반드시 Itô 적분을 사용한 적분 형태를 통해 해석해야 한다.

3️⃣ SDE를 위한 수치적 해법

ODE와 마찬가지로, 위 식에서 주어진 SDE 역시 함수 f(,t)\mathbf{f}(\cdot,t)g()g(\cdot)가 일정한 매끄러움 조건을 만족하면 유일한 해를 갖는다. 구체적으로 f(,t)f(\cdot,t)x\mathbf{x}에 대해 Lipschitz 연속이며 선형 성장(linear growth) 조건을 만족해야 하고, g()g(\cdot)제곱 적분 가능(square integrable) 해야 한다.

dx(t)=f(x(t),t)dt+g(t)dw(t)d\mathbf{x}(t)=\mathbf{f}(\mathbf{x}(t),t)dt+g(t)d\mathbf{w}(t)과 같은 일반적인 SDE에 대해서는 closed-form 해를 구할 수 없는 경우가 대부분이므로, 수치적 방법이 필요하다. 가장 널리 사용되는 방법 중 하나가 Euler-Maruyama 방법 으로, 이는 ODE에서 오일러 방법을 확률적 설정으로 확장한 것이다.

Euler-Maruyama 방법은 시간 간격 Δt\Delta t동안 drift 항 f(x(t),t)\mathbf{f}(\mathbf{x}(t),t)을 근사하고, 확률 잡음 항 g(t)dw(t)g(t)d\mathbf{w}(t)ϵtN(0,I)\boldsymbol\epsilon_t\sim\mathcal{N}(\mathbf{0},\mathbf{I})인 Gaussian 난수에 Δt\sqrt{\Delta t}를 곱한 Δtϵt\sqrt{\Delta t}\boldsymbol\epsilon_t를 사용해 시뮬레이션한다.


✅ 정리

확산 모델은 이산적인 노이즈 추가 \cdot 제거 과정으로 보이지만, 연속 시간 관점으로 확장하면 하나의 미분방정식 혹은 확률미분방정식(SDE) 을 푸는 문제로 재해석된다. ODE는 주어진 초기 상태로부터 이후의 궤적이 완전히 결정되는 결정론적 시스템을 기술하며, 적절한 Lipschitz 조건과 성장 조건이 만족되면 해의 존재성과 유일성이 보장된다. 그러나 대부분의 경우 닫힌 해를 구할 수 없기 때문에, 시간 이산화를 통한 수치적 적분(오일러, Runge–Kutta 등)이 실제 계산의 핵심 역할을 한다.

SDE는 이러한 ODE에 무작위성을 도입한 확장으로, 브라운 운동에 의해 유도되는 확률적 요동을 포함한다. 이때 SDE는 미분 형태가 아니라 Itô 적분을 통한 적분 형태로 해석되어야 하며, 고전적인 미적분의 연쇄법칙은 성립하지 않는다. 일반적인 SDE 역시 닫힌 해를 갖지 않으므로, 오일러 방법을 확률적으로 확장한 Euler–Maruyama 방법이 기본적인 수치 해법으로 사용된다. 이 연속 시간 정식화는 DDPM과 점수 기반 모델을 하나의 Score SDE 틀로 통합해 주며, 수치해석적 도구를 활용해 확산 모델을 보다 원리적으로 이해하고 개선할 수 있는 기반을 제공한다.


📄 출처

[1] Lai, Chieh-Hsin, et al. The Principles of Diffusion Models. arXiv, 24 Oct. 2025, arXiv:2510.21890.

profile
Korea Univ. Computer Science & Engineering

0개의 댓글