본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
카테고리 없음

[2025-1] 이재호 - Diffusion Model Alignment Using Direct Preference Optimization

by jeffy1234 2025. 5. 31.

https://arxiv.org/abs/2311.12908 - Bram Wallace et al, CVPR 2023

 

# Abstract

 

  • 문제 인식:
    LLM은 RLHF로 사람의 선호에 맞게 정렬되지만, Diffusion Model은 아직 사람의 선호 학습이 널리 적용되지 않음.
  • 기존 접근:
    Text to image diffusion 모델에서는 고품질 이미지와 캡션으로 미세조정(fine-tuning)하는 방식이 일반적이었음.
  • 제안 방법:
    논문은 Diffusion-DPO라는 새로운 방법을 제안. 이는 **Direct Preference Optimization (DPO)**를 확산 모델에 맞게 변형하여, 사람이 선택한 이미지 쌍을 기반으로 직접 학습함.

 

1. Introduction

 

  • 배경:
    Text-to-image diffusion 모델은 최근 몇 년간 이미지 생성에서 최고 성능을 보여왔지만, 대부분은 1단계 학습(대규모 텍스트-이미지 쌍에 대한 사전 학습)만 수행됨.
    • LLM은 1단계 학습(pretraining), large web scale data와 2단계 학습(alignment), 사람의 선호도와 align 되도록 fine tuning 총 2 단계로 학습.
  • 문제점:
    LLM과 달리 확산 모델은 **사용자 선호도 기반 정렬(Alignment)**이 제대로 적용되지 않고 있음. 일부는 고품질 데이터로 미세조정하지만, 이는 유연성과 일반화 능력이 부족함.
  • 기존 접근의 한계:
    • RL 기반 방법은 제한된 프롬프트에 효과적이나 어휘 확장성이 떨어짐.
    • 일부는 보상 모델의 gradient로 학습하지만 mode collapse가 발생하거나 피드백 타입이 제한적임.
  • 기여 내용:
    • Diffusion-DPO라는 새로운 방법 제안: human preference data로 직접 diffusion 모델을 optimize.
    • 기존의 **DPO (Direct Preference Optimization)**를  모델에 맞게 재정의.
    • Evidence lower bound를 이용해 미분 가능 objective를 도출.
  • 결론:
    Diffusion-DPO는 사람의 선호도 학습을 통한 새로운 정렬 방식이며, diffusion 모델 정렬의 확장성과 성능 향상 가능성을 보여줌.

2. Related Work

2.1 Aligning Large Language Models

방법 RLHF DPO
구조 ① 보상 모델 학습 → ② 강화학습(PPO 등)으로 policy 학습 한 번에 직접 policy 학습
보상 처리 명시적인 reward function 학습 reward를 implicit하게 처리
학습 방식 강화학습 (예: PPO) 사용 → unstable, 튜닝 어려움 binary 분류 형태의 로스로 학습 → 안정적
튜닝 난이도 하이퍼파라미터 많고 민감함 비교적 간단하고 robust
리스크 reward hacking 가능성 있음 상대적 선호만으로 학습해 비교적 안전함

 

DPO 방식은 RLHF에 비해 안정적이므로 이 논문에서도 이를 기반으로 함.

 

2.2 Aligning Diffusion Models

 

 

3. Background

3.1 Diffusion Models

 

  • 목표: 데이터 분포 $q(x_0)$로부터 샘플을 생성하는 생성 모델 $p_\theta(x_0)$ 학습
  • 확산 구조:
    • 마르코프 과정 사용
    • 각 단계는 정규분포로 모델링됨
  • 학습 목표: ELBO (Evidence Lower Bound)를 최소화
    • 여기서 $x_t = \alpha_t x_0 + \sigma_t\epsilon$,
      $\lambda_t = \alpha_t^2 / \sigma_t^2$,
      $\omega(\lambda_t)$는 weight 함수 (보통 상수)

Markov process
Loss function

 

3.2 Direct Preference Optimization

  • Reward function 없이 선호 쌍만으로 정책 $p_\theta(x_0|c)$를 직접 학습하는 것

Reward modeling

  • 사용자가 프롬프트 condition $c$에 대해 두 이미지 $x_0^w\succ x_0^l | c$ 중 어떤 것을 더 선호하는지 정보만 있다고 가정
  • $x_0^w$: winning example, $x_0^l$: loosing example
  • Bradley-Terry 모델 사용, reward model $r_\phi(c,x_0)$ 사용

RLHF

  • 보상 모델을 학습하고 → 이를 기반으로 $p_theta$를 RL로 최적화함
    → 구조가 복잡하고 불안정

DPO

  • 위 식에서 양변에 log를 취해주면 아래와 같이 reward function을 유도 가능

  • 이걸 Bradley-Terry likelihood에 대입하면 DPO의 최종 objective 얻음

즉, 보상 함수 없이도 pair 된 데이터만으로 policy 분포를 직접 학습 가능

 

4. DPO for Diffusion Models

  • 데이터셋의 형태
    프롬프트 c와 그것에 대한 사람이 선택한 선호 쌍 (선호 이미지: $x_0^w$ , 비선호 이미지: x_0^l )
  • 목표는 사람의 선호에 맞춰 학습된 새로운 분포 $p_theta$학습.
  • 문제점: diffusion 모델은 $p_theta(x_0|c)$를 직접 계산하기 어려움 → 모든 잠재 경로를 marginalize해야 하므로 비실용적

이를 해결하기 위해 evidence lower bound(ELBO)를 사용, 잠재 변수 $x_{1:T}$를 도입, 전체 경로에 대한 보상 $R(c,x_{0:T}$를 정의

경로 $x_{0:T}$에 대하여 정의, reverse process($p_\theta(x_{0:T}))$에 대하여 보상 최대화

 

위의 DPO 유도 과정과 마찬가지로 위 식의 최적해를 구해 보상함수를 정의하고 이를 다시 Bradley-Terry likelihood에 대입하면 $p_theta(x_{0:T}|c)$를 바로 최적화하는 식을 얻을 수 있음

조건 c는 편의상 생략

 

하지만 위 식을 최적화하기 위해서는 $x_{1:T} ~ p_theta(x_{1:T}|x_0)$를 sample 해야 함, 이는 두 가지 문제가 있음

  • T는 대게 1000 정도로 매우 크므로 비효율적
  • Intractable

$p_theta, p_ref$에 대한 reverse decomposition, Jensen's inequality, -log$\sigma$의 convexity를 활용하여 -log$\sigma$를 기대값 밖으로 뺀 아래와 같은 식을 유도

reverse process $p_\theta(x_{1:T}|x_0)$를 forward process $q(x_{1:T}|x_0)$으로 가정

위 손실함수는 선호 샘플에 대해서는 더 잘 복원하게 하고, 비선호 샘플에 대해서는 덜 복원하도록 유도.

 

5. Experiments

5.1 Setting

 

  • 모델:
    • Stable Diffusion 1.5 (SD1.5)
    • Stable Diffusion XL 1.0 (SDXL)
  • 학습 대상: Eq. (14)의 DPO objective로 fine-tune
  • 데이터셋: Pick-a-Pic v2
    • SDXL-beta와 SD1.5 기반 Dreamlike 모델로 생성한 이미지들에 대한 pairwise human preference
    • tie(동점) 응답 제외 후 → 총 851,293쌍, 58,960개의 고유 프롬프트
  • 평가
    • 자동 검증: Pick-a-Pic validation set에서 500개 프롬프트로 PickScore 사용
      • PickScore: 텍스트-이미지 정합성을 고려하는 선호 예측 모델
    • 최종 평가:
      • 파이널 비교는 PartiPrompt (1632개), HPSv2 (3200개) 캡션 기반 이미지 생성
      • 비교 대상: baseline vs Diffusion-DPO 모델
      • 평가 방식: Amazon Mechanical Turk에서 사람 라벨러들이 3가지 기준으로 비교
        • Q1. General preference: 어떤 이미지가 더 선호되는가?
        • Q2. Visual appeal: 더 시각적으로 매력적인가?
        • Q3. Prompt alignment: 텍스트와 더 잘 맞는가?
      • **5명의 투표 중 과반(3+)**이 선택한 이미지를 최종 선택으로 사용

5.2 Primary Results: Aligning Diffusion Models

Human preference

  • Partiprompt 평가:
    • DPO-SDXL은 SDXL-base보다 70.0% 더 선호됨 (General Preference, Q1)
    • Q2 (Visual Appeal), Q3 (Prompt Alignment)에서도 유사한 우세
  • HPSv2 평가:
    • Q1 기준 64.7% 우세
    • HPS reward 모델(HPSv2) 기준 점수: 28.16 (리더보드 1위)

 

Qualitative Result

  • DPO는 더 생생한 색감, 드라마틱한 조명, 좋은 구도, 사실적인 인물/동물 묘사를 생성
  • 선호 경향은 일반적으로 극적이고 에너지 있는 이미지지만, 조용하고 부드러운 장면을 선호하는 경우도 있음 → 개인/그룹 선호 튜닝 가능성 언급

 

SDXL refiner와의 비교

Refinement model은 image-to-image diffusion model로 생성 이미지의 visual quality를 향상시킴.

  • SDXL-DPO(3.5B 파라미터)는 SDXL full pipeline (base + refiner, 6.6B)보다도 우수
  • Partiprompt 기준 Q1 승률:
    • SDXL-DPO vs SDXL-base: 70%
    • SDXL-DPO vs SDXL-complete: 67.2%
  • 세부 묘사와 다양한 카테고리에서 강력한 성능을 보임

Image to image editing

  • Text-guided editing에도 DPO-SDXL이 효과적
  • TEdBench에서 SDEdit을 사용하여 평가:
    • 원본 이미지와 편집된 이미지를 보여주고, 사람에게 더 나은 편집 선택
    • 65%의 승률로 DPO-SDXL이 우위

Learning from AI Feedback

  • AI 피드백 기반 학습도 가능:
    • 사람이 아닌 AI 스코어러 (예: CLIP, PickScore, HPSv2 reward model)를 사용해 선호 쌍 생성
    • 이 쌍들을 DPO에 pseudo-label로 사용 가능
  • 실험 결과:
    • SD1.5 모델을 PickScore 기반 pseudo-label로 학습 시, raw label보다 성능 우수
    • General Preference 승률: 59.8% → 63.3%
  • AI feedback은 향후 diffusion 모델 정렬의 유망한 방향임을 시사

Implicit Model Reward

  • DPO는 명시적인 보상 함수 없이도, 학습 과정에서 암묵적으로 reward function을 학습함.
  • Equation (14)의 내부 항을 통해 두 이미지 간 보상 차이를 추정할 수 있음.
  • DPO로 학습한 모델은 binary preference classification task에서 강력한 성능을 보였고,
    특히 DPO-SDXL은 기존 모든 recognition 모델보다 높은 성능을 기록.

DPO의 암묵적 보상 표현은 기존 명시적 reward 모델만큼 표현력과 일반화 성능이 좋음.

 

Training Data Quality

  • PickScore 기준, 기본 SDXL이 학습 데이터보다 더 고품질임에도 불구하고,
    DPO 학습을 통해 성능이 더 향상됨.
  • 실험: Pick-a-Pic 중 **Dreamlike 모델로 생성된 서브셋(15%)**만 사용해 DPO 학습
    → 성능은 향상되었으나, 데이터 수가 적어서 향상폭은 제한적

DPO는 데이터 품질이 낮아도 학습을 통해 성능을 개선할 수 있음

Supervised Fine-tuning

  • LLM에서처럼 SFT가 효과적인지 실험:
    • Pick-a-Pic의 (x, y_w) 쌍만 이용해 SFT 수행
    • SD1.5: 기본 모델 대비 승률 55.5%로 개선
    • SDXL: 오히려 성능 하락 (심지어 낮은 learning rate로도)
  • 이유: SDXL-beta와 Dreamlike가 생성한 데이터 품질이 SDXL base보다 낮기 때문

SD1.5에선 SFT가 유효하지만, 이미 좋은 base 모델(SDXL)에는 오히려 역효과