[2501.06655] Personalized Preference Fine-tuning of Diffusion Models
Personalized Preference Fine-tuning of Diffusion Models
RLHF techniques like DPO can significantly improve the generation quality of text-to-image diffusion models. However, these methods optimize for a single reward that aligns model generation with population-level preferences, neglecting the nuances of indiv
arxiv.org
1. Intro
문제점
- diffusion에서 사람의 선호도를 반영하기 위해
- RLHF
- Diffusion-DPO : direct preference optimization
- but 단일 reward 기준 (unique pref 무시)
제안 : PPD
- Diffusion pref alignment에 multi reward로 개인화 포함
2. Related Work
Diffusion (t2i) 정렬
(1,2,3 : [논문 리뷰] DiffusionDPO : Diffusion Model Alignment Using Direct Preference Optimization 참고)
- RLHF : Online RL + BT reward
- Human pref data로 reward model 학습 (ex. BT)
- Policy model(=생성 모델)을 RL(on-policy) 로 학습시킴
- Reward model based sampling + SFT : Gradient backprop on reward function
- Reward model 점수를 gradient로 backprop
- DPO : Direct feedback based ft
- Offline data (모아둔 human pref data만으로 학습 가능)
- DiffusionKTO : DPO 대신 KTO
- Paired data 필요 x (단일 label로도 가능)
- Data distribution modification, Re-captioning ...
Controllable Generation for Diffusion Models
- t2i diffusion model에 fine-grained control이 부족 : 추가 정보
- CtrlNet: edge, pose 같은 구조적 조건 활용
- T2I-Adapter: lightweight adapter → 구조적 조건을 더 효율적으로 반영
- IP-Adapter: cross-attention 확장 → 참조 이미지의 의미 정보 반영(high-level)
3. Preliminary
DPO
DiffusionDPO
- 핵심 : diffusion 모델의 training objective(denoising loss)가 사실상 log-likelihood의 Evidence Lower Bound (ELBO) 역할을 한다!
- + img에서는 ref model보다 더 낮은 denoising loss를 갖도록 (더 잘 맞추도록) 유도
4. Method
4.1. 개인화된 DPO
Dataset
- user info u:
- 고차원 info 일수도 (나이, 성별, 취향 메타데이터...)
- 보통은 user ID
1. user별
- 첫번째 항: 사용자 u_i의 reward를 최대화
- 두번째 항: ref 모델(ex. 사전 학습된 Stable diffusion)과 너무 멀어지지 않도록 KL regularization
- β: 두 항의 trade-off 조절
2. user 통합
- p가 충분한 용량이 있다면, user별로 따로 학습할 필요 없이
- u를 조건으로 줘서 하나의 모델로 여러 user 한번에 학습 가능
Eq3과 비교 : user condition이 추가됨!
4.2. Generating User Features from a VLM with In-Context Examples
- 그렇다면 user feature를 어떻게 정의?
- 기존 dataset (ex. Pick-a-Pic, PRISM)은 user info가 없거나 있어도 self-reported
Conditioning on a Unique User Identifier
제안
- offline pref dataset에서 4개 pair (caption, + img, - img) 사용
- 이 pair들을 pretrained VLM(LLaVA OneVision)에 넣음
- VLM 내부에서는
- caption : language encoder로 처리
- img : vision encdoer로 처리
- 그리고 cross-attention으로 융합 → 공통 latent space로 embedding
- VLM 내부의 중간 hidden state 뽑음 : +/- img들의 의미 요약을 vector로 담고 있음
- 이 vector가 user-specific embedding u
과연 이 embedding이 유효한가?
Fig 2
- 이 임베딩을 고정하고, 이 pref 표시한 사용자가 누구인지 분류하는 classifier 학습
- 결과:
- top-16 accuracy = 90% → 단순 추측보다 +
- 실제로 user간 차이를 잘 구분!
4.3. Personalization as Conditioning
- 이제 VLM으로 뽑은 user embedding을 어떻게 diffusion에 넣는가?
- 제안 : additional cross-attention layers akin to IP-Adapter
- Base Model: Stable Cascade
댓글 영역