🤖 Deep Learning
DPO (Direct Preference Optimization)
date
Jun 26, 2025
slug
dpo
author
status
Public
tags
Deep Learning
Generative Models
Diffusion Models
summary
Diffusion model에 human preference를 적용시키는 방법
type
Post
thumbnail
category
🤖 Deep Learning
updatedAt
Jun 26, 2025 10:38 AM
기존의 Diffusion 모델 학습에서는 일반적으로 (프롬프트, 이미지) 쌍의 데이터를 사용하여, 주어진 텍스트 프롬프트에 맞는 이미지를 생성하도록 학습합니다.
하지만 DPO는 이와 다르게 (프롬프트, 선호 이미지, 비선호 이미지) 쌍으로 이루어진 데이터를 활용하여 직접 손실 함수를 통해 학습합니다.
는 어떤 임계값을 정해두고 바로 0, 1 이진 분류하는 게 아니라, 0~1 사이의 확률 값이 나오게 하기 위해서 사용합니다.
그리고 최종적으로 손실 함수는 크로스 엔트로피와 유사하게 작동하여 함수의 결과가 1에 가까워질 수록 값이 작아집니다.
여기서 함수의 입력은 선호 이미지의 로그 확률 비율과 비선호 이미지의 로그 확률 비율 사이의 차이입니다. 선호 이미지()의 확률을 비선호 이미지(의 확률보다 압도적으로 높게 만들 수록, 내부의 값이 커지고 의 출력은 1에 가까워지며, 최종적으로 값은 최소에 가까워집니다.
이는 크로스 엔트로피 손실이 참 레이블에 대한 예측 확률이 높을 수록 손실이 낮아지는 것과 동일한 원리입니다.
는 기준 모델(reference model)을 의미하며, 이는 DPO 학습을 시작하기 전의 사전 학습된 모델의 가중치를 고정하여 얻습니다.
에서 는 현재 학습하고 있는 모델()이 너무 멀리 벗어나지 않도록 정규화 역할을 하는 요소입니다.
만약 가 없다면, 는 단순히 선호 이미지의 확률을 극단적으로 높이고 비선호 이미지의 확률을 극단적으로 낮추는 방향으로만 학습될 수 있습니다. 이로 인해 모델이 원래 가지고 있던 일반화 능력을 잃어버리게 될 위험이 있습니다.
를 사용함으로써 는 가 에 비해 선호 이미지를 얼마나 잘 생성하는지에 초점을 맞추게 됩니다. 이는 사람의 선호도를 반영하면서도, 원래의 좋은 품질을 유지하도록 합니다.
간단히 말해, 는 DPO 학습 과정에서 모델이 과도하게 편향되지 않도록 지켜주는 가이드 또는 제약 역할을 하는 것입니다.
개념적으로 와 는 각각 선호 이미지와 비선호 이미지를 생성하는 역방향 과정의 전체 확률을 의미합니다. 따라서 수학적으로 각 denoising 스텝의 조건부 확률을 모두 곱한 형태로 표현됩니다.
입니다.
Diffusion 모델의 경우 주어진 프롬프트에 대해 무수히 많은 이미지를 생성할 수 있기 때문입니다. 와 의 상대적인 선호도를 학습하는 것이 목표이지, 다른 모든 가능한 이미지들의 확률까지 고려하여 이들이 서로 상호 베타적이고 합이 1이 되는 관계를 가정하지는 않습니다.