AI VIDEO BRIEFING
플로우·확산 모델 입문: 노이즈를 데이터로 바꾸는 생성 AI의 수학적 뼈대 (MIT 6.S184)
스테이블 디퓨전·소라·알파폴드가 공유하는 플로우·확산 모델의 원리를 MIT 6.S184 강의를 근거로 정리했다. 생성을 벡터 생성으로 보는 관점부터 벡터장·ODE, 브라운 운동·SDE, 시뮬레이션 방법까지 다룬다.

핵심 메시지
쉽게 이해하기
MIT 6.S184 강의의 첫 시간은 플로우 모델과 확산 모델이 오늘날 이미지·영상·단백질 생성의 최첨단 기술이며, 겉으로 달라 보이는 스테이블 디퓨전, DALL·E, 소라, 메타 무비젠, 알파폴드3, 볼츠까지 근본적으로 같은 알고리즘을 쓴다는 사실에서 출발한다. 그래서 이 뼈대를 이해하는 것은 요즘 대단히 쓸모 있는 기술이라고 강조한다.
먼저 '생성한다'를 수학의 언어로 옮긴다. 이미지는 높이·너비·색 채널을 가진 행렬이고, 영상은 이미지의 연속, 단백질은 원자 좌표의 행렬이다. 이것들을 모두 펼치면 결국 벡터다. 따라서 무언가를 생성한다는 것은 곧 벡터를 생성한다는 뜻이 된다. 그리고 '개 사진'이라는 프롬프트에 대해 어떤 이미지가 얼마나 좋은지는, 그 이미지가 데이터 분포에서 나타날 확률이 얼마나 높은지로 근사한다. 주관적 판단을 확률의 언어로 바꾼 것이다.
생성 모델의 목표는 우리가 잘 아는 초기 분포를 데이터 분포로 변환하는 것이다. 초기 분포로는 거의 언제나 평균 0, 분산 1의 표준 가우시안을 쓴다. 즉 노이즈처럼 보이는 표본을 모델에 넣어 데이터 분포의 표본을 얻는 것이 목표다.
플로우 모델은 이를 상미분방정식(ODE)으로 실현한다. 시간에 따라 점의 위치를 정하는 궤적, 각 위치와 시간마다 나아갈 방향을 지정하는 벡터장, 그리고 '초기 위치 + 매 순간 속도는 벡터장이 준다'는 규칙이 ODE다. 복잡한 벡터장은 해석적으로 풀 수 없으니, 작은 보폭으로 벡터장 방향을 조금씩 따라가며 수치적으로 시뮬레이션한다. 보폭이 작을수록 정확하지만 계산 비용이 커지는 맞교환이 있다. 플로우 모델에서는 이 벡터장을 신경망이 대신하며, 가우시안에서 출발해 ODE를 따라가면 끝점이 데이터 표본이 된다.
확산 모델은 여기에 무작위성을 더한다. ODE 항에 확산계수와 브라운 운동으로 이뤄진 확률적 항을 붙인 확률미분방정식(SDE)을 쓴다. 브라운 운동은 연속적인 무작위 걸음으로, 시간에 비례해 분산이 커지는 독립적 가우시안 증분을 갖는다. 시뮬레이션은 어렵지 않다. 매 단계 벡터장 방향으로 가되, 보폭의 제곱근과 확산계수에 비례한 가우시안 노이즈를 조금 섞으면 된다. 확산계수가 0이면 그대로 ODE가 된다.
주요 인사이트
- 강의는 플로우 부분이 핵심이고 확산은 그 확장이라고 반복해 강조한다. 확산 모델의 수학이 어렵게 느껴지면 건너뛰고 플로우에 집중해도 이미 최첨단 수준의 결과를 얻을 수 있다는 것이다.
- 브라운 운동에서 노이즈를 보폭의 제곱근으로 키우는 이유는 분산이 시간에 선형으로 늘어나야 하기 때문이다. 독립적인 두 확률변수는 표준편차가 아니라 분산이 더해지기 때문에, 분산 기준으로 맞춰야 앞뒤가 맞는다.
- 확산 모델의 무작위성은 두 가지 실익을 준다. 매 단계 여러 갈래를 탐색하는 탐색 트리를 세울 수 있고, 경험적으로 더 다양한 결과물을 낳는 경향이 있다.
- 노이즈를 한 번에 표본으로 바꾸는 신경망을 쓰면 되지 않느냐는 질문에, 강사는 그것이 이상적이지만 아직 안정적이고 확장 가능한 학습 알고리즘이 없다고 답한다. GAN이 그런 시도였지만 요즘은 덜 쓰인다.
- 이 강의는 모델을 어떻게 '배포'하는지까지만 다룬다. 노이즈에서 데이터로 가도록 신경망을 실제로 '훈련'하는 방법, 즉 이 모델들을 혁신한 플로우 매칭·스코어 매칭 알고리즘은 다음 강의의 몫으로 남긴다.
자주 묻는 질문
플로우 모델과 확산 모델은 결국 무엇을 하는가?
둘 다 우리가 아는 초기 분포인 가우시안 노이즈를 데이터 분포로 바꾼다. 노이즈처럼 보이는 표본에서 출발해, 신경망이 정한 방향(벡터장)을 따라 시간에 걸쳐 조금씩 움직이면 끝점이 이미지·영상·단백질 같은 실제 데이터 표본이 된다.
플로우 모델과 확산 모델의 차이는?
플로우 모델은 무작위성이 없는 상미분방정식(ODE)으로 벡터장 방향만 따라간다. 확산 모델은 여기에 확산계수와 브라운 운동으로 된 확률적 항을 더한 확률미분방정식(SDE)을 써서, 매 단계 약간의 가우시안 노이즈를 섞는다. 확산계수가 0이면 확산 모델은 플로우 모델과 같아진다.
왜 생성을 '벡터 생성'으로 보는가?
이미지는 높이·너비·색 채널의 행렬, 영상은 이미지의 연속, 단백질은 원자 좌표의 행렬이다. 이것들을 모두 펼치면 벡터가 되므로, 무언가를 생성하는 일은 수학적으로 벡터를 생성하는 일로 환원된다. 좋은 결과란 데이터 분포에서 나타날 확률이 높은 벡터다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗