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 함수 (보통 상수)
- 여기서 $x_t = \alpha_t x_0 + \sigma_t\epsilon$,
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}$를 정의
위의 DPO 유도 과정과 마찬가지로 위 식의 최적해를 구해 보상함수를 정의하고 이를 다시 Bradley-Terry likelihood에 대입하면 $p_theta(x_{0:T}|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+)**이 선택한 이미지를 최종 선택으로 사용
- 자동 검증: Pick-a-Pic validation set에서 500개 프롬프트로 PickScore 사용
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)에는 오히려 역효과