1. Forward Process

Diffusion 모델의 기본 골자는 원본 이미지에 노이즈를 더하는 프로세스를 고정하고, 노이즈에서 원본 이미지를 생성하는 모델을 학습하는 것이다.

정확히는 이전 step에서 약간의 노이즈를 더해 다음 step을 생성하고, 학습하는 모델은 다음 step에서 약간의 노이즈를 빼서 이전 step을 생성하는 것이지만, 이 과정이 꼭 체이닝을 통해서 일어날 필요가 없다는 점에서 전자의 설명이 더 나아보이기도 한다. ( 에 대해 바로 해당 step의 노이즈를 생성할 수 있기 때문)

이 과정을 논리와 의도의 전개 과정에 따라 자연스럽게 끝까지 훑어보고자 한다.

1.1. 노이즈 더하기

일단 어떻게 노이즈를 더하고 빼는 생각을 했는지는 나중에 추가적으로 삽입하여 이전에 기술하는게 좋겠다. 지금은 Diffusion을 설명하기도 힘드니… TODO

전체 데이터셋 에 대해 를 샘플링하였다고 하자.

우리의 목표는 step 에서 분산이 인 노이즈를 추가하는 과정을 반복하여 최종 step 에서 샘플 가 본래의 분포를 모두 잃어버리고 가우시안 분포 을 따르게 하는 것이다.

먼저 노이즈를 추가하는 과정을 생각해보자. 노이즈를 추가하였을 때 샘플의 분산이 이길 바라므로 가우시안 변수의 선형결합의 특성 (가우시안 변수의 선형 결합의 분산은 각 가우시안 변수의 분산의 제곱합)에 따라 를 분산으로 가지는 가우시안 노이즈를 더해야 할 것 같다.

이 상황에서 샘플 로부터 샘플 , , 나아가 샘플 가 생성될 조건부 확률은 다음과 같이 표현할 수 있다.

그런데 분명 우리는 노이즈 프로세스의 마지막에서 로 분포를 끌어와야 하는데 정작 평균은 , 분산은 로 폭발하고 있다.

따라서 우리는 먼저 평균을 중앙(0)으로 끌어와야 한다.

이를 위해 를 분산으로 갖는 노이즈를 섞을 때 계수로 설정하고 정리하면

여기서 라 하면,

이때 의 분포는 다음과 같이 정의할 수 있게 되고, 분산항을 전개 후 정리하여 간단하게 쓸 수 있다.

이제 에서 으로 접근하게끔 적절히 설정된 에 대해 우리는 의 정규분포를 기대할 수 있게 되었다!

지금까지 우리는 를 고정된 상수값으로 계산했지만 실제로는 가 일정하지 않고 에 따라 선형으로 증가할 때 모델의 학습능력이 좋아짐이 알려져 있다. 이는 작은 가 커져도 가 정규분포에 수렴하지 못하게 하고, 큰 는 초반 step부터 너무 많은 노이즈를 추가해 학습의 효용성을 떨어트리기 때문이다. 따라서 DDPM 논문에서는 step 에 따라 까지 선형적으로 증가시키고 , 로 정의하여 동일한 과정으로 유도한다.

여기서 앞선것과 같이 분산항을 전개하면,

깔끔하게 정리된 정규분포 식을 얻을 수 있다.

이로써 노이즈를 추가하는 프로세스 자체는 마르코프 체인이면서도 특정 step 에서의 샘플 의 분포 을 즉시 구할 수 있게 되었다.

1.2. Langevin 방정식과의 연결

지금까지 우리는 단순한 논리적 직관에 의해 노이즈를 추가하는 Forward process를 정의해 왔다. 이제 이를 Langevin 샘플링과 연결할 수 있는 논리를 찾아가보자.

Langevin Sampling은 물리, 통계역학, 머신 러닝 등에서 어떤 확률 분포로부터 샘플을 생성하는 방식으로 랑주방 역학을 그 기반으로 한다. Langevin 방정식은 기존에 분자의 불규칙적 운동을 시뮬레이션하기 위해 마찰과 랜덤 힘을 포함한 확률 미분 방정식이며, 이를 통해 특정 분포에서의 샘플링을 구현할 수 있다.

1.2.1. 뉴턴방정식을 통한 입자의 운동 서술

먼저 뉴턴 방정식에서 유도를 시작해보자.

이해하기 쉽게 입자의 시간 에 따른 입자의 위치를 단변량 스칼라로써 라 하고 운동 방정식을 서술하면

위와 같이 입자의 가속에 관여하는 을 세가지 힘의 합산으로 생각할 수 있다.

  1. 결정론적 힘 외부 포텐셜 에너지 가 존재할 때, 은 포텐셜의 음수 그래디언트이다.
  1. 마찰력 용매 속에서 입자가 운동할 때 용매분자와의 충돌로 인해 작용하는 마찰력은, Stokes의 법칙에 따른다. 입자의 속력과 직경이 매우 작으므로 작은 레이놀즈 수 에 대해 입자에 작용하는 마찰력은 속도 에 선형으로 비례하다 가정할 수 있다.
  1. 랜덤 힘 용매 분자와의 무작위 충돌은 확률적 힘을 생성한다. 이 힘은 평균이 0이고, 매우 빠르게 변동하는 특성을 가지며, 백색 잡음(white noise)으로 모델링된다. 이를 로 나타내며, 다음과 같은 통계적 특성을 이때 는 다음의 특성을 가진다.

는 백색잡음 가 서로 다른 시간 에서 완전히 독립적이어서 한 시점의 랜덤 힘이 다른 시점의 랜덤 힘과 전혀 무관함을 의미한다.

위의 3가지 힘 중 의 크기는 Langevin 방정식에서 열역학적 평형과 관련되어 Fluctuation-Dissipation Theorem에 따라 마찰력과 균형을 이루도록 설정된다. 이 세기는 온도 와 마찰 계수 에 의존하며, 다음과 같이 표현된다.

이제 다시 처음의 방정식을 완성하면,

이 방정식은 입자의 가속도를 포함한 2차 미분 방정식으로, underdamped Langevin dynamics라고 불린다. 이는 입자의 관성(inertia)이 중요한 시스템(예: 상대적으로 큰 입자)에 적합하다.

그러나 우리는 관찰하고자 하는 입자의 운동은 분자수준의 움직임을 시뮬레이션 하는 것이므로 (특히 Sampling) 마찰()이 매우 크거나 질량()이 매우 작아 가속도 가 빠르게 0에 접근하는 Overdamped Langevin dynamics를 생각해볼 수 있다.

일반성을 잃지 않기 위해 로 설정하고 식을 풀어보면 아래의 식이 도출된다.

1.2.2. Wiener Process

위 식에서 를 더 자세히 살펴보자.

사실 이 를 설명하는 함수가 Wiener-Process 이다.

Wiener-Process는 수학적으로 다음의 조건을 만족하는 연속 확률 과정이다.

  1. : 시작점이 0
  2. : step 에 따라 점차 확산
  3. : 는 독립적으로 증가한다.

이러한 조건을 만족하는 Wiener-Process 는 거의 확실하게 연속적이지만 미분이 불가능한, 브라운 운동의 수학적 모델이다.

이제 우리가 보아왔던 백색소음 는 이러한 의 일반화 함수로써 다음과 같이 정의할 수 있다. (실제로 가 미분 가능하다는게 아니다! 의 미분을 추상화하는 함수일 뿐이다.)

이렇게 재정의된 는 다음의 특성을 가지고, 우리가 앞에서 정의했던 의 특성과 정확히 일치함을 알 수 있다.

이제 다시 원래의 식으로 돌아가 에 대한 식으로 정리하면

위와 같은 확률 미분 방정식(SDE)으로 나타낼 수 있고, 이것이 우리가 바라던 overdamped Langevin 방정식이다.

그렇다면 의 계수 는 어떻게 도출된 것일까? 이는 임의로 설정된 것이 아니라, 열역학적 평형을 보장하기 위해 필요하다.

이를 유도하기 위해 Fluctuation-Dissipation Theorem을 고려해야 하는데, 이 정리는 마찰력(소산, Dissipation)과 랜덤 힘(변동, Fluctuation)이 열역학적 평형에서 균형을 이루도록 요구한다. 결과적으로 이 항은 시간이 흐름에 따라 어떤 분포를 우리가 원하는 임의의 분포로 끌고감을 보장한다.

1.2.3. Fokker-Plank 방정식

평형 상태에서 입자의 운동 에너지는 온도 에 따라 Boltzmann 분포를 따른다. overdamped 경우를 분석하기 위해, 포텐셜이 없는 단순한 경우()를 가정하고 Fokker-Planck 방정식을 사용한다.

Fokker-Planck 방정식은 확률 과정의 시간에 따른 확률 밀도 함수 의 발전을 기술하는 편미분 방정식으로, Langevin 방정식과 같은 SDE의 확률적 동역학을 분석하는 데 사용된다.

먼저 앞에서 보아온 것과 유사하게 일반적인 SDE의 폼이 다음과 같이 주어질 때

  • : 결정론적 힘 (Drift)
  • : 랜덤 힘 (Diffusion)
  • : Wiener Process의 증분

이 SDE에 해당하는 확률 밀도 함수 에 대응하는 Fokker-Planck 방정식을 유도해보자.

1.2.4. Ito 적분

먼저 우리는 확률과정 Wiener Process 을 포함하는 함수를 적분하기에 고전 미적분이 아닌 Ito 미적분을 이용해야 한다.

Ito 미적분에서는 적분변수 에 대해 다음의 적분 규약을 따른다.

Ito 해석은 Wiener Process와 같이 그 경로가 불분명한 확률적 함수에 대해 적분을 계산하기 위해 나왔다. 를 계산할 때 보았듯이 는 분명 연속이지만 무한한 총 변화량을 가지고, 그 경로 또한 무작위이기에 미분이 불가능하다. 그렇다면 를 적분 변수로 가지는 경우에는 어떻게 적분해야 할까?

이를 해결하기 위해 Ito 해석을 사용하고 여기에서는 를 고전 미적분학의 미소 변화량이 아닌 확률적 무작위 섭동량으로 해석한다.

먼저 시간 변화 에 대해 Wiener Process 의 변화량을 라 하면, 이는 다음과 같은 분포를 띨 것이다.

즉, 이 확률변수의 평균은 , 분산은 이므로 같은 확률 변수에 대해 2차모멘트를 구하면 그 값 또한 분산과 동일하다.

이제 , 로 보내면 Wiener Process의 확률적 분포 성질로부터 도출되는 Ito 해석의 중요한 성질이 나온다.

여기서 중요한 것은 인데, 확률 해석에서 의 내부에는 항이 존재하기에 를 포함하는 함수 에 대해서 미분을 적용할 때에 기존의 미적분 성질로는 미소변화량으로 간주되어 사라져야하는 내부에 0으로 근사할 수 없는 항이 남게 된다.

따라서 확률적 함수를 포함하는 를 갖는 합성함수 의 미분에 대해서는, 고전 미적분의 체인룰이 아닌 다음의 체인룰을 따르게 된다.

이는 Ito 적분을 할 때에도 유의하여야 할 점이다. 다음의 적분을 보자.

이 적분을 기존의 고전 적분으로 푼다면 다음의 결과를 얻는다.

하지만 확률과정을 포함하는 적분에서는 위 계산이 틀리게 된다.

위 적분식의 의미를 생각해보면 step 에서의 무작위 섭동량 Wiener Process 에 대해 그 크기를 적분하는 것이다. 이 적분의 댓값을 계산해보자. 기댓값은 당연하지만 가 샘플링 되는 분포 에 의해 0이 되어야 한다.

이번에는 Ito적분의 보정항을 포함하여 다시 계산하면,

이렇게 계산한 적분의 기댓값을 구해보면

정상적인 기댓값 0으로써 Ito 적분의 성질을 만족한다는 것을 알 수 있다.

여기에 더해, Ito 적분을 사용하는 함수 는 고전 해석과는 다른 추가적인 조건을 필요로 한다.

고전 해석에서는 함수 가 연속이면 OK지만, 확률 해석에서는 “적분 구간 안에서 확률적 충돌이 생기지 않아야” 한다. 적분 구간 안에서 확률적 충돌이 생기지 않는다는 것은, 함수 가 시점 이전의 정보 에만 의존하여 확률 적분 정의에서 시간적 순서를 어기지 않음을 말한다.

확률과정은 미래의 경로에 대해 아무것도 알 수 없기 때문에, 미래의 정보를 포함할 수 없다.

만약 에서 를 “미리 보고 계산”하게 된다면 이는 예측할 수 없는 랜덤한 결과가 다시 결과를 조절하는 순환 참조의 문제를 발생시킨다.

따라서 확률 적분에서 를 적분변수로 적분하는 함수 는 non-anticipating (비예측성)을 만족해야 하고, 이는 곧 Ito 적분의 필수 전제 조건이 된다.

만약 Ito 적분의 커널함수 가 anticipating한 함수인 경우 어떤 문제가 생기는지도 살펴보자.

이 적분의 커널함수 는 언뜻 상수처럼 보이지만, 확률적분에 있어서 전구간 에서 마지막 시점 를 보고 있는 함수이기에 분명히 anticipating 하다. 따라서 이 적분의 기댓값을 구해보면,

0이 아닌 기댓값이 나와, Ito 적분의 특성에 위배됨을 알 수 있다.

1.2.5. SDE 정리

이제 다시 돌아가 우리가 분석하려던 SDE를 살펴보자.

이 확률 변수 를 입력으로 가지는 임의의 함수 를 정의하고 이 함수의 변화량 를 계산하면,

양변에 기댓값을 취하면 Wiener Process의 특성에 의해 이 되어,

이렇게 구한 기댓값 는 우리가 SDE를 세운 확률변수 에 대한 확률밀도함수 로 나타낼 수도 있다.

이 기댓값에도 동일하게 미분을 취하는데, 어디에 미분을 취할지 우리는 선택할 수 있다.

먼저 에 미분을 취할 때를 계산해보자.

이제 각 항을 부분적분으로 정리하면,

이제 반대로 에 미분을 취하는 경우를 보면,

이 두가지 케이스를 비교하면 결국 다음의 Fokker-Planck 방정식을 도출할 수 있다.

1.2.6. 확률 흐름

이 Fokker-Planck 방정식을 연속 방정식 형태로 다시 표현할 수도 있다.

여기서 우리는 확률 보존 원리(Principle of Probability Conservation)를 사용한다.

확률 보존 원리는 “확률 질량은 생성되거나 소멸되지 않으며, 다만 공간상에서 이동(흐름)할 뿐이다.”로, 폐곡선 내부의 총 확률은 그 안으로 들어오거나 나가는 확률 흐름의 합에 따라 변한다는 물리적 직관에 기반한다.

즉, 시간에 따라 확률 밀도 함수가 변화하더라도 전체 확률 총합은 항상 1이라는 것이다.

연속 방정식의 일반형

에서 는 우리가 다루는 확률 질량 로, 는 우리가 가정한 단변량 에 기반하여 다음과 같이 서술할 수 있다.

이는 위치 , 시간 에서의 확률 질량이 있을 때 미소시간 동안 변화한 확률 질량 는 곧, 미소 범위 에서의 유량 차이에 의해 변화한 확률질량의 음수 와 같다는 의미이다.

쉽게말해 동일한 확률질량의 변화라는 현상을 시간 에 대해 서술할지, 위치 에 대해 서술할지의 차이 정도라고 생각할 수 있다.

이때의 를 확률 흐름(확률 전류, Probability Current)이라 한다.

이 확률 방정식을 우리가 구한 Fokker-Planck를 비교하면

위의 Probability Current 를 도출할 수 있다.

1.2.7. 평형 분포 계산

Langevin 방정식은 열역학적 평형에서 입자의 위치 가 canonical ensemble에 따라 분포한다고 가정하고, 이 분포는 다음의 Boltzmann 분포로 주어진다.

이제 우리가 원하는 임의의 확률분포를 라 하고 볼츠만 분포의 형식으로 바꿔보자.

를 기존의 SDE에 대입하면

우리가 구한 Fokker-Planck 방정식을 연립하면,

우리가 원하는건 평형 상태에서 가 되는 것이므로 평형 조건 을 대입하고 로 소거하면,

이 방정식을 만족하려면 의 내부항이 상수여야 한다.

보통의 (적절히 정규화된) 확률분포는 경계조건 에서 , 이므로 상수 는 0임을 유추할 수 있다.

이제 평형 조건에 의해, 평형상태의 분포 가 전구간 에서 다음의 조건을 만족해야한다.

가능성은 다음의 두가지가 있다.

이 중 첫번째는 확률 밀도 함수의 조건 을 위반하므로 불가능하다. 따라서 2번의 경우만이 가능하고 이는 의 로그 기울기가 같음을 의미한다.

이 미분방정식을 풀기 위해 로 가정하면,

는 모두 확률밀도함수이므로 , 을 만족해야 한다.

이 정규화 조건을 만족하려면 이므로 따라서

평형상태의 해를 구할 수 있다.

이는 궁극적으로, 우리가 정의한 SDE

를 따르는 연속 확률 과정을 통해 어떠한 분포 라도 목표 분포 로 이동시킬 수 있음을 알려준다.

지금까지 우리는 연속 확률 과정을 통해 목표 분포로 이동시키는 과정을 유도했다. 하지만, 이를 현실에서 구현하기 위해서는 이산화가 필요하다.

Euler-Maruyama 공식에 따라 SDE

를 시간 간격 으로 근사하면

이 된다. 이를 우리가 구한 SDE에 적용하면

위의 ULA(Unadjusted Langevin Algorithm)을 얻을 수 있다.

하지만 여전히 이 커질 때 생기는 ULA의 태생적 오차를 가지고 있다.

이를 보정하기 위해 MALA(Metropolis-Adjusted Langevin Algorithm)를 사용할 수 있지만, diffusion에서는 backpropagation과 계산 효율 등의 이유로 어차피 MALA를 쓰기에 부족절하므로 ULA로 한정하여 설명할 수 있다.

1.2.8. 다변량 벡터 방정식으로의 전환

이제 마지막으로 우리가 지금까지 유도한 방정식을 벡터에 대한 방정식으로 재구성해보자.

단변량 가 아닌 다변량 에 대한 식으로 바꾸면 비슷한 과정을 통해 아래의 결과를 얻을 수 있다.

  • 뉴턴 방정식에 따른 입자의 운동
  • SDE 도출
  • 목표 분포 를 얻기 위한 설정
  • 최종 SDE
  • ULA 이산화

최종적으로 얻은 다변량 에 대한 ULA 이산화 공식을 마지막으로 풀어 해석해보면,

  • 포지션 에서의 에너지 기울기 가 향하는 방향으로 움직이게 하는 Drift 이 에너지는 우리가 목표하는 분포의 확률 질량 함수의 로그 기울기로 설정

  • 정규분포에서 샘플링된 노이즈 를 일정 비율로 추가하는 Diffusion

  • 에 따른 에너지 정도를 조절

1.3. Langevin 샘플링과의 비교

우리가 원분포 에서 이동시키고 싶은 분포를 라 할 때, 위에서 얻은 Langevin 샘플링의 ULA와 기존에 우리가 세운 식을 비교해보자. Forward Process에서 이었다.

  • DDPM
  • Langevin Sampling

비슷한 연결고리가 보이는가?

형태는 조금 다르지만, 둘 모두 데이터를 분포의 “경향”대로 이동시키는 Drift 항과 노이즈를 추가하는 Diffusion 항으로 구성되어 있다.

다만 DDPM은 적절히 설정된 를 통해 특정 step 가 되었을 때 가 원분포를 잃고 이 되는 것을 “보장”하며, 특정 step 에서의 분포 를 closed-form으로 쉽게 샘플링하기 위해 (또한, 후술할 Backward Process를 위해) 적절히 설정되었다는 것을 기억하자.

2. Loss