Video Diffusion Models (VDM)
Mar 15, 2026


task
diffusion model로 temporally coherent 하고 high-fidelity 한 비디오 생성하기.
이미지 diffusion의 표준 공식을 최대한 유지하면서, 비디오용 architecture와 long video generation 방법을 제안한 논문임.
기존 연구 흐름 / 이 논문이 푸는 문제
- diffusion은 이미지/오디오에서 성과가 좋았는데, 비디오는 상대적으로 검증이 덜 된 상태였음
- 비디오는
- frame 수가 많고
- spatial resolution도 크고
- temporal coherence까지 맞춰야 해서
계산량과 modeling 난이도가 높음
- 특히 모델은 보통 짧은 clip 단위로만 학습 가능한데, 실제로는 긴 비디오 나 고해상도 비디오 를 생성해야 함
- 이 논문은
- image diffusion U-Net을 video용으로 확장하고
- unconditional model만으로도 conditional generation처럼 쓸 수 있는
reconstruction-guided sampling 을 제안함
Video diffusion model
image U-Net → video U-Net
기존 image diffusion에서 denoiser는 보통 U-Net임.
이 논문은 이 구조를 비디오로 확장해서 3D U-Net 으로 만듦. 다만 full 3D conv 위주가 아니라 space-time factorized 방식임.
architecture 변경점
1) 2D conv를 space-only 3D conv로 변경
- 예: (3X3) conv → (1X3X3) conv
- 첫 축은 frame, 뒤 두 축은 height/width
2) spatial attention 뒤에 temporal attention 추가
- spatial attention: 프레임 내부 공간 관계 모델링
- temporal attention: 프레임 간 시간 관계 모델링
- temporal attention에는 relative position embedding 사용
→ 절대 frame index보다 frame 간 순서/상대 거리 정보를 더 자연스럽게 반영함
왜 factorized structure를 쓰는가
- full spatiotemporal attention보다 계산 효율이 좋음
- 더 중요한 장점은 이미지 모드로 쉽게 mask 가능 하다는 점임
- temporal attention을 끄면 독립 이미지처럼 처리할 수 있어서
image + video joint training 이 가능해짐
joint training
- 논문은 random image frame을 video sample 뒤에 붙이고
- temporal attention을 mask해서
- 16프레임 이미지가 있다면, 앞 뒤로 4/8개의 서로 독립적인 프레임을 추가하여 학습
- 16은 시간적 attention하고, 나머지는 안 함 (독립적인 이미지 취급)
video frame끼리만 섞이고, independent image끼리는 서로 안 섞이게 학습함
- 비디오 데이터만으로 부족한 spatial prior를 이미지 데이터가 보강해주는 셈임
- 더 다양한 샘플을 한 배치에 넣어주는 것
Reconstruction-guided sampling
문제의식
학습은 보통 16-frame 같은 짧은 clip으로 함.
그런데 실제로는
- 더 긴 비디오 생성
- temporal interpolation / super-resolution
- spatial super-resolution
이 필요함.
그래서 conditional sampling이 필요한데, 별도 conditional model을 새로 학습하는 대신
unconditional model에서 conditioning을 유도하고 싶었던 것임.
기존 replacement method의 문제
- 한 번에 16프레임만 만들 수 있다면, 먼저 16프레임을 만들고(A) A를 바탕으로 그 뒤의 16프레임(B)를 만들면 긴 비디오를 만들 수 있지 않을까?
- 근데 그게 제대로 안 됨
- A,B를 따로보면 자연스러운데 A랑 B의 연결이 자연스럽지 않음 (예를 들어 다른 방향으로 걸어간다던가)
- 이유는 A의 latent만 보아서, Xa를 고려하지 못하기 때문
- 근데 q(Xa|Zt)를 구하기 어려움 (closed form이 없다)

- 따라서 근사치를 구함
- 모델이 잘 학습되었다면, zt를 기반으로 재구성한 Xa는 평균이 Xa인 가우시안 분포(노이즈 스케일만큼 uncertainty 반영)일 것이다

- 그래서 가우시안에 gradient를 취해서 정리하면
- z^bt의 변화에 따른 Xa를 복원 정도
- wr은 gudiance strength로, 작으면 기본 denoiser, 크면 condition consistency를 강조

- 고해상도 비디오를 생성할 때도 사용
- 예를 들어 64x64 비디오(zt)를 128x128(xa)로 만들 때도 사용

실험
Unconditional video generation

- 기존 방법들은 FID가 수천~수만 수준이라 차이가 큼
- 초기 diffusion video paper인데도 기존 방식 대비 결과가 좋음
Video prediction

- BAIR Robot Pushing
- 1 frame condition, 다음 15 frame 생성
- Kinetics-600
- 5 frame condition, 다음 11 frame 생성
- conditional model을 따로 안 만들고도 SOTA
Text-conditioned video generation
- 1천만 개 captioned video dataset 사용
- text conditioning은 BERT-large embedding + attention pooling 사용
- small / large model 두 가지로 실험함
- joint training 효과
- 16x64x64 text-to-video에서, video마다 독립 image frame을 추가해 같이 학습한 실험임.

- 즉 independent image frame을 더 넣을수록 video / image quality metric이 모두 좋아짐.
- independent image를 추가하면 gradient variance를 줄이는 효과가 있음
- 약간의 bias를 감수하고 더 많은 independent example을 batch에 넣는 memory optimization처럼 볼 수 있다고 설명함
- → 더 다양한 이미지로 배치에 다양성을 줌
CFG 효과

guidance weight를 높이면
- Inception Score metric은 올라가고 FID metric은 어느 정도까지 좋아지다가 너무 크면 다시 나빠짐
- IS: 사진을 넣었을 때, 분류기가 얼마나 잘 그 클래스를 맞추는가
- FID: 생성이미지와 실제이미지를 넣고 feature가 얼마나 유사한지 비교
즉 text 반영은 강해지지만 fidelity / diversity / temporal metric 간 trade-off가 생김.
Long video generation


Share article