맨위로가기

확산 모델

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

확산 모델은 2015년 비평형 열역학을 기반으로 처음 제안되었으며, 2020년 DDPM(탈잡음 확산 확률 모델)의 등장으로 성능이 크게 향상되었다. 확산 모델은 데이터에 노이즈를 점진적으로 추가하는 순방향 확산 과정과 노이즈로부터 데이터를 생성하는 역방향 확산 과정으로 구성된다. 주요 변형으로는 DDIM, LDM, 분류기 유도, 분류기 없는 유도, 흐름 기반 확산 모델, 정류 흐름 등이 있다. 확산 모델은 이미지 생성, 이미지 편집, 이미지 복원, 비디오 생성 등 다양한 분야에 응용되며, 계산 비용, 샘플링 속도, 제어 가능성과 같은 한계와 과제를 가지고 있다.

더 읽어볼만한 페이지

  • 기계 학습 알고리즘 - 강화 학습
    강화 학습은 에이전트가 환경과의 상호작용을 통해 누적 보상을 최대화하는 최적의 정책을 학습하는 기계 학습 분야이며, 몬테카를로 방법, 시간차 학습, Q-러닝 등의 핵심 알고리즘과 탐험과 활용의 균형, 정책 경사법 등의 다양한 연구 주제를 포함한다.
  • 기계 학습 알고리즘 - 기댓값 최대화 알고리즘
  • 마르코프 모형 - 강화 학습
    강화 학습은 에이전트가 환경과의 상호작용을 통해 누적 보상을 최대화하는 최적의 정책을 학습하는 기계 학습 분야이며, 몬테카를로 방법, 시간차 학습, Q-러닝 등의 핵심 알고리즘과 탐험과 활용의 균형, 정책 경사법 등의 다양한 연구 주제를 포함한다.
  • 마르코프 모형 - 칼만 필터
    칼만 필터는 잡음이 있는 측정값들을 이용하여 선형 동적 시스템의 상태를 추정하는 재귀 필터로, 예측과 보정 단계를 반복하며 항법 시스템, 레이더 추적, 컴퓨터 비전 등 다양한 분야에 응용된다.
  • 통계학에 관한 - 비지도 학습
    비지도 학습은 레이블이 없는 데이터를 통해 패턴을 발견하고 데이터 구조를 파악하는 것을 목표로 하며, 주성분 분석, 군집 분석, 차원 축소 등의 방법을 사용한다.
  • 통계학에 관한 - 회귀 분석
    회귀 분석은 종속 변수와 하나 이상의 독립 변수 간의 관계를 모델링하고 분석하는 통계적 기법으로, 최소 제곱법 개발 이후 골턴의 연구로 '회귀' 용어가 도입되어 다양한 분야에서 예측 및 인과 관계 분석에 활용된다.
확산 모델
기본 정보
잡음 제거 확산 과정의 개략도
잡음 제거 확산 과정의 개략도
유형생성 모델
기반 이론열역학
확률론
베이즈 정리
작동 방식
작동 원리데이터에 점진적인 노이즈를 추가하여 데이터의 분포를 변환하고, 이를 역으로 수행하여 원래의 데이터를 생성.
생성 과정에서 데이터의 품질을 높이기 위해 확률 미분 방정식을 사용.
특징
특징높은 품질의 데이터를 생성 가능.
다양한 형태의 데이터 생성에 적용 가능 (이미지, 음성, 텍스트 등).
복잡한 데이터 분포를 학습하고 생성하는 데 효율적.
사용 분야
주요 응용텍스트 기반 이미지 생성
이미지 편집
음성 합성
자연어 처리
로봇 제어
관련 모델
관련 모델생성적 적대 신경망 (GAN)
변분 오토인코더 (VAE)
점수 기반 생성 모델
장점
장점GAN에 비해 학습 안정성이 높음.
VAE에 비해 더 선명하고 상세한 데이터 생성 가능.
단점
단점생성 속도가 느림.
연산 비용이 높음.
기술적 세부사항
방법론마르코프 연쇄
확률 미분 방정식 (SDE)
잡음 제거
주요 알고리즘Denoising Diffusion Probabilistic Models (DDPM)
Score-Based Generative Modeling
역사
초기 연구Sohl-Dickstein et al. (2015)
발전Ho et al. (2020)에 의해 개념 발전 및 이미지 생성 분야에서 주목받음.
기타
활용 예시DALL-E
Stable Diffusion
Imagen

2. 역사

확산 모델은 2015년에 비평형 열역학, 특히 확산의 기술을 사용하여 매우 복잡한 확률 분포에서 표본을 추출할 수 있는 모델을 학습하는 방법으로 도입되었다.[13]

예를 들어, 자연 발생하는 모든 사진의 분포를 모델링하는 방법을 생각해 보자. 각 이미지는 모든 이미지 공간의 한 점이며, 자연 발생하는 사진의 분포는 공간 속의 "구름"과 같다. 이미지에 반복적으로 노이즈를 추가하면 구름이 가우스 분포 N(0, I)와 거의 구분할 수 없을 때까지 이미지 공간의 나머지 부분으로 확산된다. 그러면 확산을 거의 되돌릴 수 있는 모델을 사용하여 원래 분포에서 표본을 추출할 수 있다. 최종 분포와 달리 초기 분포가 평형 상태에 있지 않으므로 이는 "비평형" 열역학에서 연구된다.

평형 분포는 pdf \rho(x) \propto e^{-\frac 12 \|x\|^2}를 갖는 가우스 분포 N(0, I)이다. 이것은 온도 1에서 포텐셜 우물 V(x) = \frac 12 \|x\|^2에 있는 입자의 맥스웰-볼츠만 분포이다. 초기 분포는 평형 상태에서 매우 벗어나 있으므로 순수한 무작위성(예: 브라운 운동자)과 포텐셜 우물 아래로의 경사 하강의 합인 편향된 무작위 단계를 만들면서 평형 분포로 확산된다. 무작위성은 필수적이다. 입자가 경사 하강만을 수행한다면 모든 입자가 원점으로 떨어져 분포가 붕괴될 것이다.

3. 수학적 원리

확산 모델은 2015년에 복잡한 확률 분포에서 샘플을 추출하는 방법으로 도입되었다. 이는 비평형 열역학, 특히 확산의 원리를 이용한다.[13]

예를 들어, 자연 사진의 분포를 모델링하는 경우, 각 이미지는 이미지 공간의 한 점이며, 자연 사진의 분포는 이 공간 속의 "구름"과 같다. 이미지에 반복적으로 노이즈를 추가하면, 이 구름은 가우스 분포 N(0, I)와 거의 구분할 수 없을 때까지 퍼져나간다. 이 확산 과정을 거의 되돌릴 수 있는 모델을 사용하면, 원래 분포에서 샘플을 추출할 수 있다.

확산 모델은 크게 순방향 확산 과정역방향 확산 과정으로 구성된다.


  • 순방향 확산 과정: 데이터에 점진적으로 가우시안 노이즈를 추가하여 데이터를 완전히 노이즈로 변환한다.
  • 역방향 확산 과정: 2020년 논문에서 제안된 탈잡음 확산 확률 모델(DDPM)은 신경망을 사용하여 노이즈로부터 데이터를 생성한다.[14][15]


이 외에도, 확산 모델은 데이터 분포의 로그 확률 밀도 함수의 기울기(점수 함수)를 추정하는 방식으로 해석한 점수 기반 생성 모델로도 볼 수 있다.[17][18][19][20]

3. 1. 순방향 확산 과정 (Forward Diffusion Process)

데이터에 점진적으로 가우시안 노이즈를 추가하여 데이터를 완전히 노이즈로 변환하는 과정이다. 이 과정은 마르코프 연쇄로 모델링되며, 각 단계에서 추가되는 노이즈의 양은 미리 정의된 노이즈 스케줄에 따라 결정된다.[13] 충분한 시간이 지나면 데이터는 정규 분포에 가까운 노이즈로 변환된다.[13]

이를 위해 약간의 표기법을 사용한다.

  • β₁, ..., βₜ ∈ (0, 1)은 고정된 상수이다.
  • αₜ := 1 - βₜ
  • ᾱₜ := α₁ ⋅⋅⋅ αₜ
  • σₜ := √(1 - ᾱₜ)
  • σ̃ₜ := (σₜ₋₁/σₜ)√βₜ
  • μ̃ₜ(xₜ, x₀) := (√αₜ(1 - ᾱₜ₋₁)xₜ + √ᾱₜ₋₁(1 - αₜ)x₀) / σₜ²
  • N(μ, Σ)는 평균 μ와 분산 Σ를 갖는 정규 분포이고, N(x | μ, Σ)는 x에서의 확률 밀도이다.
  • 세로 막대는 조건부 확률을 나타낸다.


'''순방향 확산 과정'''은 학습할 확률 분포 q인 어떤 시작점 x₀ ~ q에서 시작하여 다음과 같이 반복적으로 잡음을 추가한다.

: xₜ = √(1 - βₜ)xₜ₋₁ + √βₜzₜ

여기서 z₁, ..., zₜ는 N(0, I)에서 독립적으로 동일하게 분포된 표본이다. 이는 x₀의 시작 분포에 관계없이 limₜ→∞ xₜ|x₀이 N(0, I)로 수렴하도록 설계되었다.

그러면 전체 확산 과정은 다음을 만족한다.

: q(x₀:ₜ) = q(x₀)q(x₁|x₀)⋅⋅⋅q(xₜ|xₜ₋₁) = q(x₀)N(x₁ | √α₁x₀, β₁I)⋅⋅⋅N(xₜ | √αₜxₜ₋₁, βₜI)

또는

: ln q(x₀:ₜ) = ln q(x₀) - Σₜ₌₁ᵀ (1/(2βₜ))||xₜ - √(1 - βₜ)xₜ₋₁||² + C

여기서 C는 정규화 상수이며 종종 생략된다. 특히, x₁:ₜ|x₀이 가우스 과정임을 주목해야 하며, 이는 재매개변수화에 상당한 자유를 제공한다. 예를 들어, 가우스 과정을 사용한 표준 조작을 통해 다음을 얻는다.

: xₜ|x₀ ~ N(√ᾱₜx₀, σₜ²I)

: xₜ₋₁|xₜ, x₀ ~ N(μ̃ₜ(xₜ, x₀), σ̃ₜ²I)

특히, 큰 t에 대해 변수 xₜ|x₀ ~ N(√ᾱₜx₀, σₜ²I)는 N(0, I)로 수렴한다. 즉, 충분히 긴 확산 과정 후에는 원래 x₀ ~ q의 모든 흔적이 사라진 N(0, I)에 매우 가까운 어떤 xₜ를 얻게 된다.

예를 들어, xₜ|x₀ ~ N(√ᾱₜx₀, σₜ²I) 이므로 중간 단계 x₁, x₂, ..., xₜ₋₁를 거치지 않고 xₜ|x₀를 직접 "한 단계"로 샘플링할 수 있다.

3. 2. 역방향 확산 과정 (Backward Diffusion Process)

2020년 논문에서 제안된 탈잡음 확산 확률 모델(Denoising Diffusion Probabilistic Model, DDPM)은 신경망을 사용하여 역방향 확산 과정을 모델링한다.[14][15] 이 신경망은 매개변수 \theta로 표현되며, x_tt를 입력받아 벡터 \mu_\theta(x_t, t)와 행렬 \Sigma_\theta(x_t, t)를 출력한다. 이를 통해 순방향 확산 과정의 각 단계는 x_{t-1} \sim N(\mu_\theta(x_t, t), \Sigma_\theta(x_t, t))로 근사적으로 역전될 수 있다. 역방향 확산 과정 p_\theta는 다음과 같이 정의된다.

p_\theta(x_T) = N(x_T | 0, I)

p_\theta(x_{t-1} | x_t) = N(x_{t-1} | \mu_\theta(x_t, t), \Sigma_\theta(x_t, t))

목표는 p_\theta(x_0)q(x_0)에 최대한 가깝도록 매개변수를 학습하는 것이다. 이를 위해 최대 우도 추정과 변분 추론을 사용하며, ELBO 부등식을 통해 관측된 데이터의 우도에 대한 하한을 최대화한다.

손실 함수는 L(\theta) := -E_{x_{0:T}\sim q}[ \ln p_\theta(x_{0:T}) - \ln q(x_{1:T}|x_0)]로 정의되며, 확률적 경사 하강법을 사용하여 이 손실을 최소화한다. 이 식은 간소화 과정을 거쳐 L_t = E_{x_{t-1}, x_t\sim q}[-\ln p_\theta(x_{t-1} | x_t)]를 최소화하는 문제로 귀결된다.

x_{t-1} | x_t, x_0 \sim N(\tilde\mu_t(x_t, x_0), \tilde\sigma_t^2 I)이므로, 네트워크는 x_0를 추정해야 한다. x_t = \sqrt{\bar\alpha_t} x_{0} + \sigma_t z (z는 가우시안 잡음)를 이용하여 x_0 추정은 z 추정과 동일함을 알 수 있다.

따라서 네트워크는 잡음 벡터 \epsilon_\theta(x_t, t)를 출력하고, \mu_\theta(x_t, t)는 다음과 같이 예측한다.

\mu_\theta(x_t, t) =\tilde\mu_t\left(x_t, \frac{x_t - \sigma_t \epsilon_\theta(x_t, t)}{\sqrt{\bar\alpha_t}}\right) = \frac{x_t - \epsilon_\theta(x_t, t) \beta_t/\sigma_t}{\sqrt{\alpha_t}}

DDPM 논문에서는 \Sigma_\theta(x_t, t)를 학습하지 않고 \zeta_t^2 = \beta_t 또는 \tilde\sigma_t^2와 같은 값으로 고정했다.[16]

손실 함수는 다음과 같이 간소화된다.

L_t = \frac{\beta_t^2}{2\alpha_t\sigma_{t}^2\zeta_t^2} E_{x_0\sim q; z \sim N(0, I)}\left[ \left\| \epsilon_\theta(x_t, t) - z \right\|^2\right] + C

경험적으로 더 간단한 손실 함수 L_{simple, t} = E_{x_0\sim q; z \sim N(0, I)}\left[ \left\| \epsilon_\theta(x_t, t) - z \right\|^2\right]가 더 나은 모델을 생성하는 것으로 나타났다.

잡음 예측 네트워크가 학습된 후에는 반복적인 과정을 통해 데이터 포인트를 생성할 수 있다.

# 잡음 추정치 계산 \epsilon \leftarrow \epsilon_\theta(x_t, t)

# 원래 데이터 추정치 계산 \tilde x_0 \leftarrow (x_t - \sigma_t \epsilon) / \sqrt{\bar \alpha_t}

# 이전 데이터 샘플링 x_{t-1} \sim N(\tilde\mu_t(x_t, \tilde x_0), \tilde\sigma_t^2 I)

# 시간 변경 t \leftarrow t-1

이미지 생성에는 주로 U-Net이 사용되지만,[51] 트랜스포머를 사용한 확산 트랜스포머(DiT)도 활용된다.[52] 전문가 혼합-트랜스포머도 적용 가능하다.[53] DDPM은 이미지뿐만 아니라 사람의 움직임 궤적과 같은 일반적인 데이터 분포 모델링에도 사용된다.[54]

3. 3. 점수 기반 생성 모델 (Score-based Generative Model)

확산 모델을 데이터 분포의 로그 확률 밀도 함수의 기울기(점수 함수)를 추정하는 방식으로 해석한 모델이다. 랑주뱅 역학을 이용하여 점수 함수를 추정하고, 이를 통해 데이터 분포에서 샘플을 생성한다.[17][18][19][20] 노이즈 조건부 점수 네트워크(NCSN) 또는 랑주뱅 역학을 이용한 점수 매칭(SMLD)이라고도 한다.

이미지 생성 문제를 예로 들어보자. 이미지 x에 대한 확률 분포 q(x)를 직접 아는 것은 어렵지만, 특정 이미지와 그 주변 이미지의 확률을 비교하는 것은 가능하다. 즉, q(x) 자체보다는 스코어 함수 s(x) := \nabla_x \ln q(x)를 통해 주변 이미지와의 상대적 확률을 파악한다.

스코어 함수 s(x)를 사용하면 볼츠만 분포와 포커-플랭크 방정식을 통해 열역학적 평형 상태에서 샘플링을 할 수 있다. 이는 랑주뱅 방정식에 따라 입자의 운동을 시뮬레이션하여 수행할 수 있다.

dx_{t}= -\nabla_{x_t}U(x_t) d t+d W_t

주어진 확률 밀도 함수 q에 대해, 점수 함수 근사값 f_\theta \approx \nabla \ln q를 학습하는 것이 '''점수 매칭'''이다.[21] 이는 '''피셔 발산''' 함수 E_q[\|f_\theta(x) - \nabla \ln q(x)\|^2]를 최소화하는 것으로, 히외리넨 점수 규칙을 통해 확률적 경사 하강법으로 최소화할 수 있다.

하지만 백색 잡음 이미지(x_0 \sim N(0, I))처럼 실제 이미지와 거리가 먼 경우, 점수 함수를 학습하기 어렵다. 따라서 어닐링을 통해 점진적으로 잡음을 추가하여 점수 함수를 학습하고, 이를 역방향 확산에 사용한다.

DDPM과 점수 기반 생성 모델은 동등하다.[18][3][23] DDPM으로 훈련된 네트워크는 NCSN으로 사용할 수 있으며, 그 반대도 가능하다. 트위디의 공식에 의해 다음이 성립한다.

\nabla_{x_t}\ln q(x_t) = \frac{1}{\sigma_{t}^2}(-x_t + \sqrt{\bar\alpha_t} E_q[x_0|x_t])

DDPM 손실 함수 \sum_t L_{simple, t}를 통해 네트워크가 전역 최소값에 도달하면, \epsilon_\theta(x_t, t) = -\sigma_t\nabla_{x_t}\ln q(x_t)를 얻는다. 즉, 점수 기반 네트워크는 잡음 제거 확산에 사용될 수 있다.

역으로, 역방정식의 연속 극한을 통해 잡음 제거 네트워크가 점수 기반 확산에 사용될 수 있음을 보일 수 있다.

결론적으로, 점수 기반 생성 모델은 확산 모델의 한 형태로, 점수 함수를 통해 데이터 분포를 모델링하고 샘플을 생성하는 방법이다.

3. 4. 잡음 조건부 점수 네트워크 (Noise Conditional Score Network, NCSN)

잡음 조건부 점수 네트워크(Noise Conditional Score Network, NCSN)는 확산 모델의 또 다른 표현 방식으로, 랑주뱅 역학을 이용한 점수 매칭(SMLD)이라고도 불린다.[17][18][19][20]

연속적인 확산 과정에서, 중간 단계를 거치지 않고 임의의 시점 $t$에서 샘플 $x_t$를 직접 샘플링할 수 있다. 이는 $x_0 \sim q, z \sim N(0, I)$를 샘플링한 후, $x_t = e^{-\frac 12\int_0^t \beta(t)dt} x_{0} + \left(1- e^{-\int_0^t \beta(t)dt}\right) z$를 계산하여 얻을 수 있다.

점수 정합 손실 함수는 다음과 같이 정의된다.

$L(\theta) = E_{t\sim \gamma, x_t \sim \rho_t}[\|f_\theta(x_t, t)\|^2 + 2\nabla\cdot f_\theta(x_t, t)]$

훈련 후에는 $f_\theta(x_t, t) \approx \nabla \ln\rho_t$ 가 성립하므로, 역 확산 과정은 $x_T \sim N(0, I)$를 샘플링하고 $t=T$부터 $t=0$까지 다음 SDE를 적분하여 수행할 수 있다.

$x_{t-dt}=x_t + \frac{1}{2} \beta(t) x_{t} d t + \beta(t) f_\theta(x_t, t) d t+\sqrt{\beta(t)} d W_t$

이는 오일러-마루야마 방법과 같은 SDE 적분 방법으로 수행 가능하다.

"잡음 조건부 점수 네트워크"라는 이름은 다음 요소들로 구성된다.

  • "네트워크": $f_\theta$가 신경망으로 구현되기 때문이다.
  • "점수": 네트워크의 출력이 점수 함수 $\nabla\ln\rho_t$를 근사하기 때문이다.
  • "잡음 조건부": $\rho_t$가 시간에 따라 증가하는 가우시안 잡음에 의해 흐릿해진 $\rho_0$와 같으므로, 점수 함수는 추가된 잡음의 양에 따라 달라지기 때문이다.


DDPM과 점수 기반 생성 모델은 동등하다.[18][3][23] 즉, DDPM을 사용하여 훈련된 네트워크는 NCSN으로 사용할 수 있으며, 그 반대도 가능하다.

트위디의 공식에 의해, $\nabla_{x_t}\ln q(x_t) = \frac{1}{\sigma_{t}^2}(-x_t + \sqrt{\bar\alpha_t} E_q[x_0|x_t])$를 얻는다. DDPM 손실 함수 $L_{simple, t}$를 변수 변경하면, 네트워크가 전역 최소값에 도달했을 때 $\epsilon_\theta(x_t, t) = -\sigma_t\nabla_{x_t}\ln q(x_t)$를 얻는다. 따라서 점수 기반 네트워크는 잡음 제거 확산에 사용될 수 있다.

역으로, 역방정식의 연속 극한을 통해 잡음 제거 네트워크가 점수 기반 확산에 사용될 수 있음을 보일 수 있다.

이미지 생성 문제에서, 이미지 공간 위의 확률 밀도 함수 $p(x)$ 자체보다는 그 인접 이미지와의 확률 비교를 나타내는 스코어 함수 $s(x) := \nabla_x \ln p(x)$가 중요하다. 이 스코어 함수는 Stochastic gradient Langevin dynamics|확률적 경사 랑주뱅 동역학영어(SGLD)을 이용한 표본 추출을 가능하게 하며,[79] 노이즈 제거를 통해 학습할 수 있다.[78]

3. 5. 탈잡음 확산 확률 모델 (Denoising Diffusion Probabilistic Model, DDPM)

2020년 논문에서 제안된 탈잡음 확산 확률 모델(Denoising Diffusion Probabilistic Model, DDPM)은 변분 추론을 개선하여 역방향 확산 과정을 학습한다.[14][15] DDPM의 핵심은 신경망을 사용하여 각 단계에서 추가된 노이즈를 예측하고, 이를 통해 데이터를 복원하는 것이다.

DDPM에서는 신경망(\theta로 매개변수화)이 x_t, t를 입력받아 \mu_\theta(x_t, t)\Sigma_\theta(x_t, t)를 출력한다. 역방향 확산 과정 p_\theta는 다음과 같이 정의된다.

p_\theta(x_T) = N(x_T | 0, I)

p_\theta(x_{t-1} | x_t) = N(x_{t-1} | \mu_\theta(x_t, t), \Sigma_\theta(x_t, t))

목표는 p_\theta(x_0)이 실제 데이터 분포 q(x_0)에 가깝도록 매개변수를 학습하는 것이다. 최대 우도 추정과 ELBO 부등식을 활용하여 변분 추론을 수행한다.

손실 함수는 다음과 같이 정의되고, 확률적 경사 하강법으로 최소화된다.

L(\theta) := -E_{x_{0:T}\sim q}[ \ln p_\theta(x_{0:T}) - \ln q(x_{1:T}|x_0)]

x_{t-1} | x_t, x_0는 정규 분포를 따르므로, \mu_\theta(x_t, t)\tilde \mu_t(x_t, x_0)를 사용해야 한다. 하지만 네트워크는 x_0에 접근할 수 없으므로, x_t = \sqrt{\bar\alpha_t} x_{0} + \sigma_t z를 이용하여 z(가우시안 잡음)를 추정한다.

네트워크는 잡음 벡터 \epsilon_\theta(x_t, t)를 출력하고, \mu_\theta(x_t, t)는 다음과 같이 계산된다.

\mu_\theta(x_t, t) =\tilde\mu_t\left(x_t, \frac{x_t - \sigma_t \epsilon_\theta(x_t, t)}{\sqrt{\bar\alpha_t}}\right) = \frac{x_t - \epsilon_\theta(x_t, t) \beta_t/\sigma_t}{\sqrt{\alpha_t}}

\Sigma_\theta(x_t, t)는 학습하지 않고 고정된 값(\zeta_t^2 I, \zeta_t^2 = \beta_t 또는 \tilde\sigma_t^2)을 사용한다.

손실 함수는 다음과 같이 간소화된다.

L_t = \frac{\beta_t^2}{2\alpha_t\sigma_{t}^2\zeta_t^2} E_{x_0\sim q; z \sim N(0, I)}\left[ \left\| \epsilon_\theta(x_t, t) - z \right\|^2\right] + C

경험적으로 더 간단한 손실 함수 L_{simple, t} = E_{x_0\sim q; z \sim N(0, I)}\left[ \left\| \epsilon_\theta(x_t, t) - z \right\|^2\right]가 더 나은 모델을 생성한다.

잡음 예측 네트워크가 학습된 후에는 반복적인 과정을 통해 데이터 포인트를 생성할 수 있다.

1. 잡음 추정: \epsilon \leftarrow \epsilon_\theta(x_t, t)

2. 데이터 추정: \tilde x_0 \leftarrow (x_t - \sigma_t \epsilon) / \sqrt{\bar \alpha_t}

3. 이전 단계 샘플링: x_{t-1} \sim N(\tilde\mu_t(x_t, \tilde x_0), \tilde\sigma_t^2 I)

4. 시간 변경: t \leftarrow t-1

DDPM은 점수 기반 생성 모델과 동일하며[18][3][23], 훈련된 네트워크는 상호 교환적으로 사용 가능하다.

4. 주요 변형

확산 모델은 다양한 변형을 통해 성능과 효율성을 높여왔다. 주요 변형 모델은 다음과 같다.


  • 노이즈 스케줄 (Noise Schedule): DDPM(확산 확률 모델)에서 노이즈 스케줄은 순방향 확산 과정에서 각 단계마다 추가되는 노이즈의 양을 조절한다.[85] 일반적으로 시그모이드 함수와 같은 엄격하게 증가하는 단조 함수를 사용하여 노이즈 시퀀스를 정의한다.
  • 탈잡음 확산 잠재 모델 (Denoising Diffusion Implicit Model, DDIM): DDPM(Denoising Diffusion Probabilistic Model)의 마르코프 연쇄 과정을 비마르코프 과정으로 일반화하여 역과정이 결정론적인 경우를 말한다.[24] DDIM은 샘플링 단계를 줄여 생성 속도를 높이면서도 DDPM으로 학습된 모델을 사용하고, DDPM보다 뛰어난 성능을 보인다.[16]
  • 잠재 확산 모델 (Latent Diffusion Model, LDM): 고차원 데이터를 저차원 잠재 공간으로 압축한 후, 잠재 공간에서 확산 모델을 적용하여 계산 효율성을 높이고 고품질 이미지 생성을 가능하게 한다.[25] 주로 변분 오토인코더(VAE)를 사용하여 인코더-디코더 쌍을 구성한다. 스테이블 디퓨전은 잠재 확산 모델의 대표적인 예시이다.[64][25]
  • 분류기 유도 (Classifier Guidance): 사전 학습된 분류기를 사용하여 생성되는 샘플의 특정 속성을 제어하는 방법이다.[29] 베이즈 정리를 이용하여 조건부 확률 분포에서 샘플을 추출하며, 점수 함수의 기울기를 통해 분류기 유도를 적용한다.
  • 분류기 없는 유도 (Classifier-Free Guidance, CFG): 별도의 분류기 없이 확산 모델 자체를 조건부 생성 모델로 학습시켜 조건부 생성을 수행한다.[86] 조건부 생성 모델과 무조건부 생성 모델을 함께 학습하여 조건부 생성 성능을 향상시킨다.
  • 흐름 기반 확산 모델 (Flow-based Diffusion Model): 확산 과정을 상미분 방정식(ODE)을 사용하여 연속적인 흐름으로 모델링한다.[3] 역방향 과정은 ODE의 해를 구하는 방식으로 수행된다.
  • 최적 수송 흐름 (Optimal Transport Flow): Wasserstein 거리를 최소화하는 확률 경로를 구성하여 데이터 분포를 모델링한다.[45]
  • 정류 흐름 (Rectified Flow): 각 흐름 경로를 따라 속도가 거의 일정하도록 흐름 모델을 학습하여 계산 효율성을 높인다.[46] [47]

4. 1. 노이즈 스케줄 (Noise Schedule)

DDPM(확산 확률 모델)에서 숫자열 0 = \sigma_0 < \sigma_1 < \cdots < \sigma_T < 1은 (이산 시간) '''노이즈 스케줄'''이라고 불린다.[85] 노이즈 스케줄은 순방향 확산 과정에서 각 단계마다 추가되는 노이즈의 양을 조절하는 방법이다.

일반적으로 \R \to (0, 1) 형태의 엄격하게 증가하는 단조 함수인 \sigma (예: 시그모이드 함수)를 사용한다. 이 경우 노이즈 스케줄은 실수열 \lambda_1 < \lambda_2 < \cdots < \lambda_T로 정의된다. 그러면 \sigma_t := \sigma(\lambda_t)로 노이즈 시퀀스가 정의되고, 다른 양 \beta_t = 1 - \frac{1 - \sigma_t^2}{1 - \sigma_{t-1}^2}을 유도한다.



임의의 노이즈 스케줄을 사용하기 위해 노이즈 예측 모델 \epsilon_\theta(x_t, t)을 학습하는 대신 \epsilon_\theta(x_t, \sigma_t)를 학습한다. 마찬가지로, 노이즈 조건부 점수 네트워크의 경우 f_\theta(x_t, t)를 학습하는 대신 f_\theta(x_t, \sigma_t)를 학습한다.

4. 2. 탈잡음 확산 잠재 모델 (Denoising Diffusion Implicit Model, DDIM)

확산 모델의 한 종류인 탈잡음 확산 잠재 모델(Denoising Diffusion Implicit Model, DDIM)은 역방향 확산 과정에서 일부 단계를 건너뛰어 샘플링 속도를 향상시키는 방법이다.[24] DDPM(Denoising Diffusion Probabilistic Model)의 마르코프 연쇄 과정을 비마르코프 과정으로 일반화하여, 역과정의 분산이 0인 경우, 즉 역방향 과정(및 순방향 과정)이 결정론적일 때 DDIM이 된다.

DDIM은 DDPM 손실 함수로 학습된 모델을 사용하며, 샘플링 단계를 줄일 때 DDPM보다 뛰어난 성능을 보인다. 화질을 조절 가능한 수준으로 희생하여 생성 속도를 높이는 방식이다.

DDIM의 샘플링 방법은 다음과 같다. 먼저 순방향 확산 과정 x_t = \sqrt{\bar\alpha_t} x_0 + \sigma_t \epsilon으로 시작한다. 역방향 잡음 제거 과정에서 x_t, \epsilon_\theta(x_t, t)가 주어지면, 원본 데이터는 다음과 같이 추정된다.

x_0' = \frac{x_t - \sigma_t \epsilon_\theta(x_t, t)}{ \sqrt{\bar\alpha_t}}

그런 다음, 역방향 확산 과정은 임의의 단계 0 \leq s < t로 이동할 수 있으며, 다음 잡음 제거된 샘플은 다음과 같이 계산된다.

x_{s} = \sqrt{\bar\alpha_{s}} x_0'

+ \sqrt{\sigma_{s}^2 - (\sigma'_s)^2} \epsilon_\theta(x_t, t)

+ \sigma_s' \epsilon

여기서 \sigma_s'[0, \sigma_s] 범위 내의 임의의 실수이고, \epsilon \sim N(0, I)는 새로 샘플링된 가우시안 잡음이다.[16]

만약 모든 \sigma_s' = 0이면 역방향 과정은 결정론적이 되며, 이를 "DDIM"이라고도 한다. 원 논문에서는 결정론적 과정에서 단 20단계만으로도 1000단계로 생성된 샘플과 매우 유사한 고차원 샘플을 얻을 수 있다고 밝혔다.

원 논문에서는 \sigma_s' = \eta \tilde\sigma_s가 되도록 단일 "eta 값" \eta \in [0, 1]을 정의하는 것을 제안했다. \eta = 1이면 원본 DDPM, \eta = 0이면 완전 결정론적 DDIM이 되며, 중간값은 그 사이를 보간한다.

DDIM 알고리즘은 등가성에 의해 점수 기반 확산 모델에도 적용된다.

4. 3. 잠재 확산 모델 (Latent Diffusion Model, LDM)

잠재 확산 모델(Latent Diffusion Model, LDM)은 고차원 데이터(예: 이미지)를 저차원 잠재 공간으로 압축한 후, 잠재 공간에서 확산 모델을 적용하는 방법이다. 이렇게 하면 계산 효율성을 높이고, 고품질 이미지 생성을 가능하게 한다.[25]

확산 모델은 확률 분포를 모델링하는 일반적인 방법으로, 이미지 분포를 모델링하려면 먼저 인코더를 사용하여 이미지를 저차원 공간으로 인코딩한 다음, 확산 모델을 사용하여 인코딩된 이미지의 분포를 모델링한다. 이미지를 생성하려면 확산 모델에서 샘플링한 후 디코더를 사용하여 이미지로 디코딩하면 된다.[25] 인코더-디코더 쌍은 대부분 변분 오토인코더(VAE)이다.

스테이블 디퓨전의 아키텍처


스테이블 디퓨전이 사용하는 잡음 제거 과정


DDPM을 사용하여 이미지를 생성하려면 시간 t과 잡음이 포함된 이미지 x_t를 입력받아 잡음 \epsilon_\theta(x_t, t)을 예측하는 신경망이 필요하다. 잡음을 예측하는 것은 잡음 제거된 이미지를 예측하는 것과 같으므로, 잡음을 x_t에서 빼면 잡음 제거 아키텍처가 잘 작동하는 경향이 있다. 예를 들어, 이미지 잡음 제거에 효과적임이 밝혀진 U-Net은 이미지를 생성하는 잡음 제거 확산 모델에 자주 사용된다.[51]

DDPM의 기본 아키텍처("백본")는 U-Net일 필요는 없다. 단지 어떻게든 잡음을 예측할 수 있으면 된다. 예를 들어, 확산 트랜스포머(DiT)는 텍스트 조건과 부분적으로 잡음이 제거된 이미지를 고려하여 잡음의 평균과 대각 공분산을 예측하기 위해 트랜스포머를 사용한다. 이는 U-Net을 트랜스포머로 대체한 표준 U-Net 기반 잡음 제거 확산 모델과 같다.[52] 전문가 혼합-트랜스포머도 적용할 수 있다.[53]

스테이블 디퓨전(2022-08)은 스테빌리티 AI(Stability AI)가 공개한 잡음 제거 잠재 확산 모델(8억 6천만 매개변수), VAE, 그리고 텍스트 인코더로 구성되어 있다. 잡음 제거 네트워크는 U-Net이며, 조건부 이미지 생성을 허용하기 위해 크로스 어텐션 블록을 사용한다.[64][25]

스테이블 디퓨전 3(2024-03)[65]는 잠재 확산 모델을 U-Net에서 트랜스포머 모델로 변경하여 DiT가 되었다. 정류 흐름(Rectified flow)을 사용한다.

4. 4. 분류기 유도 (Classifier Guidance)

분류기 유도(Classifier guidance)는 2021년에 제안된 기법으로, 사전 학습된 분류기를 사용하여 생성되는 샘플의 특정 속성(예: 클래스)을 제어하는 방법이다.[29] 이를 통해 조건부 생성(class-conditional generation)을 개선할 수 있다.

예를 들어, 일반적인 이미지가 아닌 "빨간 눈을 가진 검은 고양이"와 같은 특정 설명에 맞는 이미지를 생성하려는 경우를 생각해 보자. 이처럼, 이미지 x가 주어졌을 때 특정 클래스 y에 속하는 이미지를 생성하는 조건부 확률 분포 p(x|y)에서 샘플을 추출하는 것이 목표이다.

잡음이 있는 통신 채널 모델 관점에서 이 과정을 살펴보면, 설명 y를 조건으로 이미지 x를 생성하는 것은 마치 요청자가 원래 이미지 x를 생각했지만, 잡음 채널을 통과하면서 y로 왜곡된 것으로 이해할 수 있다. 따라서 이미지 생성은 요청자가 원래 의도했던 x를 추론하는 과정이 된다.

이는 "텍스트 언어를 그림 언어로 번역"하는 과정으로 볼 수 있으며, 베이즈 정리를 이용해 다음과 같은 식을 얻을 수 있다.

p(x|y) \propto p(y|x)p(x)

즉, 전체 이미지 공간에 대한 모델 p(x)와 이미지-클래스 변환기 p(y|x)가 있다면, 클래스-이미지 변환기를 쉽게 얻을 수 있다.

확산 모델에서 역확산(backward diffusion) 과정의 스코어 \nabla \ln p(x) 는 다음과 같이 분해될 수 있다.

\nabla_x \ln p(x|y) = \underbrace{\nabla_x \ln p(x)}_{\text{점수}} + \underbrace{\nabla_x \ln p(y|x)}_{\text{분류기 안내}}

여기서 \nabla_x \ln p(x)는 학습된 점수 함수이고, \nabla_x \ln p(y|x)는 미분 가능한 이미지 분류기를 사용하여 계산된다.

시간 조건을 고려하면,

\nabla_{x_t} \ln p(x_t|y, t) = \nabla_{x_t} \ln p(y|x_t, t) + \nabla_{x_t} \ln p(x_t|t)

이며, 일반적으로 분류기 모델은 시간에 의존하지 않으므로 p(y|x_t, t) = p(y|x_t) 이다.

분류기 유도는 점수 함수의 기울기, 즉 점수 기반 확산 네트워크에 대해 정의되지만, 점수 기반 확산 모델은 잡음 제거 모델과 동일하게 표현될 수 있다. 따라서 분류기 유도는 수정된 잡음 예측을 통해 잡음 제거 확산에도 적용된다.[29]

\epsilon_\theta(x_t, y, t) = \epsilon_\theta(x_t, t) - \underbrace{\sigma_t \nabla_{x_t} \ln p(y|x_t, t)}_{\text{분류기 안내}}

분류기 유도 확산 모델은 최대 사후 확률 추정값 \arg\max_x p(x|y) 주변에 집중된 p(x|y)에서 표본을 추출한다. 최대 우도 추정값 \arg\max_x p(y|x)으로 모델을 이동시키기 위해 다음 식을 사용한다.

p_\gamma(x|y) \propto p(y|x)^\gamma p(x)

여기서 \gamma > 0 는 역온도 또는 '''가이드 스케일'''로 해석된다. 높은 \gamma 는 모델이 \arg\max_x p(y|x) 주변에 집중된 분포에서 표본을 추출하도록 강제하여, 생성된 이미지의 품질을 향상시킬 수 있다.[29]

이는 잡음 제거 모델에서 다음과 같이 표현된다.[30]

\epsilon_\theta(x_t, y, t) = \epsilon_\theta(x_t, t) - \gamma \sigma_t \nabla_{x_t} \ln p(y|x_t, t)

4. 5. 분류기 없는 유도 (Classifier-Free Guidance, CFG)

분류기 없는 유도(Classifier-Free Guidance, CFG)는 별도의 분류기 없이 확산 모델 자체를 조건부 생성 모델로 학습시켜 조건부 생성을 수행하는 방법이다. 조건부 생성 모델과 무조건부 생성 모델을 함께 학습하여, 조건부 생성 성능을 향상시킨다.[86]

CFG는 분류기 p(y|x)가 없더라도 이미지 모델 자체에서 분류기를 추출할 수 있게 한다. 다음 식을 통해 가능하다.

\nabla_x \ln p_\beta(x|y) = (1-\beta) \nabla_x \ln p(x) + \beta \nabla_x \ln p(x|y)

이러한 모델은 일반적으로 (x, y)(x, None) 둘 다를 제공하여 훈련되며, 그에 따라 \nabla_x\ln p(x|y)\nabla_x\ln p(x)를 모두 모델링할 수 있다.

CFG는 GLIDE[87], DALL-E[88], Google Imagen[89]과 같은 모델의 필수적인 부분이다.

4. 6. 흐름 기반 확산 모델 (Flow-based Diffusion Model)

흐름 기반 확산 모델은 확산 과정을 연속적인 흐름으로 모델링하는 방법이다. 이 방식은 상미분 방정식(ODE)을 사용하여 데이터와 노이즈 사이의 변환을 모델링하며, 역방향 과정은 ODE의 해를 구하는 방식으로 수행된다.[3]

두 분포 \pi_0\pi_1가 주어지면, 흐름 기반 모델은 [0,1] \times \mathbb R^d 에서 시간 의존 속도 필드 v_t(x)를 정의한다. 점 x \sim \pi_0를 샘플링하여 속도 필드에 따라 이동시키면(즉, \frac{d}{dt} \phi_t(x) = v_t(\phi_t(x)) \quad t \in [0,1], \quad \text{starting from }\phi_0(x) = x) 점 x_1 \sim \pi_1를 얻게 된다. 위 ODE의 해 \phi_t는 푸시포워드 측도 연산자에 의해 확률 경로 p_t = [\phi_t]_{\#} \pi_0 를 정의하며, 특히 [\phi_1]_{\#} \pi_0 = \pi_1이다.

확률 경로와 속도 필드는 연속 방정식을 만족한다.

\partial_t p_t + \nabla \cdot (v_t p_t) = 0

확률 경로를 구성하기 위해, 조건부 확률 경로 p_t(x \vert z)와 일부 조건부 분포 q(z)에 대한 해당 조건부 속도 필드 v_t(x \vert z)를 먼저 구성한다. 일반적으로 가우시안 조건부 확률 경로를 사용한다.

p_t(x \vert z) = \mathcal{N} \left( m_t(z), \zeta_t^2 I \right)

조건부 가우시안 경로 사이의 지오데식 경로에 해당하는 조건부 속도 필드는 다음과 같다.

v_t(x \vert z) = \frac{\zeta_t'}{\zeta_t} (x - m_t(z)) + m_t'(z)

그 후, 확률 경로와 속도 필드는 주변화를 통해 계산된다.

p_t(x) = \int p_t(x \vert z) q(z) dz \qquad \text{ and } \qquad v_t(x) = \mathbb{E}_{q(z)} \left[\frac{v_t(x \vert z) p_t(x \vert z)}{p_t(x)} \right]

흐름 기반 확산 모델에는 최적 수송 흐름과 정류 흐름이 대표적이다.

4. 6. 1. 최적 수송 흐름 (Optimal Transport Flow)

최적 수송 흐름은 Wasserstein 거리를 최소화하는 확률 경로를 구성하여 데이터 분포를 모델링한다.[45] 이 때, 조건을 설정하는 분포는 \pi_0 \pi_1 사이의 최적 수송 계획: z = (x_0, x_1) q(z) = \Gamma(\pi_0, \pi_1) 이다. 여기서 \Gamma는 최적 수송 계획으로, 미니 배치 최적 수송을 통해 근사할 수 있다.

4. 6. 2. 정류 흐름 (Rectified Flow)

정류 흐름(Rectified flow)[46] [47]은 각 흐름 경로를 따라 속도가 거의 일정하도록 흐름 모델을 학습하는 방법이다. 이렇게 하면 각 벡터 필드를 매우 적은 단계로 적분할 수 있어 계산 효율성이 높아진다. 예를 들어, ODE \dot{\phi_t}(x) = v_t(\phi_t(x))가 완벽하게 직선 경로를 따른다면, \phi_t(x) = x_0 + t \cdot v_0(x_0)로 단순화되어 한 단계에서 정확한 해를 구할 수 있다. 실제로는 완벽하게 직선 경로를 만들기는 어렵지만, 흐름 필드가 거의 직선에 가깝다면 여러 단계 대신 몇 단계만으로도 충분하다.

선형 보간(Linear interpolation)정류 흐름(Rectified Flow)정정된 정류 흐름(Straightened Rectified Flow) https://www.cs.utexas.edu/~lqiang/rectflow/html/intro.html



일반적인 방법은 두 분포 \pi_0\pi_1에서 시작하여 흐름 필드 \phi^0 = \{\phi_t: t\in[0,1]\}를 구성하고, "재흐름(reflow)" 연산을 반복 적용하여 이전보다 더 직선적인 흐름 필드 \phi^1, \phi^2, \dots를 얻는 것이다. 응용 프로그램에 맞게 흐름 필드가 충분히 직선이 되면 중단한다.

일반적으로 시간 미분 가능한 프로세스 \phi_t의 경우, v_t는 다음을 풀어서 추정할 수 있다.

\min_{\theta} \int_0^1 \mathbb{E}_{x \sim p_t}\left [\lVert{v_t(x, \theta) - v_t(x)}\rVert^2\right] \,\mathrm{d}t.

정류 흐름은 중간 궤적이 직선이라는 강력한 사전 정보를 주입하여 최적 수송과 관련된 이론적 연결성과 계산 효율성을 모두 얻을 수 있다. 직선 경로를 가진 ODE는 시간 이산화 없이 정확하게 시뮬레이션할 수 있기 때문이다.

240px


구체적으로, 정류 흐름은 분포 \pi_0\pi_1의 점들 사이의 '''선형 보간'''의 주변 분포를 가지는 ODE를 일치시키려고 한다. 관측치 x_0 \sim \pi_0x_1 \sim \pi_1가 주어지면, x_t= t x_1 + (1-t)x_0, t\in [0,1]x_1 없이는 인과적으로 시뮬레이션할 수 없는 \dot{x}_t = x_1 - x_0를 생성한다. 이를 해결하기 위해, x_t는 방향 x_1 - x_0에 대한 최소 제곱 손실을 최소화하여 인과적으로 시뮬레이션 가능한 ODE 공간으로 "투영"된다.

\min_{\theta} \int_0^1 \mathbb{E}_{\pi_0, \pi_1, p_t}\left [\lVert{(x_1-x_0) - v_t(x_t)}\rVert^2\right] \,\mathrm{d}t.

데이터 쌍 (x_0, x_1)\pi_0\pi_1의 임의의 결합(coupling)일 수 있으며, 일반적으로 \pi_0\pi_1의 관측치를 무작위로 결합하여 얻은 독립적인(즉, (x_0,x_1) \sim \pi_0 \times \pi_1) 쌍이다. 이 과정을 통해 궤적이 x_t 궤적의 밀도 맵을 반영하지만, 교차점에서 "경로를 바꾸어" 인과성을 보장한다. 이 정류 과정은 흐름 일치(Flow Matching)[48], 확률적 보간(Stochastic Interpolation)[49]으로도 알려져 있다.

390px


정류 흐름의 특징은 ODE 경로의 궤적을 직선화하는 "재흐름(reflow)" 기능이다. (x_0,x_1)로부터 유도된 정류 흐름 \phi^0 = \{\phi_t: t\in[0,1]\}\phi^0 = \mathsf{Rectflow}((x_0,x_1))로 표시한다. 이 \mathsf{Rectflow}(\cdot) 연산자를 재귀적으로 적용하면 일련의 정류 흐름 \phi^{k+1} = \mathsf{Rectflow}((\phi_0^k(x_0), \phi_1^k(x_1)))가 생성된다. 이 "재흐름" 과정은 수송 비용을 줄이고, k가 증가함에 따라 \phi^k 경로가 더 직선적으로 만든다.

정류 흐름에는 선형 보간 x_tx_t = \alpha_t x_1 + \beta_t x_0로 주어진 x_0x_1를 연결하는 시간 미분 가능한 곡선으로 대체되는 비선형 확장도 포함된다. 이 프레임워크는 \alpha_t\beta_t의 특정 선택을 통해 DDIM과 확률 흐름 ODE를 특수한 경우로 포함한다. 그러나 x_t의 경로가 직선이 아닌 경우, 재흐름 과정은 볼록 수송 비용의 감소를 보장하지 않으며, \phi_t의 경로도 더 이상 직선화하지 않는다.[46]

흐름 일치에 대한 자습서와 애니메이션은 [50]을 참조하면 된다.

5. 응용

확산 모델은 이미지, 오디오, 비디오 등 다양한 분야에서 활용되고 있다.

DALL-E 2나 스테이블 디퓨전과 같이 텍스트 설명을 기반으로 고품질 이미지를 생성하는 텍스트-이미지 생성 모델이 대표적이다.[25] 이미지의 특정 부분을 수정하거나 스타일을 변경하는 이미지 편집, 손상된 이미지를 복원하거나 해상도를 높이는 이미지 복원 작업에도 활용된다.

오디오 생성 분야에서는 WaveGrad영어[26] 등의 모델이 사용된다. 비디오 생성 분야에서는 소라[63], Veo[71], Make-A-Video[72][73]와 같은 텍스트-비디오 확산 모델이 개발되었다.

5. 1. 이미지 생성

확산 모델은 고품질 이미지 생성에 널리 사용된다. 특히, 텍스트-이미지 생성 모델은 자연어 설명을 기반으로 이미지를 생성할 수 있다. 예를 들어, DALL-E 2와 스테이블 디퓨전이 대표적이다.[25]

확산 모델은 이미지의 확률 분포를 모델링하기 위해, 먼저 변분 오토인코더(VAE)와 같은 인코더를 사용하여 이미지를 저차원 공간으로 인코딩한다. 그 후, 확산 모델을 사용하여 인코딩된 이미지의 분포를 모델링한다. 이미지 생성을 위해서는 확산 모델에서 샘플링한 후 디코더를 사용하여 다시 이미지로 디코딩한다.[25]

이미지 생성을 위한 DDPM(Denoising Diffusion Probabilistic Model)은 시간 t와 잡음이 포함된 이미지 x_t를 입력받아 잡음 \epsilon_\theta(x_t, t)을 예측하는 신경망을 사용한다. 잡음을 예측하는 것은 잡음 제거된 이미지를 예측하는 것과 같으므로, x_t에서 잡음을 빼는 방식으로 작동한다. 이미지 잡음 제거에 효과적인 U-Net이 잡음 제거 확산 모델에 자주 사용된다.[51]

DDPM의 기본 아키텍처는 U-Net 외에도 트랜스포머와 같은 다른 모델도 사용될 수 있다. 예를 들어, 확산 트랜스포머(DiT)는 트랜스포머를 사용하여 잡음의 평균과 대각 공분산을 예측한다.[52] 전문가 혼합-트랜스포머도 적용 가능하다.[53]

기본 확산 모델은 전체 분포에서 무조건적으로 이미지를 생성한다. 예를 들어, ImageNet에서 학습된 확산 모델은 ImageNet에서 무작위로 선택된 이미지와 유사한 이미지를 생성한다. 특정 범주의 이미지를 생성하려면 조건을 추가하여 조건부 분포에서 샘플링해야 한다. 조건은 부동 소수점 숫자 벡터로 변환되어 확산 모델 신경망에 입력된다.

스테이블 디퓨전은 크로스 어텐션 메커니즘을 사용하여 조건을 부과한다. U-Net에서 이미지의 중간 표현이 쿼리, 조건 벡터가 키와 값이 된다. ControlNet처럼 기본 모델에서 새로운 유형의 조건을 미세 조정할 수도 있다.[55]

이미지 복원의 경우, 조건은 참조 이미지 \tilde x와 마스크 m이다. 역확산 과정의 각 단계에서 x_t(1-m) \odot x_t + m \odot \tilde x_t로 대체하여 조건이 부과된다(\odot는 원소별 곱셈).[56] 프롬프트-투-프롬프트 이미지 편집에도 크로스 어텐션 메커니즘이 활용된다.[57]

조건화는 특정 범주나 캡션 외에도 다양하게 적용될 수 있다. 예를 들어, 사람의 동작을 생성할 때 오디오 클립, 비디오, 텍스트 설명 등을 조건으로 사용할 수 있다.[54]

5. 2. 이미지 편집

확산 모델은 이미지의 특정 부분을 수정하거나 스타일을 변경하는 등 다양한 이미지 편집 작업에 사용될 수 있다. 예를 들어, 이미지 복원 시에는 참조 이미지와 마스크를 이용하여 조건부 생성을 수행한다. 조건은 참조 이미지의 잡음 섞인 버전을 샘플링한 후, 역확산 과정의 각 단계에서 마스크와 함께 적용된다.[56]

스테이블 디퓨전과 같은 모델은 크로스 어텐션 메커니즘을 통해 조건을 적용한다. 여기서 U-Net 이미지 중간 표현이 쿼리, 조건 벡터가 키와 값이 된다. 이를 통해 이미지의 특정 부분에만 조건을 적용하거나, ControlNet처럼 기본 모델에서 새로운 유형의 조건을 미세 조정할 수 있다.[55] 프롬프트-투-프롬프트 이미지 편집 또한 크로스 어텐션 메커니즘을 활용하는 예시이다.[57]

5. 3. 이미지 복원

확산 모델은 손상된 이미지를 복원하거나 이미지의 해상도를 높이는 데 사용될 수 있다. 이미지 복원의 예시로, 조건은 참조 이미지 \tilde x와 이미지 복원 마스크 m이다. 조건은 먼저 \tilde x_t \sim N\left(\sqrt{\bar\alpha_t} \tilde x, \sigma_{t}^2 I \right) (\tilde x의 잡음이 포함된 버전)을 샘플링한 다음, 역확산 과정의 각 단계에서 x_t(1-m) \odot x_t + m \odot \tilde x_t로 대체하여 부과된다. 여기서 \odot는 원소별 곱셈을 의미한다.[56]

이미지를 생성하는데 많은 시간이 걸리므로, 기본 확산 모델을 사용하여 작은 이미지를 생성한 후 다른 모델을 사용하여 해상도를 높이는 방법을 시도할 수 있다. 해상도 향상은 GAN,[59] 트랜스포머,[60] 또는 란초스 리샘플링과 같은 신호 처리 방법을 통해 수행할 수 있다.

확산 모델 자체를 사용하여 해상도 향상을 수행할 수도 있다. 캐스케이딩 확산 모델은 프로그레시브 GAN 방식으로 여러 확산 모델을 연속적으로 쌓는다. 최하위 수준은 32x32 이미지를 생성하는 표준 확산 모델이며, 그런 다음 해상도 향상을 위해 특별히 훈련된 확산 모델을 사용하여 이미지의 해상도를 높이고 이 과정을 반복한다.[51]

5. 4. 비디오 생성

소라 (2024년 2월)는 확산 트랜스포머 모델(DiT)이다.[63] Veo (2024)는 잠재 확산을 통해 비디오를 생성하며, 텍스트 프롬프트와 이미지 프롬프트를 모두 인코딩하는 벡터를 조건으로 한다.[71] Make-A-Video (2022)는 텍스트-비디오 확산 모델이다.[72][73]

5. 5. 오디오 생성

WaveGrad영어[26]는 여러 가지 아키텍처 개선 사항을 제안했다. 예를 들어, 역방향 샘플링 중 로그 공간 보간을 제안했다. x_{t-1} \sim N(\tilde\mu_t(x_t, \tilde x_0), \tilde\sigma_t^2 I)에서 샘플링하는 대신, 학습된 매개변수 v에 대해 N(\tilde\mu_t(x_t, \tilde x_0), (\sigma_t^v \tilde\sigma_t^{1-v})^2 I)에서 샘플링할 것을 권장했다.

'v-예측' 형식에서, 잡음 추가 공식 x_t = \sqrt{\bar\alpha_t} x_0 + \sqrt{1 - \bar\alpha_t} \epsilon_t\cos \phi_t = \sqrt{\bar\alpha_t}인 각도 \phi_t\cos\phi_t \epsilon_t - \sin\phi_t x_0로 정의된 "속도"로 다시 매개변수화된다. 네트워크는 속도 \hat v_\theta를 예측하도록 훈련되며, 잡음 제거는 x_{\phi_t - \delta} = \cos(\delta)\; x_{\phi_t} - \sin(\delta) \hat{v}_{\theta}\; (x_{\phi_t}) 에 의해 이루어진다.[27] 이 매개변수화는 모델이 전체 잡음(즉, \phi_t = 90^\circ)에 도달한 다음 반전시킬 수 있는 반면, 표준 매개변수화는 \sqrt{\bar\alpha_t} > 0이 항상 참이므로 전체 잡음에 도달하지 못하기 때문에 성능을 향상시키는 것으로 나타났다.[28]

6. 한계 및 과제

확산 모델은 뛰어난 이미지 생성 능력을 보여주지만, 다음과 같은 몇 가지 한계점과 과제를 안고 있다.


  • 계산 비용: 학습 및 샘플링 과정에서 상당한 계산 자원을 필요로 하며, 특히 고해상도 이미지나 비디오 생성 시 더 많은 비용이 발생한다.[13]
  • 샘플링 속도: 역방향 확산 과정이 여러 단계를 거쳐야 하므로 샘플링 속도가 느리다.
  • 제어 가능성: 생성되는 샘플의 속성을 정밀하게 제어하기 어렵다.

6. 1. 계산 비용

확산 모델은 학습 및 샘플링 과정에서 상당한 계산 자원을 필요로 한다. 특히, 고해상도 이미지나 비디오를 생성할 때는 더 많은 계산 비용이 발생한다.[13] 이미지 생성에 많은 시간이 소요되므로, 기본 확산 모델을 사용하여 작은 이미지를 생성한 후 다른 모델을 사용하여 해상도를 높이는 방법을 시도할 수 있다.[59][60]

해상도 향상은 GAN,[59] 트랜스포머,[60] 또는 란초스 리샘플링과 같은 신호 처리 방법을 통해 수행할 수 있다. 확산 모델 자체를 사용하여 해상도 향상을 수행할 수도 있는데, 캐스케이딩 확산 모델은 프로그레시브 GAN 방식으로 여러 확산 모델을 연속적으로 쌓는 방식이다.[51] 최하위 수준은 32x32 이미지를 생성하는 표준 확산 모델이며, 그 후 해상도 향상을 위해 특별히 훈련된 확산 모델을 사용하여 이미지의 해상도를 높이는 과정을 반복한다.[51]

확산 모델을 이용한 해상도 향상 학습은 다음과 같은 단계를 거친다.[51]

1. 고해상도 이미지((x_0)), 저해상도로 축소한 동일한 이미지((z_0)), 이미지 캡션이나 클래스 등 조건 정보((c))를 포함하는 (x_0, z_0, c)를 샘플링한다.

2. 두 개의 흰색 노이즈(\epsilon_x, \epsilon_z)와 두 개의 시간 단계(t_x, t_z)를 샘플링한다.

3. 고해상도 및 저해상도 이미지의 노이즈 버전을 계산한다:

  • x_{t_x} = \sqrt{\bar\alpha_{t_x}} x_0 + \sigma_{t_x} \epsilon_x
  • z_{t_z} = \sqrt{\bar\alpha_{t_z}} z_0 + \sigma_{t_z} \epsilon_z

4. x_{t_x}, z_{t_z}, t_x, t_z, c가 주어졌을 때 \epsilon_x를 예측하도록 잡음 제거 네트워크를 훈련한다. 이는 L2 손실 \| \epsilon_\theta(x_{t_x}, z_{t_z}, t_x, t_z, c) - \epsilon_x \|_2^2에 대해 \theta에 대한 경사 하강법을 적용하는 방식으로 이루어진다.

6. 2. 샘플링 속도

역방향 확산 과정은 일반적으로 여러 단계를 거쳐야 하므로 샘플링 속도가 느리다는 단점이 있다. 원본 DDPM(Denoising Diffusion Probabilistic Model) 방법은 이미지 생성 과정에서 순방향 확산 과정에 T \sim 1000 단계가 필요했고, 이는 역방향 확산 과정 또한 1000단계가 필요함을 의미했다.[16]

하지만, DDIM[24]은 DDPM 손실 함수로 학습된 모델을 사용하여 일부 단계를 건너뛰면서 샘플링하는 방법으로, 화질을 조절 가능한 수준으로 희생하여 샘플링 속도를 개선했다. DDPM에서 마르코프 연쇄 과정을 비마르코프 과정으로 일반화하면, DDIM은 역과정의 분산이 0인 경우에 해당한다. 다시 말해, 역방향 과정(그리고 순방향 과정)이 결정론적이다. 샘플링 단계를 줄일 때 DDIM은 DDPM보다 성능이 우수하다.[24]

원 논문에서는 과정이 결정론적일 때, 단 20단계만으로 생성된 샘플이 고차원에서 1000단계로 생성된 샘플과 매우 유사하다고 언급했다.[24]

이처럼 샘플링 속도를 높이기 위해 DDIM[24] 외에도 다양한 연구가 진행되고 있다.

6. 3. 제어 가능성

생성되는 샘플의 속성을 정밀하게 제어하는 것은 여전히 어려운 과제이다. 분류기 유도 등 제어 가능성을 향상시키기 위한 연구가 진행되고 있다.[37][38][39][40][41][42][43][44]

참조

[1] arXiv On the Design Fundamentals of Diffusion Models: A Survey 2023
[2] journal Diffusion Models in Vision: A Survey 2023
[3] arXiv Score-Based Generative Modeling through Stochastic Differential Equations 2021-02-10
[4] arXiv Vector Quantized Diffusion Model for Text-to-Image Synthesis 2021
[5] arXiv Scaling up Masked Diffusion Models on Text 2024
[6] book Proceedings of the Thirty-Second International Joint Conference on Artificial Intelligence International Joint Conferences on Artificial Intelligence Organization 2023-08
[7] journal SSD-LM: Semi-autoregressive Simplex-based Diffusion Language Model for Text Generation and Modular Control http://dx.doi.org/10[...] Association for Computational Linguistics 2023
[8] journal DeTiME: Diffusion-Enhanced Topic Modeling using Encoder-decoder based LLM http://dx.doi.org/10[...] Association for Computational Linguistics 2023
[9] journal DiffuSum: Generation Enhanced Extractive Summarization with Diffusion http://dx.doi.org/10[...] Association for Computational Linguistics 2023
[10] journal Diffsound: Discrete Diffusion Model for Text-to-Sound Generation http://dx.doi.org/10[...] 2023
[11] arXiv Planning with Diffusion for Flexible Behavior Synthesis 2022-12-20
[12] arXiv Diffusion Policy: Visuomotor Policy Learning via Action Diffusion 2024-03-14
[13] journal Deep Unsupervised Learning using Nonequilibrium Thermodynamics http://proceedings.m[...] PMLR 2015-06-01
[14] journal Denoising Diffusion Probabilistic Models https://proceedings.[...] Curran Associates, Inc. 2020
[15] github hojonathanho/diffusion https://github.com/h[...] 2024-09-07
[16] website What are Diffusion Models? https://lilianweng.g[...] 2023-09-24
[17] website Generative Modeling by Estimating Gradients of the Data Distribution https://yang-song.ne[...] 2023-09-24
[18] journal Generative Modeling by Estimating Gradients of the Data Distribution https://proceedings.[...] Curran Associates, Inc. 2019
[19] arXiv Score-Based Generative Modeling through Stochastic Differential Equations 2021-02-10
[20] github ermongroup/ncsn https://github.com/e[...] ermongroup 2024-09-07
[21] website Sliced Score Matching: A Scalable Approach to Density and Score Estimation https://yang-song.ne[...] 2023-09-24
[22] journal Reverse-time diffusion equation models http://dx.doi.org/10[...] 1982-05
[23] arXiv Understanding Diffusion Models: A Unified Perspective 2022
[24] arXiv Denoising Diffusion Implicit Models 2023-10-03
[25] arXiv High-Resolution Image Synthesis With Latent Diffusion Models 2022-04-13
[26] journal Improved Denoising Diffusion Probabilistic Models https://proceedings.[...] PMLR 2021-07-01
[27] conference Progressive Distillation for Fast Sampling of Diffusion Models https://openreview.n[...] 2021-10-06
[28] conference Common Diffusion Noise Schedules and Sample Steps Are Flawed https://openaccess.t[...] 2024
[29] arXiv Diffusion Models Beat GANs on Image Synthesis 2021-06-01
[30] arXiv Classifier-Free Diffusion Guidance 2022-07-25
[31] arXiv CFG++: Manifold-constrained Classifier Free Guidance for Diffusion Models 2024-06-12
[32] arXiv Stay on topic with Classifier-Free Guidance 2023-06-30
[33] arXiv Re-imagine the Negative Prompt Algorithm: Transform 2D Diffusion into 3D, alleviate Janus problem and Beyond 2023-04-26
[34] arXiv Diffusion Models: A Comprehensive Survey of Methods and Applications 2022
[35] arXiv Simplified and Generalized Masked Diffusion for Discrete Data 2024
[36] arXiv Elucidating the Design Space of Diffusion-Based Generative Models 2022
[37] journal A Survey on Generative Diffusion Models https://ieeexplore.i[...] 2024-07-01
[38] journal PFGM++: Unlocking the Potential of Physics-Inspired Generative Models https://proceedings.[...] PMLR 2023-07-03
[39] journal Consistency Models https://proceedings.[...] PMLR 2023-07-03
[40] arXiv Score-Based Generative Modeling with Critically-Damped Langevin Diffusion 2021-10-06
[41] arXiv GenPhys: From Physical Processes to Generative Models 2023-04-05
[42] journal Cold Diffusion: Inverting Arbitrary Image Transforms Without Noise https://proceedings.[...] 2023-12-15
[43] journal Likelihood-Based Diffusion Language Models https://proceedings.[...] 2023-12-15
[44] arXiv Discrete Diffusion Modeling by Estimating the Ratios of the Data Distribution 2024-06-06
[45] journal Improving and generalizing flow-based generative models with minibatch optimal transport https://openreview.n[...] 2023-11-08
[46] arXiv Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow 2022-09-07
[47] arXiv Rectified Flow: A Marginal Preserving Approach to Optimal Transport 2022-09-29
[48] arXiv Flow Matching for Generative Modeling 2023-02-08
[49] arXiv Building Normalizing Flows with Stochastic Interpolants 2023-03-09
[50] 웹사이트 An introduction to Flow Matching · Cambridge MLG Blog https://mlg.eng.cam.[...] 2024-08-20
[51] journal Cascaded diffusion models for high fidelity image generation https://dl.acm.org/d[...] 2022-01-01
[52] arXiv Scalable Diffusion Models with Transformers 2023-03-01
[53] arXiv Scaling Diffusion Transformers to 16 Billion Parameters 2024-07-16
[54] arXiv Human Motion Diffusion Model 2022
[55] arXiv Adding Conditional Control to Text-to-Image Diffusion Models 2023
[56] arXiv RePaint: Inpainting Using Denoising Diffusion Probabilistic Models 2022
[57] arXiv Prompt-to-Prompt Image Editing with Cross Attention Control 2022-08-02
[58] arXiv Conditional sampling within generative diffusion models 2024
[59] conference Real-ESRGAN: Training Real-World Blind Super-Resolution With Pure Synthetic Data https://openaccess.t[...] 2021
[60] conference SwinIR: Image Restoration Using Swin Transformer https://openaccess.t[...] 2021
[61] arXiv GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models 2022-03-08
[62] 웹사이트 GLIDE https://github.com/o[...] OpenAI 2023-09-24
[63] arXiv Hierarchical Text-Conditional Image Generation with CLIP Latents 2022-04-12
[64] 웹사이트 The Illustrated Stable Diffusion https://jalammar.git[...] 2022-10-31
[65] arXiv Scaling Rectified Flow Transformers for High-Resolution Image Synthesis 2024-03-05
[66] arXiv SV4D: Dynamic 3D Content Generation with Multi-Frame and Multi-View Consistency 2024-07-24
[67] 웹사이트 Imagen: Text-to-Image Diffusion Models https://imagen.resea[...] 2024-04-04
[68] journal Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding https://proceedings.[...] 2022-12-06
[69] arXiv Muse: Text-To-Image Generation via Masked Generative Transformers 2023-01-02
[70] 웹사이트 Imagen 2 - our most advanced text-to-image technology https://deepmind.goo[...] 2024-04-04
[71] 웹사이트 Veo https://deepmind.goo[...] 2024-05-17
[72] 웹사이트 Introducing Make-A-Video: An AI system that generates videos from text https://ai.meta.com/[...] 2024-09-20
[73] arXiv Make-A-Video: Text-to-Video Generation without Text-Video Data 2022-09-29
[74] 웹사이트 Introducing CM3leon, a more efficient, state-of-the-art generative model for text and images https://ai.meta.com/[...] 2024-09-20
[75] arXiv Chameleon: Mixed-Modal Early-Fusion Foundation Models 2024-05-16
[76] arXiv Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model 2024-08-20
[77] 웹사이트 Movie Gen: A Cast of Media Foundation Models https://ai.meta.com/[...] 2024-10-04
[78] 저널 Denoising Diffusion Probabilistic Models 2020-06-19
[79] arXiv Score-Based Generative Modeling through Stochastic Differential Equations 2021-02-10
[80] arXiv Vector Quantized Diffusion Model for Text-to-Image Synthesis 2021
[81] arXiv Diffusion models in vision: A survey 2022
[82] 저널 Deep Unsupervised Learning using Nonequilibrium Thermodynamics http://proceedings.m[...] PMLR 2015-06-01
[83] 웹사이트 Introduction to Image Generation - Introduction to Image Generation https://www.coursera[...] 2023-11-12
[84] arXiv Hierarchical Text-Conditional Image Generation with CLIP Latents 2022
[85] arXiv Diffusion Models Beat GANs on Image Synthesis 2021-06-01
[86] arXiv Classifier-Free Diffusion Guidance 2022-07-25
[87] arXiv GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models 2022-03-08
[88] arXiv Hierarchical Text-Conditional Image Generation with CLIP Latents 2022-04-12
[89] arXiv Photorealistic Text-to-Image Diffusion Models with Deep Language Understanding 2022-05-23



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com