AI VIDEO BRIEFING
플로우 매칭 원리 정리: MIT 6.S184 강의로 보는 확산 모델과 생성 모델의 학습 알고리즘
MIT 6.S184 두 번째 강의는 영상·이미지 생성 모델의 표준 학습법인 플로우 매칭을 다룬다. 복잡한 수식을 걷어내면 남는 알고리즘은 노이즈와 데이터를 직선으로 섞고 그 방향을 맞히는 단순한 회귀였다.

핵심 메시지
쉽게 이해하기
MIT 6.S184 강의의 두 번째 시간은 확산 모델과 플로우 모델을 실제로 학습시키는 알고리즘인 플로우 매칭을 다룬다. 플로우 모델은 보통 가우시안 분포에서 시작해 상미분방정식(ODE)을 따라 점을 이동시키고, 그 벡터장을 신경망이 담당한다. 확산 모델은 여기에 브라운 운동의 증분을 더해 확률미분방정식(SDE)으로 확장한 것으로, 강의자는 둘이 본질적으로 같은 구조라고 정리한다. 문제는 이 신경망을 어떻게 학습시켜야 시작점이 무작위여도 끝점이 진짜 데이터가 되느냐였다.
강의는 세 가지 개념을 각각 조건부와 주변부 두 형태로 짝지어 설명한다. 확률 경로는 노이즈에서 데이터로 가는 길을 정의하고, 벡터장은 그 길을 따라가는 방향을 주며, 플로우 매칭 손실은 그 방향을 신경망이 배우게 한다. 조건부 대상은 데이터 한 점을 고정한 채 정의되고, 주변부 대상은 데이터 분포 전체에 대해 평균을 낸 것이다. 가장 널리 쓰이는 예인 가우시안 확률 경로에서는 두 개의 스케줄 계수만 정하면 되고, 가장 단순하게는 시각 t와 1-t를 그대로 쓰면 된다.
결정적인 대목은 조건부 벡터장에서 주변부 벡터장을 구성하는 단계다. 현재 위치 X에 도달했을 법한 모든 데이터 점을 후보로 두고, 베이즈 정리로 얻은 사후 확률로 가중 평균한 방향이 주변부 벡터장이다. 강의자는 연속 방정식을 이용해 이 벡터장이 실제로 주변부 확률 경로를 따라가며, 결국 시각 1에서 데이터 분포를 만들어낸다는 것을 증명한다. 즉 한 점을 재현하는 사소한 도구가 데이터 분포 전체를 생성하는 도구로 조립된다.
그런데 이 주변부 벡터장을 직접 목표로 삼는 손실은 계산할 수 없다. 강의의 핵심 정리는 계산 가능한 조건부 플로우 매칭 손실이 계산 불가능한 플로우 매칭 손실과 상수 하나만큼만 차이 난다는 것이다. 상수는 파라미터에 의존하지 않으므로 기울기가 같고 최솟값을 주는 지점도 같다. 따라서 조건부 손실만 경사하강으로 최소화해도 신경망은 주변부 벡터장에 수렴한다.
가장 단순한 스케줄을 대입하면 알고리즘은 몇 줄로 줄어든다. 데이터를 하나 뽑고, 0과 1 사이 시각을 뽑고, 가우시안 노이즈를 뽑아 둘을 직선으로 보간한 뒤, 그 지점에서 데이터와 노이즈의 차이를 신경망이 예측하도록 회귀시킨다. 강의자는 이 손실이 메타의 MovieGen과 Stable Diffusion 3 같은 실제 영상·이미지 모델 학습에 그대로 쓰였다고 소개한다. 생성 모델링을 회귀 문제로 바꿔놓은 셈이다.
주요 인사이트
- 수학적 유도는 길지만 최종 알고리즘은 '노이즈와 데이터를 섞고 그 차이를 맞히기'로 끝난다. 구현 난이도가 낮다는 점이 곧 확장성이 되었고, 이것이 이 계열 모델이 산업에서 표준이 된 실질적 이유다.
- 신경망은 학습 내내 주변부 벡터장을 단 한 번도 본 적이 없는데도 그것을 배운다. 목표가 직접 계산되지 않아도 기울기만 같으면 학습이 성립한다는 점은 다른 생성 모델 설계에도 적용될 수 있는 발상이다.
- 학습 시 시뮬레이션이 필요 없다는 '시뮬레이션 프리' 성질이 이전 방식과의 결정적 차이다. 과거에는 궤적을 여러 단계 굴려야 해서 비용이 컸고, 그래서 이런 모델을 크게 키우기 어려웠다.
- 비용은 사라진 것이 아니라 추론 시점으로 옮겨갔다. 영상 하나를 만들려면 큰 텐서를 두고 신경망을 100번 안팎 호출해야 하며, 이 구조가 영상 생성 서비스의 가격에 그대로 반영된다.
- 생성 모델은 데이터의 확률 밀도를 모른 채 샘플만 가지고 시작한다는 전제도 강의 초반에 분명히 정리된다. 밀도를 알고 샘플이 없는 경우는 마르코프 연쇄 몬테카를로 같은 다른 계열의 문제다.
자주 묻는 질문
플로우 매칭 학습은 실제로 어떤 순서로 진행되나요?
데이터셋에서 샘플을 하나 뽑고, 0과 1 사이에서 시각을 균등하게 뽑고, 가우시안 노이즈를 뽑습니다. 그다음 노이즈와 데이터를 스케줄 계수로 보간해 중간 지점을 만들고, 그 지점에서 신경망이 출력한 벡터를 목표 벡터에 회귀시킵니다. 가장 단순한 스케줄에서는 목표가 데이터와 노이즈의 차이가 되며, 이후에는 자동미분과 경사하강으로 평범하게 최소화합니다.
계산할 수 없는 손실을 어떻게 최소화한다는 것인가요?
실제로 줄이고 싶은 플로우 매칭 손실은 주변부 벡터장을 목표로 하기 때문에 계산이 불가능합니다. 하지만 계산 가능한 조건부 플로우 매칭 손실과 이 손실은 파라미터와 무관한 상수만큼만 차이가 납니다. 상수는 미분하면 사라지므로 두 손실의 기울기와 최소점이 같고, 조건부 손실만 최소화해도 원하는 결과를 얻습니다.
학습이 그렇게 단순하다면 왜 생성은 느린가요?
학습 단계에서는 미분방정식을 전혀 시뮬레이션하지 않지만, 학습이 끝난 뒤 샘플을 만들 때는 벡터장을 따라 궤적을 실제로 풀어야 합니다. 강의에서는 100단계 안팎을 언급하는데, 매 단계마다 신경망을 호출해야 하므로 특히 영상처럼 큰 데이터에서는 추론 비용이 커집니다.
확률 경로와 스케줄 계수는 정해진 값인가요?
정해진 값이 아니라 설계자가 고르는 선택지입니다. 시작에서 표준 가우시안이 되고 끝에서 데이터 점 하나로 모이도록 하는 조건만 만족하면 되고, 그 조건을 만족하는 계수 조합은 하나의 가족을 이룹니다. 강의에서는 가장 단순한 선택으로 계수를 t와 1-t로 두는 예를 듭니다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗