본 논문에서는 Continuous Normalizing Flows(CNFs)를 기반으로 한 새로운 생성 모델링 패러다임을 소개하며, 이를 통해 전례 없는 규모로 CNF를 훈련할 수 있게 되었다. 우리는 고정된 조건부 확률 경로의 벡터장을 Regressing하는 방식으로 CNF를 훈현하는 Flow matching을 제시한다. 플로 매칭은 노이즈와 데이터 샘플 간의 변환을 위한 일반적인 가우시안 확률 경로군과 호환되며, 이는 기존의 디퓨젼 경로를 특정 인스턴스로 포함하게 된다. 흥미롭게도, Diffusion path와 함께 FM을 사용하면 디퓨젼 모델을 훈련하는 데 있어 더 견고하고 안정적인 대안이 된다는 것을 발견했다. 또 FM은 디퓨젼이 아닌 다른 확률 경로로 CNF를 훈련할 수 있는 가능성을 열어준다. 특히 관심을 끄는 사례는 Optimal Transport displacement interpolation을 사용하여 조건부 확률 경로를 정의하는 것이다. 이런 경로는 디퓨젼 경로보다 더 효율적이며, 더 빠른 훈련과 샘플링을 제공하고, 더 나은 일반화 결과를 가져온다. FM을 사용하여 ImageNet에서 CNF를 훈련하면 likelihood와 샘플 품질 모두에서 디퓨젼 기반 방법보다 나은 성능을 보인다는 것이다.
사전 지식
Continuous Normalizing Flows (CNF)
복잡한 확률 분포를 모델링하기 위한 생성 모델의 한 종류
간단한 분포(보통 가우시안 분포)에서 복잡한 데이터 분포로 연속적인 변환을 학습
ODE(상미분방정식: 하나의 독립 변수만을 가지고 있는 미분방정식)을 사용하여 변환 과정을 모델링
Normalizing Flow
간단한 기본 분포(보통 표준정규분포)에서 시작해 일련의 가역적 변환을 통해 목표 데이터 분포로 변환
Change of Variables
확률 밀도 함수의 변환을 추적하며, 야코비안을 사용해 변환 후의 확률 밀도 계산
단계
간단한 분포에서 샘플 z 추출
일련의 가역 함수 f1, f2, ... , fn을 통해 z를 변환해 최종적으로 x = fn(...f2(f1(z))를 얻음
모델 훈련은 negative log-likelihood를 최소화하는 방향으로 이루어짐
CNF는 ODE를 사용하여 간단한 분포(노이즈)를 복잡한 데이터 분포로 변환하고, 시간에 따라 연속적으로 변화하는 vector field를 모델링하는 것
기존 CNF 훈련 방법은 계산 비용이 높은 시뮬레이션이 필요했는데, 이 논문에서는 CNF를 시뮬레이션 없이도 훈련할 수 있는 Flow macthing 접근법을 제안
Probability path
노이즈 분포에서 데이터 분포로 변환하는 경로
Flow-based Deep Generative Models
Introduction
Deep generative model은 알려지지 않은 데이터 분포를 추정하고 샘플링하는 것을 목표로 하는 딥러닝 알고리즘의 한 종류이다. 최근 이미지 생성 분야에서 놀라운 발전들은 주로 안정적이고 확장 가능한 디퓨젼 기반 모델 학습에 의해 이루어졌다. 하지만 단순한 디퓨젼 프로세스에 제한되면 샘플링 확률 경로의 공간이 제한되어 매우 긴 학습 시간이 필요하고 효율적인 샘플링을 위해 특수한 방법을 채택해야 한다.
디퓨젼 프로세스가 샘플링 확률 경로의 공간을 제한하는 이유
디퓨젼 모델은 일반적으로 미리 정의된 노이즈 스케줄러를 사용하는데, 이 스케줄링이 학습 과정에서 변경되지 않으며 모든 데이터 포인트에 동일하게 적용된다.
전통적인 디퓨젼 모델은 노이즈가 가우시안 분포를 따른다고 가정한다.
디퓨젼 과정은 브라운 운동이나 열 확산같은 물리적 프로세스에서 시작했는데, 이런 과정은 특정한 형태의 경로(ex.무작위적이고 점진적인 확산)만 허용한다.
본 논문에서는 CNF라는 일반적이고 결정론적인 프레임워크를 고려하고 있다. CNF는 임의의 확률 경로를 모델링할 수 있으며, 특히 디퓨젼 프로세스로 모델링된 확률 경로를 포함할 수 있다. 그러나 디퓨젼은 Denoising score matching 등을 통해 효율적으로 학습할 수 있는 반면, 확장 가능한 CNF 학습 알고리즘은 알려져 있지 않았다. 실제로 maximum likelihood training은 계산량이 많은 ODE 시뮬레이션이 필요하고, 시뮬레이션을 사용하지 않는 방법은 계산이 불가능한 적분이나 편향된 그래디언트를 포함한다.
이 연구의 목표는 FM이라는 효율적이고 시뮬레이션이 필요 없는 CNF 모델 학습 접근법을 제안하여 일반적인 확률 경로를 CNF 학습에 적용할 수 있게 하는 것이다. 중요한 점은, FM이 디퓨젼을 넘어선 확장 가능한 CNF 학습의 장벽을 허물고 디퓨젼 프로세스에 대해 고민할 필요 없이 직접 확률 경로로 작업할 수 있게 한다는 것이다.
특히 우리는 Flow Matching Objective를 제안한다. 이는 원하는 확률 경로를 생성하는 목표 벡터장에 회귀하기 위한 간단하고 직관적인 학습 목적 함수이다. 먼저 예제별 공식을 통해 이런 목표 벡터자을 구성할 수 있음을 보여주고 이후 Denoising score matching에서 영감을 받아 Conditional Flow Matching(CFM) : pre-example training objective가 동등한 그래디언트를 제공하며 게산이 불가능한 목표 벡터장에 대한 명시적인 지식이 필요하지 않음을 보여준다.
Preliminaries : Continuous Normalizing Flows
1. Probability Density Path
시간에 따라 변화하는 확률 밀도 함수 p(t,x)이다. 시간 t가 0에서 1로 변화함에 따라 간단한 분포에서 복잡한 분포로 변환된다.
2. Time-dependent Vector Field
각 시간 t와 위치 x에서 입자가 어느 방향으로 얼마나 빨리 움직여야 하는지 알려주는 함수 v(t,x)이다.
3. CNF의 작동 원리
a. Flow 정의
벡터장 v를 사용하여 흐름 φ를 정의하고, 이는 ODE를 통해 이루어진다.
dφt(x)/dt = vt(φt(x)): 입자가 벡터장을 따라 움직이는 방식 φ0(x) = x: 시작점은 원래 위치
b. 2018년에 Chen. et al은 이 벡터장을 vt(x; θ)로 모델링할 것을 제안했다.
c. CNF는 간단한 초기 분포 p0(예: 노이즈)를 더 복잡한 분포 p1(우리가 원하는 데이터 분포)로 변환gksek.
d. 이 변환은 "푸시-포워드" 방정식으로 이루어진다.
pt = [φt]∗p0: 시간 t에서의 분포는 초기 분포 p0를 φt로 변환한 결과
각 데이터 포인트는 벡터장에 따라 움직이며, 그 움직임이 상미분 방정식으로 정의된다.
3. Flow Matching
*의역 및 기타 설명 추가한 내용
우선 x1은 알려지지 않은 데이터 분포 q(x1)에 따른 랜덤 변수이다. 우리는 q(x1)의 데이터 샘플에만 접근할 수 있으며, 밀도 함수 자체에는 접근할 수 없다. pt는 확률 경로로, p0는 간단한 분포(예: 표준 정규 분포 p(x) = N(x|0,I))이고, p1은 대략적으로 q와 같은 분포이다.
목표 확률 밀도 경로 pt(x)와 그에 해당하는 벡터장 ut(x)가 주어졌을 때, 플로우 매칭(FM) 목적 함수는 다음과 같이 정의된다.
여기서 θ는 CNF 벡터장 vt의 학습 가능한 매개변수이고, t는 [0,1] 구간의 균일 분포에서 추출되고, x는 pt(x)에서 추출된다. 간단히 말해, FM 손실은 벡터장 ut를 신경망 vt로 회귀한다. 손실이 0에 도달하면, 학습된 CNF 모델은 pt(x)를 생성할 것이다. 1