매니폴드만 바꾸면: 같은 흐름이 이미지·비디오·로봇 동작을 만든다
지금까지 새가 나는 하늘은 직선이거나 평면이었다. 그런데 실제 모델이 노이즈에서 흘려 보내는 점은 이미지 한 장, 로봇 팔이 앞으로 1초 동안 할 움직임 같은 것이다. 하늘이 그렇게 커지고 모양이 달라져도 같은 틀이 그대로 통할까? 먼저 이 장에서 쌓은 것을 디퓨전과 나란히 놓고 정리한 뒤 보자.
대응표
디퓨전은 드래곤볼 찾기로, 플로우 매칭은 철새의 이주로 비유했다. 드래곤볼 찾기에서 참가자는 안개(노이즈) 속에서 드래곤볼(데이터가 몰린 곳)을 가리키는 레이더(스코어)만 보고 걷는다.
| 드래곤볼 찾기 (디퓨전) | 철새의 이주 (플로우 매칭) |
|---|---|
| 레이더 (∇ₓ log pt) | 비행 프로그램 (v(x, t)) |
| 끌리는 방향 + 걷는 규칙(SDE/ODE) | 흐르는 속도 그 자체 |
| 안개 수준마다 다른 레이더 | 시간마다 다른 속도장 |
| 조건부 타깃 −(xt − αtx)/σt² 의 평균 | 조건부 타깃 x − z 의 평균 |
| 역방향 SDE의 비틀거림 (g > 0) | ODE의 매끈한 궤적 (g = 0) — 두 방법 모두 두 샘플러를 다 쓸 수 있다 |
| 스코어 매칭 (L² 사영) | 속도장 학습 (L² 사영) |
| v = x/t + ((1 − t)/t)∇log pt 로 서로 옮겨짐 | 〃 |
ML에서: 매니폴드만 바꾸면 — 비디오, 3D, 로보틱스
플로우 매칭의 틀은 “어떤 공간 위에서든” 노이즈에서 데이터로의 흐름을 설계할 수 있게 한다. 이미지(픽셀 공간의 매니폴드)는 하나의 사례일 뿐이다.
이미 큰 모델들이 이 틀을 쓴다. Stable Diffusion 3의 논문(패트릭 에서(Patrick Esser) 외, 2024)은 노이즈와 데이터를 직선으로 잇는 정류 흐름 방식으로 이미지 생성 모델을 키웠다. Black Forest Labs의 FLUX.1도 스스로를 “rectified flow transformer”(정류 흐름 트랜스포머)라고 소개한다. 로봇 쪽에서는 Physical Intelligence의 π0(파이 제로, 블랙(Kevin Black) 외, 2024)가 비전-언어 모델 위에 플로우 매칭으로 동작을 만드는 부분을 얹었다. 이 모델은 앞으로 할 동작 50스텝을 한 묶음으로 만들고, 그 묶음 하나를 노이즈에서 오일러 방법 10걸음으로 흘려 만든다. 적은 걸음으로도 흐름을 따라갈 수 있느냐가 로봇이 제때 움직이느냐로 바로 이어지는 자리다.
철새 비유의 확장
| 무엇을 만드나 | 새가 나는 하늘 |
|---|---|
| 이미지 생성 | 픽셀들이 이루는 하늘 |
| 비디오 생성 | 시간 축이 더해진 하늘 |
| 3D 생성 | 3D 장면을 적는 값들의 하늘 |
| 로봇 동작 | 관절 각도들이 이루는 하늘 |
“하늘의 차원이 달라져도 비행 프로그램의 구조는 같다.”
관절 인형 — 비유가 실제가 되는 곳
매니폴드를 설명할 때 흔히 드는 비유가 관절 인형이다. 관절이 10개면 자유도(독립적으로 정할 수 있는 숫자의 개수)는 10이다. 인형의 모든 가능한 자세는, 인형을 그린 그림이 사는 고차원 공간 속에서 10차원 매니폴드를 이룬다. 보통은 "매니폴드의 예시"로만 받아들이고 지나간다.
여기서 그 비유가 실제가 된다. 로봇 팔의 동작 생성이 정확히 이 문제다. 관절 각도 공간 위에서, 무작위로 뽑은 노이즈 동작에서 목표 동작(데이터)으로의 플로우를 학습한다. π0는 앞으로 할 동작을 몇 스텝 묶음으로 한꺼번에 만든다.
비유였던 것이 실제가 되는 순간.
| 영역 | 매니폴드 | 닮은 개념 |
|---|---|---|
| 이미지 | 픽셀 공간의 부분매니폴드 | 매니폴드 가설 |
| 비디오 | 시공간 매니폴드 | 좌표 패치 (매니폴드 한 조각에 붙인 좌표) |
| 3D | radiance field(장면의 각 점에서 각 방향으로 보이는 색과 밝기를 적은 함수)의 매니폴드 | 좌표 패치 |
| 로봇 동작 | 관절 각도 공간 | 관절 인형 |
수확
“디퓨전은 매 순간의 레이더, 플로우 매칭은 길을 익힌 새의 비행 프로그램. 가우시안 경로 위에서 둘은 한 식으로 서로 옮겨지고, 바람의 크기는 우리가 고르는 샘플러의 선택이다. 같은 양 끝 분포, 같은 중간 분포, 다른 한 마리의 길.”
“플로우 매칭의 틀은 공간에 무관하다. 하늘의 차원만 바꾸면 같은 비행 프로그램이 작동한다. 비유였던 관절 인형이 여기서 실제가 된다.”
문제 11. 로봇은 1초에 몇 번 흐름을 푸나
1초에 50번 관절 명령을 받는 로봇 팔이 있다. 이 로봇을 움직이는 모델은 앞으로 할 동작 50스텝을 한 묶음으로 만들고, 그 가운데 앞의 25스텝만 실행한 뒤 다음 묶음을 새로 만든다. 묶음 하나는 노이즈에서 출발해 오일러 방법 10걸음으로 흘려 만들고, 한 걸음마다 신경망에게 속도를 한 번 묻는다. (가) 한 묶음은 몇 초 분량의 동작이고, 묶음은 몇 초마다 새로 만드는가? (나) 1초 동안 신경망에게 속도를 몇 번 묻는가? 흐름이 휘어 묶음 하나에 100걸음이 필요하다면 몇 번인가?
함께 풀기

1초에 50번 움직이니까 묶음도 1초에 50번 만들어야죠. 50 × 10 = 500번이요.

묶음 하나에 동작이 몇 스텝 들어 있었죠?

50스텝이요. 아, 묶음 하나가 50스텝, 곧 1초 분량이네요. 그 가운데 25스텝, 0.5초만 쓰고 새로 만드니까 묶음은 0.5초마다, 1초에 두 번이에요. 신경망은 1초에 2 × 10 = 20번 불러요.

100걸음이면 1초에 200번이야. 신경망 한 번 부르는 데 5밀리초보다 오래 걸리면 다음 묶음이 제때 안 나와.

같은 속도장을 써도 걸음 수가 로봇이 제때 움직이느냐를 정하는 거예요. 짝을 잘 지어 흐름을 곧게 펴는 일이 여기서는 시간 문제가 돼요.

조교 일을 하면서 채점을 학생마다 열 번씩 검토하면 마감 안에 성적을 못 내는 거랑 같네요. 검토 횟수를 줄여도 틀리지 않게 기준을 곧게 세워 두는 게 먼저고요.