콘텐츠로 이동

11. 플로 매칭

이 장의 질문

간단한 분포에서 뽑은 샘플을 원하는 데이터 분포로 어떻게 옮길까?

플로 매칭(Flow Matching)은 출발 분포의 샘플을 데이터 분포로 옮기는 시간에 따른 벡터장을 학습한다. 다음 세 가지를 중심으로 살펴본다.

  • 무엇이 흐르고 무엇을 학습하는가
  • 학습과 생성이 각각 어떤 계산인가
  • 확산 모델과 무엇을 공유하고 어디에서 달라지는가
읽기 수준과 선수지식 확인

읽기 전에 확인할 내용

아래 용어가 문장에서 어떤 역할을 하는지 알면 된다.

  • 확률분포: 가능한 샘플과 그 상대적인 가능성을 나타낸다.
  • 벡터장: 각 위치와 시간에서 어느 방향으로 얼마나 움직일지를 지정한다.
  • 상미분방정식(ordinary differential equation, ODE): 현재 위치의 속도가 다음 움직임을 결정한다.
  • 수치 풀이법: 연속적인 ODE를 유한한 단계로 나눠 근사 계산한다.
  • 확산 모델의 잡음 추가와 제거: 10장에서 본 생성 경로와 비교한다.

1. 생성 문제를 운반 문제로 다시 보기

표준 가우스처럼 샘플을 얻기 쉬운 분포를 \(p_0\)라고 하고, 우리가 만들고 싶은 데이터 분포를 \(p_1\)이라고 하자. 생성은 \(x_0 \sim p_0\)를 뽑은 뒤 \(x_1 \sim p_1\)처럼 보이는 샘플로 바꾸는 일이다.

여기서는 \(t=0\)이 출발 노이즈이고 \(t=1\)이 데이터다. 반면 10장의 확산 표기에서는 \(x_0\)가 깨끗한 데이터이고 \(x_T\)가 노이즈다. 두 장의 시간축은 표기상 서로 반대 방향을 가리키므로, 같은 아래첨자를 같은 상태로 해석하지 않는다.

흐름 기반 관점은 이 변환을 한 번의 복잡한 함수로만 보지 않는다. \(t=0\)에서 \(t=1\)까지 중간 분포 \(p_t\)를 놓고 샘플이 연속적인 경로를 따라 움직인다고 생각한다. 시간 \(t\)에서 샘플 \(x_t\)의 움직임은 다음 ODE로 표현할 수 있다.

\[ \frac{d x_t}{d t}=v_\theta(x_t,t) \]

\(v_\theta\)는 신경망으로 표현한 속도장이다. 입력은 현재 샘플과 시간이고, 출력은 지금 샘플이 움직여야 할 방향과 크기다. 학습이 잘 되면 \(p_0\)의 샘플들을 이 장에 따라 이동시켰을 때 최종 분포가 \(p_1\)에 가까워진다.

중요한 구분은 다음과 같다.

  • 궤적은 샘플 하나가 시간에 따라 지나가는 경로다.
  • 확률 경로는 샘플 전체의 분포가 시간에 따라 변하는 경로다.
  • 벡터장은 각 위치와 시간에서 궤적의 속도를 정한다.
출발 잡음 분포의 샘플이 시간 의존 벡터장을 따라 목표 데이터 분포로 이동하는 과정
벡터장은 각 위치와 시간에서 샘플의 속도를 정한다. 개별 샘플은 궤적을 따라 움직이고, 샘플 전체가 이루는 중간 분포도 함께 변한다.

2. 왜 플로 매칭이 필요한가

연속 정규화 흐름, CNF도 ODE를 이용해 분포를 변환한다. 하지만 일반적인 가능도 기반 CNF 학습에는 밀도 변화와 야코비안 대각합을 다루는 계산이 들어간다. 플로 매칭은 적절한 목표 속도를 구성하고 이를 직접 회귀하는 방식으로 벡터장을 학습할 수 있게 한다.

대표적인 형태의 목적 함수는 다음처럼 읽을 수 있다.

\[ \mathcal{L}_{FM}=\mathbb{E}_{t,x_t}\left[\lVert v_\theta(x_t,t)-u_t(x_t)\rVert^2\right] \]
  • \(t\)는 중간 시간을 나타낸다.
  • \(x_t\)는 선택한 확률 경로 위의 중간 샘플이다.
  • \(u_t(x_t)\)는 그 위치와 시간에서의 목표 속도다.
  • 모델은 \(v_\theta\)가 \(u_t\)에 가까워지도록 학습한다.

실제 데이터 분포 전체의 목표 장을 직접 계산하기는 어렵다. 조건부 플로 매칭은 데이터 샘플과 출발 샘플 등의 조건으로 다루기 쉬운 조건부 경로와 속도를 만든 뒤 회귀한다. 적절한 조건에서는 조건부 목적 함수를 최적화해 원하는 주변 흐름을 얻을 수 있다. 먼저 이해할 점은 생성 문제를 속도 예측 문제로 바꾼다는 것이다.

3. 학습과 샘플링은 다르다

학습에서는 시간 \(t\)와 중간 샘플 \(x_t\)를 만들고 목표 속도를 계산해 회귀 손실을 줄인다. 이때 신경망 매개변수는 2장과 3장에서 본 역전파와 옵티마이저로 갱신된다.

생성에서는 다음 순서를 따른다.

  1. \(x_0 \sim p_0\)를 샘플링한다.
  2. 학습된 \(v_\theta(x,t)\)를 ODE의 우변으로 사용한다.
  3. 수치 풀이법으로 \(t=0\)부터 \(t=1\)까지 적분한다.
  4. 최종 상태 \(x_1\)을 생성 샘플로 사용한다.

따라서 플로 매칭은 역전파를 대체하는 학습법이 아니다. 무엇을 예측하도록 학습할지 정하는 목적 함수이며, 매개변수 학습에는 보통 역전파를 사용한다. 생성 시점에는 기울기 갱신이 아니라 ODE 적분을 수행한다.

핵심 흐름 펼쳐보기: 확산 모델과 비교, 경로와 적분기

4. 확산 모델과 비교하기

확산과 플로 매칭은 완전히 무관한 계열이 아니다. 둘 다 쉬운 분포와 데이터 분포 사이의 시간 의존 경로를 사용하고, 시간 정보를 받는 신경망을 학습하며, 생성 시 여러 단계를 거칠 수 있다. 또한 확률적 확산을 설명하는 SDE에는 같은 주변 분포를 갖는 확률 흐름 ODE가 대응될 수 있다.

하지만 입문 단계에서는 다음 관점 차이가 유용하다.

  • 확산은 정방향 잡음 추가 과정과 그 역과정 또는 노이즈 제거를 중심으로 설명한다. 생성 과정은 확률적인 역방향 SDE 또는 결정론적인 ODE와 샘플러로 표현할 수 있다.
  • 플로 매칭은 선택한 확률 경로를 실현하는 속도 장을 회귀하는 문제에서 출발한다. 생성 과정은 보통 ODE 적분으로 설명한다.

따라서 확산은 노이즈 예측, 플로 매칭은 속도 예측이라는 문장은 첫 직관으로는 유용하지만 완전한 구분은 아니다. 확산 모델도 매개변수화에 따라 속도를 예측할 수 있고, 두 분야는 확률 흐름 ODE 등에서 연결된다. 정확한 비교에는 경로, 목적 함수, 확률성, 매개변수화, 수치 풀이법을 함께 봐야 한다.

5. 경로와 수치 적분기도 모형의 일부다

같은 출발과 목표 분포를 잇더라도 중간 경로는 여러 방식으로 설계할 수 있다. 경로가 크게 휘거나 속도가 급변하면 수치 풀이법이 작은 단계를 요구할 수 있다. 비교적 곧은 궤적은 샘플링 단계를 줄이는 데 유리할 수 있지만, 실제 성능은 데이터 기하 구조, 학습 목적 함수, 신경망, 수치 풀이법의 상호작용에 달려 있다.

이 맥락에서 다음 용어를 위치만 알아둔다.

  • 최적 수송 경로: 운반 비용과 기하 구조를 고려해 출발과 목표 분포를 연결하는 관점이다.
  • 교정 흐름: 궤적을 더 곧게 만드는 방향의 학습과 재결합을 탐구하는 계열이다.
  • 수치 풀이법 차수와 단계 크기: 속도와 이산화 오차 사이의 절충 관계를 만든다.
  • 적응형 수치 풀이법: 추정 오차에 따라 단계 크기를 조정한다. 샘플마다 계산량이 달라질 수 있다.

수치 풀이법 단계를 줄인다고 언제나 같은 품질이 유지되는 것은 아니며, 특정 경로가 모든 문제에서 가장 낫다고 가정해서도 안 된다. 실제 경과 시간에는 신경망 평가 비용과 하드웨어 효율도 영향을 준다.

6. 조건부 생성

레이블, 텍스트, 물성, 구조적 제약 같은 조건 \(c\)가 있다면 벡터장을 \(v_\theta(x,t,c)\)로 만들 수 있다. 이 경우 모델은 출발 샘플을 아무 데이터 샘플로 옮기는 것이 아니라 조건과 맞는 영역으로 운반하도록 학습된다.

조건부 생성의 평가는 두 축을 함께 봐야 한다.

  • 충실도와 다양성: 생성물이 데이터 분포를 얼마나 잘 반영하고 서로 충분히 다양한가
  • 조건 충실도: 생성물이 주어진 조건을 얼마나 충실히 만족하는가

과학 응용에서는 여기에 물리적 유효성, 제약 만족, 후속 시뮬레이션의 안정성을 추가해야 한다.

이 장에서 기억할 내용

  • 플로 매칭은 출발 분포를 목표 분포로 옮기는 시간 의존 벡터장을 학습한다.
  • 학습은 주로 속도 회귀와 역전파이고, 생성은 학습된 ODE의 수치 적분이다.
  • 확률 경로와 수치 풀이법 선택은 생성 경로와 계산비용에 영향을 준다.
  • 확산과 플로 매칭은 연결점이 많다. 둘을 모형 구조 이름이나 단순한 경쟁 관계로 보면 안 된다.

이름과 위치만 알아둘 내용

  • 연속 정규화 흐름과 가능도 학습
  • 조건부 플로 매칭의 이론적 정당화
  • 최적 수송 조건부 경로
  • 교정 흐름과 재흐름
  • 확률 흐름 ODE와 역시간 SDE
  • 고차 및 적응형 ODE 수치 풀이법
자주 하는 혼동과 한계

자주 생기는 혼동과 한계

ODE이므로 정확한가

아니다. 학습된 벡터 장 자체에 근사 오차가 있고 수치 풀이법에도 이산화 오차가 있다. ODE를 사용한다는 사실만으로 생성 분포가 데이터 분포와 정확히 일치하지는 않는다.

샘플링 단계 수만 비교하면 되는가

아니다. 한 단계당 신경망 평가 수, 모형 크기, 배치 크기, 하드웨어, 수치 풀이법 허용오차를 함께 보고 실제 경과 시간 비용을 측정해야 한다.

플로 매칭은 확산을 완전히 대체하는가

그렇게 단정할 수 없다. 두 계열은 겹치는 수학적 구조를 가지며 응용, 조건부 제어, 모형 구조, 수치 풀이법 생태계가 다르다. 실제 선택은 목표와 검증 결과에 따라 달라진다.

좋은 생성 평가 지표이면 과학적으로 유효한가

아니다. 일반 생성 평가 지표와 별도로 제약, 물성, 안정성, 신규성, 후속 유용성을 평가해야 한다.

앞뒤 장과의 연결

  • 2장과 3장: 속도 신경망도 역전파와 옵티마이저로 학습한다.
  • 7장: 트랜스포머는 벡터장을 표현하는 기반망이 될 수 있다.
  • 10장: 확산의 시간 의존 경로, 스코어, 확률 흐름 ODE가 직접적인 비교축이다.
  • 12장: RL은 생성 모델 다음 단계가 아니라 보상을 사용하는 독립 분기다.
  • 13장: 과학 생성에서는 물리적 제약과 OOD 평가가 추가된다.

스스로 확인하기

  • 플로 매칭의 학습 단계와 생성 단계에서 각각 어떤 계산을 하는가?
  • 확산과 플로 매칭을 경로, 예측 목표값, 샘플링 동역학이라는 축으로 비교하면 무엇이 같고 다른가?
  • ODE 수치 풀이법의 단계 수만으로 두 생성 모델의 실제 계산비용을 비교하기 어려운 이유는 무엇인가?

더 읽을 자료

원전은 수식과 이론을 모두 이해하기 위한 필수 과제가 아니다. 먼저 초록과 서론, 핵심 그림을 통해 각 논문이 어떤 경로와 학습 문제를 제안하는지 확인한다.