LDM: High-Resolution Image Synthesis with Latent Diffusion Models
Dec 21, 2025

기존 모델의 한계모델 구조Perceptual Image CompressionLatent Diffusion ModelsConditioning Mechanisms성능 Perceptual Compression Tradeoffs한계
기존 모델의 한계
- GAN
- min-max 구조로 인해 균형점이 불균형 → 학습 어려움
- mode collapse 문제: 한 가지 스타일의 이미지만 계속 만들어지는 현상
- VAE
- 고해상도 합성이 가능하지만 GAN만큼 품질이 좋지는 않음
- Autoregressive model
- 계산량이 많음
- pixcel-wise diffusion model
- 품질이 좋지만 모든 픽셀에 계산을 해야 해서 계산 비용이 많이 듦
- Two-stage (VQ-VAE/VQGAN + Transformer prior류)
- AR/Transformer prior를 학습시키려면 latent를 매우 강하게 압축해야 해서 정보 손실/품질 한계가 생김 ldm
- 압축을 덜 하면 token 수↑로 계산 비용이 급증하고, 성능을 유지하려고 모델이 수십억 파라미터로 커지기 쉬움
- Encoder/Decoder + score-based prior를 joint 학습하는 계열(LSGM류)
- reconstruction loss와 prior/score loss 사이의 가중치 튜닝이 매우 민감해서(균형 맞추기 어려움) 안정적으로 좋은 재구성과 생성을 동시에 얻기 힘듦
- 주로 특정 도메인(예, 얼굴)에 초점이 맞춰져 범용 자연이미지로의 확장성/일반성이 제한됨
모델 구조

- x축 Rate (bits/dim): 한 픽셀(혹은 차원)당 쓰는 비트 수(정보량).
- 왼쪽: 극단적으로 많이 압축(정보 거의 없음)
- 오른쪽: 덜 압축(정보 많이 유지)
- y축 Distortion (RMSE): 원본과 픽셀 기준 오차.
- 위쪽: 원본 픽셀과 많이 다름
- perceptual compression
- 복원 결과가 원본과 매우 비슷함
- 사람이 지각적으로 보았을 때 동일한 이미지라고 생각되는 수준에서 이미지를 원복하는 것
- 하지만 고주파 영역과 같이 디테일한 부분은 압축률에 따라 좀 다를 수 있음
- semantic compression
- 복원 결과가 원본과 의미 상으로 비슷함
- 예를 들어, 원본이 “선글라스를 낀 검은 머리 남자” 이미지라면 “선글라스를 낀 갈색 머리 남자” 이렇게 동일하진 않지만 의미상으로 유사한 이미지가 생성 됨
⇒ 기존 Diffusion Model에서는 픽셀 공간에서 diffusion을 하다보니 사람이 지각하지 못 하는 디테일 한 부분을 처리하느라 계산 비용이 많이 듦. 이를 계선하기 위해 perceptual compression으로 latent를 만들고, 이 latent에서 diffusion을 해서 계산 비용을 줄임
Perceptual Image Compression
- KL 또는 VQ 기반의 오토인코더를 사용
- 입력 x를 latent z로 바꿈
- 사람이 보았을 땐 지각적으로 비슷해보이도록 원복
- 하지만 픽셀 단위의 디테일 함은 버림
- loss
- L1, L2 loss를 사용하면 복원된 이미지가 약간 blurry해질 수 있음
- 평균적인 방향으로 복원하는 경향이 있다고 함
- perceptual loss + patch loss 사용
- perceptual loss (참고: The Unreasonable Effectiveness of Deep Features as a Perceptual Metric)
- 보통 VGG 같은 feature extractor의 중간 feature 공간에서 loss 계산
- 이미지넷 등으로 사전 학습 된 VGG 모델을 사용
- VGG 모델의 conv 1-5단계 정도의 feature사용
- 원본과 복원된 이미지를 각각 넣고 feature의 유사도를 계산
- patch loss
- GAN인데 patch 단위에서 진짜/가짜를 판단 함
- KL-reg
- 그냥 latent를 학습하면 값이 너무 커지는 경향이 있다고 함
- 정규 분포와 비슷해지도록 KL regularization 추가
- VQ-reg (Vector Quantization)
- VQVAE의 코드북을 유사하게 사용하여 discrete latent 만듦
- VQVAE 등과 다른 점은 1d latent가 아니라 2d latent 사용
- prior를 pixcelCNN과 같은 auto regressive 모델을 사용하다보니 연산량이 많아서 latent를 작게 써야 했음
- 하지만 LDM에서는 2d latent를 사용하고 이것을 후에 UNet 기반의 prior에서 사용해서 2d 구조를 자연스럽게 사용할 수 있고, latent를 많이 압축하지 않아도 계산량을 감당 할 수 있음


Latent Diffusion Models
- perceptual compression을 통해 효율적인 latent space를 얻게 되었고, 이는 “최대 우도 기반의 생성 모델”에게 적합하다.
- 최대 우도 기반의 생성 모델?
- 데이터 x가 모델에서 생성될 확률 p(x)를 높이는 것이 학습 목표일 모델들
- 예를 들어, diffusion, vae, autoregressive model들
- 아닌 것: GAN
- 이제 이미지를 위한 inductive bias를 활용할 수 있다!
- 2d latent를 만들었으니 → 이걸 UNet에 넣으서 2D Conv로 처리

- diffusion model의 MSE이지만, 픽셀 단위 이미지가 아닌 latent로 대체 됨
- time-conditional U-Net 사용
Conditioning Mechanisms

- 텍스트, 이미지, segmentation 등 여러 종류의 modality를 조건 인코더를 통해 임베딩화 함
- 이를 cross attention에 넣어줌
- φi(zt): umap의 feature
- noisy latent를 U-Net에 넣어 얻은 중간 feature
- τθ(y): conditional embedding
- noisy latent의 각 위치(Q)에서 어떤 조건(K)을 중점으로 보고 어떤 의미(V)를 가져올지

성능
Perceptual Compression Tradeoffs

- downsampling factor f에 따른 실험
- 예를 들어 원본 이미지 WxH가 100x100이고 f가 만약 2이면 latent 크기는 50x50
- f가 너무 작거나 크면 학습이 느림
- f 4-8일 때가 밸런스가 잘 맞는다고 함

- 대부분 데이터셋에서 성능이 좋고, 안 좋거나 비슷한 경우에도 해당 모델 보다 학습 시간이 반은 덜 걸렸다고 함
- precision & recall
- real과 생성된 이미지를 classificer network에 넣고 중간 feature를 뽑아 임베딩을 만듦
- real이미지의 군집, 생성된 이미지의 군집을 만듦
- Precision↑
- 생성 샘플이 real manifold 안에 들어가는 비율
- 생성 샘플이 대체로 “진짜 데이터 근처”에 있음 → 보통 품질/리얼리즘이 좋음
- Recall↑
- real 데이터의 다양한 모드가 생성 분포로 커버됨 → 다양성/모드 커버리지가 좋음
- real 샘플이 생성 manifold 안에 들어가는 비율





- LIPIPS
- inpainting 전/후 이미지를 feature exactor에 넣고 중간 feature를 뽑은 뒤 distance 계산
- 가까울 수록 점수가 낮음 (inpaint가 자연스러움)
한계
- 속도를 계선 했으나 GAN보다는 여전히 느림
- 높은 복원력을 기대한다면 알맞지 않음
Share article
