Chapter 15: DDPO — 디퓨전의 정책 그래디언트
Ch14에서 디퓨전 모델에 DPO를 적용하는 법을 배웠다. 핵심은 쌍비교 데이터 — "이 이미지가 저 이미지보다 낫다"는 인간 레이블이 있으면, 보상 모델 없이도 디퓨전 모델을 정렬할 수 있다는 것이었다.
하지만 현실에서는 쌍비교 데이터가 없고, 대신 보상 모델이 있는 경우가 훨씬 많다.
쌍비교 데이터가 없는 상황들:
CLIP 점수 — "이 이미지가 프롬프트에 얼마나 맞는가?"를 0~1로 매겨준다.
→ 쌍이 아니라 개별 점수다.미학 점수(aesthetic score) — “이 이미지가 얼마나 아름다운가?”
→ 역시 개별 점수다.미분불가능한 보상 — 외부 검출기(“얼굴이 있는가?”), 물리 시뮬레이터(“이 설계가 안정한가?”)
→ 이런 것들은 쌍비교로 수집하기 어렵거나 불가능하다.인간 피드백을 이미 보상 모델로 증류해 둔 경우 (ImageReward, HPS, PickScore)
→ 원본 쌍비교 데이터 없이 점수만 남아 있다.
이런 상황에서 디퓨전 모델을 개선하고 싶다면? DPO는 쓸 수 없다 — 쌍이 없으니까. 그렇다면 Part I에서 배운 전통적인 RL 방식, 즉 보상 모델 + 정책 그래디언트로 돌아가야 한다. LLM에서는 PPO(Ch4)가 이 역할을 했다. 디퓨전에서도 같은 일을 할 수 있을까?
의문: 디퓨전에서 정책 그래디언트가 가능한가?
디퓨전 모델에서 RL의 정책 그래디언트를 직접 쓸 수 있는가? 로그확률이 없는데?
핵심: 각 디노이징 스텝이 "행동"이다
- 역방향 한 스텝:
: 모델 예측 ( 에 의존) → 그래디언트가 여기로 흐른다 : 노이즈 주입 ( 와 무관) → 탐색을 제공 - 각 스텝이 가우시안이므로
를 닫힌 형태로 정확 계산 가능
DDPO vs D3PO 비교
| 항목 | DDPO (RL) | D3PO (DPO 변형) |
|---|---|---|
| 패러다임 | 정책 그래디언트 | 직접 선호 최적화 |
| 보상 모델 | 필요 (CLIP, 미학 점수) | 불필요 (쌍비교) |
| 로그확률 | 스텝별 정확 계산 | ELBO 근사 |
| 미분불가 보상 | 가능 | 불가 |
| 온라인 생성 | 필수 | 불필요 |
같은 시작점(x_T)에서 서로 다른 노이즈가 서로 다른 궤적과 보상을 만드는 것을 아래 그림이 보여준다:
노이즈는 탐색이고, 는 학습이다
같은 x_T에서 다른 노이즈 → 다른 궤적 → 다른 이미지 → 다른 보상
→ 보상 좋은 궤적의 μ_θ 판단을 강화
→ 보상 나쁜 궤적의 μ_θ 판단을 약화이것은 로봇 RL의 가우시안 정책 π(a|s) = N(μ_θ(s), σ²)과 동형:\
- σ = 탐색 (노이즈)\
- μ_θ = 학습된 판단 (모델)
DDPO의 한계 — 보상 모델이라는 아킬레스건
DDPO는 D3PO(디퓨전 DPO)와 달리 쌍비교 데이터가 필요 없다는 장점이 있지만, 그 대가로 보상 모델에 전적으로 의존한다. 이것이 실무에서 심각한 문제를 만든다.
DDPO의 보상 모델 의존성:
DDPO의 학습 루프:
이미지 생성 → 보상 모델이 점수 매김 → 점수에 비례하여 정책 업데이트보상 모델의 선택지:\
- CLIP 점수: 텍스트-이미지 정합도\
- 미학 점수 (aesthetic score): 이미지의 시각적 품질\
- BLIP 점수: 캡션 일치도\
- 인간 선호 모델 (HPS, PickScore, ImageReward 등)
문제: 이 보상 모델들은 모두 불완전하다.
보상 모델이 "좋은 이미지"라고 판단하는 것과
인간이 "좋은 이미지"라고 판단하는 것 사이에 간극이 있다.
리워드 해킹(Reward Hacking): DDPO의 가장 심각한 문제.
리워드 해킹이란:
모델이 보상 모델의 빈틈을 찾아서,
보상은 높지만 실제로는 좋지 않은 이미지를 생성하는 것.실제 관찰된 사례들:
CLIP 점수 해킹:
프롬프트: “a cat sitting on a mat”
→ DDPO가 CLIP 점수를 최대화하도록 학습하면:
이미지에 텍스트 "cat"이 직접 쓰여 있는 이미지를 생성하기 시작한다.
→ CLIP은 이미지 안의 텍스트도 "cat"이라는 개념의 증거로 인식
→ 점수는 올라가지만, 이것은 고양이 사진이 아니다.
→ “시험 답안지에 정답을 미리 적어놓는” 것과 같다.미학 점수 해킹:
→ 극단적으로 채도가 높고 대비가 강한 이미지를 생성
→ 미학 모델이 "선명함"을 높은 점수로 매기는 편향을 이용
→ 결과: 보기에는 화려하지만 프롬프트와 무관한 이미지
→ “시험에서 글씨를 예쁘게 쓰면 점수를 더 주는” 채점자를 이용인간 선호 모델 해킹:
→ 특정 스타일(고대비 인물 사진 등)에 과도하게 수렴
→ 학습 데이터셋에서 선호 점수가 높았던 패턴을 반복 생성
→ 다양성이 사라지고, 모든 프롬프트에 비슷한 이미지가 나온다
→ Ch11에서 배운 "모드 붕괴"의 시각적 버전
왜 리워드 해킹이 DDPO에서 특히 심각한가:
DPO(Ch14)에서는 리워드 해킹이 덜 심각하다:
→ 보상 모델 자체가 없다 (쌍비교 데이터가 보상 역할)
→ 모델이 해킹할 "보상 함수"가 존재하지 않는다
→ 오프라인 데이터의 범위 밖으로 벗어나기도 어렵다DDPO에서 리워드 해킹이 심각한 이유:\
- 온라인 생성: 모델이 자유롭게 탐색할 수 있으므로
보상 모델이 예상하지 못한 영역을 발견할 수 있다\- 보상 최대화: 정책 그래디언트는 보상을 최대화하는 방향으로 밀기만 한다
→ 보상 모델의 빈틈 방향으로도 밀린다\- KL 제약의 한계: β가 줄 역할을 하지만,
줄이 닿는 범위 안에서도 해킹이 가능하다
→ “줄에 묶여 있어도 뒷마당에서 구멍을 파는 개”비유로 정리:
DDPO = 학생이 자유롭게 답안을 쓰고, 자동채점기가 점수를 매긴다.
→ 학생이 자동채점기의 패턴을 학습해서 점수만 높이는 답안을 쓸 수 있다.
→ 채점기가 완벽하지 않으면 반드시 이런 일이 벌어진다.
→ Ch13의 RLVR에서 "정답이 있으면 리워드 해킹이 불가능하다"와 대비:
수학 문제는 "42가 맞는가?"에 빈틈이 없다.
하지만 "이 이미지가 아름다운가?"에는 빈틈이 가득하다.
현재까지의 완화(mitigation) 시도:
KL 제약 강화: β를 높여서 레퍼런스에서 멀어지지 못하게
→ 효과: 해킹 감소, 하지만 학습 자체도 느려짐 (보수적)보상 앙상블: 여러 보상 모델의 평균으로 보상
→ 효과: 한 모델의 빈틈을 다른 모델이 보완
→ 한계: 모든 모델이 공유하는 편향은 해결 불가보상 클리핑: 보상이 일정 값 이상이면 잘라냄
→ "더 좋아지는 것"에 상한을 둬서 극단적 최적화 방지
→ 효과적이지만, 최적 클리핑 값을 찾는 것이 또 다른 문제DPO로 전환: 보상 모델 자체를 제거 (Ch14)
→ 리워드 해킹 문제를 구조적으로 회피
→ 하지만 탐색 능력을 포기해야 한다는 대가→ 근본적 해결은 아직 없다.
“불완전한 보상 모델로 온라인 RL을 돌리면 해킹은 필연적이다”
이것이 DDPO 계열 연구의 가장 큰 미해결 문제이고,
Ch16에서 다룰 DanceGRPO, B²-DiffuRL 등이 이 문제에 다양한 각도로 접근한다.
시각화 계획
- 궤적 분기 다이어그램: 같은 시작 → 다른 노이즈 → 10개 궤적 → 보상별 색
업데이트 벡터 필드: 고보상 방향으로 이동 - 리워드 해킹 시각화: DDPO 학습 초기(정상 이미지) → 중기(약간 과포화) → 후기(해킹된 이미지)의 3단계 비교. 보상 곡선은 계속 올라가지만 이미지 품질은 중기 이후 꺾이는 것을 보여줌