inblog logo
|
kjyong

    LDM: High-Resolution Image Synthesis with Latent Diffusion Models

    바세린용자 (yongja)'s avatar
    바세린용자 (yongja)
    Dec 21, 2025
    LDM: High-Resolution Image Synthesis with Latent Diffusion Models
    Contents
    기존 모델의 한계모델 구조성능한계
    기존 모델의 한계모델 구조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 사이의 가중치 튜닝이 매우 민감해서(균형 맞추기 어려움) 안정적으로 좋은 재구성과 생성을 동시에 얻기 힘듦
      • 주로 특정 도메인(예, 얼굴)에 초점이 맞춰져 범용 자연이미지로의 확장성/일반성이 제한됨
     
     

    모델 구조

    notion image
    • 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)
          • “The Unreasonable Effectiveness of Deep Features as a Perceptual Metric” https://arxiv.org/pdf/1801.03924
            “The Unreasonable Effectiveness of Deep Features as a Perceptual Metric” https://arxiv.org/pdf/1801.03924
          • 보통 VGG 같은 feature extractor의 중간 feature 공간에서 loss 계산
            • 이미지넷 등으로 사전 학습 된 VGG 모델을 사용
            • VGG 모델의 conv 1-5단계 정도의 feature사용
            • 원본과 복원된 이미지를 각각 넣고 feature의 유사도를 계산
        • patch loss
          • GAN인데 patch 단위에서 진짜/가짜를 판단 함
        • KL-reg
          • 그냥 latent를 학습하면 값이 너무 커지는 경향이 있다고 함
          • 정규 분포와 비슷해지도록 KL regularization 추가
            • notion image
        • 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로 처리
    notion image
    • diffusion model의 MSE이지만, 픽셀 단위 이미지가 아닌 latent로 대체 됨
    • time-conditional U-Net 사용
      • https://www.researchgate.net/figure/The-time-conditional-UNet-architecture_fig5_371684920
      • time condition은 어떻게 넣어주는지?
        • sin/cosine positional embedding → MLP → time embedding
     

    Conditioning Mechanisms

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

    성능

    Perceptual Compression Tradeoffs

    notion image
    • downsampling factor f에 따른 실험
      • 예를 들어 원본 이미지 WxH가 100x100이고 f가 만약 2이면 latent 크기는 50x50
      • f가 너무 작거나 크면 학습이 느림
      • f 4-8일 때가 밸런스가 잘 맞는다고 함
    notion image
    • 대부분 데이터셋에서 성능이 좋고, 안 좋거나 비슷한 경우에도 해당 모델 보다 학습 시간이 반은 덜 걸렸다고 함
    • precision & recall
      • real과 생성된 이미지를 classificer network에 넣고 중간 feature를 뽑아 임베딩을 만듦
        • real이미지의 군집, 생성된 이미지의 군집을 만듦
      • Precision↑
        • 생성 샘플이 real manifold 안에 들어가는 비율
        • 생성 샘플이 대체로 “진짜 데이터 근처”에 있음 → 보통 품질/리얼리즘이 좋음
      • Recall↑
        • real 데이터의 다양한 모드가 생성 분포로 커버됨 → 다양성/모드 커버리지가 좋음
        • real 샘플이 생성 manifold 안에 들어가는 비율
     
    notion image
     
     
    notion image
    notion image
    notion image
    notion image
    • LIPIPS
      • inpainting 전/후 이미지를 feature exactor에 넣고 중간 feature를 뽑은 뒤 distance 계산
      • 가까울 수록 점수가 낮음 (inpaint가 자연스러움)
     
     

    한계

    • 속도를 계선 했으나 GAN보다는 여전히 느림
    • 높은 복원력을 기대한다면 알맞지 않음
      Share article
      Contents
      기존 모델의 한계모델 구조성능한계

      kjyong

      RSS·Powered by Inblog